发明名称 一种基于改进的卡尔曼滤波的实时数字视频稳像方法
摘要 本发明涉及一种数字视频稳像方法,一种基于改进的卡尔曼滤波的实时数字视频稳像方法,包括以下步骤:步骤1、建立帧间运动模型,步骤2、对图像进行分块,步骤3、改进的菱形快速块匹配,步骤4、基于最小二乘的全局运动估计,步骤5、利用改进的卡尔曼滤波器对图像序列进行补偿,步骤6、对含抖动的图像序列进行补偿;本发明对传统的菱形搜索进行了优化,在达到同样或是较好的估计效果的条件下,能减少块匹配算法的运行时间;在运动补偿方面,也能很好的去除抖动分量、很好地保留追拍分量。
申请公布号 CN104144283A 申请公布日期 2014.11.12
申请号 CN201410389926.4 申请日期 2014.08.10
申请人 大连理工大学 发明人 宋继飞;马晓红
分类号 H04N5/21(2006.01)I;H04N5/14(2006.01)I 主分类号 H04N5/21(2006.01)I
代理机构 大连星海专利事务所 21208 代理人 王树本
主权项 一种基于改进的卡尔曼滤波的实时数字视频稳像方法,其特征在于包括以下步骤: 步骤1:建立帧间运动模型:选用Similarity运动模型对图像序列的运动进行描述,以反映图像序列帧间的平移、绕光轴旋转和变焦运动,其运动模型为 <img file="FDA0000551585660000011.GIF" wi="1347" he="163" />其中,(x,y)和(x',y')分别表示每个像素点在参考帧和当前帧的坐标,s代表摄像机的变焦系数,θ代表帧间图像的旋转角度,d<sub>x</sub>、d<sub>y</sub>分别代表水平和垂直方向的偏移量;对于安防监控或手持成像小幅抖动的情况下,图像序列帧间的偏转角θ很小,认为cosθ≈1,sinθ≈θ;同时,变焦系数s保持不变,设为1,这样,(1)式的简化模型为: <img file="FDA0000551585660000012.GIF" wi="1276" he="163" />步骤2:对图像进行分块:将图像分成一系列8×8的图像块,图像块应选在具有明显图像特征且不为运动前景目标的区域; 步骤3:改进的菱形快速块匹配:按照绝对平均误差函数(Mean Absolute Difference,MAD)准则进行匹配;选取以当前帧选定子块为中心的8×8个像素点,进行对应上一帧的相同位置和周围8个方向的搜索,使用菱形搜索算法大模板,搜索的单位步长为2,具体包括以下子步骤(a)、(b)及(c); 步骤(a):若匹配后,最小位置为9个位置中的中心位置,则执行步骤(c),否则,最小位置为外围的8个位置,则执行步骤(b); 步骤(b):记录当前最小位置的MAD值,记为MAD<sub>0</sub>,并沿着该最小位置的方向再进行一次匹配,得到新的MAD值,记为MAD<sub>1</sub>,若MAD<sub>1</sub>小于MAD<sub>0</sub>,则循环执行步骤(b),若MAD<sub>1</sub>大于或等于MAD<sub>0</sub>,则跳转到步骤3; 步骤(c):匹配后,最小位置为9个位置中的中心位置,则以步骤(a)得到的最小MAD值的位置为初始位置,进行对应上一帧的相同位置和周围4个方向的搜索,使用菱形搜索算法小模板,得到当前的最小MAD值即为最佳匹配位置: <img file="FDA0000551585660000021.GIF" wi="1497" he="141" />步骤4:基于最小二乘的全局运动估计:对式(1)进行整理,得到的矩阵方程: <img file="FDA0000551585660000022.GIF" wi="1314" he="313" />根据每个8×8的图像块得到的运动矢量及匹配点对,利用随机采样一致性(Random Sample Consensus,RANSAC)剔除错误的匹配点对,并利用保留下来的正确值以及式(4)对参数s,θ,d<sub>x</sub>,d<sub>y</sub>进行最小二乘估计;利用最小二乘估计思想估计出的全局运动参数,即得到了当前帧相对于上一帧的全局运动向量,即GMV=[GMV<sub>s</sub>,GMV<sub>θ</sub>,GMV<sub>x</sub>,GMV<sub>y</sub>]=[s,θ,d<sub>x</sub>,d<sub>y</sub>]; 步骤5:利用改进的卡尔曼滤波器对图像序列进行补偿,具体包括子步骤(a)、(b)、(c)、(d)、(e)及(f); 步骤(a):根据状态空间理论对稳像系统进行建模,系统的状态方程和观测方程分别为: <img file="FDA0000551585660000023.GIF" wi="1320" he="156" />其中,Φ、Γ和H分别为传递矩阵、输入矩阵和观测矩阵;x(k)、y(k)和u(k)分别为状态向量、观测向量和控制向量,而v(k)和w(k)代表噪声向量;为了简化起见,采用具有两个状态和单观测的线性系统进行建模,其中Φ,Γ和H的取值如下: <img file="FDA0000551585660000031.GIF" wi="1387" he="156" />步骤(b):用PGMV表示全局运动矢量GMV的累加量,PGMV(k‑1)表示GMV从第1帧到第k帧的累加值,将PGMV的各个分量分别送入一维的卡尔曼滤波器中进行滤波,则得到: <img file="FDA0000551585660000032.GIF" wi="1564" he="313" />其中,Ko(k‑1)=[Ko<sub>s</sub>(k‑1),Ko<sub>θ</sub>(k‑1),Ko<sub>x</sub>(k‑1),Ko<sub>y</sub>(k‑1)]表示四个卡尔曼滤波器在第k‑1时刻的输出,PGMV(k‑1)和Ko(k‑1)两个矢量之间的差表示第k‑1帧的运动补偿矢量,CMV(k‑1)=[CMV<sub>s</sub>(k‑1),CMV<sub>θ</sub>(k‑1),CMV<sub>x</sub>(k‑1),CMV<sub>y</sub>(k‑1)]第k‑1帧的抖动运动矢量用JMV(k‑1)=[JMV<sub>s</sub>(k‑1),JMV<sub>θ</sub>(k‑1),JMV<sub>x</sub>(k‑1),JMV<sub>y</sub>(k‑1)]表示,其在数值上与第k‑1帧的运动补偿矢量CMV(k‑1)相等; 步骤(c):根据卡尔曼滤波器理论对状态进行预测; <img file="FDA0000551585660000033.GIF" wi="1307" he="157" />其中,<img file="FDA0000551585660000034.GIF" wi="222" he="71" />和<img file="FDA0000551585660000035.GIF" wi="155" he="71" />是根据k时刻对k+1时刻的估值,而P(k)为协方差矩阵,P(k+1|k)是其根据当前时刻对下一时刻的估值,另外,噪声信号v(k)和w(k)认为是不相关的,R<sub>1</sub>为噪声信号v(k)的方差;步骤(d):引入场景识别参数,λ=[λ<sub>s</sub>,λ<sub>θ</sub>,λ<sub>x</sub>,λ<sub>y</sub>],来识别当前场景为追拍运动或是抖动运动,λ值由下式确定: <img file="FDA0000551585660000041.GIF" wi="1459" he="722" />其中,L表示选取一定时间段内JMV的窗长,当某一个参量方向上存在追拍运动时,参数λ在这个方向上的数值大,反之,λ将是一个接近于0的很小值; 步骤(e):根据λ的值确定第k帧观测噪声方差R(k)的值: <img file="FDA0000551585660000042.GIF" wi="1149" he="313" />其中f(·)为非线性函数,而且随着λ的增大而递减,这里给出一个参考的非线性函数,参考函数中,参量k<sub>p</sub>的经验值取100; <img file="FDA0000551585660000043.GIF" wi="1203" he="626" />当某一个参数方向存在追拍时,由参量确定的R(k)会很小,因而能很好的发挥卡尔曼滤波器的跟踪特性;反之,当前只存在随机抖动,R(k)的值很大,能很好的发挥卡尔曼滤波器的平滑作用; 步骤(f):利用改进的卡尔曼滤波器和步骤(e)确定的观测噪声方差R(k), 对状态进行更新: <img file="FDA0000551585660000051.GIF" wi="1549" he="245" />这里,R(k)为标量而非矢量,这是由于采用系统模型是单观测的,若采用多观测的系统模型,则应用R(k)来表示观测噪声的协方差矩阵; 步骤6:对含抖动的图像序列进行补偿:将运动补偿得到的运动补偿向量的各个参量,CMV=[s',θ',d'<sub>x</sub>,d'<sub>y</sub>]以及原图像的像素位置代入下式,进行补偿: <img file="FDA0000551585660000052.GIF" wi="1364" he="164" />并将像素赋给新的坐标位置(x',y'),即完成了稳像;如果采取简化后的模型,则应用下式进行补偿: <img file="FDA0000551585660000053.GIF" wi="1278" he="165" />。
地址 116024 辽宁省大连市高新园区凌工路2号