原文链接:http://blog.csdn.net/wood_water/article/details/9023151
在上一篇跟踪器与检测器(tracker and detector)中,我们已经详细介绍了TLD中跟踪器与检测器的设计方案,而在具体运行过程中需要对二者进行调和,所谓调和主要指两方面:
1.对二者输出的结果综合考虑,选择最有可能的作为最终的输出。
2.当目标跟踪中断再度出现时重新启动跟踪器;运行过程中对检测器进行更新,以适应目标运行过程中形变差异。
TLD中的Learning阶段主要思想已均在CVPR2010年的文章P-N Learning: Bootstrapping Binary Classifiers by Structural Constraints中提出。
TLD中的主体学习方法也是在其上稍作改进而得出。在本篇文章中,笔者将介绍学习阶段的任务及论文中涉及的目标模型(Object Model)与综合子(Integrator)。
本人博客地址:http://blog.csdn.net/outstandinger/article/details/9023151 转载请注明。
一,P-N Learning学习阶段
1.P-N Learning 综述
正如在TLD前言中所说,在TMD中Modeling即相当于后来提出的P-N Learning方式。P-N Learning 包含两个expert, 即 P-expert 与 N-expert.
据paper说明,前者作用在于识别missed detections(false negatives),也即寻找正样本;而N-expert 则用于识别false alarms(false positives),也即用于寻找负样本。
P-N学习的关键点在于利用两种 “expert” 可以对检测子进行修正,两种 “expert” 也可能会出错,但是经CVPR2010的文中证明,只要错误率低于0.5,检测器的性能由于两个 “expert” 相互独立的互补作用,性能将会得到改善。
具体实现框图如下,
学习的结果即在于利用一个相对较小的标注集和,作为训练集训练初始分类器,对未标记集进行初始分类,然后经P-N expert进行校正分类结果,作为正负样本再次送入训练集,从而实现一个自举(bootstrap)的效果。
2.P-expert 与 N-expert 示意
P-expert 主要基于时间连续性的考虑,当前帧中目标位置,必然与其前一帧中的位置相近,所有相距甚远的位置均可以标记为负样本。其主要利用逐帧跟踪的结果产生当前物体的位置,如果该位置标记为负样本,则将其更改为正样本,送入训练集。
N-expert 主要利用空间性的考虑,因为TLD采用的是单目标跟踪策略,所以同一时刻在同一帧中只有一个可能的位置。故N-expert将综合检测器和分类器的结果,输出最可能的位置,与最可能的位置不重合的区域均标记为负样本。同时该位置将重新对跟踪器进行初始化。
下图即是关于 P-N learning的示例结果。示例中需要跟踪一辆车,在第 t 帧 和 第 t+1帧 该车均被正常输出,P-expert 用于寻找正样本,N-expert 用于寻找负样本,当到第 t+2 帧时,由于遮挡,导致输出错误结果,此时N-expert 确定最大可能的位置即左下角加 * 的作为正样本,其他标记为负样本。
下图中,黄圈表示 tracker, 红圈表示 detector,黑粗线表示 P-expert,,灰色圈表示 N-expert。右图也是该学习方法的示意图,我们的即在于将位于轨迹上的样本确定出来,其他位置利用时间空间信息排除为负样本。
3. 学习具体策略与实现
4.具体P-N expert实现
B)如何区别轨迹是否可信,是否可靠呢?当轨迹进入core后即变为可靠并且一直保持到下次初始化,否则即为不可靠。虚线即表示不可靠。
C) 表示轨迹在接受可信轨迹后的变化,当一个样本被当做可信样本后就会经过前述处理,寻找距离这个样本最近的10个框对其做幅度扭曲处理等即如ensemble classifier.
5. 学习总结
二,物体模型
三,综合器/结合器
四,综合框图
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:TLD目标跟踪算法详解(二)学习器Learning (跟踪器与检测器的协调与更新) - Python技术站