首页 / 专利库 / 视听技术与设备 / 帧间位移误差 / 一种结合光流法和卡尔曼滤波的视频稳像方法

一种结合光流法和卡尔曼滤波的视频稳像方法

阅读:825发布:2020-05-14

专利汇可以提供一种结合光流法和卡尔曼滤波的视频稳像方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种结合光流法和卡尔曼滤波的视频稳像方法,首先在预稳定阶段,通过光流法 跟踪 视频 帧 的最小特征值特征点,由此求解出每个视频帧的2D仿射变换矩阵,并将其作用于下一步输入视频的帧,从而将最终生成的裁剪视频作为预稳定阶段的输出。然后对预稳定视频帧进行Shi-Tomasi 角 点检测,并对角点进行LK角点跟踪;随后利用RANSAC 算法 估计全局运动;再使用卡尔曼 滤波器 对得到的运动参数进行滤波,以达到平滑的目的;最后由原始相机路径与平滑路径的关系进行 运动补偿 ,从而得到稳定视频;本发明采用光流法预稳定视频,使得视频内部运动减小,使得运动效果更好;本发明采用卡尔曼滤波器平滑相机路径,使得内部运动路径更加平滑。从而使得抖动视频更加稳定。,下面是一种结合光流法和卡尔曼滤波的视频稳像方法专利的具体信息内容。

1.一种结合光流法和卡尔曼滤波的视频稳像方法,其特征在于,包括以下步骤:
步骤1:针对原始抖动视频,进行预处理;
步骤2:对预处理后的视频进行点检测;
步骤3:对角点进行角点跟踪
步骤4:估计全局运动;
步骤5:对得到的运动参数进行滤波;
步骤6:由原始相机路径与平滑路径的关系进行运动补偿,从而得到稳定视频。
2.根据权利要求1所述的结合光流法和卡尔曼滤波的视频稳像方法,其特征在于:步骤
1中所述预处理,是通过光流法跟踪视频帧的最小特征值特征点,由此求解出每个视频帧的
2D仿射变换矩阵Ht,并将Ht作用于下一步输入视频的帧,从而将最终生成的裁剪视频作为预稳定阶段的输出;
t t+1
其中,在第t帧的特征点表示为fi ,对应的t+1帧的特征点为fi ,求解每帧2D仿射变换矩阵Ht,使得二阶导数的平方积分最小化,具体计算公式为:
其中,E(H)表示仿射变换矩阵导数平方积分最小化。
3.根据权利要求1所述的结合光流法和卡尔曼滤波的视频稳像方法,其特征在于:步骤
2中,对预处理后的视频帧进行Shi-Tomasi角点检测;
假设I(u,v)表示为灰度图的灰度值,(u,v)表示移动窗口其中一点的像素坐标,当窗口移动(Δx,Δy)得到的灰度值变化具体计算公式为:
其中, 表示窗口函数;
为了得到角点位置,只需要求E(Δx,Δy)的极大值;对灰度变换进行泰勒展开并舍去高阶项,具体计算公式为:
其中,M具体计算公式为:
其中,Ix,Iy分别表示x,y方向上的梯度值,代表张量积运算;假设λ1和λ2为M的2个特征值,且给定一个阈值λ,如果某一点满足min(λ1,λ2)>λ,则存在Shi-Tomasi特征点;反之,则不存在特征点。
4.根据权利要求1所述的结合光流法和卡尔曼滤波的视频稳像方法,其特征在于:步骤
3中,对角点进行LK角点跟踪;LK跟踪算法是一种以待跟踪窗口相邻帧间的灰度平方和SSD作为度量的匹配算法;
假设一个包含特征纹理信息的特征窗口W,设t时刻对应的视频帧用I(x,y,t)表示,t+τ时刻对应的视频帧用I(x,y,t+τ)表示,对应的位置具体计算公式为:
I(x,y,x+τ)=I(x-Δx,y-Δy);
其中,Δx,Δy为X(x,y)的偏移量;而在I(x,y,t+τ)中的每个像素点,根据I(x,y,t)中相对应的像素点平移d(Δx,Δy)求得;
假设相邻帧I和J,为了找到能够使SSD最小化的d;ε具体计算公式为:
其中,ε表示SSD,W是给定的特征窗口,ω(X)是数值为1的权重函数,X表示视频帧运动位移,I(X)表示对应时刻的视频帧;
因d远小于X,即对J(X+d)进行泰勒展开,且去掉最高次项,仅保留前两项,而g是泰勒展开式的一阶泰勒系数;为了得到最佳匹配的角点,对最小化d求导化简得到具体计算公式为:
其中,gx是图像x方向的矩阵;gy是图像y方向的矩阵;
为了得到最优的匹配,对每个点进行迭代,求得最终解,具体计算公式为:
其中,dk表示第k次迭代所计算得到的d值,且初始值d0=0。
5.根据权利要求1所述的结合光流法和卡尔曼滤波的视频稳像方法,其特征在于:步骤
4中,采用仿射变换作为相邻帧间的全局运动,利用RANSAC算法估计出帧间的仿射变换矩阵;
其数学模型可表示为:
其中, 是仿射变换矩阵,a11,a12,a21,a22表示视频帧间的旋转和缩放部
分,a13,a23表示视频帧间的平移部分;
假设视频帧I与J是相邻的两帧图像,运动参数具体计算公式为:
其中,(x,y)为视频帧I的中心像素点,Tx为平方向平移值,Ty为垂直方向平移值;X表示图像水平方向;Y表示图像垂直方向;
根据跟踪到的角点,利用RANSAC算法估计出相邻帧间的仿射变换矩阵,求解得到第t帧到第t+1帧的单应变换矩阵Ht,由此计算原始相机路径Ct,具体计算公式为:
Ct=Ct-1Ht,t=1,2,…,N;
其中,N表示视频总帧数。
6.根据权利要求1所述的结合光流法和卡尔曼滤波的视频稳像方法,其特征在于:步骤
5中,使用卡尔曼滤波器对得到的运动参数进行滤波;
利用卡尔曼滤波对运动路径做优化的预测模型具体计算公式为:
其中,X(t|t-1)表示第t帧对应状态量预测的结果,X(t-1|t-1)表示第t-1帧对应状态量的最优估计值,P(t|t-1)表示第t帧对应的状态协方差,F表示系统转移矩阵,Q表示预测噪声的方差;
卡尔曼滤波器的更新模型具体计算公式为:
其中,M(t)表示第t帧的卡尔曼增益,t表示观测矩阵,I表示单位矩阵,R表示测量噪声的协方差,P(t|t)表示滤波后的协方差,H表示均方误差。
7.根据权利要求1-6任意一项所述的结合光流法和卡尔曼滤波的视频稳像方法,其特征在于:步骤6中,通过运动平滑对相机路径Ct平滑处理之后,将对视频的每一帧进行补偿;
假设补偿矩阵为Bt,则得到的视频帧间的路径Pt,具体计算公式为:
Pt=CtBt
t t
通过视频帧间路径计算得出相邻帧间的补偿矩阵B ;计算每一帧的补偿矩阵后,利用B对每一帧图像进行几何变换,从而得到稳定的帧序列,也就得到了稳定的视频。

