第17卷 第5期2009年5月 光学精密工程 OpticsandPrecisionEngineering Vol.17 No.5 May2009 收稿日期:20080611;修订日期:20080815. 基金项目:军队十一五预研项目(No.404010204)文章编号 1004924X(2009)05110506使用粒子滤波器实现电子稳像姚 军1,蒋晓瑜1,杜登崇1,汪 熙1,纪红霞2(1.装甲兵工程学院控制工程系北京100072;2.中国人民解放军61135部队北京102211)摘要:提出用粒子滤波器来实现视频序列的稳像,解决了视频序列的帧间不稳定问题。提出的稳像算法从视频图像中提取角点特征,建立当前帧与参考帧之间的映射关系,然后根据仿射变换模型求取最小二乘解来获得帧间的全局运动参数,最后利用粒子滤波平滑运动参数,实现帧间的实时运动补偿。对包含80帧场景的视频序列进行了实验,稳像后视频序列的平均峰值信噪比比稳像前提高了24.88,同时稳像精度<1pixel,处理时间<30ms。实验结果表明,本文算法能有效地改善图像质量,在去除高频抖动的同时能较好地保留摄像机的主动运动,稳像效果良好。关 键 词:粒子滤波;角点检测;全局运动估计;电子稳像中图分类号:TN941.1 文献标识码:A犇犻犵犻狋犪犾犻犿犪犵犲狊狋犪犫犻犾犻狕犪狋犻狅狀犫犪狊犲犱狅狀狆犪狉狋犻犮犾犲犳犻犾狋犲狉YAOJun1,JIANGXiaoyu1,DUDengchong1,WANGXi1,JIHongxia2(1.犇犲狆犪狉狋犿犲狀狋狅犳犆狅狀狋狉狅犾犈狀犵犻狀犲犲狉犻狀犵,狋犺犲犃犮犪犱犲犿犻犮狅犳犃狉犿狅狉犲犱犉狅狉犮犲犈狀犵犻狀犲犲狉犻狀犵,犅犲犻犼犻狀犵100072,犆犺犻狀犪;2.犝狀犻狋狅犳61135,狋犺犲犆犺犻狀犲狊犲犘犲狅狆犾犲’狊犔犻犫犲狉犪狋犻狅狀犃狉犿狔,犅犲犻犼犻狀犵102211,犆犺犻狀犪)犃犫狊狋狉犪犮狋:Adigitalimagestabilizationalgorithmbasedonaparticlefilterispresenttoremovetheinterframevibrationofvideoimages.Firstly,thecornersofvideoimagesareextractedusingHarrisoperators,thenthemappingrelationshipbetweenthecurrentframeandthereferenceframeisestablishedandglobalmotionvectorsareobtainedbycomputingleastsquaresolutionbasedonanaffinetransformationmodel.Finally,theparticlefilteringisusedtosmoothmotionvectorstorealizethemotioncompensationofvideoframes.Experimentsareundertakenforavideosequencewith80frames,itcouldbefoundthattheaveragePeakSignaltoNoiseRatio(PSNR)oftheimagesequenceafterimagestabilizationis24.88higherthanthatoftheoriginalvideosequencewhileprovidingtheimagestabilizationaccuracyandtheprocessingtimelowthan1pixeland30msrespectively.Theseresultsshowtheproposedstabilizationalgorithmimprovesimagequalityeffectively,anditcannotonlyalleviatethevibrationbutalsocanpreservetheinitiativemotionofthecamera.犓犲狔狑狅狉犱狊:particlefilter;cornerdetection;globalmotionestimation;digitalimagestabilization1 引 言 电子稳像是应用计算机数字图像处理和电子技术的方法来直接对随机运动或抖动的摄像机所获取的动态图像序列进行修改、重排,确定图像序列的帧间偏移并进行补偿,以使动态图像在监视器上能平稳显示的一种视频稳定技术[1]。电子稳像具有稳定精度高、体积小、重量轻、功耗低以及能实时处理等特点,在国外已应用于摄影、航空侦察、跟踪和监视等各种任务中[25]。电子稳像的关键技术包括图像序列帧间的运动估计和运动补偿。运动估计是通过算法估算出图像序列运动偏移量的过程。运动补偿是利用数字图像处理的方法使图像上的像素按被检测出的运动偏移反方向做相应移动,实现图像的行、列序列重组,从而实现图像序列稳定,使监视器上输出清晰图像的过程。如果运动估计阶段能够准确地估计出帧间运动矢量,并在运动补偿阶段获得适当修正,去掉不希望的随机抖动,保留摄像机的主动运动矢量,稳像的结果将是令人满意的平稳图像。本文采用Harris角点检测算法获得参考图像和当前图像中的角点,然后根据仿射模型建立一组方程,利用多个角点坐标作为输入,通过求解矛盾方程组获得最小二乘解,从而得到运动估计矢量,最后采用粒子滤波器对运动估计矢量做低通滤波,得到运动补偿矢量,通过对原始视频序列进行运动补偿,实现实时稳像。2 Harris角点检测 Harris角点检测算法主要考虑像素邻域点的灰度变化,将与邻点亮度对比足够大的点定义为角点。与其它角点检测方法比,该算法具有较强的鲁棒性,并且检测质量高,易于工程实现。本文算法采用如下模板,分别将其命名为犜1,犜2和犜3。其中犜1是水平模板,犜2是垂直模板,犜3是均值模板。采用均值模板可以增强算法的抗噪能力。犜1=-1 0 1-2 0 2-1 0 熿燀燄燅1,犜2=-1-2-1000熿燀燄燅121,犜3=1 1 11 1 11 1 熿燀燄燅1.算法的具体步骤如下:(1)分别对原图象犳(狓,狔)使用水平模板犜1和垂直模板犜2进行卷积运算,获得水平和垂直方向的差分图像犇狓和犇狔;(2)分别从差分图像犇狓和犇狔中取出对应的差分结果犐狓与犐狔,构建自相关矩阵犆狅狏=犐2狓犐狓犐狔犐狓犐狔犐2[]狔,对称矩阵中的犐2狓、犐狓犐狔与犐2狔分别作为24bit位图像素的RGB颜色值,构建图像CovImg;(3)CovImg与均值模板犜3进行卷积获得均值图像;(4)由均值图像通过公式(1)计算得到特征图像Dst;(5)对特征图像Dst进行阈值化,获得图像角点。(6)根据相邻两帧图像中角点相对位置变化很小的规律,对误匹配的角点进行过滤,获得两帧具有相同角点数量的匹配结果。PixDst=|PixAv[0]+PixAv[2]|槡2-PixAv[0]-PixAv[2]()22+(PixAv[1])槡2.(1)以下图1与图2就是相邻两帧图像的角点提取结果,图中的白点是放大的角点。图1 第一帧图像的角点Fig.1 Cornersinthefirstframe6011 光学 精密工程 第17卷 图2 第二帧图像的角点Fig.2 Cornersinthesecondframe3 运动矢量估计 获得视频序列相邻两帧图像对应的角点坐标位置后,根据仿射模型公式(2),通过匹配角点坐标,建立参考帧与当前帧的映射关系。 狓犼狔[]犼=犽犪1犪2犪3犪烄烆烌烎4狓犻狔[]犻+犫1犫[]2,(2)其中(狓犼,狔犼),(狓犻,狔犻)分别是当前帧和参考帧对应的角点坐标,(犫1,犫2)是二维平移量,犽是变焦系数,描述缩放,犪1 犪2犪3 犪烄烆烌烎4= cosθsinθ-sinθcos烄烆烌烎θ是正交的旋转矩阵,θ描述图像的旋转变换。变焦系数犽通过计算角点所对应的重心位置距离的变化率来获得[6]。在求得变焦系数犽后,方程只有3个未知量,而每一对匹配角点能够建立2个方程,所以只要2对角点就能求出参数(犪1,犪2,犪3,犪4,犫1,犫2)。为加强算法的稳定性,这里采用犖(犖≥2)对角点代入公式(2)中,求解矛盾方程的最小二乘解,从而获得运动估计矢量。4 基于粒子滤波的运动补偿 在获得运动估计矢量后,采用粒子滤波器进行低通滤波,获得运动补偿矢量,实现实时稳像[7]。粒子滤波器作为滤波工具具有很好的平滑性、收敛性和鲁棒性,能逼近状态的最优估计,且适用于任意非线性非高斯的动态系统[8]。图3是粒子滤波的流程图:粒子滤波的具体实现步骤如下:图3 粒子滤波流程图Fig.3 Flowchartofparticlefilteralgorithm(1)根据精度和速度要求确定粒子的数量,并给每个粒子赋初始状态。这里假定选取粒子数量为犖,每个粒子赋予权值1犖,且每个粒子都具有3个参数犜犻(=θ犻,Δ犡犻,Δ犢犻),犻=1,…,犖。粒子的初始值设置如下:θ犻=θinit+犫1ξΔ犡犻=Δ犡init+犫2ξΔ犢犻=Δ犢init+犫3烅烄烆ξ. 犻=1,…,犖,(3)其中犫1,犫2,犫3为常数,ξ为[-1,1]内的随机数。(2)确定状态转移方程,对每个粒子进行状态预测。这里假设摄像机有扫描运动,所以取二阶状态方程:犣犜狋=犃犣犜狋-1+犅犣犜狋-2+犆ω狋-1。对粒子犖犻有:θ犻狋=犃1θ犻狋-1+犅1θ犻狋-2+犆1ω狋-1Δ犡犻狋=犃2Δ犡犻狋-1+犅2Δ犡犻狋-2+犆2ω狋-1Δ犢犻狋=犃3Δ犢犻狋-1+犅3Δ犢犻狋-2+犆3ω狋-烅烄烆1犻=1,…,犖,(4)其中犃1、犃2、犃3、犅1、犅2、犅3、犆1、犆2、犆3为常数,ω狋-1为[-1,1]内的随机数。(3)系统观测过程。对各个粒子传播后进行观测,观察每个粒子所代表的可能状态和真实状态之间的相似程度,接近真实状态的粒子赋予较大的权值,反之权值较小。这里采用绝对差值函数作为衡量工具,定义如下:犃犅犇犉=(Δ犡-Δ犡′)2+(Δ犢-Δ犢′)槡2+犆犳|θ-θ′|,(5)其中Δ犡、Δ犢、θ是当前预测值,Δ犡′、Δ犢′、θ′是利用角点匹配解超定方程所获得的估计值。犆犳是一个与视频图像尺寸有关的系数,假设视频图像的长和宽分别为imglenth、imgwidth,犆犳定义为:犆犳=0.25×(imglenth)2+(imgwidth)槡2.(6)根据公式(5)和(6)定义观测概率密度函数为:狆(狕犽|狓犻犽)=exp-12σ2犃犅犇犉{}犻 犻=1,…,犖,(7)其中σ为常数。粒子的权值递推公式定义如下:7011第5期 姚 军,等:使用粒子滤波器实现电子稳像狑犻犽=狑犻犽-1狆(狕犽|狓犻犽).(8)(4)后验概率计算,获得运动估计矢量的滤波结果。运动补偿过程中所期望的运动补偿参数(θopt犽,Δ犡opt狋,Δ犢opt狋)可以由各粒子的加权和来表示,即:θopt犽=∑犖犻=1狑犻犽θ犻犽,Δ犡opt犽=∑犖犻=1狑犻犽Δ犡犻犽,Δ犢opt犽=∑犖犻=1狑犻犽Δ犢犻犽.(5)粒子重采样过程,即在出现某些粒子权值太小时,从权值大的粒子上衍生出一些粒子来代替它们。具体过程就是:定义一个阈值,当某些粒子的权值达到某个下限后就执行该过程,而该粒子的“后代”粒子的权值重新设置为1犖。重采样过程与前面其它过程无关。5 滤波器参数设置与实验结果 粒子滤波器的参数设置将直接决定其滤波性能。初始化阶段(θinit,Δ犡init,Δ犢init)的设置,影响滤波器的跟踪起点,该值越是接近正确的稳像参数,滤波器进入稳定跟踪状态的时间就越短,在没有稳像参数先验信息的情况下,通常将其设为0。常数(犫1,犫2,犫3)决定初始值的变化范围,一般取稳像参数的最大幅值。状态转移阶段(犃1,犃2,犃3),(犅1,犅2,犅3),(犆1,犆2,犆