YOLO V3训练自己的数据集

数据的输入几乎和Faster rcnn一样,标签格式xml是一样的。

相比Faster rcnn,数据多了一步处理,通过voc_annotation.py将图片路径和bbox+class存储在txt下样式如下:

data rain/VOCdevkit/VOC2007JPEGImages00009.jpg 69,172,270,330,12 150,141,229,284,14 285,201,327,331,14 258,198,297,329,14
data rain/VOCdevkit/VOC2007JPEGImages00012.jpg 156,97,351,270,6
data rain/VOCdevkit/VOC2007JPEGImages00016.jpg 92,72,305,473,1
data rain/VOCdevkit/VOC2007JPEGImages00017.jpg 185,62,279,199,14 90,78,403,336,12
data rain/VOCdevkit/VOC2007JPEGImages00019.jpg 231,88,483,256,7 11,113,266,259,7
data rain/VOCdevkit/VOC2007JPEGImages00020.jpg 33,148,371,416,6

然后train.py训练即可,dataset.py会将bbox转换为label(前面文章有讲转换过程),要是训练自己的数据集,需要预先通过Kmeans聚类出anchors(前面文章也有讲到)

放到指定文件中,修改文件和代码中的class_names即可,类别个数会改变。

训练好模型测试的时候,注意用freeze_graph.py生成pb文件,用convert_weights.py报错。

手写体区域预测结果如图所示,定位还是挺准确的:

原文地址:https://www.cnblogs.com/lzq116/p/12176648.html