基于二维特征轨迹平滑的视频稳定算法*

2019-12-11 02:23郑文丽何小海卿粼波
通信技术 2019年12期
关键词:轨迹变形特征

郑文丽,任 超,何小海,卿粼波

(四川大学电子信息学院,四川 成都 610065)

0 引 言

伴随视频采集和处理技术的快速发展,人们可以通过数码相机,便携式摄像机甚至手机获取高品质视频。然而这些均为手持设备,在拍摄过程中对手部动作非常敏感,所捕获的视频中难免会存在抖动。抖动视频中图像序列的不连贯不仅容易引起视觉疲劳,还会加大对后续的视频分析、视频编码压缩算法[1]的难度。比如,在机载的摄像系统中,稳像技术可以提供稳定的图像序列,以实现目标的捕获、识别、跟踪和定位。因此,视频去抖的实用性使其成为研究热门,并且成功应用于生活中的各个领域。传统的视频稳定方法通过估计和平滑2D摄像机运动合成一个新的稳定视频。2D视频防抖最早是在1998年,由Morimoto和Chellappa[2]等学者提出基于相似性和单应性变换的低维模型防抖,算法效果比较鲁棒,但是不能对视差比较明显的场景做防抖处理。Liu[3]等学者在2009年提出的Content-Preserving Warps模型,能够保持场景中物体的相对空间关系,可以防止变形,但是防抖效果不佳。Liu[4]等学者采用了在低维空间中特征点的轨迹平滑约束的模型,Goldstein和Fattal[5]在算法模型中加入了极线约束,Liu[6]等学者提出了二维稠密光流的思想,提高了视频防抖算法的质量和稳定性。一般来说,二维方法更快,因为它们只估计连续帧之间的线性变换。但是二维直线运动模型,无法从根本上处理由场景中深度变化引起的视差。

本文在2D视频稳像基础上提出了一种2D相机运动平滑模型,该模型具有鲁棒性强、高质量、简单的特点。提出的2D相机运动平滑模型,采用了类似于双边滤波的思想来自适应控制平滑的强度,避免了过度裁剪和几何畸变。这种灵活的模型能够从根本上处理由视差和卷帘门效应引起的非线性运动。

1 传统2D视频稳像算法

2D视频稳像算法一般分为三个主要步骤:

(1)图像帧间运动估计,即相机“轨迹”拟合;

(2)相机“轨迹”平滑;

(3)视频图像帧变形裁剪。

1.1 帧间运动估计

通过视频相邻图像帧可以估计两帧图像间的运动。一般采用特征点匹配和参数化模型结合进行运动估计。常用的参数化全局运动模型包含:相似变化、仿射变化、单应性模型等。对于视频图像帧序列I0,I1,…,It-1,It。定义第t帧至第t+1的运动模型为Pt,那么第t帧图像对应的相机的轨迹为Ct=Pt-1*Pt-2*…*P1。

1.2 相机轨迹平滑

在获得相机轨迹后,对其进行改进的高斯滤波线性平滑。对视频的第t帧图像,取区间Nt={ j|tk≤j≤t+k},k为给定区间长度。取区间内图像帧对应的运动估计结果Pt,那么图像帧t向光滑轨迹变形的高斯滤波运动补偿为:

1.3 图像帧几何校正

轨迹信息包含原始视频图像的帧间几何变换的信息与平滑后视频图像的帧间几何变换的信息。由公式(2)可以对原始视频的每一帧用对应的运动补偿几何变换St进行变形,则新视频中的每一帧的运动轨迹即为平滑后的轨迹{C´t}

最后对输出的视频采用固定大小的截窗进行裁剪,以达到输出视频视场大小稳定性的要求。

2 基于2D相机路径的视频稳像算法

由上述分析可知,高斯滤波轨迹平滑方法对小幅度高频抖动具有较好的抑制,而对较大低频摆动抑制能力较弱。因此基于此算法,提出了一种2D相机运动平滑模型,其流程图如图1所示。在FAST算子[7]检测特征点时设置子图像。再采用Lucas-Kanade光流算法[8]进行特征点追踪,优化的RANSAC算法[9]剔除误匹配点。通过检测到的特征匹配对获得单应性模型来拟合相机运动轨迹,再将相机运动轨迹通过提出的2D摄像机运动平滑模型得到优化的相机路径,最后经过扭曲变化得到稳定视频。

