o o 0 o o 欢迎想步入目标跟踪领域的小伙伴与我交流学习、共同进步丫 *|+ +|)* ... 最近一直在学习机器学习理论部分,研一还有几个大作业要搞,已经拖更N天了,现在终于有点时间开始写点自己的东西了==注:本文也是在看了几个大佬写的东西、硕士论文以及咨询师兄大佬才得出的一点想法。
参考1:https://eason.blog.csdn.net/article/details/52217114
参考2:https://www.cnblogs.com/xiaojianliu/p/8705653.html
参考3:师兄大佬的论文,放这镇压一切妖魔鬼怪 (+ +|)
郭志翼,王欢欢.基于嵌入式平台的低时间复杂度目标跟踪算法[J/OL].红外与激光工程:1-9[2019-10-23].http://kns.cnki.net/kcms/detail/12.1261.TN.20191008.1545.020.html.
本文目录
- 1. STC 跟踪思想
- 2.准备工作
- 3. STC 理论
- 3.1 空间上下文模型 hsc
- 3.2 上下文先验模型
- 3.3 置信图模型
- 3.4 空间上下文模型求解
- 3.5 时空上下文模型 Hsc
- 3.6 目标检测跟踪
- 3.7 模板自适应更新
- 3.1 空间上下文模型
- 3.1 空间上下文模型
- 4 整体思路图
- 5 STC优势
- 写在最后:看论文的一点想法
1. STC 跟踪思想
《Fast Tracking via Spatio-Temporal Context Learning》是Kaihua Zhang等人于2014年(传闻好像是2012年投的,14年才发出来 ±+)发表的一篇文章,文中提到了通过利用时空上下文进行视觉跟踪,具有很好的实时性和鲁棒性。该算法基于贝叶斯框架,建立了目标与周围内容的时空关系,在低阶特征上(如图像灰度和位置)对目标与附近区域进行了统计关系建模。
该过程不仅使用了目标的时间信息和空间信息,同时在追踪进程中
又充分考虑到运动物体的大小变化,使得跟踪的结果较为准确,且跟踪速度也非常快。
通过计算置信图(confidence map),找到似然概率最大的位置,即为下一帧的跟踪结果。
本论文官方主页:http://www4.comp.polyu.edu.hk/~cslzhang/STC/STC.htm
其实从发表时间和算法理论来看,该算法深受 MOSSE 算法的影响,看原理部分发现更新模板或是在频域加速计算部分,都有着MOSSE 的影子。师兄大佬说,两算法差不多,但STC 考虑了上下文部分,加大了计算量,但跟踪精度显著提升。。。
2.准备工作
2.1 贝叶斯理论
刚开始搞贝叶斯的时候,以为会用到很高深的理论知识,还查了几天的资料以及西瓜书中的 贝叶斯分类器,但后来发现二者不是一回事(摊手.jpg),用的原理很简-单,就是高中学的贝叶斯基础的东西,只要明白几个新名词即可。。。
贝叶斯公式:
P(B∣A)=P(A)P(BA)=P(A)P(B)⋅P(A∣B)
P(B):先验概率。最初认为事件 B 发生的概率。
P(B∣A):后验概率。当事件A发生后,事件 B 受到了影响,发生了改变后的概率。
2.2 联合概率与边缘概率的关系
P(X=a)=b∑P(X=a,Y=b)
该公式用于推导置信图概率分布。
还有个小公式是:
P(A,B∣C)=P(A∣B,C)⋅P(B∣C)
乘开得证。
2.2 时空上下文
时间信息:邻近帧间目标变化不会很大。位置也不会发生突变。
空间信息:目标和目标周围的背景存在某种特定的关系,当目标的外观发生很大变化时,这种关系可以帮助区分目标和背景。
对目标这两个信息的组合就是时空上下文信息,该论文就是利用这两个信息来进行对阻挡等鲁棒并且快速的跟踪。
3. STC 理论
该算法将跟踪过程转化为一系列寻找置信图(Confidence map)极值 的过程。类比于 MOSSE 算法中的响应图 G 的最大值。
置信图表达式:表示目标位于位置 x 的可能性。
c(x)=P(x∣o)
式中, x∈R2 即为上下文区域里的一个点,o表示运动物体存在的场景区域。
在第一帧,先根据初始公式,以目标中心 x∗ 为原点,计算出一个理想置信图(和MOSSE一样,也是个理想的二维高斯图像)。
在当前帧:定义目标的上下文特征集(灰色特征):
Xc={c(z)=(I(z),z)∣z∈Ωc(x∗)}其中,I(z) 表示位置 z 处的灰度强度,Ωc 表示 x∗ 邻域。结合边缘联合概率P(x,c(z)∣o) ,置信图公式表示为:
c(x)=P(x∣o)=c(z)∈Xc∑P(x,c(z)∣o)=c(z)∈Xc∑P(x∣c(z),o)P(c(z)∣o)
由于条件概率 P(x∣c(z),o) 建立起了目标位置和空间上下文之间的桥梁,因此该算法的关键是学习条件概率 P(x∣c(z),o) 。
在刚开始看公式的时候,总有个 o 感觉怪怪的,后来想着可以把它当做不存在,因为我们本来就是潜意识中是对目标在当前帧中是存在的。那要是不存在的话,嗯。。。 who cares = _=)
3.1 空间上下文模型 hsc
条件概率 P(x∣c(z),o) 反映的是目标位置与周围北京的上下文关系,可以建立空间上下文模型:
P(x∣c(z),o)=hsc(x−z)
代表关于被跟踪物体的位置与其上下文的位置 z 之间的相对距离与方向
的函数。这个函数是非径向对称的,即:
hsc(x−z)=hsc(∣x−z∣)
3.2 上下文先验模型
P(c(z)∣o) 反映了目标的背景信息,可以建立上下文先验概率模型:
P(c(z)∣o)=I(z)⋅wσ(z−x∗)
其中,I(z) 是 z 处对应的灰度值。wσ 是权重函数,由生物视觉系统的focus of attention 启发得到的。意义是距离目标越近的地方,权重越大,对于跟踪目标越重要。
wσ=ae−δ2∣z∣2)
式中,a 是归一化常数,δ 是尺度参数。
3.3 置信图模型
对象位置的置信图建模为:
c(x)=be−∣αx−x∗∣β
式中,b 是归一化常数,α、β 是模型参数。
其实,这里类似于 MOSSE 的理想响应模型。
3.4 空间上下文模型求解
c(x)=be−∣αx−x∗∣β=c(z)∈Xc∑P(x∣c(z),o)P(c(z)∣o)=c(z)∈Xc∑hsc(x−z)⋅I(z)⋅wσ(z−x∗)=hsc⨂[I(z)⋅wσ(z−x∗)]
至于为啥这里是卷积呢,还有待解决。。。
经频域傅里叶变换加速计算得到:
hsc=F−1F[I(z)⋅wσ(z−x∗)]F[b⋅e−∣αx−x∗∣β]
3.5 时空上下文模型 Hsc
很明显,时空上下文要结合空间模型+时间模型,且第一帧是没有时空上下文模型滴,一开始就是 H2sc 。
假设要跟踪第 t+1 帧时,此处的时空上下文模型 Ht+1sc ,由它之前的每帧的时空上下文模型通过在线更新的方式得到,公式为:
Ht+1sc=(1−ρ)⋅Htsc(x)+ρ⋅htsc(x)
-
此处放上草稿纸的那个模板更新图
主要是缕清楚时空上下文模型 Htsc 与跟踪的更新流程 …
3.6 目标检测跟踪
设在 t+1 帧,
3.7 模板自适应更新
3.1 空间上下文模型
条件概率 P(x∣c(z),o) 反映的是目标位置与周围北京的上下文关系,可以建立空间上下文模型:
P(x∣c(z),o)=hsc(x−z)
代表关于被跟踪物体的位置与其上下文的位置 z 之间的相对距离与方向
的函数。这个函数是非径向对称的,即:
hsc(x−z)=hsc(∣x−z∣)
3.1 空间上下文模型
条件概率 P(x∣c(z),o) 反映的是目标位置与周围北京的上下文关系,可以建立空间上下文模型:
P(x∣c(z),o)=hsc(x−z)
代表关于被跟踪物体的位置与其上下文的位置 z 之间的相对距离与方向
的函数。这个函数是非径向对称的,即:
hsc(x−z)=hsc(∣x−z∣)
4 整体思路图
最后,放上作者论文中的整体路线图,现在应该好理解 Hsc 与各种模型的变换关系了。。。
5 STC优势
当用在小型嵌入式平台上的话,该算法可以很好的实现实时跟踪效果,相比 MOSSE 有着更好的精度,相比其他更复杂的算法又有着较高的帧率,所以 ,研究一下该方法的移植还是比较好的。。 师兄大佬就是这方面的大嘎。。。。
写在最后:看论文的一点想法
现在好些硕士论文感觉对原理分析的不是很透彻,有的数学符号或公式等比较乱,也可能是由于该领域没有一个统一的教科书,尤其是对工科来说,反正看的比较糊涂。。(不禁感慨秦始皇大佬的车同轨、书同文… 高瞻远瞩。。),并且有的理论分析部分感觉像是一个模子里出来的,哎, 科研 真他喵的 太难了,如果只是简单的运用的话,相对简单;要想搞明白每一点原理部分,真是路漫漫其修远兮……