deepsort和MOT16指标评价

deepsort和MOT16指标评价,第1张

如何评价deepsort跟踪性能,常用的有MOT challenge提供的数据集,根据训练数据集的ground truth文件,对比deepsort跟踪窗口位置和跟踪ID,可以得到一系列评价指标。网上有很多有关MOT评价指标介绍和算法,近来找到一个纯采用python的算法代码,在此分享。
github网站在此:https://github.com/JonathonLuiten/TrackEval
克隆到本地

git clone https://github.com/JonathonLuiten/TrackEval

以MOT16-13为例,将使用过程记录如下。
下载MOT16,取训练数据集中的MOT16-13,取出其中的gt/gt.txt,这是MOT16-13.mp4的ground truth标注文件。img1目录下有750张1920x1080图片,将其组成视频文件MOT16-13.mp4。
运行deepsort程序,得到兼容MOT16格式的跟踪数据文件MOT16-13.txt。下面组织文件目录结构如下:
说明:
评估程序目录TrackEval下建立data子目录,下设gt和trackers子目录,将gt.txt和MOT16-13.txt放到图示子目录下,其中seqinfo.ini从MOT16-13数据集中得到,该文件描述MOT16-13视频序列。MOT16-train.txt描述指标评估中所采用的视频序列名称,其内容如下(这里只用了一个视频序列):

name
MOT16-13

在此看看gt.txt和MOT16-13.txt文件格式
gt.txt文件是CSV文本文件,每行包含一个对象,描述其中一帧中的一个跟踪对象,有10个值,用逗号分隔。TrackEval只用到前6个,帧序号,目标ID,跟踪框4个坐标,后4个(目标置信度,xyz中心坐标)忽略,如下:

<frame>, <id>, <bb_left>, <bb_top>, <bb_width>, <bb_height>, <conf>, <x>, <y>, <z>

gt.txt文件如下:

1,1,1376,485,37,28,0,11,1
2,1,1379,486,37,28,0,11,1
3,1,1382,487,38,29,0,11,1
4,1,1386,488,38,29,0,11,1
5,1,1389,490,38,29,0,11,1
6,1,1393,491,38,30,0,11,1

MOT16-13.txt格式与gt.txt相同,用空格分隔,后4个不参与MOT16指标运算,故均为-1。

5 1 1634 561 63 123 -1 -1 -1 -1 
5 2 1383 511 33 110 -1 -1 -1 -1 
5 4 496 542 38 95 -1 -1 -1 -1 
5 5 1551 556 48 127 -1 -1 -1 -1 

准备好目录结构和数据文件后,即可以运行评估程序

cd TrackEval/scripts
python run_mot_challenge.py --BENCHMARK MOT16 --METRICS CLEAR HOTA

运行结果,得到HOTA和CLEAR两类metrics指标

一点说明,trackval\datasets\mot_challenge_2d_box.py中,修改

'TRACKER_SUB_FOLDER': 'data',   

  'TRACKER_SUB_FOLDER': '' 

以适应以上构造的目录结构,若不修改则会多增加一级data目录。

def get_default_dataset_config():
        """Default class config values"""
        code_path = utils.get_code_path()
        default_config = {
            'GT_FOLDER': os.path.join(code_path, 'data/gt/mot_challenge/'),  # Location of GT data
            'TRACKERS_FOLDER': os.path.join(code_path, 'data/trackers/mot_challenge/'),  # Trackers location
            'OUTPUT_FOLDER': None,  # Where to save eval results (if None, same as TRACKERS_FOLDER)
            'TRACKERS_TO_EVAL': None,  # Filenames of trackers to eval (if None, all in folder)
            'CLASSES_TO_EVAL': ['pedestrian'],  # Valid: ['pedestrian']
            'BENCHMARK': 'MOT16',  # Valid: 'MOT17', 'MOT16', 'MOT20', 'MOT15'
            'SPLIT_TO_EVAL': 'train',  # Valid: 'train', 'test', 'all'
            'INPUT_AS_ZIP': False,  # Whether tracker input files are zipped
            'PRINT_CONFIG': True,  # Whether to print current config
            'DO_PREPROC': True,  # Whether to perform preprocessing (never done for MOT15)
            'TRACKER_SUB_FOLDER': '',   #'data',  # Tracker files are in TRACKER_FOLDER/tracker_name/TRACKER_SUB_FOLDER    修改,去掉'data',少一级子目录data
            'OUTPUT_SUB_FOLDER': '',  # Output files are saved in OUTPUT_FOLDER/tracker_name/OUTPUT_SUB_FOLDER
            'TRACKER_DISPLAY_NAMES': None,  # Names of trackers to display, if None: TRACKERS_TO_EVAL
            'SEQMAP_FOLDER': None,  # Where seqmaps are found (if None, GT_FOLDER/seqmaps)
            'SEQMAP_FILE': None,  # Directly specify seqmap file (if none use seqmap_folder/benchmark-split_to_eval)
            'SEQ_INFO': None,  # If not None, directly specify sequences to eval and their number of timesteps
            'GT_LOC_FORMAT': '{gt_folder}/{seq}/gt/gt.txt',  # '{gt_folder}/{seq}/gt/gt.txt'
            'SKIP_SPLIT_FOL': False,  # If False, data is in GT_FOLDER/BENCHMARK-SPLIT_TO_EVAL/ and in
                                      # TRACKERS_FOLDER/BENCHMARK-SPLIT_TO_EVAL/tracker/
                                      # If True, then the middle 'benchmark-split' folder is skipped for both.
        }

进一步的尝试:仍用MOT16-13,而ground truth不用原来的gt.txt,该gt.txt只针对行人。现修改为针对小汽车car,这里采用DarkLab视频序列标注程序,仅标注car,形成ground truth文件gt.txt,得到如下MOT指标:

看上去指标提高了不少耶!但这里DarkLab有一点小缺陷,即帧序列号从0-749,而不是1-750,因此运行run_mot_challenge.py会出错。因为MOT16的ground truth文件gt.txt帧号规定从1开始,而TrackEval算法就执拗地认定帧号不能从0开始,否则非法,目前还没去找在哪里可以改掉这一偏见。无奈之下,只好在excel中修改gt.csv的帧号,将0-749改为1-750, 有点麻烦,但总算可以使用TrackEval。所以,不能直接利用DarkLab标注的输出,来运行TrackEval中run_mot_challenge.py,切记切记。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/724966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存