参考链接
https://blog.youkuaiyun.com/qq_33728095/article/details/116331714
https://github.com/ultralytics/yolov3/tree/archive
-
创建VOC数据集
-
Annotations 放置 标注文件 xml, 和 images 为训练图片。
-
创建make_txt.py文件,放到和data的同级目录下。
-
创建voc_label.py
文件首先解析xml文件,并且设置类别标签(注意修改自己的类别名称)。每一个xml文件对应一个txt文本,保存在data/labels文件夹下.
然后在data目录下生成4个txt文本,保存图片的路径。 -
创建test2sample.py 将测试集放入推理文件中
-
yolo.data yolo.names
修改类别名称,数据集路径如下。 -
修改.cfg文件
修改classes = 自己的类别数,
修改yolo层上面的卷积层的filters = 3*(类别数+4+1)。
对于yolov3-tiny 需要修改两处,因为两个输出层,v3需要三处。 -
修改train.py。
这几个地方改成自己对应的文件路径。
epochs batch-size cfg data weights -
utils/datasets.py 中的292行,删除JPEGImages 。
-
训练/推断
python train.py --data data/yolo.data --cfg cfg/yolov3-tiny.cfg --epochs 300 --weights weights/
python detect.py --names data/yolo.names --source data/samples/ --cfg cfg/yolov3-tiny.cfg --weights weights/best.pt