yolov5 训练自己的数据集并进行训练
github地址 :https://github.com/ultralytics/yolov5
1、环境安装
存在的困难:
pycocotools的安装
解决方法:
1、安装Git
2、在Git Bash下运行:
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
还存在问题的话再安装:
Visual C++ Build Tools
2、数据准备
2.1
首先从github上下载下来YOLOv5,将其命名为yolov5
然后在data目录下新建Annotations, images, ImageSets, labels 四个文件夹
文件夹结构:
data
── Annotations 存在pascal-voc格式的标注文件
── images 存放 .jpg 格式的图片文件
── ImageSets 存放的是分类和检测的数据集分割文件,包含train.txt, val.txt,trainval.txt,test.txt
── labels 存放label标注信息的txt文件,与图片一一对应
~
models
runs
utils
weights
~
备注(ImageSets文件夹的结构):
ImageSets(train,val,test建议按照8:1:1比例划分)
── train.txt 写着用于训练的图片名称
── val.txt 写着用于验证的图片名称
── trainval.txt train与val的合集
── test.txt 写着用于测试的图片名称
2.2
1、利用精灵标注助手对图像进行标注
2、导出pascal-voc格式的标注文件
3、利用python程序生成对应的txt文件
4、再利用python程序生成存放训练、验证、测试的数据集分割文件,包含train.txt, val.txt,trainval.txt,test.txt
备注:3、4两步可以在优快云上找相应的代码
3、修改参数
3.1 把coco.yaml复制一份命名为test.yaml,再修改其中的nc(类别数目)、names(类别名称)
3.2 修改models文件夹中所使用模型(例如:yolov5s.yaml)中的nc
3.3 修改train.py文件
parser = argparse.ArgumentParser()
# 加载权重文件
parser.add_argument('--weights', type=str, default='yolov5s.pt', help='initial weights path')
# 模型配置文件使用修改好的yolov5s.yaml文件
parser.add_argument('--cfg', type=str, default='yolov5s.yaml', help='model.yaml path')
# 使用数据集中的test.yaml文件
parser.add_argument('--data', type=str, default='data/test.yaml', help='data.yaml path')
运行程序……
运行结果会保存在run/train…中