这里就不在过多解释了,就是锁定敌人并自动射击,
我们可以使用生活中的一些案例来实现我们这个小测试,例如,高速的违规拍照、行人流量自动检测系统,还有安全识别检测,如果晚上有陌生人考经,则将灯对准那个人或打开警报系统。
然后我使用一些算法为我的模型生成训练数据以准确检测敌人。
测试环境:
这里建议在Ubuntu系统测试,因为在 Ubuntu 上运行 TensorRT 比在 Windows 10 上运行要容易得多(后面才发现的)
首先必须安装TensorFlow
、Python 3
、Cuda
、Cudnn
等包,准备TensorFlow
环境。
其次,还要下载Steam
和CSGO
。
下载玩 Steam 和 CSGO 后,我们需要下载训练好的模型库。我已经压缩了我训练好的模型,并将其放入 checkpoints 文件夹中。
现在,一切准备就绪。
我的yolov3/configs.py文件已经配置为自定义训练对象检测,input_size值为 416。
然后运行。
YOLO_INPUT_SIZE如果你需要更高的准确性,你可以更改,但是根据我的测试掉帧很严重。
现在,当您在后台运行 CSGO 游戏时,运行YOLO_aimbot_main.py脚本。
当 YOLO 检测到屏幕上的物体时,他就会自动锁定敌人并击杀
PS:如果鼠标在游戏中飞来飞去,请打开游戏控制台并键入m_rawinput 0,这会禁用原始游戏输入。此外,你可能需要更改灵敏度或其他次要设置。
结果:
上图!
首先,我大概使用了大约 1500 张图像来训练这个自动模型。
大部分训练数据是我参考别人的方法生成的。
为了让它更准确,建议在不同的地图中使用超过 10,000 张图像,
依此类推,这样我们就可以确保我们的模型不会错误地检测到敌人。
无论如何,我运行了三个不同的测试实例:
一开始,我使用了没有 TensorRT 优化的标准 YOLO TensorFlow 检测。
这是在使用 1080TI GPU 的 Windows 10 上可以获得的结果,
当然如果你有更好的GPU,则可以获得更好的结果。
然后我将我的 TensorFlow 模型转换为输入大小为 416 的 TensorRT INT8 模型。
我们会看到FPS 增加了一倍多。
最后一个是输入大小为 608 的 TensorRT INT8 模型。
可以看到FPS不是很高,但我确信准确度非常高。
如果我有一张 NVIDIA 3080 甚至 3090,那真不知道会发生什么。虽然目前效果还不错吧