前言:
文章记录利用YOLOv5s_DeepSORT_PyTorch项目在自建数据集(视频)上的进行跟踪实验后,利用TrackEval项目评估跟踪效果,即MOT评价指标的实操过程。不包含MOT计算原理,和跟踪教程。
一、计算MOT指标前提
利用TrackEval项目计算MOT指标前,首先得获得以下几个文件:
1、【gt.txt】文件:被跟踪视频对应的真值文件(使用Darklabel工具制作,具体教程请自行搜索)
2、【"示例".txt】文件:由跟踪程序对视频的跟踪结果文件,即待评估的跟踪结果
二、项目下载
1、github克隆TrackEval项目
![](https://i-blog.csdnimg.cn/direct/01c0284e922d4a0dab4cd218a93236c8.png)
2、安装依赖环境:Python3.8 + 目录中的requirements.txt
可能会遇到pycocotools库安装失败的情况。我是通过使用conda安装解决,代码如下:
conda install pycocotools -c Esri
3、下载TrackEval项目README.md 页面提供的data.zip 压缩包,并解压到到【TrackEval】文件夹中。
主要作用是依据此压缩包的格式和路径存放自己的数据,否则程序找不到路径。
data.zip 压缩包链接:https://omnomnom.vision.rwth-aachen.de/data/TrackEval/data.zip
![](https://i-blog.csdnimg.cn/direct/4ae2f86b2dfe476f9465fae35943a1a3.png)
三、更改data文件夹的结构
1、新建下述路径,并将【gt.txt】文件存放至路径中:
data/gt/mot_challenge/mydatasets-train/trackvideos/gt/gt.txt
其中 【data/gt/mot_challenge】是已有路径;【mydatasets-train】文件夹是自己建的文件夹(可自定义,但是要以-train后缀结尾);【trackvideos】是“视频序列名”,可以自定义。
![](https://i-blog.csdnimg.cn/direct/571dde57596f435db4d9620582444122.png)
2、在上面【data/gt/mot_challenge/mydatasets-train/trackvideos】文件夹下新建一个【seqinfo.ini】文件,文件内容如下,参数按照实际情况赋值:
[Sequence]
name=trackvideos
imDir=img1
frameRate=30
seqLength=3555
imWidth=1920
imHeight=1080
imExt=.jpg
各参数的含义和改动逻辑
[Sequence]
name=trackvideos # trackvideos是视频序列名,与上述文件夹命名一直
imDir=img1 # 可以不动
frameRate=30 # 被跟踪视频的帧数,原始视频是30帧就写30
seqLength=3555 # 被跟踪视频一共有多少帧就是多少
imWidth=1920 # 被跟踪视频的分辨率
imHeight=1080
imExt=.jpg
3、在下述路径中新建txt文本,txt文件名需要与自己建的文件夹名一致,我这里是【mydatasets-train.txt】
路径:data/gt/mot_challenge/seqmaps
新建的【mydatasets-train.txt】文件内容是:
name
trackvideos
其中,第一行固定为name;下面每一行与【mydatasets-train】文件夹中的所有文件夹名保持一致,即所有视频序列名,我这里只有【trackvideos】。
4、新建以下路径,并在该文件夹中存放待评估的跟踪结果【.txt】文件。
data/trackers/mot_challenge/mydatasets-train/a_test/data
其中【mydatasets-train】文件夹和上一步的文件夹名保持一致;【a_test】是实验名称,可自定义;
![](https://i-blog.csdnimg.cn/direct/d28b5fbb87454442bf87d2fd200234bd.png)
四、执行评估程序
使用以下代码格式进行评估:
python scripts/run_mot_challenge.py --BENCHMARK mydatasets --TRACKERS_TO_EVAL a_test --METRICS HOTA CLEAR Identi
ty Count --USE_PARALLEL False --NUM_PARALLEL_CORES 1
其中, 各参数含义如下:
--BENCHMARK :使用的基准数据集名称,也就是自建的文件夹名(去掉-train),我这里是【mydatasets】
--TRACKERS_TO_EVAL:要评估的跟踪器文件夹名,我这里是【a_test】
--METRICS:要使用的评估指标列表,可以写四个:HOTA CLEAR Identity VACE
--NUM_PARALLEL_CORES :并行处理使用的核心数
五、得到评估指标
终端会显示评估指标,同时会将相关数据保存到【data/trackers/mot_challenge/mydatasets-train/a_test】路径下。