TLD学习笔记3

然后Detection模块之后剩下的图像元就交作业给Learning模块了,Learning模块再把他觉得最靠谱的目标反馈回给Detection,并作为最终输出。。

Tracking

Tracking用的是中值光流法Median-Flow,并在此基础上囊括了跟踪失败时候的检测,Median-Flow追踪算法基于金字塔Lucas-Kanade光流法。
金字塔Lucas-Kanade光流法是一个很牛的算法,就是速度比较慢。。嗯,这个我是看《学习Opencv》,有几页专讲这个算法,讲的很好,嗯,我不太看的懂。。这里也讲下我肤浅的认识吧。。
金字塔,假如我们是说高斯金字塔的话,那么原始图像就是塔底,通过采样图像得到其上一层的塔层,然后采样这一层再得到上一层的塔。。看你要几层。
LK光流法,这个算法比较牛逼。。。
然后之所以用金字塔的LK光流法是为了能够追踪到比较大的运动,其实就是说我们追踪的一些点到图像金字塔的上一层塔我们会发现这些点少了些但是,他们之间好像“靠近了”,然后我们是在这一层塔上先追踪了这些点,然后我们往下一层再去追踪这些点,就能够追踪比较多的这些点了。。。讲的比较不好,可以去网上搜下相关的理解,资源还是比较丰富的。。
然后FB误差,就是我们这个中值光流法Median-Flow的关键的东西了。。是作者的论文:Z. Kalal, K. Mikolajczyk, and J. Matas, “Forward-Backward Error: Automatic Detection of Tracking Failures,” International Conference on Pattern Recognition, 2010, pp. 23-26. 提出的概念。怎么说呢,假设一个“好”的追踪算法应该具有正反向连续性(forward-backward consistency),即无论是按照时间上的正序追踪还是反序追踪,产生的轨迹应该是一样的。作者根据这个性质规定了任意一个追踪器的FB误差(forward-backward error):从时间t的初始位置x(t)开始追踪产生时间t+p的位置x(t+p),再从位置x(t+p)反向追踪产生时间t的预测位置x`(t),初始位置和预测位置之间的欧氏距离就作为追踪器在t时间的FB误差。如图所示(图还是盗的。。):


于是呢我们首先在上一帧t的物体包围框里均匀地产生一些点,然后用Lucas-Kanade追踪器正向追踪这些点到t+1帧,再反向追踪到t帧,计算FB误差,筛选出FB误差最小的一半点作为最佳追踪点。最后根据这些点的坐标变化和距离的变化计算t+1帧包围框的位置和大小(平移的尺度取中值,缩放的尺度取中值,中值光流法Median-Flow),很有道理有木有,下面是一张图。。你懂的

然后我们把这个追踪到的目标框,正样本交给Learning,让他跟Detection的结果比对比对,提高检测的准确度。。

Learning
TLD使用的机器学习方法是作者提出的P-N学习(P-N Learning)
Z. Kalal, J. Matas, and K. Mikolajczyk, “P-N Learning: Bootstrapping Binary Classifiers by Structural Constraints,” Conference on Computer Vision and Pattern Recognition, 2010.
学习模块的目的是为了提高检测器的性能。学习器是一个在线的过程。在视频流的每一帧中,我们希望能够评估出当前检测器,确定出其错误并及时更新以避免将来出现类似错误。P-N学习是一种半监督的机器学习算法,它针对检测器对样本分类时产生的两种错误提供了两种“专家”进行纠正:
P专家(P-expert):检出漏检(false negative,正样本误分为负样本)的正样本;
N专家(N-expert):改正误检(false positive,负样本误分为正样本)的正样本。
P-N学习的主要思想就是检测器的错误能够被两种类型的约束标识出。当然,这些约束自身也有可能会出现误差,但是,他们的相互独立性能够相互弥补双方的错误。
先上图:

作者认为算法的结果应该具有“结构性”:每一帧图像内物体最多只出现在一个位置;相邻帧间物体的运动是连续的,连续帧的位置可以构成一条较平滑的轨迹。比如像上图c图那样每帧只有一个正的结果,而且连续帧的结果构成了一条平滑的轨迹,而不是像b图那样有很多结果而且无法形成轨迹。在整个追踪过程中,轨迹可能是分段的,因为物体有可能中途消失,之后再度出现。
P专家的作用是寻找视频序列中的时域上的结构性特征,并假设目标的运动是按照一定的轨迹进行的。P专家记录了之前的视频帧目标所在的位置,并根据帧与帧的跟踪来估计目标在当前视频帧的位置。如果检测器把当前的位置标注为负(例如出现了错误的负样本标注,即应该是标注为正,但产生了错误,将其标注为了负),那么P专家就会产生一个正样本。
N专家的作用是寻找视频序列中的空域上的结构性特征,并假设目标在一个视频帧中只能出现在一个位置上。N专家对当前帧的检测器的所有结果进行分析,并找到最大可能性的那个区域(保守相关度)。如果图像块和最大可能性的区域没有重叠,那么他将被标注为负样本。(表示为背景部分)。最大可能性的区域(目标区域)用于重新初始化跟踪器的位置。
举个栗子:


上图中,有三幅连续的视频帧,被学习的目标是一个用黄色矩形框圈出来的汽车。连续的视频流中,汽车被跟踪器跟踪。
每一帧中黑色框是检测器检测到的正样本,黄色框是追踪器产生的正样本,红星标记的是每一帧最后的追踪结果。在第t帧,检测器没有发现深色车,但P专家根据追踪器的结果认为深色车也是正样本,N专家经过比较,认为深色车的样本更可信,所以把浅色车输出为负样本。第t+1帧的过程与之类似。第t+2帧时,P专家产生了错误的结果,但经过N专家的比较,又把这个结果排除了,算法仍然可以追踪到正确的车辆。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值