关于多目标跟踪的一点理解
多目标跟踪的任务是恢复视频序列中多个目标的时空轨迹。MOT问题的解决共分为两步,第一步是物体检测,第二步是数据关联。在tracking-by-detection的方法中,检测是提前在每帧中单独提取的,然后物体轨迹是通过最大化专门设计的相关函数来建立的。在多目标跟踪中,最为核心的部分是为数据关联学习一个相似性函数(a similarity function),在学习的时候,应当清楚的是数据关联是如何做的,相似性是如何构造的,cost function是如何优化的。
MOT可以转化成为多种问题来解决。MHT、JPDA、integer linear program、network flow problem、quadratic boolean program、continuous or discrete-continuous energy minimization、generalized clique graphs and maximum weight-independent set problem。当然,被建模成一种和graph有关的优化问题也是可以的啦。
不同方法的区别和联系:
一般数据关联有两类方法,一类是局部关联,该方法在时间上是局部的,偶匹配及其扩展是其典型代表。一类是全局关联,该方法中帧的数量较大。近来许多基于全局关联的方法将数据关联看作是网络流问题。
做数据关联时有多种方法来实现把观测假设连接起来。如:network flow、integer linear programming等。
MOT 分为离线和在线方法。二分图匹配(bipartite graph matching)通常被用于在线方法中,目的是把当前帧的边界框分配给已存在的轨迹。离线方法通常是在网络流框架中解决数据关联的问题,决定轨迹的初始和终结。在离线方法中,所有的关联问题可以在一个线性规划(LP)框架中得以解决,设计好的cost function非常重要。Cost function可以手工设计,也可以从数据中学习得到。在线方法也可以叫filtering-based approaches。离线方法可以叫batch methods。对于在线方法,While they are fast and applicable in real-time applications, they typically suffer from their inability to recover from early errors。(在线学习方法不能从早期的错误中恢复是让人非常头疼的事情,此外,在线方法易产生IDs的问题)。
在离线方法中,要使用整帧所有的检测结果。在优化算法的帮助下,该方法可以比传统的在线跟踪框架表现出更准确的数据关联。离线关键看优化算法。而在线关键看affinity measures。对于在线跟踪,关键是要建立strong affinity measures to compare two detections across time, such as spatial affinity(eg.BBOX overlap or euclidean distance) or simple appearance similarity。
为解决关联歧义、克服检测失败,用到了batch mode,但是却无法满足实时跟踪的要求。在线跟踪应用更为广泛,但是要保证虽然数据很少,但是work的时候要保证accurate和fast。
在在线方法中,挑战在于如何把当前帧的带噪声的检测与之前跟踪到的物体进行关联。为控制关联的歧义性,在计算similarity时,把多条线索联合起来是非常有必要的,比如appearance、motion、location。而多条线索的参数最好可以学习得到。
进行多帧的数据关联问题可以看成是网络流的问题,the optimal solution can be found by a min-cost flow algorithm。在解决数据关联问题时,可以使用的技术有马尔科夫和蒙特卡洛。
数据关联有两种主要类型,local and global。对于local,虽然这种方法计算量不大,但是易于ID_switch,在跟踪中易遭遇一些一下difficulties(当long/short term occlusions、pose changes and camera motion)。对于global,考虑的帧比较多,formulated the data association as a network flow problem where a set of tracks are found efficiently by solving min-cost flow。而最小化cost-flow又有一系列方法,如push-relabel algorithm等。
为了增加外观模型和运动模型的判别能力,在线学习的方式被提出来了。无论是batch methods还是online method,其目标都是learn a similarity function for data association from training data。需要注意的是,在超级拥挤的情况下,目标的外观就显得没有那么重要了,所以,为了保证跟踪的鲁棒性,往往要focus on spatial features。
在拥挤环境中,遮挡、噪声检测(false alarms,missing detections,non-accurate bounding)和外观相似都是问题,无论是在线方法还是离线方法,也无论是哪一种数据关联的方法,都是围绕着从这几个方面着手改进。
关于MOT的文献是巨大的,但有几个关键的属性会在这些成功的方法中出现。
①使用长距离的关联to prevent ID switches and recover missing detections caused by long-term occlusion。
②联合推理轨迹的数量并且解决数据关联的问题
③使用外观信息and combine it with long-range associations.
④在跟踪中集成NMS
当然,以上属性可以被更好的取代。
在应对遮挡方面,可以使用by using context from outside the object region or by building strong statistical motion models。
关于Multi-Frame Data Association与two-frame data association。
不得不说,在多目标跟踪中存在这样一种数据关联,即two-frame data association in an online fashion and thus cannot reconsider wrong associations when further information comes and contradicts(矛盾) them。
Multi-Frame Data Association
离线MOT方法考虑数据关联时,either globally over the whole sequence or over a sliding window dealing with a few frames.==>multi-frame data association。
关于多目标跟踪的一点理解相关推荐
- 谈谈对APC的一点理解
谈谈对APC的一点理解 异步过程调用(APCs) 是NT异步处理体系结构中的一个基础部分,理解了它,对于了解NT怎样操作和执行几个核心的系统操作很有帮助. 1) APCs允许用户程序和系统元件在一个进 ...
- python 3列表推导式的的一点理解!
python 3列表推导式的的一点理解! Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式, ...
- TSYS2.0对动态碎片的一点理解
最近好多人对tsys很感兴趣,其实大家不知道的是tsys的asp版本早就已经停止开发了,为了不想让如此优秀的东西被埋没所以我在tsys的asp版 本的基础上使用PHP重新开发了一个功能更强的cms,名 ...
- 对事件循环的一点理解
最近工作需要学习了解webworker-threads以应对Javascript多线程处理CPU密集型的可能性:参考文档JavaScript多线程之二 Node.js中的Web Worker; 以下是 ...
- Hyperledger Fabric 网络环境的一点理解
Hyperledger Fabric 开发链码,一般都是测试网络开发,然后部署到生产网络. 下面介绍测试网络.生产网络的一点理解. 1 测试网络 使用cryptogen等工具建立测试网络,开发环境使用 ...
- Tecplot中用excel表格绘制xy图的一点理解
原文地址:Tecplot中用excel表格绘制xy图的一点理解作者:又见谷雨 在画图的时候遇到一些问题,比如想用excel中的数据画xy图,那么应该怎样加载这些数据呢.在网上查找了下,也没有详细的说法 ...
- 2.深入一点理解C源程序的编译过程
2.深入一点理解C源程序的编译过程 本文章的大多数灵感及知识来源于南京大学的计算机系统基础教材,如果希望更加深入地对相关知识做进一步了解,可以移步上述相关资源.在网上可以轻易获得上述资源,mooc也有 ...
- negroni包和mux包的一点理解
codegangsta/negroni包和gorilla/mux包的一点理解 Negroni是一个http.Handle,因为他实现了 func (n *Negroni) ServeHTTP(rw h ...
- 对PCIE设备访问及其配置空间的一点理解
讲讲对PCIE总线协议的一点理解吧.感觉每一年又会多一点理解,但不懂得地方仍很多. PCI总线是拓扑结构,PCI总线从0开始,不超过256(但一般不会一层一层挂太多).Device不超过32,Func ...
- 有关WLAN与wifi、WPAN与Bluetooth、WPAN与802.15、wifi与802.11、WiMAX与802.16等关系的一点理解
http://blog.csdn.net/jbb0523/article/details/7269964 题目:有关WLAN与wifi.WPAN与Bluetooth.WPAN与802.15.wifi与 ...
最新文章
- Spring Boot中普通类获取Spring容器中的Bean
- 【LeetCode】LeetCode之乘积最大子数组——枚举+动态规划+Kadane算法
- Java基础篇:封装、继承、多态三大特性
- boost::date_time模块wrapping_int的测试程序
- linux(ubuntu)新建用户只有一个$问题,Ubuntu新建用户并指定目录
- 数据科学 IPython 笔记本 8.8 直方图,分箱和密度
- Matrix探究细谈
- GitHub - ErnestChen1/SmartSpeaker: 一个基于云端语音识别的智能控制设备,类似于天猫精灵,小爱同学。采用的芯片为stm32f407,wm8978,esp8266。...
- ckeditor简单使用心得
- 将keras的模型封装成可转换为tensorlow的.pb格式,并生成.pbtxt文件
- 百度移动搜索落地页体验广告白皮书3.0上线
- linux伊甸园论坛,Deepin2014壁纸大赛评审团——不断努力的Linux伊甸园
- JavaScript代码实现冒泡排序
- linux 脚本实现物理备份,shell脚本实现系统监视统计与数据备份
- 盘点 8 款好用的 API 接口文档管理工具
- 安卓 SDK 开发使用 VirtualAPK 实现插件化
- 新视野大学英语第三版第二册视听说
- 中兴面试-2022-7-13
- 免费在线生成彩色带logo的个性二维码
- Supercharger
热门文章
- ROS | 服务通信的编程实现
- java计算机毕业设计家教到家平台源码+mysql数据库+系统+lw文档+部署
- pano2vr输出的HTML手机可以看吗,Pano2VR怎么导出手机可看, Pano2VR导出手机查看教程...
- 微信排队小程序C语言,排队叫号微信小程序-【请排队】的构思和实现
- 小王子星球调色Web版 - the little prince
- 乐高wedo搭建图纸_乐高wedo2.0图纸 无齿翼龙
- 本地项目上传至git码云步骤(超详细,附图文)
- recv函数的返回值梳理
- cnplaza照片打印管理 【即影即有软件】
- 软件开发工作量的估算方法