YOLOV7训练自己的数据集

代码移植

GitHub - WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for re自己-time object detectors


环境配置

win10+cuda9.2 cpu

pytorch 1.8

pip install -r requirements.txt

YOLOV7训练自己的数据集_第1张图片


数据集构建

使用coco128数据集进行训练

若需要使用自己数据集,徐对图片进行标注,并划分test、val、train等文件及其lable标签。可参考yolov5进行构建

具体:零基础YOLOv5的详细使用教程_胡萝卜爱吃鱼11的博客-CSDN博客_yolov5教程

1.准备数据集

yolov7中的数据集的标签都是保存为YOLO格式的txt文件的。选择自己所需要的照片后,需要用LabelImg对图片进行标注。

在这里插入图片描述


Open为打开一张照片,一般选择Open Dir打开图片所在文件夹,方便对图片进行批量编辑,Change Save Dir为保存地址。快捷键:
w:打标签
d:下一张
a:上一张
需要提前设置自动保存。

在这里插入图片描述

2.构建数据集
在paper_date目录下创建三个文件夹,结构如下:
```javascript
paper_date
  ......images           #存放图像
  ......Annotations          #存放图像对应的xml文件
  ......ImageSets/Main       #存放训练/存放train.txt/val.txt/test.txt/trainval.txt文件
```
images为VOC数据集格式中的JPEGImages,内容如下: 

在这里插入图片描述

Annotations文件夹下面为xml文件,内容如下:

在这里插入图片描述

然后在yolov7目录下的data文件夹下新建一个ab.yaml文件(可以自定义命名),用来存放训练集和验证集的划分文件(train.txt和val.txt),这两个文件是通过运行voc_label.py代码生成的,然后是目标的类别数目和具体类别列表,ab.yaml内容如下: 

在这里插入图片描述

训练

修改train文件

YOLOV7训练自己的数据集_第2张图片

 主要修改内容为:

weights:权重文件,在yolov7根目录下,可自行下载。

data:需按照自己的数据集及其位置修改

epochs:训练世代

batch-size:越大所需内存越大,由于电脑配置较低,修改为8

直接运行train.py

或者按照官网运行

python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov7.pt

未完待续

你可能感兴趣的:(yolov5,深度学习,人工智能)