视频检测和跟踪
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
视频检测和跟踪
一、检测方法
根据最近看过的论文,看过的视频检测的方法大致有以下几种:光流法,帧差分,背景差分,边缘检测,运动矢量检测。
1.光流法
是一种以灰度梯度基本不变或亮度恒定的约束假设为基础。
光流法是关于视域内的物体运动检测的概念,用来描述相对于观察者发生运动的目标表面或者边缘。
光流是指图像中灰度模式运动的速度,它是景物中可见的三维速度矢量在成像平面上的投影,表示了景物表面点在图像中位置的瞬时变化,一般情况下,可以认为光流和运动场没有太大区别,因此就可以根据图像运动来估计相对运动。
光流法实际是通过检测图像像素点的强度随时间的的变化,从而推导出目标的移动方向和运动速度。
1)基本思想:
然后将上述式子进行Taylor展开,整理有
其中, , 是光流,也即是图像中像素点的移动方向向量。
约束方程如下所示:
2)计算方法:
光流法的计算有很多种,看过的大致有:基于特征匹配、基于区域匹配、基于能
量(基于频域)、基于梯度、基于阶段的匹配等等
3)优缺点:
优点:光流不仅携带了运动目标的运动信息,而且还携带了有关景物三维结构的丰富信息,它能够检测独立运动的对象,不需要预先知道场景的任何信息,并且能够适用于静止背景和运动背景两种环境。
缺点:当目标与背景图像的对比度太小,或图像存在噪音时,单纯地从图像灰度强度出发来探测目标的光流场方法将会导致很高的虚警率。
且计算复杂耗时,需要特殊的硬件支持。
2.帧差法
在图像序列中的一定时间间隔的相邻帧采用基于像素点的差分, 然后阈值化来提取出运动区域。
帧序列中的场景变换不大,像素亮度变换不大,没有目标的时候,帧差分不大,反之,则很大,根据差分结果与阈值比较,来确定运动目标的存在与否。
1)约束方程:
2)优缺点:
优点:对背景或者光线的缓慢变化不太敏感,具有较强的适应性,能够快速有效地从背景中检测出运动目标。
缺点:它不能完全提取运动目标所有相关像素点,在运动实体内部不容易产生空洞现象。
而且在运动方向上被拉伸,包含了当前帧中由于运动引起的背景显露部分,这样提取的目标信息并不准确。
3.背景差分
将当前帧与背景帧相减,差分结果与阈值比较,若差值大于T则认为是前景点(目标);反之,认为是背景点,从而完整的分割出目标物体。
1)约束方程:
2)背景模型的建立:
根据看过的文章,背景模型的建立有直接法、直方图、平均值、中值法、单高斯、混合高斯、Kalman滤波、基于核函数、HMM、W4、meanshift、camshift、基于码本的方法。
(a)直接法
在背景建模时,直接用图像序列中的第一帧作为整个模型的背景。
(b)直方图
统计连续n帧的同一像素点的灰度直方图,出现次数最多的灰度值被认为是
该像素点的背景值。
(c)平均值
将视频图像序列中的不同图片中的同一个像素点的灰度值储存起来,最后将所
有的灰度值求和取平均,然后将这个平均作为背景模型中这个像素点的背景
值。
(d)中值法
将视频图像序列中的不同图片中的同一个像素点的灰度值储存起来,最后将所
有的灰度值求其中值,然后将这个像素点的灰度中值作为背景模型中这个像素
点的背景值。
(e)单高斯
在实际应用场景中,光照等服从高斯分布,视频图像序列中的像素点服从高斯
分布,也即正态分布,,并且这些像素点都是独立同分布的。
缺点是:对光照强度的拜年话比较敏感,回导致模型不成立(均值和方差都会
变)。
在场景中有运动目标的时,因为只有一个模型,不能将其与静止的背景
的分离开,有可能造成较大的虚警率。
(f)混合高斯
实际应用场景中,有可能场景太复杂,背景也在运动的时候,用一个高斯分布
不能完全的描述整个场景中动态目标的变化。
更有鲁棒性的是,用多个高斯分
布组合来描述整个背景模型,给予每个高斯模型一个权重,在进行更新的时候,
将权重最小的高斯模型换成新的模型。
根据组合中的每一个高斯分布的持续性
和变化性,来决定哪一个高斯分布最接近于背景分布,把不符合背景分布的像
素点认为是前景像素点。
检测公式
Ⅵ、Wo为常数。
(g)Kalman
Kalman滤波是一种线性最小方差估计,使用状态空间的方法在时域内设计滤
波器,适用于多维随机过程(平稳的、非平稳的)进行估计,具有递推性,便
于在计算机上实现。
Kalman滤波的一个典型实例是从一组有限的,对物体位
置的,包含噪声的观察序列预测出物体的坐标位置及速度,利用原始位置,t-1
时刻的预测值,当前时刻的观察值,这3个量得出观测后对应变量的最优估
计值,来预测目标的位置。
背景更新公式:
其中,
(h)基于核函数
该方法不需要事先假定背景模型函数,也不用估计模型参数和对参数进行优
化,对候选目标的特征描述用当前帧数据中估计出来的概率密度函数来刻画。
运用的核函数为高斯函数,假定N个样本像素点的样本值已知,在t时刻得到
该点像素值为Xt的概率可用核函数的密度估计来计算:
1
1()()()(,)N
t h t i i h t i t i i p X K X X N K X X X X η==--=-∑∑
K h 表示窗口宽度为h 的核函数,N 表示样本的个数。
(i) HMM
隐马尔可夫模型,是可以看作一种特定的贝叶斯网络,等价于随机有限状态自
动机,它可以用一种特定的神经网络模型来模拟。
隐马尔可夫模型可以用一个
参数(λ=(π,A ,S ))来确定。
针对阴影的影响,将HMM 的状态分为:前
景、背景和阴影状态,采用期望最大(EM )算法优化模型参数。
首先应用K*K
均值滤波器得到消除噪声的像素点的灰度值。
由灰度值组成的观察值序列经训
练可得到前景、背景状态。
基于背景和阴影的高频小波系数变化小而前景高频
小波系数变化大的思想,由高频小波系数组成的观察值序列经训练可将前景、阴影状态分开。
(j) W4
Haritaoglu 等在他们的视频监控系统W4中提出了一个简单的背景模型方法,
他们
利用最小、最大灰度值和最大时间差分值对场景中每个像素进行统计建模,并
进行周期
性的背景更新。
它在没有前景目标的情况下,对场景进行一段时间的观测,记
录每个像
素点的最大灰度值M ,最小灰度值N 以及相邻两帧间最大的灰度绝对差值D ,并且当
检测到当前无运动目标时周期性的更新参数值。
给定这三个参数值后,可以判
断像素点
是背景点还是前景点。
如公式所示,其中1表示前景点,0表示背景点。
(k) Meanshift
Meanshift 对感兴趣区域进行特征建模。
给定d 维空间d R 中的n 个样本点
i x ,i=1,…,n,在x 点的Mean Shift 向量的基本
形式定义为: ()()1i h h i x S M x x x k ∈≡-∑
其中,h S 是一个半径为h 的高维球区域,满足以下关系的y 点的集合,
()()(){}2:T h S x y y x y x h ≡--≤
k 表示在这n 个样本点i x 中,有k 个点落入h S 区域中.
我们可以看到()i x x -是样本点i x 相对于点x 的偏移向量,定义的Mean
Shift 向量()h M x 就是对落入区域h S 中的k 个样本点相对于点x 的偏移向量求
和然后再平均.从直观上看,如果样本点
i x 从一个概率密度函数()f x 中采样得到,由于非零的概率密度梯度指向概率密度增加最大的方向,因此从平均上来说,
h S 区域内的样本点更多的落在沿着概率密度梯度的方向.因此,对应的, Mean
Shift 向量()h M x 应该指向概率密度梯度的方向
. 图1,Mean Shift 示意图
如上图所示, 大圆圈所圈定的范围就是h S ,小圆圈代表落入h S 区域内的
样本点i h x S ∈,黑点就是Mean Shift 的基准点x ,箭头表示样本点相对于基准点
x 的偏移向量,很明显的,我们可以看出,平均的偏移向量()h M x 会指向样本分
布最多的区域,也就是概率密度函数的梯度方向.
(l) camshift
camshift 就是对meanshift 的该进,对视频序列中的所有帧都做meanshift 运算,
并将上一帧的结果(搜索窗口中的中心位置和窗口大小)作为下一帧meanshift
的搜索窗口初始值,如此迭代下去。
Meanshift 是对单张图片寻找最优的迭代
效果,而camshift 是视频序列进行处理,不断的调整,当有目标的时候,该算
法就可以自适应地调整目标区域。
Opencv 中有自带的camshift 算法,该算法
首先将RGB 空间投影到HSV 颜色空间,然后对H 分量进行直方图统计,最后
将图像中的每个像素值用其颜色出现的概率进行替换,由此得到一个颜色概率
分布图。
(m) 基于码本的方法
该方法将每个像素点用一个码本表示,一个码本可包含一个或多个码字,每个
码字代表一个状态。
码本最初是借助对一组训练帧图像进行学习而生成的。
这
里对训练帧图像的内容没有限制,可以包含运动前景和运动背景。
接下来,通
过一个时域滤波器滤除码本中代表运动前景的码字,保留代表背景的码字;再
通过一个空余滤波器将那些被时域滤波器错误滤除的码字恢复到码本中,减少
在背景区域中出现的虚警率。
4.边缘检测法
在2—D图像中,沿一定方法上的边缘可用该方向剖面上的4个参数来模型化,也即是位置,斜率,均值,幅度。
空间上的边缘检测算法可用于基于方向导数求卷积的边缘检测算子比如Sobel、Roberts、Robinson、Krisch、Prew itt、高斯拉氏算子、canny算子、马尔算子等进行边缘提取,这些算子在算法复杂度以及效果上有很大的差别,应根据实际情况选用合适的算子;而时间上的边缘检测算法是通过计算连续帧之间对应像素点的差获得。
5.运动矢量检测法
运动矢量检测法是对前后连续两帧图像进行模块跟踪匹配,用当前图像的某一宏块在下一帧范围内搜索最优匹配,计算出两帧间各个宏块的平均运动矢量,根据运动矢量的大小进而判别有无目标。
二、跟踪方法
视频跟踪,和视频检测是紧密联系的,上述检测方法也能应用与跟踪方法中。
在已经大致度过的文章中,大方向上将跟踪算法主要分为两类:基于区域匹配的方法,基于特征匹配的方法。
1.基于区域匹配的方法
区域匹配首先获取包含目标的模版,该模版通过图像分割或预先人为提取来确定,然后在序列图像中运用相关法搜索目标,从而确定目标在序列图像中的坐标位置。
优点:区域模板匹配算法由于提取了较完整的目标模板,在当目标未被遮挡时,匹配效果较好。
缺点:但这种方法在图像上遍历搜索,计算量大、比较耗时。
2.基于特征匹配的方法
不同于模板匹配,特征匹配使用的是目标上的某些局部特征作为求相关的对象。
特征描述符指的是检测图像的局部特征(比如边缘、角点、轮廓等),然后据匹配目标的需要进行特征的组合、变换,以形成易于匹配、稳定性好的特征向量,从而把图像配问题转化为特征的匹配问题,进而将特征的匹配问题转化为特征空间特征向量的聚类问题。
检测和跟踪可以说是融为一体的,检测算法可以用于跟踪。