介绍:
本项目为CF网游,人物角色识别定位模型,采用yolov5框架实现,仅供学习研究使用。
项目地址:https://github.com/jiaxian-ai...
模型效果展示
开发思路与流程
思路
CV领域的目标检测模型已经非常成熟,特别是yolov5系列
为什么不是用v6、v7?因为坑很多,而且效果不尽然好。
FPS游戏中,主要以击败敌方角色为目标,影响比赛成绩最主要的因素就是玩家的枪法。
使用深度学习的模型就可以对敌方角色进行准确定位,从而帮助玩家进行瞄准。而yolov5的预训练模型对于人物的识别已经很成熟。这时候只需要准备一定的数据样本,就可以实现不错效果。
流程
- 样本采集
开发游戏中的截图代码sample_util/collecting_data.py
运行代码,进游戏后,会监听键盘,按F
键将自动截图,并剪裁中心区域640X640,保存图片至sample/data/
目录。按~
键,将切换角色
进去游戏中,分别收集潜伏者和保卫者各500条数据 - 样本标注
使用开源数据标注工具labelImg - 模型训练
下载最新的yolov5.7.0
下载预训练模型yolov5n.pt,保存到yolov5.7.0目录下
更改几个文件配置,就可以进行训练了。
修改models/yolov5n.yaml
参考coco128.yaml创建data\cf.yaml
文件../cfdata
为样本图片目录
我们只有“保卫”和“潜伏”这两种类别
修改train.py
文件--epochs
设置为300
,迭代300轮就会有不错的效果--workers
根据电脑CPU核心数配置,本地16核电脑,最多填2-4
训练结果的模型和分析将保存在yolov5-7.0/runs/train/exp/
目录,bast.pt
就是训练好的模型
体验模型
项目地址:https://github.com/jiaxian-ai...
git clone https://github.com/jiaxian-ai/fps_game_character_detection.git
环境配置
系统要求:windows10+GPU
python>=3.8
安装依赖包
cd yolov5-7.0 #进入yolov5-7.0目录
pip install -r requirements.txt
模型测试
测试模型效果,判断是否正常运行
python detect.py
测试结果的图片标注将保存在 yolov5-7.0/runs/detect/
目录
在真实游戏中使用
运行predict.py文件
python predict.py
会连续截屏,并在定位到目标后,等待“鼠标右键”点击,如果捕获到右键,则会自动移动鼠标到目标位置
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。