位置: IT常识 - 正文

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

编辑:rootadmin
(HOTA)多目标跟踪MOT指标计算方法 基本内容:

推荐整理分享(HOTA)多目标跟踪MOT指标计算方法(多目标pso),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:多目标模型,多目标优化百度百科,多目标是什么意思,多目标break,多目标处理方法,多目标处理方法,多目标处理方法,多目标算法有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

先附上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等结果。完成对行人跟踪的评测。

使用此项目评价自己的数据集:(HOTA)多目标跟踪MOT指标计算方法(多目标pso)

该工程不仅可以评价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即可得到结果。

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

本文链接地址:https://www.jiuchutong.com/zhishi/293146.html 转载请保留说明!

上一篇:浦那的黄胸织布鸟鸟巢,马哈拉施特拉邦 (© Samyak Kaninde/Alamy Stock Photo)(井冈山游击队的口号)

下一篇:Vue状态管理--Pinia使用详解(vue状态管理有哪些)

  • 荣耀30pro如何前后双景同录(荣耀30pro+技巧)

    荣耀30pro如何前后双景同录(荣耀30pro+技巧)

  • 10750h相当于桌面级什么cpu(10750h相当于桌面端什么cpu 贴吧)

    10750h相当于桌面级什么cpu(10750h相当于桌面端什么cpu 贴吧)

  • 短信内容不在屏幕显示(短信不在屏幕上显示)

    短信内容不在屏幕显示(短信不在屏幕上显示)

  • 支付宝能搜名字加好友吗(支付宝搜名字能搜到吗)

    支付宝能搜名字加好友吗(支付宝搜名字能搜到吗)

  • 小爱同学突然不能用了(小爱同学突然不能播放音乐了)

    小爱同学突然不能用了(小爱同学突然不能播放音乐了)

  • 电脑上的复制键是哪个(电脑上复制粘贴按什么键)

    电脑上的复制键是哪个(电脑上复制粘贴按什么键)

  • 亲属卡可以扫码支付吗(亲属卡可以扫码支付400吗)

    亲属卡可以扫码支付吗(亲属卡可以扫码支付400吗)

  • 手机文件管理里的文档能删除吗(手机文件管理里怎么新建文件夹)

    手机文件管理里的文档能删除吗(手机文件管理里怎么新建文件夹)

  • excel如何快速选择到最后一行(excel如何快速选中多行)

    excel如何快速选择到最后一行(excel如何快速选中多行)

  • 网易云有访客记录吗(网易云有访客记记录吗)

    网易云有访客记录吗(网易云有访客记记录吗)

  • 怎么把文件放到微云(怎么把文件放到一个压缩包里)

    怎么把文件放到微云(怎么把文件放到一个压缩包里)

  • 苹果11耳机有什么不同(苹果11的耳机是多少钱)

    苹果11耳机有什么不同(苹果11的耳机是多少钱)

  • 闪迪a1和a2的区别是什么(闪迪a1与a2的区别)

    闪迪a1和a2的区别是什么(闪迪a1与a2的区别)

  • 荣耀v20怎么反向充电(荣耀v20如何反向充电)

    荣耀v20怎么反向充电(荣耀v20如何反向充电)

  • 趣步的二维码在哪里(趣步微信群二维码图片)

    趣步的二维码在哪里(趣步微信群二维码图片)

  • 苹果x手机屏幕自动变暗能解决吗?(苹果x手机屏幕黑了但是有反应怎么了)

    苹果x手机屏幕自动变暗能解决吗?(苹果x手机屏幕黑了但是有反应怎么了)

  • oppo手机黑屏显示时间(oppo手机黑屏显示充电图标)

    oppo手机黑屏显示时间(oppo手机黑屏显示充电图标)

  • 导航一体机通电不开机(导航一体机电源电路图)

    导航一体机通电不开机(导航一体机电源电路图)

  • SCHDPL32.EXE - SCHDPL32是什么进程 有什么用

    SCHDPL32.EXE - SCHDPL32是什么进程 有什么用

  • 多台电脑如何共享文件教程(多台电脑如何共享一台惠普打印机)

    多台电脑如何共享文件教程(多台电脑如何共享一台惠普打印机)

  • 栀子花叶子发黄怎么办?(栀子花叶子发黄是什么原因)

    栀子花叶子发黄怎么办?(栀子花叶子发黄是什么原因)

  • 尚硅谷vue笔记 详细讲解版(尚硅谷 天禹老师)(尚硅谷docker笔记)

    尚硅谷vue笔记 详细讲解版(尚硅谷 天禹老师)(尚硅谷docker笔记)

  • 减免税额和免税额一样吗
  • 外资企业法最新
  • 固定资产未转固属于什么风险
  • 一般纳税人开具专票和普票的区别
  • 小企业需要计提法定盈余公积吗
  • 计提工资是包含社保吗
  • 工会筹备金和工会经费一样吗
  • 期末留抵税额退税怎么做分录
  • 如何承包消防工程公司
  • 金税盘地区编号怎么查
  • 小规模纳税人普通发票可以抵税吗
  • 摊余成本加还是减
  • 应收账款坏账计提比例变更
  • 申请国家知识产权的条件
  • 单位充话费送手机
  • 已认证的发票如何导入
  • 个体户转让房产所得如何申报个人所得税
  • 收到多开发票已认证怎么做账?
  • 固定资产简易办法3%减按2%
  • 提供物业管理服务的纳税人如何认定
  • 用户风险是什么意思
  • 金融行业信托
  • 超过三年的坏帐损失税前扣除怎样规定?
  • 小企业会计准则成本核算方法选什么
  • 盈余公积转增实收资本要交税吗
  • 印花税的计税依据是销项和进项的金额
  • Mac怎么用有线网络
  • 发票专用章正规位置盖在哪里
  • 入库单的金额填不填价税合计
  • 卖固定资产如何申报
  • unix和linux适用于
  • 数字证书费用计入管理费用什么科目
  • 反映企业利润的指标有
  • 期货公司保证金怎么算的
  • php获取参数值的三种方式
  • 管理费用包括哪些明细科目
  • Vite + Vue3 +Vant4构建项目时,按需引入使用Toast组件,引用 showToast 时出现编译报错的解决方案
  • 微信小程序分成比例
  • 美轮美奂的对象是什么
  • 报废的设备怎么处理
  • php三元运算符简单例子
  • javaweb入门简单小项目
  • php高级程序招聘
  • 软件企业高新技术产品证明材料
  • 一般贸易和进料加工退税的区别
  • 非流动资产基金 新会计制度 对应
  • 收到法院款项如何做账
  • 甲供材入账
  • 税务法新规
  • 管理费用的范畴
  • 无形资产摊销计算方法
  • 收到发票未收到货物
  • 甲方向乙方支付
  • 预留印鉴章是什么章
  • 电子商务中流量的定义
  • 投标费用如何入账科目
  • 企业所得税汇算清缴时间
  • 计划成本下
  • 十二月份没出现问题
  • 民办幼儿园如何生存
  • 减免的费用怎么做账
  • 会计处理是会计分录吗
  • 息税前利润变动百分比计算公式
  • macbook存东西一般存在哪
  • windows模拟器(可安装电脑软件)
  • WINDOWS操作系统内置的GUEST
  • 雨林木风Windows10
  • winxp系统如何调整屏幕亮度
  • win8.1界面如何改为win7
  • win10怎么关掉
  • css判断语句
  • jquery拖拽功能
  • jquery 控制暂停和播放
  • jquery根据name获取对象数组
  • jquery示例
  • python面向对象编程心得体会
  • 季度企业所得税分录
  • 为什么要征收城乡土地
  • 车辆大本怎么办理
  • 上饶国资委领导班子成员名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设