首页> 中国专利> 一种基于改进的卡尔曼滤波的实时数字视频稳像方法

一种基于改进的卡尔曼滤波的实时数字视频稳像方法

摘要

本发明涉及一种数字视频稳像方法,一种基于改进的卡尔曼滤波的实时数字视频稳像方法,包括以下步骤:步骤1、建立帧间运动模型,步骤2、对图像进行分块,步骤3、改进的菱形快速块匹配,步骤4、基于最小二乘的全局运动估计,步骤5、利用改进的卡尔曼滤波器对图像序列进行补偿,步骤6、对含抖动的图像序列进行补偿;本发明对传统的菱形搜索进行了优化,在达到同样或是较好的估计效果的条件下,能减少块匹配算法的运行时间;在运动补偿方面,也能很好的去除抖动分量、很好地保留追拍分量。

著录项

  • 公开/公告号CN104144283A

    专利类型发明专利

  • 公开/公告日2014-11-12

    原文格式PDF

  • 申请/专利权人 大连理工大学;

    申请/专利号CN201410389926.4

  • 发明设计人 宋继飞;马晓红;

    申请日2014-08-10

  • 分类号H04N5/21(20060101);H04N5/14(20060101);

  • 代理机构21208 大连星海专利事务所;

  • 代理人王树本

  • 地址 116024 辽宁省大连市高新园区凌工路2号

  • 入库时间 2023-12-17 02:14:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-21

    授权

    授权

  • 2014-12-10

    实质审查的生效 IPC(主分类):H04N5/21 申请日:20140810

    实质审查的生效

  • 2014-11-12

    公开

    公开

说明书

技术领域

本发明涉及一种数字视频稳像方法,更具体地说,涉及一种基于改进的卡 尔曼滤波的实时数字视频稳像方法。

背景技术

数字稳像技术(Digital Image Stabilization,DIS)是图像处理领域中一项新 技术,它能将抖动的视频序列中的抖动分量很好地滤除,同时能将有意的追拍分 量进行保留。它的这些特点使其在视频监控、手持和机载摄像、遥感领域有着重 要的应用价值。在当前的研究背景下,提出一种有效、鲁棒性强的算法,也是本 专利的主旨所在。

典型的数字稳像系统包括运动估计单元和运动补偿单元。运动估计单元中, 传统的运动估计算法包括块匹配法、位平面匹配法、灰度投影法、特征点匹配等 算法。其中,菱形快速搜索算法因具有快速性和较优异的性能而得到了广泛的应 用。但传统意义上的菱形搜索算法的性能还有待进一步优化;运动补偿单元中, 常用的补偿算法包括卡尔曼滤波器、比例积分差分控制器(Proportional Integral  Differential,PID)、运动矢量累加(Motion Vector Integration,MVI)、低通滤波器 和帧间位置平滑(Frame Position Smooth,FPS)等方法。然而,FPS方法需要消耗 大量的时间来重构相机长时间的运动情况,因此不满足实时稳像的要求;MVI等 方法可以很好地对帧间抖动进行平滑,但会对追拍分量造成损失,同时有较明显 的时滞现象;传统的卡尔曼滤波器方法和PID方法会对追拍分量有一定的保留, 但仍然有明显的丢边现象存在,同时对抖动的平滑效果不如MVI性能好。因此, 传统卡尔曼滤波器很难做到在平滑抖动分量的同时,对主观的追拍分量进行很好 地保留。

发明内容

为了克服现有技术中存在的不足,本发明目的是基于Similarity运动模型, 在传统的菱形搜索块匹配算法的基础上,提供一种基于改进的卡尔曼滤波的实时 数字视频稳像方法。该方法对传统的菱形搜索算法和卡尔曼滤波器进行了改进, 即便是有高速的主观追拍运动存在时,该方法依然能很好地保留追拍分量,同时 取得较好的平滑效果,对丢边现象的抑制明显优于其他补偿算法。

为了实现上述发明目的,解决现有技术中所存在的问题,本发明采取的技术 方案是:一种基于改进的卡尔曼滤波的实时数字视频稳像方法,包括以下步骤:

步骤1:建立帧间运动模型:选用Similarity运动模型对图像序列的运动进行 描述,以反映图像序列帧间的平移、绕光轴旋转和变焦运动,其运动模型为:

xy=scosθsinθ-sincosθxy+dxdy---(1)

