# AI_yolov8实现的ai自瞄 **Repository Path**: cxkuku/yolov8 ## Basic Information - **Project Name**: AI_yolov8实现的ai自瞄 - **Description**: 基于yolov8的一个ai自瞄应用。能在fps游戏中实现自动瞄准,自动射击。主要使用《战地2》进行了开发和测试。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2024-04-30 - **Last Updated**: 2024-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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/ 进行预测时,代码可以这样写,指定用什么设备来运行 ```python 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 | +-------------------------------+----------------------+----------------------+ ```