说明书全文

一种结合光流法和卡尔曼滤波的视频稳像方法

技术领域

[0001] 本发明属于数字图像视频处理技术领域,涉及一种视频稳像方法,特别是涉及一种结合光流法和卡尔曼滤波的视频稳像方法。

背景技术

[0002] 随着当今自媒体的发展,通过智能设备拍摄短视频已经成为人们记录生活的主流方式。虽然当今部分品牌手机内部嵌入防抖摄像功能,但是在手持移动设备拍摄视频的过程中,由于外在相关条件的影响,拍摄的视频依旧很不稳定。视频稳像技术的目的主要是消除或减少视频的抖动,提高视频图像质量
[0003] 视频稳像算法通常包含2D方法、2.5D方法和3D方法。3D方法通常用于耗时的三维重建。2.5D方法适用于专业拍摄设备。2D方法由于处理速度快以及有较好的鲁棒性,常被用于处理视频稳像问题。
[0004] 视频稳像方法一般分成3个部分:运动估计、运动平滑和运动补偿。2D稳像中的相机运动估计先进行局部运动估计,再通过局部运动向量估计全局运动向量。局部运动估计方法主要包括两类:基于像素点的方法和基于特征点的方法。基于像素点的方法主要包括匹配法、相位相关法、灰度投影法以及光流法等。块匹配法原理简单、实现方便,应用广泛,但是在有快速运动的场景中效果并不好;相位相关法是一种非线性的算法,基础原理是傅里叶变换,有较高的匹配精度,且具有一定的抗干扰能,但是计算时间过长,不适用实时;光流法尽管不需要了解相关场景信息,就能准确地检测识别运动目标位置,但有计算量大,耗时长,对光线敏感等缺点。基于特征点的方法主要将高维的图像数据进行简化表达,常见方法包括点检测法、斑点检测法、边检测法等。角点是指在某方面属性特别突出的点,一般角点检测法有Harris角点检测法、FSAT算法等。斑点检测主要对它周围图像像素灰度值大或者小的区域进行检测,常见方法有SIFT算法、SURF算法等。角点检测容易受噪声影响且对边缘信息提取的依赖性不足;斑点检测速度较慢,很难实时处理图像;边检测法针对复杂场景以及光照不均很难进行处理。