图1 本文视频稳像算法流程

2.1 基于子图像的特征检测

由于运动物体会对运动估计的精度存在干扰。视频序列中运动物体一般出现在图像的中间位置,背景物体一般在图像边缘处。因此,把子图像设置在靠图像边缘的地方。虽然不能完全避免运动物体的干扰,但仍能在一定程度上降低对运动估计精度的影响。文献[10]研究表明,对于视频而言,相邻帧的偏移最大为图像宽度和高度的1/10。所以,为了保证在设置的子图像间的特征能匹配上,设置的子图像高度和宽度分别为整幅图像宽度和高度的1/4,并且每个子图像距整幅图像边缘的距离为图像宽度和高度的1/10。然后在设置的子图像上采用FAST算子进行特征点检测。再由Lucas-Kanade光流算法进行特征点跟踪。

由于特征点误匹配对会严重影响相机轨迹的估计,采用优化的RANSAC算法剔除特征点误匹配对。首先随机选取部分匹配的像素对,估计单应性。然后用其余匹配的像素对估计的单应性进行检验,保留符合估计模型的像素。然后在保留的符合模型的像素中随机选取一些匹配像素对,重新估计模型参数,并用剩余的匹配像素对验证模型有效性。重复以上操作,直到匹配像素对符合模型的数量达到给定阈值,或循环次数大于给定的阈值。

2.2 相机路径平滑

根据特征点匹配对获得第t帧单应性模型{F(t)},然后采用单应性模型来拟合相机“轨迹”。公式(3)定义了第t帧处的相机轨迹C(t)。

接下来将描述如何平滑相机路径来达到视频稳定。

一个好的相机路径平滑算法应该考虑多种干扰因素,如:消除抖动,避免过度裁剪,以及最小化各种几何变形。为了达到预期的效果,在高斯平滑基础上提出了一个考虑所有因素的优化框架,通过两个高斯函数设计自适应权重wt,r,对平滑过程中裁剪和失真有一定的控制能力。

给定原始路径C(t),通过最小化以下函数来寻求优化路径P={P(t)}:

其中Ωt是第t帧的邻域;数据项||P(t)-C(t)||2强制新的相机路径接近原始路径,以减少裁剪和变形;平滑项||P(t)-C(t)||2稳定路径;权重wt,r(C)在快速平移/旋转或场景转换下保留相机突然移动;参数λt平衡上述两项。

由于公式(4)是二次方程,可以用任何线性系统解算器来求解。这里,使用基于Jacobi的迭代解算器:

2.3 自适应平滑路径

对于相机的快速移动,不适当的平滑会导致相机路径显著偏离原始路径,导致过度裁剪。遵循双边滤波器的思想并通过两个高斯函数进行设计自适应权重wt,r如公式(7)所示,自适应权重wt,r一定程度保留了相机的突然移动,且平滑裁剪要少得多。

其中Gt()为附近的帧提供了更大的权重。Gm()测量两个相机轨迹的变化。

在寻求优化路径时用更多的帧可以确保成功地抑制高频抖动(例如握手)和低频反弹(例如,走路)。在实验中,将设置为60个相邻帧,并将Gt()的标准偏差设置为10。相比之下,以前的基于低通滤波的方法通常需要较少的帧数(例如,10帧),以避免过度修剪和变形。但是寻求优化路径时采用较少的帧数通常不足以抑制低频反弹。

由于自适应权重wt,r中Gm()在寻求优化路径时可以采用更多的帧数。在视频稳定中,对于快速摄像机运动(例如,由快速平移或场景转换),不适当的平滑量可能导致过度裁剪。在这种情况下,相机快速平移,高斯平滑会导致相机路径显著偏离其原始路径。而自适应项Gm()在一定程度上保留了相机的突然移动,使自适应平滑的结果产生的裁剪要少得多。

上述自适应项wt,r有一定的控制剪切和变形的能力。但是,实际可能希望严格控制裁剪比例和失真。本文采用了一种简单而有效的方法来解决前述问题,即自适应地调整每帧的参数λt,步骤为:

(1)固定λt=λ(经验设置为5),对相机轨迹进行优化;

(2)检查每个帧的裁剪率和失真。对于任何不满足用户要求的帧(裁剪比或失真大于预先定义的阈值),将其参数λt减小一步(λt/10);

(3)重新对相机轨迹进行优化。注意,与公式(2)一致,λt越小,优化路径越接近原路径,裁剪和变形越少。

(4)迭代步骤(2)、(3),直到所有帧都满足要求。

3 实验仿真与对比分析

对视频序列进行视频稳像实验。分别对在50帧视频序列的子图像和全局图像上进行特征检测的平均耗时,采用和不采用自适应项wt,r对裁剪变形的影响,本文算法和卡尔曼滤波算法分别在峰值信噪比、50帧图像序列平均耗时、裁剪变形进行视频去抖效果对比分析。实验计算机CPU为Intel(R)Core(TM) i5-7500,主频为3.40 GHZ,内存为8 GB,Windows 7操作系统,采用VS2013开发环境。

表1为特征点检测过程中在50帧视频序列的子图像和全局图像上的平均耗时情况,显然在子图像上进行特征点检测速度要比对整幅图像进行特征检测快的多,有利于满足实时性要求。

表1 图像特征检测耗时结果比较

图2展示了在相机轨迹平滑过程中采用和不采用自适应项wt,r对裁剪变形的影响。如图2(b)所示,在相机快速运动情况下,不采用自适应项wt,r的高斯平滑,导致过度裁剪,出现黑边,相机路径偏离原始路径。如图2(a)所示,本文算法遵循双边滤波器的思想采用自适应项wt,r,在去抖过程具有一定控制裁剪和失真的能力。一定程度上保留了相机的突然运动,使平滑结果产生的裁剪少得多。

图2 采用和不采用wt,r对比

为了验证本文提出的算法对视频去抖动的有效性。将峰值信噪比(PSNR)作为视频去抖动的客观质量评价指标,由于视频相邻帧间相似性,峰值信噪比的值越大,表明抖动被滤去的越多,稳像效果越好。利用公式(8)进行计算。

其中,S0、S1代表抖动或者稳像视频的相邻帧,代表视频相邻帧之间像素的均方差。

图3 本文算法和卡尔曼滤波算法对比

表2 不同算法客观质量评价结果比较

本文算法和卡尔曼滤波算法进行图像去抖动效果对比,对比结果如图3所示,表2统计2种算法客观评价结果。分析可知,本文算法对应的视频图像去抖效果较好。虽然卡尔曼滤波算法通过结合快速近似最近邻库理论剔除错误匹配的图像特征点。但本文根据RANSAC的思想,得出优化的RANSAC估计模型。更好剔除图像误匹配特征点,进而得到准确的特征匹配。同时由于采用子图像特征检测,速度显然要比对整幅图像进行特征检测快得多,有利于满足实时性要求。遵循双边滤波器的思想,采用的自适应项wt,r自适应控制平滑程度,具有一定的控制剪切和变形的能力。而卡尔曼滤波算法平滑过程中会存在裁剪过度,出现黑边的情况。

4 结 语

本文提出一种基于2D相机运动平滑算法,该算法采用在子图像上进行特征点检测,Lucas-Kanade光流算法进行特征点跟踪,采用优化的RANSAC算法剔除误匹配特征点。然后通过特征点获得的单应性模型来拟合相机轨迹,将相机轨迹通过考虑避免过度裁剪和畸变的优化路径的框架,得到优化路径,最终得到稳定视频。实验结果表明,该算法能够获得较好的视频稳定效果,同时避免了过度裁剪。但是本文采用光流法,具体算法实现需要建立在三个假设条件之上。其中对亮度不变性和局部运动一致性两个条件仍需改进。

猜你喜欢
轨迹变形特征
根据方程特征选解法
解析几何中的轨迹方程的常用求法
离散型随机变量的分布列与数字特征
变形记
谈诗的变形
轨迹
轨迹
不忠诚的四个特征
“我”的变形计
轨迹