一种基于捆绑测地线路径优化的视频稳像方法与流程

文档序号:12696260阅读:352来源:国知局

本发明涉及一种视频稳定方法,特别涉及一种基于分块路径优化的视频稳定方法,属于视频处理技术领域。



背景技术:

专业摄像师通常使用摄影车或者摄像机稳定器来保证拍摄视频的稳定性,而普通用户使用手持设备如手机、录像机、平板电脑等或者车载摄像头进行视频拍摄时,由于没有专业拍摄技能和专业稳像设备,所拍摄的视频往往稳定性较差。当前,智能手机、平板电脑是主流的智能终端产品,也已经是人们生活中的必需品;可穿戴式设备作为新生代智能设备正逐渐成为热点。它们都具备摄像功能,且使用者大多是普通业余用户,拍摄的视频通常面临着画面抖动问题,尤其运动中拍摄的视频抖动情况会更加剧烈,因此需要高效的视频稳定方法。

视频稳定方法的发展已有三十多年了,国内外的学者已经做了大量的基础研究。常用的视频稳定方法主要包括三种:基于2D的方法、基于3D的方法和基于2.5D的方法。基于2D以基于L1优化的视频稳定(M.Grundmann,V.Kwatra and I.Eassa.Auto-directed video stabilization with robust L1 optimal camera paths.In Proc.CVPR,225–232,2011)为代表,使用矩阵描述摄像机的运动轨迹,并对运动矩阵进行平滑,获得稳定的视频数据;但是该方法无法准确地描述带有大视差的场景,对于具有较大景深的场景其稳定后的视频往往带有显著的扭曲。基于3D的方法以基于内容保护图像扭曲的3D视频稳定(F.Liu,M.Gleicher,H.L.Jin,and A.Agarwala,Content-preserving warps for 3D video stabilization.ACM Transactions on Graphics 28(3):44:1–44:9,2009)为代表,主要依赖于SfM方法进行3D场景重建,根据重建出来的场景来获得稳定后的视频。但是由于SfM方法目前还不成熟,对于复杂的场景无法进行正确的重建,因此该方法存在着一定的局限性,限制了其实际应用。基于2.5D的方法以子空间稳定(F.Liu,M.G leicher,J.Wang,H.L.Jin and A.Aharwala.Subspace video stabilization.ACM Transactions on Graphics 30(1):4:1–4:10,2011)为代表,使用特征点轨迹描述摄像机运动,对于轨迹求取其子空间,在子空间上对轨迹进行平滑,进而恢复得到全部的稳定视频轨迹。但是本方法的子空间求取依赖于足够数目的较长特征点轨迹,对于没有长轨迹的视频则无法进行处理。



技术实现要素:

本发明的目的是针对带有抖动或者晃动的视频数据,提出一种视频稳定方法,使用户获得较舒适的观看感受。

本发明技术方案的思想是利用分网格的方式将视频帧按一定的约束(该约束会使块与块之间产生关联)分为一块块的,在每一块内进行运动路径的估计、平滑以及视频帧的补偿,最后将所有补偿后的图像块合为一块,得到稳定图像。这样的方式可以使图像的变换更具灵活性,提升稳像的效果。此外,因为测地线本身就是平滑的路径,因此本发明直接利用测地线作为平滑后的路径,这样避免了大规模的滤波运算,而且稳像效果不亚于其他稳像的方法。

本发明的具体实现步骤如下:

一种基于捆绑测地线路径优化的视频稳像方法,该方法包括以下步骤:

步骤一、对于待稳像视频,提取视频中每帧图像的特征点,并对相邻两帧之间的特征点进行匹配;

作为优选,所述特征点选用Harris角点或者SIFT特征点,对相邻两帧之间的特征点进行匹配采用RANSAC方法。

步骤二、将视频帧按照一定的规格网格化,并且记录网格化之后每个网格顶点的坐标;

作为优选,所述将视频帧按照一定的规格网格化是将视频帧分割为8x8或是16x16个网格。

步骤三、通过下述过程计算相邻帧之间对应网格的变换关系Fi(t):

3.1、通过最小化下述能量函数求解得到每个视频帧的网格顶点在下一帧中的位置:

s=‖v-v1‖/‖v0-v1‖; (4)