其中,(x,y)和(x',y')分别表示每个像素点在参考帧和当前帧的坐标,s代表摄 像机的变焦系数,θ代表帧间图像的旋转角度,dx、dy分别代表水平和垂直方向 的偏移量;对于安防监控或手持成像小幅抖动的情况下,图像序列帧间的偏转角θ 很小,认为cosθ≈1,sinθ≈θ;同时,变焦系数s保持不变,设为1,这样,(1)式 的简化模型为:

xy=s1θ-θ1xy+dxdy---(2)

步骤2:对图像进行分块:将图像分成一系列8×8的图像块,图像块应选在 具有明显图像特征且不为运动前景目标的区域;

步骤3:改进的菱形快速块匹配:按照绝对平均误差函数(Mean Absolute  Difference,MAD)准则进行匹配;选取以当前帧选定子块为中心的8×8个像素点, 进行对应上一帧的相同位置和周围8个方向的搜索,使用菱形搜索算法大模板, 搜索的单位步长为2,具体包括以下子步骤(a)、(b)及(c);

步骤(a):若匹配后,最小位置为9个位置中的中心位置,则执行步骤(c), 否则,最小位置为外围的8个位置,则执行步骤(b);

步骤(b):记录当前最小位置的MAD值,记为MAD0,并沿着该最小位置 的方向再进行一次匹配,得到新的MAD值,记为MAD1,若MAD1小于MAD0, 则循环执行步骤(b),若MAD1大于或等于MAD0,则跳转到步骤3;

步骤(c):匹配后,最小位置为9个位置中的中心位置,则以步骤(a)得 到的最小MAD值的位置为初始位置,进行对应上一帧的相同位置和周围4个方 向的搜索,使用菱形搜索算法小模板,得到当前的最小MAD值即为最佳匹配位 置:

MAD(i,j)=164Σm=18Σn=18|fk(m,n)-fk-1(m+i,n+j)|---(3)

步骤4:基于最小二乘的全局运动估计:对式(1)进行整理,得到的矩阵方程:

x-y10yx01scosθssinθdxdy=xy---(4)

根据每个8×8的图像块得到的运动矢量及匹配点对,利用随机采样一致性 (Random Sample Consensus,RANSAC)剔除错误的匹配点对,并利用保留下来 的正确值以及式(4)对参数s,θ,dx,dy进行最小二乘估计;利用最小二乘估计思想估 计出的全局运动参数,即得到了当前帧相对于上一帧的全局运动向量,即 GMV=[GMVs,GMVθ,GMVx,GMVy]=[s,θ,dx,dy];

步骤5:利用改进的卡尔曼滤波器对图像序列进行补偿,具体包括子步骤(a)、 (b)、(c)、(d)、(e)及(f);

步骤(a):根据状态空间理论对稳像系统进行建模,系统的状态方程和观测 方程分别为:

x(k+1)=Φx(k)+Γu(k)+v(k)y(k+1)=Hx(k)+w(k)---(5)

其中,Φ、Γ和H分别为传递矩阵、输入矩阵和观测矩阵;x(k)、y(k)和u(k) 分别为状态向量、观测向量和控制向量,而v(k)和w(k)代表噪声向量;为了简化 起见,采用具有两个状态和单观测的线性系统进行建模,其中Φ,Γ和H的取值 如下:

Φ=1101,Γ=1001,H=10---(6)

步骤(b):用PGMV表示全局运动矢量GMV的累加量,PGMV(k-1)表示 GMV从第1帧到第k帧的累加值,将PGMV的各个分量分别送入一维的卡尔曼 滤波器中进行滤波,则得到:

JMVs(k-1)=CMVs(k-1)=PGMVs(k-1)-Kos(k-1)JMVθ(k-1)=CMVθ(k-1)=PGMVθ(k-1)-Koθ(k-1)JMVx(k-1)=CMVx(k-1)=PGMVx(k-1)-Kox(k-1)JMVy(k-1)=CMVy(k-1)=PGMVy(k-1)-Koy(k-1)---(7)

其中,Ko(k-1)=[Kos(k-1),Koθ(k-1),Kox(k-1),Koy(k-1)]表示四个卡尔曼滤波器 在第k-1时刻的输出,PGMV(k-1)和Ko(k-1)两个矢量之间的差表示第k-1帧的运 动补偿矢量,CMV(k-1)=[CMVs(k-1),CMVθ(k-1),CMVx(k-1),CMVy(k-1)]第k-1帧的抖 动运动矢量用JMV(k-1)=[JMVs(k-1),JMVθ(k-1),JMVx(k-1),JMVy(k-1)]表示,其在数 值上与第k-1帧的运动补偿矢量CMV(k-1)相等;

