前言
多传感器的多目标跟踪项目开发,对sort的跟踪效果进行评估
2算法评估
2.1 MOTChallengeEvalKit和TrackEval比较
开发背景和维护状态:
MOTChallengeEvalKit:最初由 MOTChallenge 团队开发,用于评估 MOTChallenge 基准测试数据集上的多目标跟踪算法,该工具包已经不再维护,官方推荐使用 TrackEval 作为替代。
TrackEval:由 Jonathon Luiten 和其他研究者开发,旨在提供一个更通用、更灵活的多目标跟踪评估工具,目前仍在积极维护和更新,支持更多的数据集和评估指标。
功能和灵活性
MOTChallengeEvalKit:主要支持 MOTChallenge 基准测试数据集(如 MOT15、MOT16、MOT17、MOT20)的评估,相对固定,主要针对 MOTChallenge 数据集设计,扩展性有限。这里是引用
TrackEval:支持多种多目标跟踪和分割基准测试数据集,包括但不限于 MOTChallenge、MOTS、TAO 等,高度灵活,支持自定义数据集、评估指标和跟踪算法。用户可以轻松扩展和修改代码以适应特定需求。
使用方式
MOTChallengeEvalKit: 通常需要下载并安装 MATLAB,因为某些评估脚本依赖于 MATLAB
的功能,依赖于 MATLAB 和 Python 的特定库(如 numpy、pandas 等)。
TrackEval: 完全基于 P y t h o n ,无需安装 M A T L A B \color{red}{完全基于 Python,无需安装 MATLAB} 完全基于Python,无需安装MATLAB。使用起来更加方便,尤其是在没有 MATLAB 环境的情况下,主要依赖于 Python 的标准库和一些常用的第三方库(如 numpy、pandas、matplotlib 等)。
2.2 TrackEval调试
1)环境准备
- 安装依赖:确保安装了 Python(3.5 或更高版本)
- 下载 2D MOT 15 数据集: MOTChallenge 官网,或者采用自己跑出来的结果
- TrackEval-master下载:TrackEval官方仓库
- 数据集文件夹结构:将下载的 2D MOT 15 数据集解压后,按照以下结构放置数据:
TrackEval/data/gt/mot_challenge/MOT15-train/:存放训练集的真值数据。
TrackEval/data/trackers/mot_challenge/MOT15-train/:存放你的跟踪结果数据
层级效果
2)运行评估脚本
-
进入脚本目录:进入 TrackEval/scripts 目录
-
运行评估命令:使用以下命令进行评估:
python run_mot_challenge.py --BENCHMARK MOT15 --SPLIT_TO_EVAL train --TRACKERS_TO_EVAL SORT --METRICS HOTA CLEAR Identity --USE_PARALLEL False --NUM_PARALLEL_CORES 1
其中: --BENCHMARK:指定数据集名称,这里为 MOT15
–SPLIT_TO_EVAL:指定数据集的分割部分,这里为 train
–TRACKERS_TO_EVAL:指定要评估的跟踪器名称,替换为你的跟踪器文件夹名 SORT
–METRICS:指定要计算的评估指标,这里使用了 HOTA、CLEAR 和 Identity
–USE_PARALLEL 和 --NUM_PARALLEL_CORES:是否并行运行评估以及使用的并行核心数
2.3 评估结果
评估完成后,终端会显示评估指标,同时相关数据也会保存到 data/trackers/mot_challenge/MOT15-train/SORT
部分评价指标
指标含义
数据集名称:
○ 表格的第一列是数据集的名称,例如 ADL-Rundle-6、ADL-Rundle-8、ETH-Bahnhof 等。这些名称通常对应于特定的视频序列或场景。HOTA:
○ HOTA(Higher Order Tracking Accuracy):综合考虑了检测精度和关联精度的跟踪性能指标。它是一个综合指标,反映了跟踪算法的整体性能。DetA:
○ Detection Accuracy(检测精度):衡量检测算法在识别目标方面的准确性。它反映了算法在检测目标时的准确率。AssA:
○ Association Accuracy(关联精度):衡量跟踪算法在将检测到的目标正确关联到跟踪轨迹方面的准确性。DetRe:
○ Detection Recall(检测召回率):衡量检测算法在识别所有真实目标方面的能力。它反映了算法在检测目标时的召回率。DetPr:
○ Detection Precision(检测精确率):衡量检测算法在识别目标时的精确率。它反映了算法在检测目标时的精确度。AssRe:
○ Association Recall(关联召回率):衡量跟踪算法在将检测到的目标正确关联到跟踪轨迹方面的召回率。AssPr:
○ Association Precision(关联精确率):衡量跟踪算法在将检测到的目标正确关联到跟踪轨迹方面的精确率。LocA:
○ Localization Accuracy(定位精度):衡量跟踪算法在定位目标位置方面的准确性。OWTA:
○ Overall Without ID Switches Accuracy(无ID切换的整体精度):衡量跟踪算法在不发生ID切换的情况下,整体跟踪的准确性。HOTA(0):
○ HOTA at 0 threshold(HOTA在阈值为0时的值):在不考虑阈值的情况下,HOTA的值。LocA(0):
○ Localization Accuracy at 0 threshold(定位精度在阈值为0时的值):在不考虑阈值的情况下,定位精度的值。HOTALocA(0):
○ HOTA Localization Accuracy at 0 threshold(HOTA定位精度在阈值为0时的值):在不考虑阈值的情况下,HOTA定位精度的值。