Yolov5环境搭建、数据收集、模型训练

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这个参数


转载请注明出处:  https://www.cntworld.cn
智能工控 » Yolov5环境搭建、数据收集、模型训练

发表回复

提供最优质的资源集合

立即查看 了解详情