步骤(c):根据卡尔曼滤波器理论对状态进行预测;

x^(k+1|k)=Φx^(k|k)+Γu(k)P(k+1|k)=ΦP(k)ΦT+R1---(8)

其中,和是根据k时刻对k+1时刻的估值,而P(k)为协方 差矩阵,P(k+1|k)是其根据当前时刻对下一时刻的估值,另外,噪声信号v(k)和 w(k)认为是不相关的,R1为噪声信号v(k)的方差;

步骤(d):引入场景识别参数,λ=[λsθxy],来识别当前场景为追拍运 动或是抖动运动,λ值由下式确定:

λx=|max(Σi=k-Lk-1JMVx(i))+min(Σi=k-Lk-1JMVx(i))|2λy=|max(Σi=k-Lk-1JMVy(i))+min(Σi=k-Lk-1JMVy(i))|2λθ=|max(Σi=k-Lk-1JMVθ(i))+min(Σi=k-Lk-1JMVθ(i))|2---(9)

其中,L表示选取一定时间段内JMV的窗长,当某一个参量方向上存在追拍 运动时,参数λ在这个方向上的数值大,反之,λ将是一个接近于0的很小值;

步骤(e):根据λ的值确定第k帧观测噪声方差R(k)的值:

Rs(k)=f(λs)Rθ(k)=f(λθ)Rx(k)=f(λx)Ry(k)=f(λy)---(10)

其中f(·)为非线性函数,而且随着λ的增大而递减,这里给出一个参考的非线 性函数,参考函数中,参量kp的经验值取100;

Rs(k)=f(λs)=kpλs2Rθ(k)=f(λθ)=kpλθ2Rx(k)=f(λx)=kpλx2Ry(k)=f(λy)=kpλy2---(11)

当某一个参数方向存在追拍时,由参量确定的R(k)会很小,因而能很好的发 挥卡尔曼滤波器的跟踪特性;反之,当前只存在随机抖动,R(k)的值很大,能很 好的发挥卡尔曼滤波器的平滑作用;

步骤(f):利用改进的卡尔曼滤波器和步骤(e)确定的观测噪声方差R(k), 对状态进行更新:

K(k)=P(k|k-1)CT(H(k)P(k|k-1)H(k)T+R(k))-1x^(k|k)=x^(k|k-1)+K(k)(y(k)-Cx^(k|k-1))P(k+1)=(1-K(k)C(k))P(k+1|k)---(12)

这里,R(k)为标量而非矢量,这是由于采用系统模型是单观测的,若采用多 观测的系统模型,则应用R(k)来表示观测噪声的协方差矩阵;

步骤6:对含抖动的图像序列进行补偿:将运动补偿得到的运动补偿向量的 各个参量,CMV=[s',θ',d'x,d'y]以及原图像的像素位置代入下式,进行补偿:

xy=scosθ-sinθsinθcosθxy+dxdy---(13)

并将像素赋给新的坐标位置(x',y'),即完成了稳像;如果采取简化后的模型, 应用下式进行补偿:

xy=1-θθ1xy+dxdy---(14)

本发明有益效果是:一种基于改进的卡尔曼滤波的实时数字视频稳像方法, 包括以下步骤:步骤1、建立帧间运动模型,步骤2、对图像进行分块,步骤3、 改进的菱形快速块匹配,步骤4、基于最小二乘的全局运动估计,步骤5、利用改 进的卡尔曼滤波器对图像序列进行补偿,步骤6、对含抖动的图像序列进行补偿; 与已有技术相比,本发明对传统的菱形搜索进行了优化,在达到同样或是较好的 估计效果的条件下,能减少块匹配算法的运行时间;在运动补偿方面,也能很好 的去除抖动分量、很好地保留追拍分量。

附图说明

图1是改进的菱形搜索(大模板)的示意图。

图2是菱形搜索(小模板)的示意图。

图3是基于优化的菱形搜索和改进的卡尔曼滤波的实时数字视频稳像方 法的系统框图。

图4是原始视频(A)参考帧图像图。

图5是原始视频(A)当前帧图像图。

图6是用传统菱形搜索算法处理后图像图。

图7是用本发明方法改进的菱形搜索算法处理后图像图。

图8是原始视频(B)参考帧图像图。

图9是原始视频(B)当前帧图像。

