关键词视频监控 全局运动估计 6参数仿射模型 全景图
l引言
全景视图在诸多领域有着非常广泛的应用,在虚拟现实中,它是一种重要的场景表示方式。在MPEG中的动态Sprite编码通过对视频序列进行全局运动估计,可重构背景的全景视图。在基于内容的视频检索中,用全景图表示一段视频,极大地压缩了视频数据量。本文结合上述文中提到的全景图的优点,提出了一种应用在视频监控中的全景图拼接方法。通过云台控制摄像头左右往返运动实现实时的视频序列图像拼接,摄像头所拍摄的帧之间的转角和重叠区域并没有严格限制,利用全局运动估计方法,估算帧间运动参数,实现多图像的拼接融合,有效地扩大了监视范围和视野。
2全景图生成思路
用摄像机采集得到一系列图像,将首帧做为基准全景图,将下一帧与已有全景图做全局运动估计,得到该帧的运动参数,根据此参数对当前帧进行变换,然后将该帧变形图与已有的全景图进行拼接融合,重复上述步骤,即可生成该视频序列的全景图。其中,为了节约运行时间,保存每一帧的变形图,当读人一帧图像时,将当前帧与前一帧的变形图做全局运动估计,这样得出的运动参数和每次与已有全景图做运动估计得到的参数是一致的,并且由于单帧变形图所占空间小,使得运算速度得以提高。
3全局运动估计
3.1全局运动的仿射模型
帧间全局运动分析是一种基于模型的运动分析方法,在这里宜采用6参数的仿射模型来估算帧间的运动关系。该模型可描述图像的平移、缩放、旋转、仿射等线性变换
x‘=ax+by+c
y‘=dx+ey+f(1)
其中(w)代表k帧中像素的坐标,(x‘,y‘)代表k+l帧中像素的坐标,在该模型下定义参数矢量,其中分量e、f与平移运动有关,分量a、b、c、d与放缩、旋转运动有关。
3.2参数矢量估计
要估计仿射模型的6个参数,至少必须获得3 个非共线位置的运动矢量数据。通常情况下,可由块匹西法、光流分析等方法来进行。本文采用可以适应较大缶移矢量块匹配法来进行参数估计。将图像分为16xl6一共n小块,求出各个小块在上一帧的位移矢量,根据(1).有
其中i为每个小块的编号,axi、ayj为帧小块中心点对应与上一帧在x,y方向上的运动矢量。
此时定义能量函数pi,p’
使得p,、p取得最小值,其中n表示块匹配中的分块数。
利用最小二乘法求解式(2)、(3),使
可得到一组线性方程
求解线性方程,即可得到参数矢量p。
3.3分层运动矢量估计
由于块匹配计算量较大,故本文采用金字塔分层的块匹配技术进行帧间运动估计,以提高运算速度,具体算法
首先,将图像分为三层,最底层为原始图像,中间层为原始图像经过2:l的采样,大小变为底层图像1/4大小(长、宽都减少一半),最上层则为底层图像1/16大小。这样处理的好处是提高了后续运算的速度,且经过两次滤波有效消除了高频噪声对运动估计的影响。
通过计算最上层图像的块运动矢量,利用最小二乘估计法估算运动参数,由于块匹配在有运动前景或者纹理不明显的区域计算时不够精确,故需要进行错误匹配点的剔除。计算所有运动矢量与用运动参数恢复出的运动矢量的平均误差
其中,Axi、△yi为第i小块经过块匹配计算出的运动矢量为用运动参数恢复出的运动矢量。
剔除块匹配运动矢量中所有平均误差值大于此平均误差的矢量,用更新的运动矢量集合再次进行参数估计。
再将最上层用参数估计恢复出的运动矢量扩大一倍,作为第二层的运动矢量初始值,重复与最上层计算运动矢量相同的步骤,直至计算出图像最底层的运动参数。
所示见图l为一段720x576大小的视频序列中利用16x16的块匹配在某帧最上层图像上求出的相对其上一帧的运动矢量。
其中,白线表示迭代运算后的运动矢量,而黑线则麦示误差计算后,被剔除的运动矢量。
4图像拼接
确定了两副待拼接图像之间的变换关系,即可确定两图像的重叠部分。但由于两图像之间的光线强度差异,以及直接拼接造成明显的拼接痕迹等原因使拼接效果受到影响,故拼接时还需做如下处理
4.1均衡光差
在图像间的重叠区域确定后,分别计算两图像在重叠区域的光照强度,将所有点的光强值相加,然后将两个累加值相除得到光照强度的比例,然后照此比例,将光照强度较强的图像亮度降低。如图所示见图2两帧图像在均衡光差前后的拼接效果。
4.2图像无缝拼接
在图像拼接过程中,如果直接将两副图像叠加融合,由于图像亮度的差异,会使得新图像有明显的拼接痕迹,为了消除拼接缝隙,在两副图像的重叠区域,我们采用加权合成的方式实现图像间的平滑过渡。设帧k、k+l在区间(xl,x2)上重叠,则新图像在这个区间(i‘j)点上的取值
f(i,j)=dfk(i,j)+(1-d)k+1(i,j)(7)
其中d的取值范围为(0,1),变化规律为:在水平方向上从重叠区域的边界到中心,从l到O渐变。这样就保证了图像拼接时在重叠区边界部分有淡人淡出的效果。
5实验结果
实验视频采用的为一段从左至右方向拍摄的60帧视频序列,每帧大小为720x576象素,算法用VC++编写.拼接效果如图3所示
6视频监控中的应用
视频序列拼接而成的全景图可应用于视频监控中.用来扩大监控范围。云台控制摄像头做水平或垂直方向往返运动,每往一个方向运动完毕后,可将此次拍摄下来的序列帧进行全景拼接,重复此步骤,可看到不断刷新的全景监控画面,这样操作比起单画面的视频监控极大的扩展了视野宽度,更加有利于监控人员的观察和分析。
7结论
本文利用全局运动估计算法,通过估算帧间的变换参数,实现了序列图像的全景视图自动拼接。在运动参数估算时,采用了金字塔分层的块匹配运动矢量估算,有效地提高了程序的运行速度,其中加入对于异常块的剔除运算,大大提高了全局运动估计的精度。全局运动估计中用到的仿射模型使得本文中的方法对于视频序列并无严格要求,允许视频图像有镜头的倾斜、变形等情况,并对镜头转角也无严格限定,另外在图像间光照强度不一的情况下。本算法由于进行了均衡光差运算,达到了较好的拼接效果。实验证明,本算法能精确、快速的生成视频序列的全景视图,使得视频监控的视野范围扩大,具有较好的实用价值。
参考文献
1 张益贞.刘滔.Visual c++实现MPEG/JPEG编解码技术[M].人民邮电出版社,2002
2俞天力.章毓晋.基于全局运动信息的视频检索技术[J].《电子学报》2001;29(12A):1794-1798
3贺玉文.赵黎.钟玉琢.杨士强.快速鲁棒的全局运动估计算法[I].《软件学报》2001;12(8):1220~1228
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。