APP下载

一种基于分块灰度投影运动估计的视频稳像方法

2013-02-28吴浩邓宏彬

兵工学报 2013年4期
关键词:分块全局矢量

吴浩,邓宏彬

(1.北京理工大学信息与电子学院,北京100081;2.北京理工大学计算机学院,北京100081;3.北京理工大学 机电学院,北京100081)

0 引言

基于视觉的导航技术已经广泛应用于信息化弹药的导航导引等领域,但是由于成像载体自身的运动和随机抖动,会使采集到的视频图像发生不规则的抖动,严重影响图像信息的有效利用和导航效果。因此消除图像序列中的随机抖动干扰,对处于运动载体上的摄像系统进行实时视频稳像处理十分必要[1]。信息化弹药导引头体积较小,弹上计算能力有限,成像载体抖动剧烈,对稳像的实时性和准确性具有较高要求。传统视频稳像方法如机械式稳像和光学稳像,由于需要依赖于硬件系统的支持(如陀螺、伺服平台、光学器件等),不利于稳像系统的小型化,稳像精度较低,价格昂贵。因此传统的视频稳像方法无法满足信息化弹药视频稳像的特殊需求。

电子稳像(EIS)技术应用数字图像处理方法,直接从图像序列的帧间差别中检测出摄像机的全局运动,根据全局运动计算出运动补偿矢量用以校正图像的位置,消除或减轻摄像机的随机抖动对图像序列的干扰,从而获得稳定的视频图像。EIS 技术具有精度高、体积小、质量轻、功耗低、集成化和智能化等优点。另一方面,由于EIS 系统是一种数字信号处理系统,不可避免地存在系统延时,所以其实时性相比于机械式稳像和光学稳像略低。但是随着数字信号处理器性能的不断提升,系统延时越来越小,对于大多数应用可以认为是实时系统[2]。此外,还可以通过改进和优化EIS 算法来提高EIS 的实时性。因此EIS 技术已成为信息化弹药视觉导航系统稳像技术的首选。

运动估计是EIS 技术的核心,主要方法有块匹配法、位平面匹配法、特征匹配法、光流法和灰度投影法等[3]。其中,灰度投影法是利用图像总体灰度分布规律的变化确定帧间运动的一种方法,不同于其它算法对像素逐点进行相关运算,投影法利用图像的投影曲线做一次相关运算,即可准确地获得图像的运动矢量,因而该算法运算速度较快[4]。但是,传统灰度投影算法存在着前景局部运动影响全局运动估计精度和不能估计旋转运动等问题。

针对传统灰度投影算法存在的问题,本文提出一种基于分块灰度投影运动估计的视频稳像方法。该方法的核心是分块灰度投影运动估计算法,分块投影能够有效提高全局运动矢量的估计精度,并且通过剔除容易导致错误运动估计的低灰度梯度分块来降低投影计算量。同时,在分块灰度梯度判断的过程中采用提前终止的方法,加快判断的收敛速度,进一步提高运动估计的实时性。实验证明,本文提出的分块灰度投影运动估计算法在实时性和准确性等方面均能达到令人满意的效果,从而实现快速、准确的视频稳像。

1 分块灰度投影运动矢量估计

传统的灰度投影算法主要问题在于只能估计出成像系统水平和垂直方向上的平移运动,无法估计出图像的旋转运动。另外拍摄场景中可能存在前景目标的运动或者背景中小目标的移动,此时图像中单一区域的运动矢量不能准确代表整帧图像的运动,导致全局运动矢量估计精度下降[5]。本文采用分块投影的方法降低局部运动对全局运动估计精度的影响,并将分块的局部运动矢量代入刚性运动模型,以计算出图像全局运动矢量的旋转分量。

1.1 子区域划分

对原始视频图像进行子区域划分,以子区域为单位进行运动估计。子区域的大小将直接影响灰度投影运算的计算量及全局运动估计的精度。子区域划分过小,子区域包含的信息量相应减少,投影曲线变化不明显,导致子区域的局部运动估计精度下降;而子区域划分过大,会导致子区域数量减少,不能达到由子区域局部运动准确估计图像全局运动的目的。因此确定适当的子区域大小对于图像全局运动的准确估计是非常重要的。在子区域划分时需要综合考虑图像像面大小、子区域内灰度信息的丰富程度以及子区域的数量等因素。在图像边缘预留补偿区域后,子区域按照阵列的形式排列。