发明内容

[0005] 本发明提出的一种结合光流法和卡尔曼滤波的视频稳像方法,主要针对手持设备拍摄的抖动视频问题,能够较好的解决视频抖动的问题。
[0006] 本发明所采用的技术方案是:一种结合光流法和卡尔曼滤波的视频稳像方法,其特征在于,包括以下步骤:
[0007] 步骤1:针对原始抖动视频,进行预处理;
[0008] 步骤2:对预处理后的视频进行Shi-Tomasi角点检测;
[0009] 步骤3:对角点进行LK角点跟踪
[0010] 步骤4:利用RANSAC算法估计全局运动;
[0011] 步骤5:使用卡尔曼滤波器对得到的运动参数进行滤波,以达到平滑的目的;
[0012] 步骤6:由原始相机路径与平滑路径的关系进行运动补偿,从而得到稳定视频。
[0013] 本发明提出了一种结合光流法和卡尔曼滤波的视频稳像算法,与现有算法相比,其显著优点在于:
[0014] (1)本发明采用光流法预稳定视频,使得视频内部运动减小,使得运动效果更好;
[0015] (2)本发明采用Shi-Tomasi算法检测特征点,检测出图像中梯度变化较大的点,再对相邻帧间的特征点进行跟踪,由此估计仿射变换。将帧间的仿射变换进行累积,得到相机的路径,从而准确计算相机路径;
[0016] (3)本发明采用卡尔曼滤波器平滑相机路径,使得内部运动路径更加平滑。
[0017] 从而使得抖动视频更加稳定;
[0018] (4)本发明采用原始相机路径原相机运动轨迹和平滑的运动轨迹之间的位置差异,求得相邻每帧的运动补偿,最后对每一帧进行运动补偿,从而达到稳定的视频。附图说明
[0019] 图1为本发明实施例流程图

具体实施方式