其中,表示当前帧中所有网格顶点对应到下一帧中的位置;α表示权重,用来调节和这两项的比重;表示当前帧中包含特征点p的四个网格顶点对应到下一帧中的位置,包含于中;表示下一帧中与当前帧中特征点p匹配的特征点;特征点p可以用p所在网格四个顶点的2D线性插值来表示,形式为p=Vpωp,其中Vp示当前帧中的特征点p所在网格的四个顶点,ωp表示的是四个顶点的插值权重,该式表示四个顶点以怎样的比重相加可以得到特征点p;式(2)中求和范围为当前帧中的所有特征点;v表示当前帧中网格的顶点,v1表示当前帧网格中与v逆时针或顺时针相邻的顶点,v0表示当前帧网格中与v对角的顶点,表示与当前帧中v、v1、v0对应的下一帧中的位置,包含于中;式(2)中求和范围为当前帧中的所有网格的所有顶点;

作为优选,所述α的取值范围为0.3到3之间。

3.2、通过对下式求解得到相邻两帧每个网格的单应变换矩阵Fi(t):

其中,Vi表示当前帧中第i个网格的四个顶点,表示由步骤(1)得到的当前帧中第i个网格的四个顶点对应到下一帧中的位置,Fi(t)表示当前帧t中第i个网格到下一帧的单应变换矩阵;

步骤四、对视频帧分段并基于步骤3.2得到的Fi(t)通过下式计算每一段内的运动路径

其中,t表示当前的帧数,j表示组数,表示第j组内第t帧第i个网格的运动;

步骤五、基于步骤四得到的通过下式计算每一段内各个网格的测地线来得到平滑后的路径

其中

ExpX(U)=exp(-(U)T)exp(U+UT);

其中,表示平滑后第j组第t帧第i个网格的运动,t表示当前帧,t0表示每一段的起始帧,t1表示每一段的末尾帧,ExpX(.)和LogX(.)为定义在X∈G上的黎曼指数函数和黎曼对数函数,G是一种空间几何变换的集合;

A表示二阶以上的矩阵;

作为优选,所述对视频帧分段时每段的帧数取值范围为25到30之间。

步骤六、根据步骤四和步骤五所得结果通过如下公式计算补偿矩阵然后利用对相应帧的网格变换得到平滑后的稳定帧:

其中,表示第j组第t帧第i个网格的补偿矩阵。

有益效果:

对比现有技术,本发明具有以下特点:

(1)传统的2D稳像方法在处理景深比较大的场景时稳像效果不佳,而且在处理这类的视频中会产生很严重的图像扭曲变形。在本发明中加入了分块处理的方法,而且还有保形的约束,不但可以有效地控制图像的扭曲,而且在处理景深视差比较大的抖动视频时依然可以得到稳定的效果。

(2)传统的路径平滑优化都是在欧式距离空间中利用各个滤波器来平滑路径,这种平滑的方法一方面需要利用到前后多帧之间的关系,平滑的过程也可能需要多次迭代,计算量比较大;再一方面由于滤波器存在一定的误差,导致平滑的效果不佳;测地线本身就是一条平滑的路径,因此本发明方法通过采用测地线不但省去了滤波过程的计算量,也避免了滤波器误差对结果的影响,因此该方法的效率极高,稳定效果也比较好。

附图说明

图1是本发明实施例一种基于捆绑测地线路径优化视频稳定方法的流程示意图。

具体实施方式

下面结合附图1对本发明方法的优选实施方式做详细说明。

一种基于捆绑测地线路径优化的视频稳定方法,如图1所示,包括如下步骤:

步骤一、计算特征点轨迹

对于抖动视频,提取视频帧中特征点,一般选用Harris角点或者SIFT特征点(D.G.Lowe.Object recognition from local scale-invariant features.In Proc.ICCV,pages 1150–1157,1999.),使用RANSAC的方法来实现特征点的匹配,正如本领域技术人员公知的,RANSAC是拟合以及匹配计算常用的方法,此处不再赘述。

步骤二、视频帧网格化

将视频帧按照一定的规格网格化,并且记录网格化之后每个网格的顶点坐标。在实际的实施过程中一般是将宽高设为8x8或是16x16等,可以获得较好视频稳定效果。

步骤三、计算相邻帧之间对应网格的变换关系

视频稳像的第一步就是相机运动路径的估计,准确估计运动路径需要利用相邻两帧对应网格的矩阵变换关系,为了计算该变换关系,本发明先利用求解能量函数的方法获取前一帧变换到后一帧时对应的每一个网格顶点,然后利用前后对应网格的顶点求取网格的矩阵变换关系。其中求取变换后网格顶点的能量函数是通过平衡匹配程度和变形扭曲程度这两个能量项而构造的。如下:

利用步骤一中相邻两帧之间的匹配特征点来构造优化匹配的能量项,具体为:

其中

p=Vpωp