1.2 子区域灰度梯度判断

由于对图像中纹理特征不清晰、灰度梯度较低的区域进行投影计算,会得到不可靠的或者错误的运动矢量。因此,在对子区域进行灰度投影之前,对子区域运动估计的可靠性进行判断,提前发现可能会导致不准确估计的子区域并予以剔除,以降低局部运动估计的计算量,同时提高全局运动矢量的估计精度[6]。在灰度投影之前,首先判断子区域的灰度对比度是否满足要求,判断方法是将子区域进一步划分为4 个宏块,计算相邻宏块之间的对应像素的绝对差和(SAD),如果4 个SAD 值均小于给定的阈值,则说明该子区域灰度梯度较低,会导致局部运动矢量的错误估计,应剔除该子区域[7]。

SAD 的计算公式为

式中:W 和H 分别为宏块的宽度和高度;(xk,yk)为第k 个宏块左上角顶点的坐标值;Gk(i,j)为第k 个宏块在(i,j)位置处像素的灰度值。

子区域灰度梯度阈值判断算法的具体步骤如下:

1)设定灰度梯度阈值SADthr,表示2 个宏块之间的灰度期望差别度,其取值可根据满足灰度梯度要求的子区域个数N 自适应调整,初始置N=0.

2)将选取的子区域划分为4 个宏块,计数器n=0.

3)计算相邻2 个宏块之间对应像素点的SAD值,n+ +.

4)如果SAD >SADthr,则N + +,并转入步骤6执行。

5)如果n <4 转入步骤3 执行;否则,标记该子区域为低灰度对比度子区域。

6)如果存在未检验过的子区域,则选取另一个子区域,转入步骤2 计算;如果全部子区域检查完毕,则转入步骤7 执行。

7)如果Nmin<N <Nmax,则停止迭代,算法结束;如果N <Nmin,则SADthr=SADthr-Δ;或者如果N >Nmax,则SADthr=SADthr+Δ,后2 种情况转入步骤2继续执行。其中Δ 为一正整数,Nmin和Nmax分别是满足灰度梯度要求的子区域个数的极小值和极大值。随着阈值SADthr的增加,满足灰度梯度要求的子区域数量将会减少;反之,满足灰度梯度要求的子区域数量将会增加。

子区域灰度梯度阈值判断算法的实验结果如图1 所示,图1(a)为原始图像进行子区域划分后的结果,子区域的大小取64 像素×64 像素,图像周围黑色区域是在图像边缘预留的补偿区域。图1(b)为采用子区域灰度梯度阈值判断算法进行子区域剔除后的结果,图中黑色子区域为不满足灰度梯度要求的子区域。

图1 子区域灰度梯度判断结果Fig.1 Estimated results of sub-block gray gradients

由实验结果可知,原始图像经过子区域划分后共有108 个子区域,经子区域灰度梯度阈值判断算法剔除不满足灰度梯度要求的28 个子区域后,图像中只有80 个子区域参与灰度投影运算。理论上,分块投影运算的计算量可降低27%左右。虽然该算法增加了剔除子区域运算的时间,但是由于算法采用了提前终止宏块SAD 值判断的机制,因此,综合考虑剔除的子区域个数以及子区域灰度对比度判断所用时间,本算法并未引入过多的时间开销,与传统灰度投影算法的运算时间基本相当。但是剔除了容易导致错误运动估计的低对比度子区域后,全局运动估计精度得以提高。

1.3 参考帧的选择

选取适当的参考帧是进行准确帧间运动估计的前提条件,参考帧的选取有2 种方法:1)固定帧匹配,即把图像序列的第一帧图像作为参考帧,后续图像均作为当前帧;2)相邻帧匹配,即以相邻2 帧图像中的前一帧作为参考帧,后一帧作为当前帧[8]。

固定帧匹配方法由于不存在累积误差,所以运动矢量估计较为准确,且相对简单易行。其主要问题是摄像机进行扫描运动时,随着时间的推移,参考帧和当前帧中的信息重合度越来越小,当超出某一范围后便不能估算出当前帧的运动矢量,因此该方法比较适用于摄像机定点拍摄的情况。

