YOLO V3训练自己的数据集

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

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

data\train/VOCdevkit/VOC2007\JPEGImages\000009.jpg 69,172,270,330,12 150,141,229,284,14 285,201,327,331,14 258,198,297,329,14
data\train/VOCdevkit/VOC2007\JPEGImages\000012.jpg 156,97,351,270,6
data\train/VOCdevkit/VOC2007\JPEGImages\000016.jpg 92,72,305,473,1
data\train/VOCdevkit/VOC2007\JPEGImages\000017.jpg 185,62,279,199,14 90,78,403,336,12
data\train/VOCdevkit/VOC2007\JPEGImages\000019.jpg 231,88,483,256,7 11,113,266,259,7
data\train/VOCdevkit/VOC2007\JPEGImages\000020.jpg 33,148,371,416,6

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

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

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

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

posted @ 2020-01-10 16:13  奥布莱恩  阅读(298)  评论(0编辑  收藏  举报