yolov4创建自己的数据集

在这里插入图片描述
创建上面格式的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命令训练自己的数据就行。

猜你喜欢

转载自blog.csdn.net/weixin_40557160/article/details/108468568
今日推荐