相邻帧匹配的优点在于相邻帧间信息重合度较大,用于运动估计的信息较为丰富,并且在一定帧速率下相邻帧间旋转运动较小,因而可以忽略相邻帧间图像的旋转运动,使运动估计得到简化。并且相邻帧匹配方法不会因为参考帧的较大差异而出现明显的图像跳变现象。但是由于相邻帧匹配得到的是后一帧到前一帧的相对位移矢量,因此其缺点在于运动矢量存在累积误差,影响匹配精度。

1.4 子区域局部运动估计

灰度投影算法进行图像帧间运动估计主要包括3 个步骤:灰度投影、投影滤波和运动矢量提取。

对满足灰度梯度要求的子区域进行水平方向和垂直方向上的灰度投影,投影成为2 个独立的一维波形,投影公式为

式中:m 和n 分别为子区域的宽度和高度;Gk(i ,j)为第k 帧图像在(i ,j)位置处像素的灰度值;Colk(j)为图像第j 列像素灰度值的累加和,即第j 列像素的投影值;Rowk(i)为图像第i 行像素灰度值的累加和,即第i 行像素的投影值。投影曲线反映了图像灰度分布的统计特征。

当图像存在帧间运动时,子区域边缘像素会随着帧间运动移出或移入子区域,因此子区域边缘信息是唯一的,导致子区域的投影波形在边缘处的差异,对互相关波形的峰值产生影响,从而降低运动矢量的检测精度。可以使用余弦滤波器对水平和垂直投影曲线进行滤波,以降低边缘信息的幅值,保留中心区域的波形,从而降低边缘信息对互相关峰值的影响,提高运动矢量检测精度。

投影滤波后,对当前帧和参考帧对应子区域的行、列投影曲线做相关运算,根据2 条相关曲线的最小值即可确定当前帧相对于参考帧的水平和垂直方向上的运动偏移量。相关运算公式为

式中:Colk(j),Colr(j)分别为第k 帧图像和第r 帧图像第j 列的灰度投影值;NC 为子区域的宽度;m 为运动矢量估计的最大范围。设wmin为C(w)取最小值时w 的值,则第k 帧图像相对于第r 帧图像在垂直方向上的位移矢量为

式中:dy为正时表示第k 帧相对于第r 帧向上移动了|dy|个像素;dy为负时则表明向下运动了|dy|个像素。同理可以求得水平方向的位移矢量dx.

1.5 全局运动计算

分块灰度投影相关计算得到了各个子区域的局部运动矢量,由子区域的局部运动可以计算出全局运动矢量。为提高全局运动矢量的计算精度,本文采用图像帧间运动模型计算全局运动矢量的方法,将保留下来的各子区域的局部运动矢量带入到图像帧间运动模型中,利用最小二乘法求解方程组得到全局运动矢量。

对于摄像机不在景深方向做快速大幅度运动的情况,通常使用刚性模型作为图像帧间运动模型:

式中:[x0,y0]T为t0时刻图像中一像素点的坐标;[x1,y1]T为同一像素点在t1时刻图像中的新坐标;Tx,Ty分别为同一像素点在2 幅图像间的水平和垂直平移分量;θ 为图像间相对旋转角度;k 为变焦系数,当摄像机不做快速大幅度变焦时,k≈1.刚性运动模型能够描述传感器的平移、旋转以及变焦运动,根据该模型,只要确定参数k、θ、Tx和Ty即可确定2帧图像间的全局运动矢量[9]。虽然灰度投影算法本身无法估计旋转运动,但是将其估计的子区域局部运动矢量代入到刚性运动模型后计算出的全局运动矢量包含有图像的旋转运动分量,可以描述出图像的旋转运动。

2 运动补偿

图像序列帧间运动产生的原因主要有:1)由摄像机的扫描运动所引起的图像运动,2)由于摄像机随载体的随机振动而引起的运动。在对图像进行运动补偿时,只需要补偿摄像机的随机抖动,而对于摄像机的扫描运动是需要保留的。摄像机的扫描运动在一定时间内具有方向和幅度的一致性,是平滑的低频运动分量;而摄像机随机抖动的方向和幅度则表现出较大的随机性,属于高频运动分量。基于运动平滑的有效性和实时性,可以采用均值滤波的方法滤除全局运动矢量中的高频分量,即摄像机的随机抖动。

