首页IT科技多目标跟踪sort((HOTA)多目标跟踪MOT指标计算方法)

多目标跟踪sort((HOTA)多目标跟踪MOT指标计算方法)

时间2025-06-20 16:23:04分类IT科技浏览11291
导读:基本内容: 先附上Track_eval下载地址:.GitHub - JonathonLuiten/TrackEval: HOTA (and other evaluation metrics for Multi-Object Tracking (MOT ....

基本内容:

先附上Track_eval下载地址:.GitHub - JonathonLuiten/TrackEval: HOTA (and other) evaluation metrics for Multi-Object Tracking (MOT).

各个指标的原理我在这里不谈了                 ,主要讲一下使用该工程计算指标的方法 

我们在计算MOT评价指标的时候需要用到以上这个工程                          ,下载好后         ,新建工程                 。

在算多目标跟踪指标的时候        ,我之前使用了motmetrics这个库                          ,但是这个库不能算最新的HOTA指标                 ,所以我们使用以上工程                          。

目录结构:

data ├─ gt │ └─ mot_challenge │ ├─ MOT17-train │ │ ├─ MOT17-02-DPM │ │ │ ├─ gt │ │ │ │ └─ gt.txt │ │ │ └─ seqinfo.ini │ │ ├─ MOT17-04-DPM │ │ │ ├─ gt │ │ │ │ └─ gt.txt │ │ │ └─ seqinfo.ini │ │ ├─ MOT17-05-DPM │ │ │ ├─ gt │ │ │ │ └─ gt.txt │ │ │ └─ seqinfo.ini │ │ ├─ MOT17-09-DPM │ │ │ ├─ gt │ │ │ │ └─ gt.txt │ │ │ └─ seqinfo.ini │ │ ├─ MOT17-10-DPM │ │ │ ├─ gt │ │ │ │ └─ gt.txt │ │ │ └─ seqinfo.ini │ │ ├─ MOT17-11-DPM │ │ │ ├─ gt │ │ │ │ └─ gt.txt │ │ │ └─ seqinfo.ini │ │ └─ MOT17-13-DPM │ │ ├─ gt │ │ │ └─ gt.txt │ │ └─ seqinfo.ini │ └─ seqmaps │ └─ MOT17-train.txt └─ trackers └─ mot_challenge └─ MOT17-train └─ MOT └─ data ├─ MOT17-02-DPM.txt ├─ MOT17-04-DPM.txt ├─ MOT17-05-DPM.txt ├─ MOT17-09-DPM.txt ├─ MOT17-10-DPM.txt ├─ MOT17-11-DPM.txt └─ MOT17-13-DPM.txt

        在下载好的项目主目录中创建data目录        ,需要创建的结构如上所示                          ,其中trackers目录下的txt文件就是我们检测跟踪到的信息                 ,gt下的gt.txt就是我们标定的目标信息文件         。注意gt目录中的MOT17-train目录下的这些文件目录名要与trackers下的txt的文件名对应        。seqinfo.ini是此视频序列的信息                          。(在不改变原代码的情况下,请按照上图配置)

 上图所示                          ,序列名                          ,视频长度,像素等信息                 。对于要评测的MOT17数据集这个是给定的        。

注意到gt目录下seqmaps中有一个MOT17-train.txt文件                 ,此文件中记录了我们要评测的序列名字                          ,格式如下:

请注意此文件在项目中从第二行开始读取         ,第一行一定空出来或者写其他标注信息                          。

运行代码:

打开工程中主目录下的scripts                 ,运行run_mot_challenge.py 则可得到MOTA,MOTP,HOTA等结果                 。完成对行人跟踪的评测。

使用此项目评价自己的数据集:

该工程不仅可以评价MOT数据集                          ,也可以评价自己数据集         ,接下来进行讲解:

打开run_mot_challenge.py文件        ,找到如下代码                          ,进入到get_default_dataset_config()

default_dataset_config = trackeval.datasets.MotChallenge2DBox.get_default_dataset_config()

修改default_config字典中的值

default_config = { GT_FOLDER: os.path.join(code_path, data/gt/demo/), # Location of GT data TRACKERS_FOLDER: os.path.join(code_path, data/trackers/demo/), # 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: DEMO, # Valid: MOT17, MOT16, MOT20, MOT15 #VIS19 SPLIT_TO_EVAL: val, # 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 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. }

        第一行和第二行分别指的是自己的数据集gt主目录和检测跟踪结果的主目录                 ,第五行是要评价的类别        ,这里先不提                          ,要与下文进行对应                 ,第六行和第七行就是上述的主目录下的目录(用杠连接起来如下所示)                          。

整理下就是gt目录为:data/gt/demo/DEMO-val/ 

跟踪结果主目录为:data/trackers/demo/DEMO-val ,其他不变动                          。

在此py文件往下翻找代码找到如下属性                          ,将这个改成自己数据集标号和类别。

self.valid_classes = [pedestrian] #有效类别设置 self.class_name_to_class_id = {pedestrian: 1, person_on_vehicle: 2, car: 3, bicycle: 4, motorbike: 5, non_mot_vehicle: 6, static_person: 7, distractor: 8, occluder: 9, occluder_on_ground: 10, occluder_full: 11, reflection: 12}

继续向下翻找找到如下属性                 。下图为干扰类别项                          ,将其改为自己类别的干扰项,不要为空会报错                 ,博主已试                          。

distractor_class_names = [person_on_vehicle, static_person, distractor, reflection] #这个是mot评价的干扰项

到这里需要改的代码就已经修改完毕了         。这个时候还需要添加一些文件到目录中                 。

对于我的设置                          ,在data/gt/demo中创建seqmaps目录         ,在该目录下创建DEMO_val.txt                 ,请注意这个文件名字与我们之前设置的default_config字典中的第六行和第七行的值要匹配                          。

文件内容的类型与之前所描述的MOT17-train.txt中的一致         。

接下来就可以参考目录结构中第一个图进行创建目录和文件了                          ,注意gt中序列目录的名字要和trackers的txt文件名对应上        。

全部配置完后运行run_mot_challenge.py即可得到结果                          。

我这里附上一张效果图         ,仅供参考        ,计算了一个序列                 。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
bios设置如何恢复出厂设置(bios怎么恢复出厂设置 恢复bios出厂默认值的方法) 讷河在哪个位置(讷河哪里)