project子项目之间任务关联_多目标跟踪之数据关联(匈牙利算法&KM算法)

发布时间:2021-12-02 20:23:30

数据关联是多目标跟踪任务中的关键步骤,其目的主要是为了进行帧与帧之间的多个目标的匹配,其中包括新目标的出现,旧目标的消失,以及前一帧与当前帧的行人id匹配。传统的数据关联方法多为运筹学方法,比较经典即为匈牙利算法和KM算法,接下来将详细介绍这两种算法。


在了解匈牙利算法与KM算法之前,我们需要了解一个概念“二分图”。简单来说就是两组集合U与V,其中U与V集合内部的点不能相互连通,但是U与V的点之间是可以联通的,如下图所示:






我们可以看到,二分图的结构与我们多目标跟踪任务的结构很相像,我们可以把U与V看成是多目标跟踪任务中的前一帧与当前帧的检测框集合,U与V之间的关联视为前一帧与当前帧的同一id目标的检测框的关联,这样我们需要做的就是将相邻两帧的目标检测框尽可能准确的两两匹配。为了解决这个问题,就需要用到匈牙利算法或者KM算法。



1.匈牙利算法(Hungarian Algorithm)

匈牙利算法是基于Hall定理中充分性证明的思想,它是部分图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。


具体来说,匈牙利算法是一个递归过程,详细步骤如下:


(1)初始化二分图:即将当前帧中可能与上一帧中目标相匹配的检测框确认






(2)按id顺序依次进行匹配,首先将可能与上一帧目标1相匹配的当前帧的目标1进行匹配(红色代表以匹配);






(3)接着对目标2进行匹配;






(4)接着对目标3进行匹配,这是我们发现当前帧可以与目标3进行匹配的目标1,2已经被匹配过了,为了使目标3可以匹配到目标,我们尝试将之前U中匹配到目标1的目标匹配另一个目标(黄色代表取消匹配);






这时我们发现U中的目标1可以匹配到的V中的目标2也已经被U中的目标2匹配到了,那么同理,我们在将U中的目标2更换匹配目标;






这是我们再返回上一步,即可将U中的目标1,2,3均匹配到目标;






(5)接着对目标4进行匹配,与上述步骤相同,但是最后并没有找到能够符合要求的匹配方法,所以U中的目标4在这一帧中消失,同时当前帧中的目标4被视为新出现的目标。


以上为匈牙利算法的流程,简单来说就是一个递归过程,尽可能找到让上一帧与当前帧目标一对一的匹配。该算法对红线连接的准确率要求很高,也就是对运动模型和表观模型要求较高,需要将置信度较高的边送入匈牙利算法进行匹配,才能得到比较好的结果。



2.KM算法(Kuhn-Munkres Algorithm)

上面介绍的匈牙利算法存在一个很大的问题,就是该算法将每个目标的匹配对象视为评级,然而在实际的跟踪任务中,肯定有些匹配的框比较接*目标,有些框与目标相差较大,这时候如果将其视为同级会影响匹配准确度,所以在匈牙利算法的基础上又提出了KM算法,这也是实际任务中比较常用的算法,KM算法解决的是带权二分图的最优匹配问题,即引入了权值这一概念。具体步骤如下:


(1)初始化权值二分图:对每个顶点赋值(顶标),将左边的顶点赋值为与其相连边的最大权值,右边的顶点赋值为0。






(2)匹配原则为只和权重与左边分数(顶标)相同的边进行匹配,若找不到边匹配,则将此条路径对应左边顶点的顶标减d,右边顶标加d(这里我们取d为0.1)。所以首先对U中的目标1,我们选取第一条满足条件的边。






U中的目标2,同理找到满足条件的边






接着U中的目标3,这时我们发现满足条件的V中的目标1已经被匹配,这时我们首先想让U中的目标3换边,但是另一条便并不满足条件,这时我们再考虑将U中目标1进行更换匹配,但是发现也无法换边,这时我们就需要对进行减操作,即将所有冲突边对应的U中顶点权值减d,V中顶点权值加d






再进行匹配操作,这时发现U中目标3多了一条可以匹配的边,所以U中目标3与V中目标2匹配。






(3)最后进行U中目标4的匹配,与上述步骤相同,由于V中目标3已被匹配,所以再进行一系列的加减d操作,还是匹配失败,两轮以后U中目标4权值减为0,故放弃匹配目标4。


以上即为KM算法,总体来讲也是一个递归过程,核心思想与匈牙利算法一样,只不过引入了权值作为约束条件,可以使匹配成功率大大提高。


3 .小结

