AI识别教程 yolov5 (穿越火线,csgo等FPS游戏识别) | 您所在的位置:网站首页 › cf辅助源码怎么更新 › AI识别教程 yolov5 (穿越火线,csgo等FPS游戏识别) |
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天 一、前言1.代码在我的资源里下载。 代码链接:yolov5后续(参考v3) (mianbaoduo.com) 2.本文不会讲解关于yolov5的理论问题,只是教大家实操,这篇文章可以帮助大家学会yolov5的训练与识别,本文使用穿越火线(cf)为例。 二、视频识别我们先看效果。 后续链接 yolov5后续(参考v3) (mianbaoduo.com)三、版本和配置环境 matplotlib>=3.2.2 numpy>=1.18.5 opencv-python>=4.1.2 Pillow>=7.1.2 PyYAML>=5.3.1 requests>=2.23.0 scipy>=1.4.1 torch>=1.7.0 torchvision>=0.8.1 tqdm>=4.41.0 thop # FLOPs computation 四、准备工作 1.yolov5 模板下载 第一步:将整个代码从github上下载下来, 网址:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite 也可以直接到GitHub上搜yolov5 然后点code(绿色) 最后点下面的Download ZIP (最好不要下到C盘,如果C盘够用也没关系) 2.安装所需库 主要是安装版本与配置声明中所需在库。 matplotlib>=3.2.2 numpy>=1.18.5 opencv-python>=4.1.2 Pillow PyYAML>=5.3.1 scipy>=1.4.1 torch>=1.7.0 torchvision>=0.8.1 tqdm>=4.41.0 tensorboard>=2.4.1 seaborn>=0.11.0 pandas pycocotools>=2.0 # COCO mAP albumentations>=1.0.2 (1)安装pytorch(建议安装gpu版本cpu版本太慢)这些库中可能就pytorch比较难安装,其他库用pip install 基本能实现。 可直接在Anaconda Prompt里输入: pip install torch==1.7.0+cu101 torchvision==0.8.1+cu101 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html 3.运行检测下载完yolov5后,运行detect,可以帮助我们检查上面的环境是不是安装成功。 如果运行不报错,我们会在runs//detect//exp 文件夹下看到两张已经预测出的照片。 如果报错,问题也不大,看就是安装的环境版本比较低或者没安装,我们稍微调试一下就OK了。 五、数据集我们先要创建几个文件夹用来存放数据和模型。 在yolov5-master如下图所示文件夹 1.制作标签 这里我是以穿越火线为例,提供100个已经标记好的数据(放在文末)。你也可以自己标记,一百张效果不是很好,可以多标记几张。 (1)安装labelme 在Anaconda Prompt里pip install labelme (2)使用labelme 在Anaconda Prompt里输入labelme,会弹出一个窗口。 然后打开图片所在的文件夹 点击rectangle,标记想要识别的东西。 我们这里用了两个标签(保卫者:'Global Risk' 、潜伏者: 'Black List') 标记完后保存到一个新的文件夹下,保存的文件格式是.json 2.转格式(json转txt) 要修改代码中标签名称,存放json文件的绝对路径和保存txt文件的绝对路径。 我们将生成的txt放在my_dates//labels//train中 将原来的图片放在my_dates//images//train中 六、配置文件 1.mydata.yamlcopy一下coco128.yaml文件到my_dates下并改名为mydata 然后修改里面的参数: (1)先将path注释掉(别忘记注释) ,然后将train和val改为存放训练集图片的位置 train: my_dates/images/train val: my_dates/images/train (2)然后将nc 改为标签个数(我们这里是2),names里面改为我们的标签名。 别忘了注释path 2.mydata_1.yamlcopy一下yolov5s.yaml文件到my_dates下并改名为mydata_1。(yolov5s效果最差但速度最快我们可以根据自己的情况选择模型) 然后修改里面的参数: 这里只需要将第四行的nc改为2(标签个数) 。 七、训练模型我们要对train.py文件进行修改。 1.为了防止编码出错,with open后面要加上encoding='utf-8',要改好几处,可以用ctrl+F查找with open。 2.我们还要改多处default的值,在代码的480行左右。(改的全是default的值)。 一共要修改六处,最后一处稍微靠下一点。 第四处如果电脑配置好的话可以不用修改。 最后运行: 时间有点长(一小时左右)!!!! 如果报错根据实际情况修改一下就ok 结果会放在下面路径下 八、测试视频 我们只需修改detect.py文件夹下的权重路径和测试路径。(210行左右) 只需要将需要预测的视频或图片放在下面文件夹下, 然后运行detect.py就ok了!!!!!! 结果放在 (每次运行都会生成一个新的exp,所以我这是exp7) 九、总结 我们本次只是识别穿越火线中的人物,还没有实现自动瞄准,我只用了一百张图片进行预测,预测效果不是很好,你可以增加些图片进行训练。 后期还会更新!!!!!!!!!!!!!!!!!!! |
CopyRight 2018-2019 实验室设备网 版权所有 |