VisDrone格式训练自己FPN数据集

数据格式定义
在这里插入图片描述

Xml转txt

import os
import os.path
import xml.etree.ElementTree as ET
import glob

class_names = ['opium']
xmlpath = 'xml文件路径'
txtpath = '保存txt文件路径'


def xml_to_txt(xmlpath, txtpath):
    os.chdir(xmlpath)
    annotations = os.listdir('.')
    annotations = glob.glob(str(annotations) + '*.xml')

    # file_save = 'train' + '.txt'
    # file_txt = os.path.join(txtpath, file_save)
    # f_w = open(file_txt, 'w')

    for i, file in enumerate(annotations):
        in_file = open(file)
        file = file[:-4]
        file_txt = txtpath + file + '.txt'
        f_w = open(file_txt, 'w')
        print(file_txt)

        tree = ET.parse(in_file)
        root = tree.getroot()

        for obj in root.iter('object'):
            current = list()
            name = obj.find('name').text

            class_num = class_names.index(name)

            xmlbox = obj.find('bndbox')

            x1 = int(xmlbox.find('xmin').text)
            x2 = int(xmlbox.find('xmax').text)
            y1 = int(xmlbox.find('ymin').text)
            y2 = int(xmlbox.find('ymax').text)

            f_w.write(str(x1) + ',' + str(y1) + ',' + str(x2-x1) + ',' + str(y2-y1) + ',' + '1,1,0,0' + '\n')

            # f_w.write(x1 + ',' + y1 + ',' + x2 - x1 + ',' + y2 - y1 + ',1,1,-1,-1' + '\n')
            f_w.close


xml_to_txt(xmlpath, txtpath)

对于生成的txt文件,以4的倍数txt文件必须有一个object_category项为4
在这里插入图片描述
否则无法生成.tfrecord文件

参考:
https://blog.csdn.net/qq_36401512/article/details/85261576
https://blog.csdn.net/Angela_qin/article/details/80944604

源码:https://github.com/yangxue0827/FPN_Tensorflow

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用mmdetection v3.0训练自己的数据集,您需要遵循以下步骤: 1. 数据准备:将您的数据集组织成COCO格式(JSON文件),确保每个图像都有相应的标注信息,包括边界框和类别标签。 2. 修改配置文件:在mmdetection的配置文件中,您可以设置训练参数和模型架构。您可以根据自己的需求修改`configs/`目录下的相应配置文件,例如`faster_rcnn_r50_fpn_1x_coco.py`。 3. 类别映射:将您的类别标签与数据集中的类别名称进行映射。在配置文件中找到`CLASSES`参数,将其更新为您数据集中的类别列表。 4. 数据集划分:将数据集划分为训练集、验证集和测试集。在配置文件中找到`data`部分,设置相应的数据集路径和划分比例。 5. 预训练模型:可以选择使用预训练模型来加速收敛和提高性能。在配置文件中设置预训练模型的路径,或者使用默认的预训练模型。 6. 训练:运行以下命令启动训练过程: ``` python tools/train.py ${CONFIG_FILE} ``` 其中`${CONFIG_FILE}`是您修改后的配置文件路径。 7. 模型评估:训练完成后,您可以对模型进行评估,以了解其在测试集上的性能。运行以下命令: ``` python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--out ${RESULT_FILE}] ``` `${CHECKPOINT_FILE}`是训练过程中保存的检查点文件路径,`${RESULT_FILE}`是评估结果保存的文件路径。 8. 推理:使用训练好的模型进行推理和目标检测。运行以下命令实现目标检测效果: ``` python tools/demo.py ${CONFIG_FILE} ${CHECKPOINT_FILE} --show-dir ${VISUALIZATION_DIR} ``` `${VISUALIZATION_DIR}`是可视化结果保存的目录路径。 这些是训练自己数据集的基本步骤,您可以根据需要进行修改和优化。请确保您已经熟悉mmdetection框架,并按照其要求准备数据集和配置文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值