一种基于灰度投影差值的稳像算法
2017-02-10李大成杨晓东
李大成 杨晓东
(海军潜艇学院 青岛 266100)
一种基于灰度投影差值的稳像算法
李大成 杨晓东
(海军潜艇学院 青岛 266100)
针对图像序列的平移抖动,提出了一种基于灰度投影差值的灰度投影稳像算法。详细地阐述了实现此算法关键步骤:计算当前帧和参考帧的灰度映射,以灰度映射差值作为特征量,确定图像运动矢量和补偿当前帧图像等。在实验室条件下应用此算法,采用图像差值对算法进行评价。实验表明,该方法有效解决了前景局部物体运动和图像部分区域灰度变化大带来的干扰,能够达到实时电子稳像的目的。
平移抖动; 灰度投影; 运动矢量; 电子稳像
Class Number TP391
1 引言
随着摄像机等图像采集设备在测量系统、导航系统、监控系统等方面的广泛使用,对采集的图像和视频的质量要求也越来越高。由于摄像系统工作条件的限制,例如工作在舰船载体上的摄像系统不可避免会出现抖动的情况[1],导致视频序列模糊,影响了图像信息的有效利用,因此,这需要对采集的图像序列进行电子稳像[2]。电子稳像是计算机视觉领域[3]的一个重要课题,目的是利用数字图像处理技术[4]去除图像序列中的随机抖动,得到稳定的图像序列[5]。
目前常用的电子稳像算法有块匹配算法[6]、特征匹配法[7]、灰度投影算法[8]等。其中,块匹配算法运算量大,不适合进行实时的电子稳像处理。特征匹配法计算简单,但是需要图像中有确定的特征点,且对图像的变化不敏感。
本文提出一种利用灰度投影进行运动矢量估计的算法。该算法首先利用灰度投影公式计算当前帧和参考帧的灰度投影,以灰度投影差值作为特征量,分别计算当前帧在不同平移矢量下特征量小于某个值时的行数、列数,行数、列数达到最大值时对应的平移矢量即为要求得运动矢量。
2 灰度投影算法原理
灰度投影算法是利用图像的行列灰度变化规律来确定当前帧与参考帧之间的运动矢量,计算量小,对于平移抖动和旋转量较小的抖动具有较高的检测精度。其主要可分为灰度映射、投影滤波和互相关计算三个步骤。
2.1 图像灰度投影
将获得的视频经过简单的图像处理后,将每帧的二维图像(N×M)信息映射成两条灰度投影曲线,具体方法为
(1)
(2)
colprojk(j)=colk(j)-colTotk
(3)
式中,colk(j)为第k帧图像第j列的灰度值,curk(i,j)为第k帧上(i,j)位置处的灰度值,colprojk(j)表示第k帧图像的第j列归一化后的灰度映射值。行投影row(i)的计算与列投影的计算方法类似。
2.2 投影滤波
当视频发生抖动时,图像的边缘信息会发生明显的变化,此时图像边缘的行列投影值也会发生明显的变化,使得在互相关计算[9]的计算结果出现较大的偏差。投影滤波的目的就是通过余弦滤波器进行滤波,降低图像边缘信息在计算过程中所占的比重,提高运动矢量的估计精度[10]。
2.3 互相关运算
将当前帧的行(列)投影与参考帧的行(列)投影作相关运算,根据相关值曲线的单峰性确定当前帧与参考帧之间的偏移量。具体公式为
1≤w≤2m+1
(4)
式中,colk(j+w-1)为第k帧图像第j列的灰度投影值,m为运动矢量相对于参考帧在一侧的搜索宽度,r(w)为当前帧与参考帧投影的相关量。当r(w)取得最小值是,即可计算出当前帧图像相对参考帧在垂直方向上的运动矢量。
从互相关的计算公式可以看出,灰度投影算法匹配范围小,求取运动矢量速度快。但当前帧的图像灰度相对参考帧的图像灰度在某区域内发生强烈变化时,比如有较大的前景运动目标[11]或者多个运动目标时会造成灰度投影曲线的较大变化,从而导致灰度投影算法中的互相关运算求得的运动矢量不精确。
3 改进的灰度投影稳像算法
针对2.3中灰度投影算法的不足,本文提出一种新的方法,在对灰度投影曲线处理中不需要考虑前景运动目标和部分区域灰度变化带来的不利。
3.1 灰度投影差值
两帧图像发生平移抖动时的,它们的行列投影曲线保持基本相似的形状。而在不同运动矢量情况下,当前帧和参考帧相同的行列的灰度映射值相差可能会很大,因此可以此作为衡量行或列相似的特征量。也就是说,该行或者列的投影值与参考帧对应行或者列的投影值越接近,表示该行或者列与参考帧的灰度信息越相似。基于此,设定运动矢量范围,并不断移动当前帧的投影曲线分别于参考帧投影作差,具体公式如下:
coldif(j)=|colk(j+d)-colr(j)|(-m≤d≤m)
(5)
式中,coldif(j)为j行的当前帧动投影曲线与参考帧投影曲线的差值,d为动投影曲线相对当前帧投影曲线的偏移量,m为偏移量的上限。当d>0时,列投影j的范围为(1,M-d),当d≤0时,列投影j的范围为(|d|+1,M),M为投影的列上限。
3.2 最大列数
根据3.1的分析,两帧图像中行或列投影值接近的数目越多,证明两帧图像的灰度信息越相似。设定阈值T来衡量行、列投影值的接近程度,用colk表示当前帧列投影值,colr表示参考帧列投影值。当
(6)
计算符合条件的列数并绘制成曲线图,峰值即代表阈值T条件下的列数最多,其对应的d即为帧的垂直偏移量。求取帧的水平偏移量的方法类似。
3.3 稳像处理
稳像处理主要流程如下,以行灰度投影为例:
1) 将拍摄的视频进行灰度化处理;
2) 选定参考帧,分别计算参考帧和当前帧的行投影曲线;
3) 根据视频的抖动幅度确定当前帧投影曲线的最大偏移量dxmax,根据图像的灰度信息确定阈值T;
4) 计算偏移量为dx时行投影曲线差值小于T的行数,其中dx的范围为(-dxmax,dxmax);
5) 确定行投影曲线差值小于T的行数最大对应的偏移量,作为当前帧的运动矢量;
6) 按照步骤5)求得的运动矢量进行图像补偿,并对补偿后的图像作边缘补偿。
4 实验结果及分析
4.1 实验结果
利用上面的改进算法,对手机拍摄的480pixels×640pixels人为抖动视频进行处理,在计算机上使用Matlab进行编程。
本次实验选取第一帧作为参考帧,如图所示,图像(a)为第一帧,图像(b)为当前帧,图(c)、图(d)分别为参考帧不经过余弦滤波的行投影曲线和列投影曲线,图(e)、图(f)分别为当前帧经过余弦滤波后的行投影曲线和列投影曲线。
图1 灰度图及灰度投影曲线
在拍摄的视频的过程中,抖动的幅度较小,一般不超过图像的1/10,因此行投影偏移量的dxmax取值设为60,列投影偏移量dymax的取值设为40可以满足实验的要求。为了能够满足图像灰度信息的变化,尽量剔除干扰区域的投影数据,本次实验中,阈值T取值为1000。如图所示,图2(a)、图2(b)分别为上述条件下的最大行数曲线图、最大列数曲线图,从图中可以得到:dx=0时对应的行数最多,dy=-28时对应的列数最多,因此当前帧相对参考帧的运动矢量为(0,-28)。
图2 不同运动矢量下的最大行、列数
4.2 实验分析
为了能够验证本文算法的有效性,将实验结果与传统的灰度投影算法作比较。利用相关运算公式得到运动矢量为(3,-28)。如图所示,图3分别按照(0,-28)和(3,-32)对当前帧补偿后与参考帧的差分图,在差分之前已分别对补偿图像进行了边缘补偿。 从图中可以看出,差分图像的物体边缘线条明显减少,证明采用本文的算法补偿后的与参考帧图像更接近。
5 结语
针对前景运动目标和局部灰度发生变化对灰度投影算法精度造成干扰的问题,提出了一种改进的算法,算法在灰度投影的基础上,将灰度投影差值作为特征量,分别计算当前帧在不同平移矢量下特征量小于阈值时的行数、列数,确定行数、列数最大时对应的平移矢量为抖动矢量,提高了求取运动矢量的精度。实验证明,本文算法优于传统的灰度投影算法。
[1] 牛瑶瑶,洪丹凤,吴鑫,等.一种基于HGPC的交通监控视频抖动异常检测方法[J].青岛大学学报(自然科学版),2014,27(3):38-42.
[2] 关升.几种电子稳像算法的初步研究[D].哈尔滨:哈尔滨工业大学,2006:3-8.
[3] 编正岗.机器视觉技术的发展[J].中国仪器仪表,2015(6):40-43.
[4] C Morimoto, R Chellappa. Fast electronic digital image stabilization for off-road navigation[J]. Real-Time Imaging(S1077-2014),1996,5(2):285-296.
[5] 白丰,张小俊,张明路,等.基于分区灰度投影的稳像算法在卫星装配中的应用[J].中国机械工程,2016,27(2):195-200.
[6] Vella F, Castorina A, Mancuso M, et al. Digital image stabilization by adaptive block motion vectors filtering[J]. IEEE Trans, on Consumer Electronics(S0098-3063),2002,48(3):796-801.
[7] 吉淑娇,朱明,胡汉平,等.基于特征匹配的视频稳像算法[J].吉林大学学报(工业版),2013,43(增刊):322-325.
[8] 汪小勇,李奇,徐之海,等.用于实时数字稳像的灰度投影算法研究[J].光子学报,2006,35(8):365-370.
[9] 张朝阳,潘保昌,郑胜林.基于帧差的灰度投影的快速运动物体检测[J].广东工业大学学报,2008,25(3):76-80.
[10] 顾学海.基于灰度投影改进的电子稳像[J].应用光学,2013,34(6):957-963.
[11] 肖进胜,单姗姗,易本顺,等.基于分区灰度投影稳像的运动目标检测算法[J].湖南大学学报(自然科学版),2013,40(6):96-102.
Electronic Image Stabilization Algorithm Based on Gray Projection Difference
LI Dacheng YANG Xiaodong
(Naval Submarine Academy, Qingdao 266100)
In allusion to the translational jitter of image sequences, an improved gray projection algorithm is proposed. The key steps to realize the algorithm are set forth in details. Gray projection of the current frame and reference frame is calculated, gray mapping difference is chosen as the characteristic and the image motion vector and compensation current frame image are determined. In order to evaluate this algorithm, image difference algorithm is applied under lab conditions. Experiments show that this method is effective to solve the prospects for local object motion and change of parts of image gray level and can achieve the goal of electronic image stabilization.
translational jitter, gray projection, motion vector, electronic image stabilization
2016年7月11日,
2016年6月27日
李大成,男,硕士,研究方向:舰艇运动态势视觉观测技术。杨晓东,男,博士,教授,研究方向:舰艇机器视觉。
TP391
10.3969/j.issn.1672-9730.2017.01.021