时空上下文视觉跟踪STC算法的解读与代码复现Word文档下载推荐.docx
- 文档编号:15722437
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:21
- 大小:516.17KB
时空上下文视觉跟踪STC算法的解读与代码复现Word文档下载推荐.docx
《时空上下文视觉跟踪STC算法的解读与代码复现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《时空上下文视觉跟踪STC算法的解读与代码复现Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
该论文提出一种简单却非常有效的视觉跟踪方法。
更迷人的一点是,它速度很快,原作者实现的Matlab代码在i7的电脑上达到350fps。
该论文的关键点是对时空上下文(Spatio-TemporalContext)信息的利用。
主要思想是通过贝叶斯框架对要跟踪的目标和它的局部上下文区域的时空关系进行建模,得到目标和其周围区域低级特征的统计相关性。
然后综合这一时空关系和生物视觉系统上的focusofattention特性来评估新的一帧中目标出现位置的置信图,置信最大的位置就是我们得到的新的一帧的目标位置。
另外,时空模型的学习和目标的检测都是通过FFT(傅里叶变换)来实现,所以学习和检测的速度都比较快。
二、工作过程
具体过程见下图:
(1)t帧:
在该帧目标(第一帧由人工指定)已经知道的情况下,我们计算得到一个目标的置信图(ConfidenceMap,也就是目标的似然)。
通过生物视觉系统上的focusofattention特性我们可以得到另一张概率图(先验概率)。
通过对这两个概率图的傅里叶变换做除再反傅里叶变换,就可以得到建模目标和周围背景的空间相关性的空间上下文模型(条件概率)。
然后我们用这个模型去更新跟踪下一帧需要的时空上下文模型(可能这里还不太能理解,看到后面的相关理论分析和算法描述后可能会清晰一点)。
(2)t+1帧:
利用t帧的上下文信息(时空上下文模型),卷积图像得到一个目标的置信图,值最大的位置就是我们的目标所在地。
或者理解为图像各个地方对该上下文信息的响应,响应最大的地方自然就是满足这个上下文的地方,也就是目标了。
三、相关理论描述
3.1、上下文的重要性
时间和空间上的上下文信息对跟踪来说是非常重要的。
虽然对跟踪,我们一直利用了时间上的上下文信息(用t去跟踪t+1等),但对空间上下文信息的利用却比较匮乏。
为什么空间上下文信息会重要呢?
考虑我们人,例如我们需要在人群中识别某个人脸(众里寻他千XX),那我们为什么只关注它的脸呢?
如果这个人穿的衣服啊帽子和其他人不一样,那么这时候的识别和跟踪就会更加容易和鲁棒。
或者场景中这个人和其他的东西有一定的关系,例如他靠在一棵树上,那么他和树就存在了一定的关系,而树在场景中是不会动的(除非你摇动摄像头了),那我们借助树来辅助找到这个人是不是比单单去找这个人要容易,特别是人被部分遮挡住的时候。
还有一些就是如果这个人带着女朋友(有其他物体陪着一起运动),那么可以将他们看成一个集合结构,作为一组进行跟踪,这样会比跟踪他们其中一个要容易。
总之,一个目标很少与整个场景隔离或者没有任何联系,因为总存在一些和目标运动存在短时或者长时相关的目标。
这种空间上下文的相关性就是我们可以利用的。
在视觉跟踪,局部上下文包括一个目标和它的附近的一定区域的背景。
因为,在连续帧间目标周围的局部场景其实存在着很强的时空关系。
例如,上图中的目标存在着严重的阻挡,导致目标的外观发生了很大的变化。
然而,因为只有小部分的上下文区域是被阻挡的,整体的上下问区域是保持相似的,所以该目标的局部上下文不会发生很大的变化。
因此,当前帧局部上下文会有助于帮助预测下一帧中目标的位置。
图中,黄色框的是目标,然后它和它的周围区域,也就是红色框包围的区域,就是该目标的上下文区域。
左:
虽然出现严重的阻挡导致目标的外观发现很大的变化,但目标中心(由黄色的点表示)和其上下文区域中的周围区域的其他位置(由红色点表示)的空间关系几乎没有发生什么变化。
中:
学习到的时空上下文模型(蓝色方框内的区域具有相似的值,表示该区域与目标中心具有相似的空间关系)。
右:
学习到的置信图。
时间信息:
邻近帧间目标变化不会很大。
位置也不会发生突变。
空间信息:
目标和目标周围的背景存在某种特定的关系,当目标的外观发生很大变化时,这种关系可以帮助区分目标和背景。
对目标这两个信息的组合就是时空上下文信息,该论文就是利用这两个信息来进行对阻挡等鲁棒并且快速的跟踪。
3.2、具体细节
跟踪问题可以描述为计算一个估计目标位置x似然的置信图:
置信图c(x)最大的那个位置x*就是目标的位置。
从公式上可以看到,似然函数可以分解为两个概率部分。
一个是建模目标与周围上下文信息的空间关系的条件概率P(x|c(z),o),一个是建模局部上下文各个点x的上下文先验概率P(c(x)|o)。
而条件概率P(x|c(z),o),也就是目标位置和它的空间上下文的关系我们需要学习出来。
(1)SpatialContextModel空间上下文模型
空间上下文模型描述的是条件概率函数:
hsc(x-z)是一个关于目标x和局部上下文位置z的相对距离和方向的函数,它编码了目标和它的空间上下文的空间关系。
需要注意的是,这个函数并不是径向对称的。
这有助于分辨二义性。
例如图三,左眼和右眼相对于位置x*来说他们的距离是一样的,但相对位置也就是方向是不一样的。
所以他们会有不一样的空间关系。
这样就对防止误跟踪有帮助。
另外,这个模型是通过在线学习得到的。
随着跟踪的进行不断更新。
(2)ContextPriorModel上下文先验模型
这是先验概率,建模为:
其中I(z)是点z的灰度,描述的是这个上下文z的外观。
w是一个加权函数,z离x越近,权值越大。
定义如下:
这个加权函数是由生物视觉系统的focusofattention启发得到的,它表示人看东西的时候,会聚焦在一个确定的图像区域。
通俗的来说,就是离我们的目标越近的点,会越受关注,越远就不好意思了,你的光芒会被无情的忽略掉。
那多远的距离会被多大程度的忽略呢?
这就得看参数sigma(相当于高斯权重函数的方差)了,这个值越大,越多的风景映入眼帘,祖国大好河山,尽收眼底。
如果这个值越小,那就相当于坐井观天了。
(3)ConfidenceMap置信图
定义为:
这个公式的参数β是很重要的,太大太小效果可能差之千里。
具体分析见原论文。
这个置信图是在给定目标的位置x*的基础上,我们通过这个公式来计算得到上下文区域任何一点x的似然得到的。
(4)时空模型的快速学习
我们需要基于上下文先验模型和置信图来学习这个时空模型:
里面的卷积可以通过FFT来加速(时域的卷积相当于频域的乘积),具体如下:
这样,我们就可以通过两个FFT和一个IFFT来学习我们要的空间上下文模型了:
然后我们用这个模型去更新时空上下文模型:
(4)最后的跟踪
得到时空上下文模型后,我们就可以在新的一帧计算目标的置信图了:
同样是通过FFT来加速。
然后置信图中值最大的位置,就是我们的目标位置了。
(5)多尺度的实现
多尺度可以通过调整方差sigma来实现。
(感觉这个是很remarkable的一点)。
尺度和方差sigma的更新如下:
四、算法描述
简单的算法描述如下,编程实现其实也是这个过程。
(另外,不知道我的尺度更新的位置对不对,望指点)
根据该帧图像I和得到的目标位置x*。
顺序进行以下计算:
1)学习空间上下文模型:
2)更新跟踪下一帧目标需要的时空上下文模型:
3)更新尺度等参数:
1)计算置信图:
2)找到最大值,这个最大值的位置就是我们要求的目标位置:
五、代码实现
我的代码是基于VS2010+OpenCV2.4.2的(暂时还没加入边界处理,也就是跟踪框到达图像边缘的时候程序就会出错)。
代码可以读入视频,也可以读摄像头,两者的选择只需要在代码中稍微修改即可。
对于视频来说,运行会先显示第一帧,然后我们用鼠标框选要跟踪的目标,然后跟踪器开始跟踪每一帧。
对摄像头来说,就会一直采集图像,然后我们用鼠标框选要跟踪的目标,接着跟踪器开始跟踪后面的每一帧。
另外,为了消去光照的影响,需要先对图像去均值化,还需要加Hamming窗以减少图像边缘对FFT带来的频率影响。
Hamming窗如下:
另外,OpenCV没有复数(FFT后是复数)的乘除运算,所以需要自己编写,参考如下:
复数除法:
复数乘法:
具体代码如下:
STCTracker.h
[cpp]
viewplaincopy
1.//
Fast
object
tracking
algorithm
2.//
Author
:
zouxy
3.//
Date
2013-11-21
4.//
HomePage
5.//
zouxy09@
6.//
Reference:
Kaihua
Zhang,
et
al.
Tracking
via
Spatio-Temporal
Context
Learning
7.//
p.polyu.edu.hk/~cskhzhang/
8.//
Email:
zhkhua@
9.#pragma
once
10.
11.#include
<
opencv2/opencv.hpp>
12.
13.using
namespace
cv;
14.using
std;
15.
16.class
STCTracker
17.{
18.public:
19.
STCTracker();
20.
~STCTracker();
21.
void
init(const
Mat
frame,
const
Rect
box);
22.
tracki
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时空 上下文 视觉 跟踪 STC 算法 解读 代码 复现
![提示](https://static.bdocx.com/images/bang_tan.gif)