上述介绍了数据关联算法中的匈牙利算法和KM算法,具体实现起来并不复杂,另外常见的数据关联算法还有概率相关的算法,感兴趣的同学可以进一步研究。



参考资料:
CSDN-专业IT技术社区-登录?blog.csdn.net
CSDN-专业IT技术社区-登录?blog.csdn.net
多目标跟踪数据关联算法比较 - 三只猫- - 博客园?www.cnblogs.com





相关资源:图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

相关文档

  • 实习前的检讨书范文
  • 七年级语文上学期优质课《化石吟》教学反思
  • 幼儿园家庭素质报告书评语
  • 使用idea在JavaWeb工程的Dao层中往数据库增加记录报错(中文乱码)
  • 喜悲心连心
  • 代理记账业务的营销
  • 小红书面试代码
  • 小学生守则手抄报相关图片
  • 新高考改革的思考3+1+2模式怎么选科
  • 适合乡镇小县城的创业项目
  • C++实现数组类
  • Linux--监控服务器流量工具(vnstat)
  • python cv2获取中心点坐标
  • 馥蕾诗玫瑰水好用吗馥蕾诗玫瑰润泽保湿花水评测
  • 正确选择创业项目
  • 玻璃墙卫生间效果图片大全
  • 迪克迪奥怎么样迪克迪奥和迪奥的区别
  • 论述日本茶道的程序步骤
  • 工作失业证明如何办理
  • 烧烤摊上的烤鱿鱼怎么做的
  • 春季学期七年级数学期中考试试题
  • TCP KEEPALIVE详解
  • 市场营销心得体会
  • 每日正能量的小故事精选
  • 不错的小本项目商机
  • 餐饮聘用合同
  • 大学生入党申请书模板3000字五篇
  • Unity-学习-DOTween (一)之DOTween.To方法
  • 雪糕品尝师每天要吃多少根雪糕雪糕品尝师主要是做什么
  • 我国三大常用坐标系:北京54、西安80和WGS-84
  • 猜你喜欢

  • 公路监理施工质量控制要点
  • 江苏省物价局、省财政厅关于自学考试专接本收费问题的复函
  • 碧生源减肥茶有用吗 碧生源减肥茶是真的好用吗
  • 精选新版早安问候语语录27条
  • 月工作总结及下月工作计划范文(完美版)
  • 高考物理大一轮复*选修部分基础课1机械振动课件粤教版选修3_4
  • 人教版初中语文教材分析
  • 项目管理软件Project 测试题答案 Microsoft Word 2010中小学教师培训
  • 2015年党风廉政建设知识竞赛试题2
  • 2008中国大学教育学本科A
  • 【优质】能源管理工作总结-实用word文档 (3页)
  • 初一作文:一个让我敬佩的人作文800字
  • 2019年度优秀电子厂实*报告范文五篇【经典篇】
  • Uric acid 69-93-2 GlpBio
  • 连锁企业人力资源管理第十章 人力资源跨文化管理
  • 养老金改革:公务员吐糟工资更低恋爱奢侈谈不起
  • 王绵之教授治疗便秘经验总结
  • 新时期在现代医药商品流通企业开展职工思想政治教育工作的实践与思考
  • session共享问题(一)----同一tomcat多个应用session问题
  • 股市技术指标之TOW用于逃顶的技术指标
  • 摄取食物过敏源能预防过敏?
  • 邢台市坚果种植农业合作社名录2018版111家
  • 《钢铁是怎样炼成的》读书笔记大全
  • 2019年河莫踩?甭证考试题库及答案
  • 小学语文最新-小学二年级语文下学期复*资料 精品
  • 2018-2019-简历中的自我评价如何写-优秀word范文 (2页)
  • 昆山科泰塑胶有限公司(企业信用报告)- 天眼查
  • 家长指导幼儿绘画话大于画
  • 初二历史新文化运动和五四爱国运动
  • 空调外机有电怎么回事
  • 家庭装修合同书样本
  • 2017年秋九年级历史上册第三单元古代文明的传播与发展第8课古代科技与思想文化(一)*题课件新人教版
  • 关于美编的实习目的
  • (交际礼仪)餐桌礼仪:筷子文化十五忌
  • maven更新jar缓慢解决办法
  • 美国历届总统就职演说
  • 人教版英语pep六年级上册 Unit2 Ways to go to school第三课时【精品】
  • 多层次资本市场的发展趋势研究
  • 0006算法笔记【分治法】线性时间选择
  • 丽江旅游必备物品_丽江旅游要带什么
  • 职业道德教案《职业素质的构成》教学设计
  • 电脑版