依据运动滤波后保留的运动分量,可进一步求得运动补偿矢量。当摄像机不做扫描运动时,全局运动矢量即为抖动运动矢量,即需要补偿的部分。当摄像机存在扫描运动时,由当前帧的全局运动矢量减去滤波后保留的扫描运动矢量即可得到运动补偿矢量。

根据运动补偿矢量对当前帧进行反方向移动,矫正抖动运动对图像画面的影响,即可得到稳定的图像序列。

3 实验结果

使用快速分块灰度投影运动估计算法(ISGPA)对帧速率为20 帧/s,分辨率为820 像素×614像素的真实视频图像进行运动估计,进而进行稳像处理。由于该视频中包含了摄像机的扫描运动,因此实验中采用相邻帧匹配的方法进行运动估计。实验对该算法的准确性和实时性进行了验证,并给出了最终的稳像效果。

3.1 子区域运动估计分析

全搜索块匹配算法(FS-BMA)是目前国际标准组织推荐的运动估计标准方法,运动估计较为准确。实验通过计算IS-GPA 算法在不同子区域尺度下得到的运动矢量与FS-BMA 算法估算的运动矢量的均方根差值RMSE,来衡量本文算法运动矢量的估计精度。RMSE 计算公式为

式中:(Txi,Tyi)为IS-GPA 算法估算出的子区域i 的局部运动矢量;(T'xi,T'yi)为FS-BMA 算法估算出的子区域i 的局部运动矢量;N 为参与投影运算的子区域数量。表1 为不同子区域尺度下IS-GPA 算法运动矢量估计的RMSE 值和运算时间的比较。

表1 子区域运动估计精度和时间消耗Tab.1 Accuracy and time consumption of sub-block motion estimation

由实验结果对比可知,快速分块投影运动估计算法在子区域尺寸为32 像素×32 像素时,由于子区域所包含的像素灰度信息不足,不能正确估算出运动矢量。随着子区域尺寸的增大,子区域包含的灰度信息量随之增加,运动矢量估计精度也相应提高,当子区域大小为64 像素×64 像素及以上时,子区域运动估计的RMSE 值已经小于0.5 个像素,即可以达到半像素级精度的运动矢量估计。运动估计时间消耗方面,随着子区域尺寸的增加,通过灰度梯度阈值判断剔除的子区域数量减少,参与灰度投影运算的子区域总面积增加,导致运动估计运算时间增加。因此,在选择子区域大小时应平衡考虑运动估计精度和时间消耗等因素。

图2 为子区域大小为64 像素×64 像素时,快速分块灰度投影算法和全搜索块匹配算法对同一视频中的30 帧图像进行运动矢量估计所用时间的比较。

由图2 可以看出,IS-GPA 算法运动矢量估计时间只有FS-BMA 算法运动估计时间的30%左右,具有较明显的实时性优势。

3.2 稳像效果评价

峰值信噪比PSNR 是评价稳像效果的重要数据指标,通过比较稳像前后相邻2 帧图像的PSNR 值可以反映出稳像算法的稳像准确度。经稳像处理后,相邻2 帧图像的PSNR 值越高,则说明图像稳定效果越好[10]。峰值信噪比计算公式为

图2 运动矢量估计时间比较Fig.2 Estimated time consumption of motion vector

式中:Ic为当前帧图像;Ir为参考帧图像;Gk(i ,j )为图像k 在(i ,j )处像素的灰度值;M 和N 分别为图像的高度和宽度。MSE 为2 帧图像在搜索范围内对应像素灰度的均方偏差值,它反映了图像序列帧间变化的快慢和变化量的大小,MSE 值越大说明2 帧图像帧间变化越大,即图像序列越不稳定;反之,则说明图像序列的稳定程度越高。

图3 为采用快速分块灰度投影算法(IS-GPA)、传统灰度投影算法(GPA)和FS-BMA 对同一视频序列的30 帧图像进行运动估计并稳像后PSNR 值的比较。

由图3 分析可知,作为标准运动估计方法的FS-BMA 算法稳像后相邻帧图像间的PSNR 值最大,说明图像序列的稳定程度最高,稳像效果最好,运动估计的准确性最高。而IS-GPA 算法的稳像准确性比较接近于BMA-FS 算法,相比于GPA 算法有了一定幅度的提高。

图3 PSNR 值比较Fig.3 Comparison of PSNR

图4给出了使用快速分块灰度投影算法进行运动估计并稳像的结果。

