基于MEMS陀螺仪的电子稳像算法
赵赛;康宝生;王力
【摘 要】针对电子稳像运动估计过程中,特征匹配方法存在匹配误差以及3D运动估计方法计算复杂等问题,提出一种基于MEMS(Micro-electro-mechanical system)陀螺仪的电子稳像算法.首先,利用MEMS陀螺仪估计相机旋转抖动量,利用尺度不变特征变换方法SIFT(Scale-invariant feature transform)估计相机平移抖动量;其次,利用滤波技术对平移及旋转运动矢量平滑滤波处理;然后,对视频序列的高频率旋转及平移抖动量进行运动补偿;最后,利用图像拼接技术去除运动补偿后的图像边缘“黑边”.实验结果表明,该算法对于相邻图像帧的抖动补偿准确性较高,处理效果较好,减少了系统的计算复杂度.%To the motion estimation process on the video stabilization,the matching error of feature matching method and calculation complexity of 3D motion estimation method are discusd,a kind of video stabilization algorithm bad on MEMS (Micro-electro-mechanical system) gyroscope was propod.Firstly,the motion estimation of camera rotation is achieved by using MEMS gyroscope,and the motion estimation of camera translation is achieved by using SIFT (Scal
e-invariant feature transform)method;next,the filter technology is ud to smooth and filter the translation and rotation vector;then,make a camera motion compensation with the video quences of the high frequency jitter of rotation and translation;finally,using image mosaic technology to remove the edge black region of the image after the motion compensation.The experimental results show that the algorithm for the adjacent image frames of jitter compensation accuracy is higher,the effect is good,and reduce the processing time of the system.
【期刊名称】《西北大学学报(自然科学版)》
【年(卷),期】2018(048)003
【总页数】8页(P355-362)
【关键词】电子稳像;MEMS陀螺仪;相机标定;图像拼接
【作 者】赵赛;康宝生;王力
【作者单位】西北大学信息科学与技术学院,陕西西安710127;西北大学信息科学与技术学院,陕西西安710127;西北大学信息科学与技术学院,陕西西安710127
【正文语种】中 文
【中图分类】TP391
随着科技的发展,具备拍照以及摄像功能的电子设备已大量进入人们的生活[1],其呈现形式多种多样,如智能手机、小型无人机、行车记录仪等。虽然这些电子设备给视频信息的采集提供了更多的方式,但是,由于手持设备的稳定性较差、小型无人机在空中的抖动及噪声的干扰,视频图像的正常采集将受到影响,视频画面会出现抖动、畸变等各种问题[2-4]。因此,必须对摄像设备采集到的视频进行图像补偿处理[5],以消除相机的非意向抖动(即外部噪声造成的被动抖动),保留意向抖动(即摄像过程中的主动抖动),从而改善视频的观察效果[6]。稳像技术按照作用机制通常分为3类:机械稳像[7]、光学稳像[8-9]以及电子稳像[10-11]。光学稳像通过光学部件自适应地调整光路补偿图像运动,从而达到稳像效果。通过使用传统陀螺仪传感器等器件记录摄像平台的抖动情况,机械稳像可对伺服系统进行逆向调整,从而达到稳像效果。虽然以上两种稳像技术在图像补偿方面取得了很大的进展,但因电子设备
受到体积、成本、便携性等因素的限制,光学稳像和机械稳像往往都不适合被应用到电子设备上。通过对连续视频序列之间的运动估计,电子稳像可以对运动矢量进行滤波和运动补偿,从而达到稳像效果[12]。
电子稳像技术主要分为2D和3D稳像技术[13]。2D稳像技术通过利用相邻图像帧之间的2D变换模型来达到稳像效果。虽然2D稳像技术计算较简单、算法较稳定,但因其忽略了相机的3D运动信息,无法取得较好的稳像效果。基于Lucas和Kanade[14]的思想,卢晓燕等[15]提出了一种Harris结合光流的电子稳像算法。虽然这种2D稳像算法在车载抖动视频的处理上取得了较好的稳像效果,但是Harris角点检测中的梯度运算过程较复杂,而且当图像帧的特征不显著、特征点较少时,就会造成很大的匹配误差。3D稳像技术通常利用3D运动模型,并结合特征匹配或特征跟踪技术来获得好的稳像效果。基于图像渲染[16]的非度量稳像技术被认为是第一个3D稳像方案。Zhang等[17]提出的基于3D透视相机模型的稳像方案将稳像问题表示为平滑和相似约束下的二次成本函数。通过恢复原始3D运动和稀疏静态场景点云获得相机运动信息,并保存形变技术修复图像的内容,Liu等[18]提出了基于保存内容的3D稳像方案。虽然以上这些算法在稳像方面取得了很大的进展,但其3D重建计算过程比较复杂,因此,一般用于实时性要求不高的情景中,而且目前流行的智能电子设备计算能力较弱,也不适
用。
由于轻巧便携、成本低廉的特性,MEMS陀螺仪[19-20]方案在运动估计过程中更具备优势。MEMS陀螺仪可大大降低运动估计过程的计算量,缩短系统运行时间。Karpenko等[21]提出了一种基于MEMS陀螺仪的电子稳像方法,减少了稳像工作的计算量,能解决视频的抖动问题。该方案虽然取得了好的稳像效果,但其相机运动估计仅针对旋转运动,忽略了平移运动。当相机距离拍摄物体较远时,平移抖动相对于高频率的旋转抖动可以忽略不计,但是,目前的电子设备很多在室内使用,当物体距相机较近时,相机的平移抖动亦会严重影响拍摄效果。
针对文献[21]算法无法解决视频平移抖动的问题,通过估计相机旋转抖动量[21]以及结合SIFT[22]方法估计图像在像素坐标系下的平移抖动量,本文提出一种新的MEMS陀螺仪方法。该方法不仅增加了平移抖动量的估计,而且还避免了特征匹配误差以及3D方法计算较复杂等问题。
1 MEMS陀螺仪相关介绍
MEMS陀螺仪,亦称作微机械陀螺仪,其工作原理主要是利用科里奥利力。传统陀螺仪往往因
为体积较大,其应用范围受到很大影响。MEMS陀螺仪应运而生,其小巧的特点完全符合便携电子设备的要求,特别是可提高相机拍摄图像的稳定效果[23]。
在电子稳像技术中,MEMS陀螺仪用于检测角速度(角速率),也就是单位时间内的旋转角度,单位为°/s。MEMS陀螺仪角速度的主要指标包括:量程、灵敏度、精度以及稳定性。以InvenSen公司的产品MPU-6500为例,对MEMS陀螺仪进行简单的介绍。如图1所示,该产品是六轴陀螺仪,包括三轴角速度计和三轴角加速度计,体积为3mm*3mm*0.9mm,适用于大多数电子设备。
图1 MPU-6500陀螺仪示意图Fig.1 Sketch map of MPU-6500 gyroscope
2 本文算法
稳像技术包括3个阶段:运动估计、运动滤波以及运动补偿[24-25]。本文算法首先通过MEMS陀螺仪进行运动估计,计算连续视频序列之间的旋转量。其次,由于相机存在意向运动以及非意向运动,利用高斯平滑滤波将摄像平台的非意向运动(高频率抖动)和意向运动(低频率抖动)进行分离,得到精确的运动矢量。最后,根据精确的相机运动矢量,结合相机自身标定进行运动补偿,得到稳定的视频序列,算法流程如图2所示。
图2 算法流程图Fig.2 Flow chart of the algorithm
2.1 数据提取
首先,采集连续的视频序列以及MEMS陀螺仪测量数据。利用MEMS陀螺仪的I2C接口获取陀螺仪数据(陀螺仪输出:相机绕x,y,z这3个轴旋转的角速率)。其次,根据陀螺仪采样数据的时间戳计算陀螺仪的采样频率。陀螺仪数据会受噪声的干扰,因此必须有效地减少和抑制噪声以提高系统的精确性。最后,对数据进行滤波处理,将噪声和信号分离。意向运动通常是低频率的、比较平滑的,消除高频率的非意向运动之后,可获得比较平滑的数据。
视频图像在像素坐标系中的抖动(VPM)主要由相机旋转抖动(CRM)、相机平移抖动(CTM)和拍摄物体的运动(POM)3个因素造成,可描述为
CRM+CTM+POM→VPM。
(1)
采用SIFT方法难免会有特征点落在运动物体上,因为它们不属于相机运动,必须将其剔除。
定义TOM为CTM和POM的组合,可描述为
CTM+POM=VPM-CRM→TOM。
(2)
利用拉依达准则[26]剔除落在运动物体上的特征点,其公式为
|fi-μ|>2s。
(3)
其中,f是SIFT特征向量,μ是TOM的均值,s是TOM的标准方差。
剔除满足式(3)的特征点后,式(2)变为
VPM-CRM→CTM,
(4)
即可获得平移抖动量。
本文采用高斯平滑滤波[27]处理陀螺仪采样数据,在Matlab平台上进行实验。图3是陀螺仪数据滤波前后对比效果。高斯滤波器是一类根据高斯核函数的形状来选择权值的线性平滑滤波器,高斯核函数为
(5)
其中,xc表示核函数中心,σ表示核函数的宽度参数,其值将直接影响平滑程度。
图3 陀螺仪数据滤波前后对比图Fig.3 The contrast of gyroscope data before and after filtering
以高斯核函数为基础,先生成给定大小的高斯核。然后,将陀螺仪输出值与高斯核进行卷积并做差,即可得到平滑的数据,如式(6)所示。