创建上面格式的VOC数据集
其中,
annotation下的xml文件
Main中的train.txt文件
JPEGImages中的图片文件
这三个都是自己的
JPEGimgaes中是原图片。
运行voc——label.py如果提示gbk错误,在这里修改编码格式
def convert_annotation(year, image_id):
in_file = open('mydata/VOCdevkit/VOC%s/Annotations/%s.xml' % (year, image_id), encoding='utf-8')
out_file = open('mydata/VOCdevkit/VOC%s/labels/%s.txt' % (year, image_id), 'w', encoding='utf-8')
用下面的代码生成train.txt:
import os
from os import listdir, getcwd
from os.path import join
if __name__ == '__main__':
source_folder = 'D:\\VS2019Project\\darknet_master\\darknet-master\\mydata\\VOCdevkit\\VOC2020\\JPEGImages'
dest = 'D:\\VS2019Project\\darknet_master\\darknet-master\\mydata\\VOCdevkit\\VOC2020\\ImageSets\\Main\\train.txt'
# dest2 = 'D:\\VS2019Project\\darknet_master\\darknet-master\\mydata\\VOCdevkit\\VOC2020\\ImageSets\\Main\\val.txt'
file_list = os.listdir(source_folder)
train_file = open(dest, 'a')
# val_file = open(dest2, 'a')
for file_obj in file_list:
file_path = os.path.join(source_folder, file_obj)
file_name, file_extend = os.path.splitext(file_obj)
file_num = int(file_name)
if file_num < 776:
train_file.write(file_name + '\n')
else:
# val_file.write(file_name + '\n')
break
train_file.close()
# val_file.close()
到这里成功的话,就成功的做自己数据集label信息了。
2 下一步就是训练。
直接去官网找cmd命令训练自己的数据就行。