Yolov5环境搭建、数据收集、模型训练
常用的目标检测数据集
- PASCAL VOC数据集
- MS COCO数据集
- MS COcO的全称是Microsoft Common Objects in Context,起源于是微软于 2014年出资标注的Microsoft cOcO数据集,与lmageNet竞赛一样,被视为是计算机视觉领域最受关注和最权威的比赛之一。
- 在ImageNet竞赛停办后,COCO竞赛就成为是当前目标识别、检测等领域的一个最权威、最重要的标杆,也是目前该领域在国际上唯一能汇集Google、微软, Facebook以及国内外众多顶尖院校和优秀创新企业共同参与的大赛。
常用的小型数据集下载
Yolov5环境的搭建
1、conda
环境搭建
#创建一个虚拟环境
conda create -n yolov57 python=3.9
#激活创建的虚拟环境
conda activate yolov57
2、pytoch
安装
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia
3、安装调试yolov5.7
常见故障
#解决RuntimeError:Numpy is not available 那是因为Numpy版本太高
#将现有的Numpy版本太高的给卸载掉
pip uninstall numpy
#安装numpy=1.26.4版,解决问题。
pip install numpy==1.26.4 -i https://pypi.tuna.tsinghua.edu.cn/simple
yolov5训练出现报错 ImportError: Failed to initialize: Bad git executable.
解决办法:在python代码中添加
import os
os.environ["GIT_PYTHON_REFRESH"] = "quit"
4、离线安装包的方法【选项操作】
conda install --offline pytorch-1.6.0-py3.8_cuda102_cudnn7_0.tar.bz2
5、克隆yolov5项目
安装Git软件,克隆项目到本地【如D:】【选项操作】
git clone https://github.com/ultralytics/yolov5.git
安装yolov5所需库
1、在yolov5路径下执行:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2、下载预训练权重文件
下载yolov5s.py、yolov5m.py、yolov5l.py、yolov5x.py权重文件,并放置在root目录下。
3、测试图片,在yolov5路径下执行
python detect.py --source ./data/images --weights ./yolov5s.pt --conf 0.4
Yolov5模型检测
关键参数:
1、weights:训练好的模型文件
2、source:检测的自标,可以是单张图片、文件夹、屏幕或者摄像头等
3、conf-thres:置信度阈值,越低框越多,越高框越少
4、iou-thres:lou阈值,越低框越少,越少框越多
-
weights:
weights实操:用不同的模型效果发所需时间是有很大区别的。
- source:
source实操
- conf-thres:
conf-thres实操
- iou-thres:
基于torch.hub的检测方法
import torch
#Model 加载本地的模型
model = torch.hub.load("./","yolov5s",source="local"
#Images 指定需要检测的图片
img="./data/images/zidane.jpg"
#Inference 用模型来处理图片
results = model(img)
#Results 显示输出结果
results.show()
Yolov5数据集构建
使用opencv对视频进行抽帧来实现数据的收集。
video = cv2.VideoCapture("./BVN.mp4")
num = 0 #计数器
save_step = 30 #间隔帧
while True:
ret,frame = video.read()
if not ret:
break
num += 1
if num % save_step == 0
cv2.imwrite("./images" + str(num)+ ".jpg",frame)
抽帧实现效果展示
标注工具labelimg的安装及使用
安装命令
pip install labelimg
在终端中输入labelimg
就可以打开标注窗口,Open Dir——-选择需要标注的帧的文件夹,再选择将要保存的位置【如label文件夹】——-点击yolo中的保存;
标注:在图片上右击—–create RectBox——选中需要标注的人物给个名称,依此法逐帧进行标注。
打开生存好的label文件夹就可以看到很多的txt文件;数据集构建就算成了。
Yolov5数据集的训练
将按以上分类并标注好的文件以后,将这两个文件夹images、labels放到datasets文件夹,并将datasets文件夹拖放到yolov5项目的根目录。
参照coco128.yaml配置文件进行修改自己的路径和类别,
再修改train.py中的参数,通过以上操作就可以训练了。
Yolov5模型训练常见问题
Arial.ttf字体文件无法下载
答:手动下载,放到对应的位置,windows下的目录是:~/AppData/Roaming/Ultralytics
页面文件太小无法完成操作
答:1、调整训练参数中的workers,设置为1
2、修改虚拟内存,将环境安装位置所在的盘,设置一个较大的参数。
'Upsample'objecthasnoattribute'recompute_scale_factor
答:1、 pytorch版本过高导致,可以选择降版本,1.8.2目前是不会报错的版本
2、如不想降低版本,可以修改pytorch源码,打开报错的unsampling.py,删除 recompute_scalefactor这个参数