YOLOV5 构建自己的数据集,模型训练(图像识别)

(1)数据标注

安装labelImg,数据标注, 保存为YOLO (.txt)格式

pip install labelImg

注意: 标注了一部分数据集,关闭软件后,随后又打开labelimg,   之前的classes.txt 会消失。解决办法如下:  

1. 找到如下路径,打开labelImg.py

2. 在 大约114行初,添加以下代码,把之前的classes.txt的路径(绝对路径),写到代码中。

default_prefdef_class_file='path/to/classes.txt'      #写classes.txt的路径
self.load_predefined_classes(default_prefdef_class_file)

(2)数据集划分格式  重要!!!

建立一个Data文件夹,子文件包括:train   val   ,train 文件夹包括: images, labels,    val 文件夹包括 images,labels。              划分比例为  0.8   0.2   ,0.7   0.3 

(3)从github/gitee上下载 yolov5安装包, 注意有不同的版本,老版本会有各种问题,建议下载较新的版本。

https://github.com/ultralytics/yolov5

    安装yolov5的依赖包,如下:

conda create -n yolov5  python==3.9     #创建虚拟环境
conda activate yolov5                    #激活虚拟环境

pip install -r requirements.txt            #安装yolov5的依赖包

(4)在yolov5/data文件中, 找到coco128.yaml ,复制一份,重命名data.yaml,这里面可以指定自定义数据集路径。打开进行以下修改:

path: ./data       #自定义数据集data的路径
train: train       # data/train 文件夹的 相对路径
val: val            #data/val    文件夹的  相对路径


nc: 5  # number of classes    类别数据
names: ['normal', 'rot', 'special-shaped', 'special-shaped_rot','stem']      ##类别名称

(5) 测试yolov5是否可以正常跑通

运行以下命令,结果会保存到runs/exp下。 代码能跑通,测试就通过。

python detect.py --source path/to/video.mp4    # 测试视频

python detect.py --source path/to/bus.jpg       #测试图片


python detect.py --source 0                   #测试摄像头

(6)  修改 models/yolov5s.yaml 中的nc ,自定义数据集的类别。

(7) 训练自己的数据集

     1 .  打开train.py  进行修改

--weights  使用预训练权重,

--cfg       模型的选择(不使用预训练权重)

--data    上述第4点的data.yaml   (数据集路径)

--epochs  训练轮数

-- imgsz   图片尺寸大小,  640/320

2.  命令行指定参数

python train.py --weights path/to/yolov5s.pt  --cfg data/data.yaml  --epochs 100 --imgsz 640

  • 18
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值