该能量项是对每一个匹配特征点而言的,其中,表示一对匹配的特征点,p表示当前帧的特征点,表示下一帧中与特征点p匹配的特征点。Vp表示当前帧中包含特征点p的网格顶点,ωp表示特征点p与包含特征点p的当前帧的网格顶点的权重,ωp的计算可通过p=Vpωp求解得到。表示当前帧中网格顶点对应到下一帧中的位置,这是能量函数要求的未知量,表示当前帧中包含特征点p的四个网格顶点对应到下一帧中的位置,包含于中,通过最小化该能量项可以降低匹配的误差;

为了使变形之后的图像可以保持基本的内容,不会出现过度的扭曲和形变,利用形状保持算法构造一个可以保持图像基本形状的能量项,具体如下:

其中,同上,s=‖v-v1‖/‖v0-v1‖。该能量项中,v是网格中顶点,v1是网格中与v逆时针相邻的顶点(即当v为左上角的点时,v1为左下角的点;当v为左下角的点时,v1为右下角的点;当v为右下角的点时,v1为右上角的点;当v为右上角的点时,v1为左上角的点),v0是网格中与v对角顶点,是当前帧中v,v1,v0所对应于下一帧中的位置,包含于中。最小化该能量项可以使变形后的图像基本保持原先的形状。

最后,将这两个能量项相加并利用权重α来调节这两项的比重,具体的形式如下:

通过求解这个优化公式可以得到视频帧的网格顶点在变形之后的位置。在实际的实施过程中可以动态调节α使得最后的结果稳像效果好,扭曲程度低。实验表明,α控制在0.3~3之间的稳像效果比较好。

由于是二次方程式,所以求解该方程式可以通过一般的稀疏线性系统求解器来求解

在获取变形后网格顶点位置之后,利用每个网格相邻前后两帧的四个顶点的位置变换来求取每个网格的单应变换矩阵,形式如下:

i表示当前的网格数,Fi表示第i个网格的单应变换矩阵,表示变形后的第i个网格顶点,Vi表示变形前的第i个网格顶点,Fi(t)表示第t帧第i个网格的单应变换矩阵。

步骤四、分段及段内运动路径的表示

在得到了每相邻两帧之间的变换关系之后,下一步就是估计运动路径。为了可以使计算过程中的误差减小,将视频按每组固定的帧数切分为多段,每一段分别进行处理。每一段内的运动路径用如下的公式来表示

其中,t表示当前的帧数,j表示组数,表示在第j组内第t帧第i个网格的运动表示,表示在第j组,第t-1帧的第i个网格和第t帧的第i个网格之间的变换关系。本发明在实验的过程中将每一段的帧数控制在25到30之间,每段的帧数过长的话首末两帧变化太大会导致平滑后的路径偏离原始路径过大,过短的话前后两帧之间的时间间隔比较短,平滑的效果不明显。

步骤五、计算每一段内各个网格的测地线来得到平滑后的路径

在获取了每一段的运动路径之后就是要得到每一段内的平滑路径。众所周知,所有的矩阵群都是李群,也就是说矩阵群具备流形结构,流形上任意测地线都是唯一的,而且是局部最短的,因此测地线就可以作为平滑之后的路径。计算测地线的过程中需要利用黎曼函数做空间的映射,具体的形式如下:

其中

ExpX(U)=exp(-(U)T)exp(U+UT)

其中表示平滑后第j组第t帧第i个网格的运动表示,t表示当前帧,t0表示每一段的起始帧,t1表示每一段的末尾帧。ExpX(.)和LogX(.)为定义在X∈G(G是一种空间几何变换的集合)上的黎曼指数函数和黎曼对数函数。事实上,LogX(.)将X映射到X切空间上的一个元素,ExpX(.)则是其反映射,exp(A)表示对矩阵的指数运算。在实际的计算过程中LogX(.)的计算可使用Matlab中的矩阵指数函数expm()和非线性最小二乘函数lspnonlin()进行运算,LogX(.)是ExpX(.)的反函数,那么利用非线性最小二乘函数lspnonlin()和ExpX(.)函数来拟合得到LogX(.)的结果,matlab的代码示例如下:

Rlog(g)的结果即为LogX(.)的结果。

步骤六、计算补偿矩阵并由此变形视频帧

在上述的步骤中得到了平滑前的运动表示以及平滑后的运动表示通过如下的公式求得每一帧各个网格的补偿矩阵:

其中,表示第j组第t帧第i个网格的补偿矩阵,之后利用对相应帧的网格变换得到平滑后的稳定帧。

为了说明本发明的内容及实施方法,本说明书给出了一个具体实施例。在实施例中引入细节的目的不是限制权利要求书的范围,而是帮助理解本发明所述方法。本领域的技术人员应理解:在不脱离本发明及其所附权利要求的精神和范围内,对最佳实施例步骤的各种修改、变化或替换都是可能的。因此,本发明不应局限于最佳实施例及附图所公开的内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1