(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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