前言
本教程使用的是yolov5来进行游戏的目标检测与识别。对于有AI之前的时代,游戏辅助一般采用找图找色的功能进行。这其中最为出名的就是大漠、按键精灵。但是如果使用传统的方式进行辅助开发,会很繁琐。现在,话不多说,进入教程。
准备工作
- 下载必须的工具
1、大漠综合工具:此工具主要用于做数据的标注、测试训练好的模型等,解压密码:1234,你也可以使用其它的标注方式,这个工具我觉得比较方便。
2、python:版本3.9.8,不建议用太新的,用太新的版本可能会出现问题。但是注意,python版本必须是3.8以上的。
3、我们的模型里面识别的目标如果需要使用中文显示的话,需要下载这两个字库:下载附件
4、yolov5-7.0:下载附件
注意事项
需求环境(只是训练的机器环境,用插件的环境没有任何要求)
1、win10或者win11 64位系统,其他系统没测试过,不一定能行,系统最好最新版本。(必须)
2、最好有nvidia显卡,并且显卡驱动更新到最新的版本,最好是30系列以上,如果没有的话,训练效率会很低下。(可选,但是还是强烈建议)
3、全局科学上网,因为很多安装包都需要到外网下载。(必须)
安装步骤
1、安装python 3.8以上的版本。这里就省略了。
2、安装cuda (如果需求环境的条件2不满足,那这个步骤可以略过
)
下载地址:https://developer.nvidia.com/cuda-downloads
Operating System 选windows。
Architecture选 x86_64。
Version win10和Win11对对应的10和11版本。
installer Type选exe(local)。
安装要选择自定义安装,并且只勾选cuda.其他一律不选(重要!!)。
3、安装PyTorch
下载地址:https://pytorch.org/get-started/locally
PyTorch Build选Stable版本。
Your OS选windows。
Package 选Pip。
Lanquage选Python。
Compute Platform选最新的cuda。
比如我这里是cuda11.8(如果需求环境的条件2不满足,那么这里选CPU)
之后下面的Run this Command会生成一个命令,复制这个命令,打开命令行粘贴进行运行即可。比如我这里是
pin3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
4、安装yolo
注意yolo路径里,不要有任何非英文字符。
直接用我下载好的yolo.zip即可。你也可以自行前往github下载:https://github.com/ultralytics/yolov5?tab=readme-ov-file
放在任意目录, 建议放根目录, 我这里是放在了e盘。
解压yolo.zip到E盘根目录,解压后的目录形式是这样的 E:\yolo\yolov5-7.0
命令行进入到yolov5-7.0这个目录下,然后执行以下命令
pip install -r requirements.txt
5、安装git
下载地址 https://git-scm.com/download/win
选择Standalone Installer下的64位安装包
6、测试识别
命令行进入yolov5-7.0目录。
然后执行以下命令
python detect.py --weights yolov5s.pt --source data/images/bus.jpg
最后会在runs/detect目录下生成识别后的图像。
7、测试训练 使用coco128来测试
coco128测试数据集:下载附件
数据集放在yolo根目录外面。
测试训练之前,我们需要把字库放进yolo项目的根目录下:
命令行进入yolov5-7.0目录。然后执行以下命令
python train.py --weights yolov5s.pt --epochs 300 --batch-size 16 --workers 8 --data ../datasets/coco128/coco128.yaml
成功后,会在runs/train
目录下生成训练后的模型和标记的图片等。
这一步可能会遇到的问题:
这是因为Pillow
库版本太高的原因,卸载掉它,重新安装低版本的,直接在yolo项目里查看requirements.txt
8、测试模型的格式转换
这里使用yolov5s.pt进行测试
命令行进入E:\yolo\yolov5-7.0
,然后执行:
python export.py --weights yolov5s.pt --simplify --include onnx
这里面可能 会遇到的问题:
执行命令的时候报错:ONNX: export failure 0.0s: DLL load failed while importing onnxcpp2pyexport: (DLL)
这是由于onnx版本过高导致的,先卸载掉高版本的 onnx
pip uninstall onnx
再安装低版本的onnx
pip install onnx==1.16.1
再次转换即可。
如果你不理解这些格式是什么意思,可以扩展阅读一下此文章:https://zhuanlan.zhihu.com/p/620688513
如果你不想看,那么可以看一下下面的简单说明:
9、测试onnx
python detect.py --weights yolov5s.onnx --source data/images/zidane.jpg
这里可能会遇到的问题:
requirements: YOLOv5 requirement"onnxruntime" not found,attempting AutoUpdate...
解决:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple onnxruntime
到这里,基础环境就已经搭建完成了。下面一节我将介绍一下数据集的组成和查看,以及怎么创建新的数据集。