VOC使用xml来描述标注,而YOLO使用txt格式文件,导致VOC格式数据集无法直接拿来训练YOLO,这就需要转换格式。为了不重复造轮子,我们使用convert2Yolo来进行转换。
>>> python3 example.py --datasets VOC --img_path ~/Downloads/VOC2028/JPEGImages/ --label ~/Downloads/VOC2028/Annotations/ --convert_output_path ~/Downloads/VOC2028/yolo/ --img_type ".jpg" --manipast_path ./ --cls_list_file ~/Downloads/VOC2028/ImageSets/voc.names
转换完成后发现,生成的标注文件名与图像文件名不一致,经过排查发现改一处代码就能修复
这里改为
>>> data[root.find("filename").text.split(".")[0]] = annotation
可以直接克隆我改过的代码:https://github.com/MacwinWin/convert2Yolo/tree/fixed