jde多目标_ua-detrac数据集上多目标跟踪算法JDE的训练,在,UADETRAC

本文介绍了如何在Windows 10环境下,使用CUDA 10.1和GTX1060显卡处理UA-DETRAC数据集,将其转换为JDE训练所需的格式。详细讲解了数据处理步骤,包括数据集获取、标注文件转换,并提供了相应的Python脚本。同时,文章提到了训练过程中对dataset.py文件和网络配置的修改,以及训练参数设置。虽然训练过程中遇到total loss为负值的问题,但整体loss收敛正常。
摘要由CSDN通过智能技术生成

环境:win10,cuda 10.1 , GTX1060

一、数据处理

1、数据集获取:

链接:https://pan.baidu.com/s/1K3rI9PvzHc1KqOJITNMdVg

提取码:lox4

2、数据集格式

数据格式也不一定完全按照上面这种,但是必须得保证图片和标签的名字相同。以MOT17(JDE的Modelzoo中下载得到)为例:

文件夹结构:

labels_with_ids文件夹里面是用转换工具将gt.txt生成对应的JDE训练所需的标注文件,对应每一个视频序列的每一帧图片。

而这片博客是要在UA-DETRAC数据集上训练JDE,所以先看看UA-DETRAC原始数据集(所有图片分辨率为960x540)

标签是XML格式,且一个xml对应一个视频序列,每一个xml内容包含该视频序列中所有帧的标注信息:

其中一帧中包括多个车辆标注,标注信息包括:车辆ID,box坐标,以及一些属性:方向,速度,轨迹长度,遮挡率,车辆类别。要想在JDE中训练,需要进行转换,JDE要求的标注格式:

编写脚本,解析原始xml标注文件,生成上述的标注txt文件,因为FairMOT算法和JDE用的是同一个数据处理方式,甚至是完全相同的数据集,因此我直接在FairMOT的数据转换工具基础上做了修改,内容如下:

import os.path as osp

import os

import numpy as np

import shutil

import xml.dom.minidom as xml

import abc

def mkdirs(d):

if not osp.exists(d):

os.makedirs(d)

seq_root = 'F:/dataset/MOT/UA-DETRAC/DETRAC-train-data/Insight-MVT_Annotation_Train'#图片

xml_root = 'F:/dataset/MOT/UA-DETRAC/DETRAC-Train-Annotations-XML' #原始xml标注

label_root="F:/dataset/MOT/UA-DETRAC/DETRAC-Train-Annotations-track" #新生成的标签保存目录

#mkdirs(label_root)

seqs = [s for s in os.listdir(seq_root)]

'''

读取xml文件

'''

class XmlReader(object):

__metaclass__ = abc.ABCMeta

def __init__(self):

pass

def read_conte

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值