图10是用本发明方法处理后图像图。

图11是原始视频(C)的连续图像序列图。

图12是用本发明方法改进的卡尔曼滤波器处理后连续图像序列图。

图13是用传统的卡尔曼滤波器处理后的连续图像序列图。

图14是利用PID、MVI、传统的卡尔曼滤波器和本方法存在追拍时的补偿 效果对比图。

具体实施方式

下面结合附图对本发明作进一步说明。

一种基于改进的卡尔曼滤波的实时数字视频稳像方法,包括以下步骤:

步骤1:建立帧间运动模型:选用Similarity运动模型对图像序列的运动进行 描述,以反映图像序列帧间的平移、绕光轴旋转和变焦运动,其运动模型为:

xy=scosθsinθ-sinθcosθxy+dxdy---(15)

其中,(x,y)和(x',y')分别表示每个像素点在参考帧和当前帧的坐标,s代表摄 像机的变焦系数,θ代表帧间图像的旋转角度,dx、dy分别代表水平和垂直方向 的偏移量;对于安防监控或手持成像小幅抖动的情况下,图像序列帧间的偏转角θ 很小,认为cosθ≈1,sinθ≈θ;同时,变焦系数s保持不变,设为1,这样,(1)式 的简化模型为:

xy=s1θ-θ1xy+dxdy---(16)

步骤2:对图像进行分块:将图像分成一系列8×8的图像块,图像块应选在 具有明显图像特征且不为运动前景目标的区域;

步骤3:改进的菱形快速块匹配:按照绝对平均误差函数(Mean Absolute  Difference,MAD)准则进行匹配;选取以当前帧选定子块为中心的8×8个像素点, 进行对应上一帧的相同位置和周围8个方向的搜索,使用菱形搜索算法大模板, 搜索的单位步长为2,具体包括以下子步骤(a)、(b)及(c);

步骤(a):若匹配后,最小位置为9个位置中的中心位置,则执行步骤(c), 否则,最小位置为外围的8个位置,则执行步骤(b);

步骤(b):记录当前最小位置的MAD值,记为MAD0,并沿着该最小位置 的方向再进行一次匹配,得到新的MAD值,记为MAD1,若MAD1小于MAD0, 则循环执行步骤(b),若MAD1大于或等于MAD0,则跳转到步骤3;

步骤(c):匹配后,最小位置为9个位置中的中心位置,则以步骤(a)得 到的最小MAD值的位置为初始位置,进行对应上一帧的相同位置和周围4个方 向的搜索,使用菱形搜索算法小模板,得到当前的最小MAD值即为最佳匹配位 置:

MAD(i,j)=164Σm=18Σn=18|fk(m,n)-fk-1(m+i,n+j)|---(17)

步骤4:基于最小二乘的全局运动估计:对式(1)进行整理,得到的矩阵方程:

x-y10yx01scosθssinθdxdy=xy---(18)

根据每个8×8的图像块得到的运动矢量及匹配点对,利用随机采样一致性 (Random Sample Consensus,RANSAC)剔除错误的匹配点对,并利用保留下来 的正确值以及式(4)对参数s,θ,dx,dy进行最小二乘估计;利用最小二乘估计思想估 计出的全局运动参数,即得到了当前帧相对于上一帧的全局运动向量,即 GMV=[GMVs,GMVθ,GMVx,GMVy]=[s,θ,dx,dy];

步骤5:利用改进的卡尔曼滤波器对图像序列进行补偿,具体包括子步骤(a)、 (b)、(c)、(d)、(e)及(f);

步骤(a):根据状态空间理论对稳像系统进行建模,系统的状态方程和观测 方程分别为:

x(k+1)=Φx(k)+Γu(k)+v(k)y(k+1)=Hx(k)+w(k)---(19)

其中,Φ、Γ和H分别为传递矩阵、输入矩阵和观测矩阵;x(k)、y(k)和u(k) 分别为状态向量、观测向量和控制向量,而v(k)和w(k)代表噪声向量;为了简化 起见,采用具有两个状态和单观测的线性系统进行建模,其中Φ,Γ和H的取值 如下:

Φ=1101,Γ=1001,H=10---(20)

步骤(b):用PGMV表示全局运动矢量GMV的累加量,PGMV(k-1)表示 GMV从第1帧到第k帧的累加值,将PGMV的各个分量分别送入一维的卡尔曼 滤波器中进行滤波,则得到:

JMVs(k-1)=CMVs(k-1)=PGMVs(k-1)-Kos(k-1)JMVθ(k-1)=CMVθ(k-1)=PGMVθ(k-1)-Koθ(k-1)JMVx(k-1)=CMVx(k-1)=PGMVx(k-1)-Kox(k-1)JMVy(k-1)=CMVy(k-1)=PGMVy(k-1)-Koy(k-1)---(21)

其中,Ko(k-1)=[Kos(k-1),Koθ(k-1),Kox(k-1),Koy(k-1)]表示四个卡尔曼滤波器 在第k-1时刻的输出,PGMV(k-1)和Ko(k-1)两个矢量之间的差表示第k-1帧的运 动补偿矢量,CMV(k-1)=[CMVs(k-1),CMVθ(k-1),CMVx(k-1),CMVy(k-1)]第k-1帧的抖 动运动矢量用JMV(k-1)=[JMVs(k-1),JMVθ(k-1),JMVx(k-1),JMVy(k-1)]表示,其在数 值上与第k-1帧的运动补偿矢量CMV(k-1)相等;

步骤(c):根据卡尔曼滤波器理论对状态进行预测;

x^(k+1|k)=Φx^(k|k)+Γu(k)P(k+1|k)=ΦP(k)ΦT+R1---(22)

其中,和是根据k时刻对k+1时刻的估值,而P(k)为协方 差矩阵,P(k+1|k)是其根据当前时刻对下一时刻的估值,另外,噪声信号v(k)和 w(k)认为是不相关的,R1为噪声信号v(k)的方差;

步骤(d):引入场景识别参数,λ=[λsθxy],来识别当前场景为追拍运 动或是抖动运动,λ值由下式确定:

λx=|max(Σi=k-Lk-1JMVx(i))+min(Σi=k-Lk-1JMVx(i))|2λy=|max(Σi=k-Lk-1JMVy(i))+min(Σi=k-Lk-1JMVy(i))|2λθ=|max(Σi=k-Lk-1JMVθ(i))+min(Σi=k-Lk-1JMVθ(i))|2---(23)

其中,L表示选取一定时间段内JMV的窗长,当某一个参量方向上存在追拍 运动时,参数λ在这个方向上的数值大,反之,λ将是一个接近于0的很小值;

步骤(e):根据λ的值确定第k帧观测噪声方差R(k)的值:

Rs(k)=f(λs)Rθ(k)=f(λθ)Rx(k)=f(λx)Ry(k)=f(λy)---(24)

其中f(·)为非线性函数,而且随着λ的增大而递减,这里给出一个参考的非线 性函数,参考函数中,参量kp的经验值取100;

Rs(k)=f(λs)=kpλs2Rθ(k)=f(λθ)=kpλθ2Rx(k)=f(λx)=kpλx2Ry(k)=f(λy)=kpλy2---(25)

当某一个参数方向存在追拍时,由参量确定的R(k)会很小,因而能很好的发 挥卡尔曼滤波器的跟踪特性;反之,当前只存在随机抖动,R(k)的值很大,能很 好的发挥卡尔曼滤波器的平滑作用;

步骤(f):利用改进的卡尔曼滤波器和步骤(e)确定的观测噪声方差R(k), 对状态进行更新:

K(k)=P(k|k-1)CT(H(k)P(k|k-1)H(k)T+R(k))-1x^(k|k)=x^(k|k-1)+K(k)(y(k)-Cx^(k|k-1))P(k+1)=(1-K(k)C(k))P(k+1|k)---(26)

这里,R(k)为标量而非矢量,这是由于采用系统模型是单观测的,若采用多 观测的系统模型,则应用R(k)来表示观测噪声的协方差矩阵;

步骤6:对含抖动的图像序列进行补偿:将运动补偿得到的运动补偿向量的 各个参量,CMV=[s',θ',d'x,d'y]以及原图像的像素位置代入下式,进行补偿:

xy=scosθ-sinθsinθcosθxy+dxdy---(27)

并将像素赋给新的坐标位置(x',y'),即完成了稳像;如果采取简化后的模型, 应用下式进行补偿:

xy=1-θθ1xy+dxdy---(28)

表1是本发明提出的实时数字视频稳像方法处理不同分辨率视频的耗时(每 帧取36个图像块)。

本发明优点在于:即便是有高速的主观追拍运动存在时,该方法依然能很好 地保留追拍分量,同时取得较好的平滑效果,对丢边现象的抑制明显优于其他补 偿算法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号