[0020] 为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
[0021] 请见图1,本发明提供的一种结合光流法和卡尔曼滤波的视频稳像方法,包括以下步骤:
[0022] 步骤1:针对原始抖动视频,进行预处理;
[0023] 本实施例中,预处理是通过光流法跟踪视频帧的最小特征值特征点,由此求解出每个视频帧的2D仿射变换矩阵Ht,并将Ht作用于下一步输入视频的帧,从而将最终生成的裁剪视频作为预稳定阶段的输出;
[0024] 本实施例首先采用光流法跟踪所有视频帧上的角点。在第t帧的特征点表示为fit,对应的t+1帧的特征点为fit+1,求解每帧2D仿射变换矩阵Ht,使得二阶导数的平方积分最小化,具体计算公式为
[0025]
[0026] 其中,E(H)表示仿射变换矩阵二阶导数平方积分最小化。
[0027] 步骤2:对预处理后的视频帧进行Shi-Tomasi角点检测;
[0028] 角点也称极值点,是指像素变化较快的拐角位置或直线相交处。Shi-Tomasi角点是对Harris角点的改进,是一种局部特征检测方法,主要思想是通过改变移动窗口从而计算出窗口内灰度的变化。
[0029] 假设I(u,v)表示为灰度图的灰度值,(u,v)表示移动窗口其中一点的像素坐标,当窗口移动(Δx,Δy)得到的灰度值变化具体计算公式为:
[0030]
[0031] 其中, 表示窗口函数。
[0032] 为了得到角点位置,只需要求E(Δx,Δy)的极大值即可。对灰度变换进行泰勒展开并舍去高阶项,具体计算公式为:
[0033]
[0034] 其中,M具体计算公式为:
[0035]
[0036] 其中,Ix,Iy分别表示x,y方向上的梯度值, 代表张量积运算。假设λ1和λ2为M的2个特征值,且给定一个阈值λ,如果某一点满足min(λ1,λ2)>λ,则存在Shi-Tomasi特征点;反之,则不存在特征点。
[0037] 步骤3:对角点进行LK角点跟踪;
[0038] 通过Shi-Tomasi角点检测后,需要对其进行跟踪。LK跟踪算法也称KLT跟踪算法,是常用的角点跟踪算法,也是一种以待跟踪窗口相邻帧间的灰度平方和(SSD)作为度量的匹配算法。
[0039] 假设一个包含特征纹理信息的特征窗口W,设t时刻对应的视频帧用I(x,y,t)表示,t+τ时刻对应的视频帧用I(x,y,t+τ)表示,对应的位置具体计算公式为:
[0040] I(x,y,x+τ)=I(x-Δx,y-Δy)
[0041] 其中,Δx,Δy为X(x,y)的偏移量。而在I(x,y,t+τ)中的每个像素点,都可以根据I(x,y,t)中相对应的像素点平移d(Δx,Δy)求得。
[0042] 假设相邻帧I和J,为了找到能够使SSD(用ε表示)最小化的d。ε具体计算公式为:
[0043]
[0044] 其中,W是特征窗口,ω(X)是数值为1的权重系数,X表示视频帧运动位移,I(X)表示对应时刻的视频帧;
[0045] 由于d通常远小于X,即可对J(X+d)进行泰勒展开,且去掉最高次项,仅保留前两项,而g是泰勒展开式的一阶泰勒系数。为了得到最佳匹配的角点,对最小化d求导化简得到具体计算公式为:
[0046]
[0047] 其中,gx是图像x方向的矩阵;gy是图像y方向的矩阵。
[0048] 为了得到最优的匹配,对每个点进行迭代,求得最终解,具体计算公式为:
[0049]
[0050] 其中,dk表示第k次迭代所计算得到的d值,且初始值d0=0。
[0051] 步骤4:利用RANSAC算法估计全局运动;
[0052] 相邻帧间的复杂变换主要表现在相似变换、刚性变换、仿射变换等。本文采用仿射变换作为相邻帧间的全局运动,利用RANSAC算法估计出帧间的仿射变换矩阵。其数学模型可表示为:
[0053]
[0054] 其中, 是仿射变换矩阵,a11,a12,a21,a22表示视频帧间的旋转和缩放部分,a13,a23表示视频帧间的平移部分。
[0055] 抖动视频产生的原因在于视频内容运动与相机主运动方向不一致。RANSAC算法可将与相机主运动方向不一致的角点或者特征点剔除,这些点会使得视频帧运动模型的求解结果出现偏差。
[0056] 假设视频帧I与J是相邻的两帧图像,运动参数具体计算公式为:
[0057]
[0058] 其中,(x,y)为视频帧I的中心像素点,Tx为平方向平移值,Ty为垂直方向平移值,X表示图像水平方向;Y表示图像垂直方向;
[0059] 仿射变换包含6个自由度,且包含刚性变换、相似变换等。
[0060] 根据跟踪到的角点,利用RANSAC算法估计出相邻帧间的仿射变换矩阵。求解得到第t帧到第t+1帧的单应变换矩阵Ht。由此计算原始相机路径Ct,具体计算公式为:
[0061] Ct=Ct-1Ht,t=1,2,…,N
[0062] 其中,N表示视频总帧数。
[0063] 步骤5:使用卡尔曼滤波器对得到的运动参数进行滤波,以达到平滑的目的;
[0064] 运动平滑主要为了去除原始相机路径的抖动,使得路径变得平滑。运动平滑通常可以通过高斯滤波器、卡尔曼滤波器或者曲线拟合等方式来完成。本文主要通过卡尔曼滤波器对上一步原始相机路径进行平滑处理。
[0065] 卡尔曼滤波利用递推估计,从运动矢量中提取有意的运动矢量,可由前一时刻的估计值预测当前时刻值。利用卡尔曼滤波对运动路径做优化的预测模型具体计算公式为:
[0066]
[0067] 其中,X(tt-1)表示第t帧对应状态量预测的结果,X(t-1|t-1)表示第t-1帧对应状态量的最优估计值,P(tt-1)表示第t帧对应的状态协方差,F表示系统转移矩阵,Q表示预测噪声的方差。
[0068] 卡尔曼滤波器的更新模型具体计算公式为:
[0069]
[0070] 其中,M(t)表示第t帧的卡尔曼增益,t表示观测矩阵,I表示单位矩阵,R表示测量噪声的协方差,P(tt)表示滤波后的协方差,H表示均方误差。
[0071] 步骤6:由原始相机路径与平滑路径的关系进行运动补偿,从而得到稳定视频;
[0072] 由运动平滑得到相机运动轨迹后,根据原相机运动轨迹和求得的新的运动轨迹之间的关系,可得新的运动网格。依据新的运动网格和原视频网格间的位置差异,求得相邻每帧的运动补偿,最后对每一帧进行运动补偿,进而达到稳定的视频。
[0073] 通过运动平滑对相机路径Ct平滑处理之后,将对视频的每一帧进行补偿。假设补偿矩阵为Bt,则得到的视频帧间的路径Pt,具体计算公式为:
[0074] Pt=CtBt
[0075] 通过视频帧间路径计算得出相邻帧间的补偿矩阵Bt。计算每一帧的补偿矩阵后,利用Bt对每一帧图像进行几何变换,从而得到稳定的帧序列,也就得到了稳定的视频。
[0076] 应当理解的是,本说明书未详细阐述的部分均属于现有技术;上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