AI_yolov8实现的ai自瞄: 基于yolov8的一个ai自瞄应用。能在fps游戏中实现自动瞄准,自动射击。主要使用《战地2》进行了开发和测试。
1 Star 4 Fork 3

燃木 / AI_yolov8实现的ai自瞄

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

介绍

基于yolov8的一个ai自瞄应用。能在fps游戏中实现自动瞄准,自动射击。主要使用《战地2》进行了开发和测试。


使用效果:

视频预览

开镜检测偏移配置了一个采样点,如果这个点是黑色,证明已经开启瞄准镜,此时才会进行自瞄。

基本原理

对游戏进行截图,使用yolov8对游戏人物进行体姿态估计,识别出关键关节坐标,使用程序移动准星自动瞄准目标。

yolov8介绍

yolov8是基于pytorch开发的,pytorch是一个框架,提供一些基础的方法,矩阵运算,显卡调用等,yolov8在此技术上实现了自己的算法。

官方有直接给出一些例子,进行姿态估计也很简单,官方提供了一些预训练好的模型文件,.pt结尾的,程序里面直接加载就能跑了。 甚至你可以不用去官网下载这个pt文件,直接在代码里面加载,程序会判断如果当前文件夹下没有,会自动去下载。

官方提供的几个模型文件,一个比一个大,效果应该是越大越好,实际跑起来也是越大的越耗时。

预测的细节

https://docs.ultralytics.com/modes/predict/

游戏中移动鼠标

实测用win32 api,pyautogui,pydirectinput都无法在战地2,cf中移动鼠标, 只有用罗技鼠标驱动成功了。参考: https://github.com/ChengWeiJian03/MouseControl

这里面给出了三个dll,都可以用。实测了MouseControl.dll,ghub_device.dll

MouseControl.dll移动的时候比 ghub_device.dll要精准。ghub_device.dll会到处乱飘。

发现开电脑后,如果python程序里面加载运行了MouseControl.dll, 后面再运行ghub_device.dll,ghub_device.dll的方法会失效。

使用gpu

默认安装的pytorch是使用cpu运算的。 点击torch,进入依赖包的路径,可以看到有一个version.py文件,里面有这样的内容 version = '1.13.1+cpu'

如果想使用cuda运算,需要安装一个支持cuda的pytorch版本。参考笔记: https://note.youdao.com/web/#/file/WEBc41cf6613edd00f10862ab3758dd1e43/note/WEBd5da798bfe909ef32c3a6aaaea1650fc/

进行预测时,代码可以这样写,指定用什么设备来运行

results = model(img_bgr, device="cpu") 

results = model(img_bgr, device="cuda")  

results = model(img_bgr, device="cuda:0")  

# :0可以不写,默认就会使用:0,这里会对device进行校验的,如果不支持cuda,或者字符串输入得不对,都会报错。一个显卡应该都是用的cuda:0,不知道什么情况
# 才使用其他的。

实测用i7 cpu加载yolov8n-pose.pt进行预测有7fps,使用1050ti能达到50fps.

如何判断是否真的用上了cuda。直接在任务管理器里面是看不到的,看起来显卡负载没有增长。两个方法:

  1. https://zhuanlan.zhihu.com/p/625006846

  2. 命令行中输入nvidia-smi -l 1 ,1秒钟刷新一次

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  Off  | 00000000:01:00.0  On |                  N/A |
| 34%   50C    P2    70W / 280W |   1659MiB / 11178MiB |     15%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

空文件

简介

基于yolov8的一个ai自瞄应用。能在fps游戏中实现自动瞄准,自动射击。主要使用《战地2》进行了开发和测试。 展开 收起
Python
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/yunyuehuang/yolov8.git
git@gitee.com:yunyuehuang/yolov8.git
yunyuehuang
yolov8
AI_yolov8实现的ai自瞄
master
53164aa7 5694891 3bd8fe86 5694891