bat脚本保存dir结果_MOT数据集转化成VOC格式脚本(mot2voc)

4e3cf6b7b2adc79ebfa431735ccf7990.png

使用mmdetection检测框架进行相关的训练,由于MOT的数据集标注格式和检测常用的VOC以及COCO格式有很大的差距,因此用于检测任务的时候,需要将mot格式的数据集转化成VOC格式用于检测任务的训练,评估。

HUST小菜鸡:将MOT17-Det数据集转成VOC格式​zhuanlan.zhihu.com
cd33aaaf48c9d6b0c1bc8ce0d3bb5d99.png

之前我写过一篇将MOT17转化成VOC格式的文章,但是该方法是一个分布的步骤,而且在实际操作过程中很复杂,考虑到最近又要对MOT20数据集进行处理,同时后续数据集的处理需求,所以这里开源实现了一个mot2voc的开源git,用于其他学习需求,同时封装了一个生成train的结果脚本,用于直接生成结果的文件,用于使用matlab对结果进行评估。

HUST小菜鸡:基于MATLAB的MOT官方评估工具​zhuanlan.zhihu.com
283aa30464408265deca7959f9069a0f.png

不多说直接上git地址:

https://github.com/PanXF-HUST/mot2voc​github.com

PanXF-HUST/mot2voc

后续有其他的封装好的脚本我也会持续更新

解析命令行参数

def 

这里针对数据集格式命令行必须输入参数为17或者20,分别代表对MOT17和MOT20进行处理

解析ini文件关于图片相关信息

def parse_ini(dir):
    ini_fp = open(dir + 'seqinfo.ini','r')
    seq_info = ini_fp.readlines()
    seqLenth = int(seq_info[4][10:])
    imWidth = int(seq_info[5][8:])
    imHeight = int(seq_info[6][9:])
    return seqLenth,imWidth,imHeight

生成标注文件

def gennerate_gt(gt,Annotation,frame,filename,width,height):

校验处理前后图片数量和标注是否一致

def check_num(data_dir, JPEGImage_dir,Annotations_dir=None,ori_num = 0):
    num = 0
    for folder in data_dir:
        folder_len,_,_ = parse_ini(folder)
        num += folder_len
    img_list = os.listdir(JPEGImage_dir)
    if ori_num==0:
        img_num = len(img_list)
    else:
        img_num = len(img_list)-ori_num
    # print('img_num:',img_num)
    if Annotations_dir:
        ann_list = os.listdir(Annotations_dir)
        ann_num = len(ann_list)
        assert ann_num == num
    assert img_num == num,'if it is the second time run this demo, please delete the JPEGImages folder and retry'
    # print('num:', num)
    print('folders {} have been succeed checked'.format(data_dir))
    return num

分割数据集

def segment_dataset(ImageSets,Main,thr1 = 0.8,thr2 = 0.9):

由于数据集只有train有标注,所以只有对训练集进行划分,将原数据集中的train划分成新的train,val,test用于后期的检测任务,按照thr1:(thr2-thr1):(1-thr2)的比例对其进行划分,这里默认的是8:1:1的比例进行划分。

1a9de120e640d539a19f220116253e5b.png

整个处理的时间较长,受硬件等性能限制

test_result.py(将结果按照官方给定的评估格式生成txt文档用于后续的评估任务

# @Author   : Pan Xiaofeng
# @Email    : xiaofengpan@hust.edu.cn
# @FileName : test_result.py
# @DateTime : 2020/10/8 21:00

该脚本目前只实现了对MOT17训练集检测任务的处理,后期会更新,且实验中checkpoint以及work_dirs,outputs等并没有规范,所以需要在代码中手动更改,详见git

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值