图4 视频稳像结果Fig.4 Consequence of video stabilization

由稳像结果图像可知,当前帧图像相对于参考帧图像的运动偏移包含了水平方向和垂直方向的平移运动以及较小的旋转运动。经过本文提出的稳像方法稳定处理后,图像的运动偏移得到了较好的补偿,从而实现了图像序列的稳定。

6 结论

本文提出的视频稳像方法采用了分块灰度投影运动估计算法。该算法在对图像进行分块灰度投影运算的同时,以分块灰度梯度为依据对分块进行了筛选,剔除容易导致错误运动估计的分块,在提高全局运动估计精度的同时,减少了投影运算的计算量,提高了运动估计的实时性。并且由于在该算法中采用了刚性运动模型,从而能够估计出图像的旋转运动分量,解决了传统灰度投影算法无法估计旋转运动的问题。根据分块灰度投影算法得到的图像全局运动矢量可以实现快速、准确的视频稳像。实验结果表明,本文提出的运动估计算法运算时间仅相当于标准运动估计算法FS-BMA 的30%左右,而2 种算法的准确性几乎一致。并且本文算法较传统灰度投影算法在准确性方面有了显著提高。本文提出的视频稳像方法为信息化弹药视觉导航嵌入式系统提供了技术基础。

References)

[1]Mai Y,Zhao H,Guo S.The analysis of image stabilization technology based on small-UAV airborne video[C]∥Proceedings of International Conference on Computer Science and Electronics Engineering.Hangzhou:IEEE Computer Society,2012:586 -589.

[2]Liu L,Du W.The vehicle-borne electronic image stabilization system based on Gray Projection Algorithm[C]∥Proceedings of 2011 International Conference on Electric Information and Control Engineering.Wuhan:IEEE,2011:4687 -4690.

[3]Oreifej O,Li X,Shah M.Simultaneous video stabilization and moving object detection in turbulence[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(2):450-462.

[4]Yang W,Zhang Z,Zhang Y.A real-time gray projection algorithm for electronic image stabilization[C]∥Proceedings of 4th International Symposium on Photoelectronic Detection and Imaging (ISPDI).Beijing:Internation Society for Optics and Photonics,2011:81932G-81932G-9.

[5]武治国,韩广良,王明佳.运动背景下的帧间稳像技术[J].中国光学,2011,4(5):519 -524.WU Zhi-guo,HAN Guang-liang,WANG Ming-jia.Effective image stabilization for moving background[J].Chinese Optics,2011,4(5):519 -524.(in Chinese)

[6]Lee J,Lee S,Paik J.Digital image stabilization based on statistical selection of feasible regions[J].IEEE Transactions on Consumer Electronics,2009,55(4):1748 -1755.

[7]仲训昱,朱齐丹,张智.数字稳像中的快速和鲁棒运动估计研究[J].电子学报,2010,38(1):251 -256.ZHONG Xun-yu,ZHU Qi-dan,ZHANG Zhi.Study of fast and robust motion estimation in the digital image stabilization[J].Acta Electronica Sinica,2010,38(1):251 - 256.(in Chinese)

[8]黄金权,王程,王润生.基于投影特征的快速图像稳定算法[J].计算机工程与科学,2006,28(1):82 -85.HUANG Jin-quan,WANG Cheng,WANG Run-sheng.A fast image stabilizing algorithm based on projected features[J].Computer Engineering & Science,2006,28(1):82 -85.(in Chinese)

[9]Kumar S,Azartash H,Biswas M,et al.Real-time affine global motion estimation using phase correlation and its application for digital image stabilization[J].IEEE Transactions on Image Processing,2011,20(12):3406 -3418.

[10]Li Q,Feng H,Xu Z,et al.Study on performance evaluation and frequency characteristic for real-time image stabilization system[C]∥Proceedings of 2011 International Conference on Electronic and Mechanical Engineering and Information Technology.Harbin:IEEE Press,2011:347 -350.

猜你喜欢

分块全局矢量
基于改进空间通道信息的全局烟雾注意网络
面向量化分块压缩感知的区域层次化预测编码
钢结构工程分块滑移安装施工方法探讨
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
关于4×4分块矩阵的逆矩阵*
分块矩阵初等变换的妙用
落子山东,意在全局
记忆型非经典扩散方程在中的全局吸引子
高超声速飞行器全局有限时间姿态控制方法