【译】Auto-directed video stabilization with robust L1 optimal camera paths

注:OpenCV视频稳化模块引用文献之二:https://docs.opencv.org/4.1.0/d5/d50/group__videostab.html

原文地址:[81] https://docs.opencv.org/4.1.0/d0/de3/citelist.html#CITEREF_G11

摘要:

我们提出了一个新的算法,可自动应用约束,L1-优化摄像机路径,以通过消除不希望的运动来产生稳定的视频。我们的目标是计算由常量、线性和抛物线段组成的摄像机路径,模拟专业摄影师使用的摄像机运动。为此,我们的算法基于线性规划框架,以最小化由此产生的摄像机路径的一阶、二阶和三阶导数。我们的方法使得视频稳定过程超出了传统的只抑制高频抖动的摄像机路径滤波。我们在算法中直接加入了对摄像机路径的额外限制,允许稳定和重定目标的视频。我们的方法可以在不需要用户交互或昂贵的场景三维重建的情况下实现这一点,并且可以作为来自任何摄像头或在线源的视频的后期处理。

1.引言

视频稳化的目的是对随意拍摄的视频创造其稳定的版本,其理想地依赖于摄影原理。一个随意拍摄的视频通常是在一个手持设备上拍摄的,例如一部移动电话或一台带有极少稳定设备的便携式摄像机。相比之下,专业的电影摄影师使用各种各样的稳定工具,如三脚架、摄影推车和稳定的摄像机。大多数光学稳定系统只能抑制高频抖动,无法消除手持全景拍摄或步行者拍摄的视频中出现的低频失真。为了克服这一限制,我们提出了一种算法,通过消除不需要的运动来产生稳定的视频版本。我们的算法作为一个后期处理,可以应用于任何摄像头或在线来源的视频,且不需要了解摄像设备或场景。

一般来说,后处理视频稳定[10]包括以下三个主要步骤:(1)估计原始(可能不稳定的)摄像机路径;(2)估计新的平滑摄像机路径;(3)使用估计的平滑摄像机路径合成稳定的视频。

我们在工作中解决了上述所有步骤。我们的主要贡献是一个新的算法来计算最佳稳定摄像机路径。我们建议沿着这条路径移动一个固定长宽比的裁剪窗口;一条优化的路径,包括特征点和区域,同时根据摄影原理最小化L1平滑度约束。我们的技术通过将平滑路径分割为常量、线性或抛物线运动段来找到最佳分割。它避免了这三种类型的叠加,例如,导致一条路径在一个恒定段内真正静止,而不是有小的残余运动。此外,它还可以消除低频反弹,例如,那些源自携带相机行走的人的反弹。我们将优化设置为受各种约束的线性程序(LP),例如始终在框架矩形中包含裁剪窗口。因此,我们不会执行额外的运动,在[10,3]中,这可能受到人工痕迹的影响。

相关工作:

目前的稳定方法采用关键点特征跟踪和二维变换形式的线性运动估计,或者采用运动结构(SfM)来估计原始的摄像机路径。从这个原始不稳定的摄像机路径,通过平滑线性运动模型[10]来抑制高频抖动,或者通过拟合线性摄像机路径[3]来增加平滑的速度变化以避免突然的抖动,从而估计出一个新的平滑摄像机路径。如果使用SFM来估计相机的三维路径,则可以使用更复杂的平滑和线性拟合来进行三维运动[8]。

要将原始视频重新发送,就好像它是从平滑的摄影机路径拍摄的一样,最简单和最可靠的方法之一是指定一个预先定义比例的虚拟裁剪窗口。原始摄影机路径和平滑摄影机路径之间的更新的转换将应用于裁剪窗口,将视频投射为从平滑摄影机路径拍摄的视频。如果裁剪窗口不在原始帧范围内,则可以看到未定义的超出边界的区域,需要进行运动修补(motion-inpainting)[3,10]。此外,可以使用基于图像的渲染技术[1]或光场渲染(如果视频是由摄像机阵列[13]捕获的)来重铸原始视频。

虽然最近已经提出了复杂的3D相机稳定方法[8],但如何计算最佳相机路径的问题被推迟给用户,要么是通过手工设计最佳路径,要么是为整个视频选择一个单一的运动模型(固定、线性或二次),然后与原始路径匹配。Gleicher和Liu[3]的工作是我们所知的第一个使用电影启发优化标准的工作。出于良好的动机,作者提出了一个系统,利用贪婪的关键帧插入(基于惩罚项),在两者之间进行线性插值来创建相机路径。他们的系统支持后处理特征约束。我们的算法在一个统一的优化框架中通过多个稀疏运动模型来近似输入路径,包括显著性、模糊和裁剪窗口约束。最近,Liu等人[9]介绍了一种在特征上施加子空间约束的技术,来计算平滑路径时的轨迹。然而,他们的方法需要在多帧上进行长特征跟踪。

我们提出的优化与L1趋势滤波[6]有关,后者获得最小二乘拟合,同时最小化L1范数中的二次导数,因此用线性路径段逼近一组点。但是,我们的算法更为一般,因为我们也考虑了常数和抛物线路径(通过最小化一阶和二阶导数)。图8显示,我们可以通过特定的加权来实现L1趋势滤波。

2.  L1最佳摄像机路径

从电影的角度来看,最愉快的观看体验是通过使用静态摄像机、安装在三角架上的平移摄像机或放置在推车上的摄像机来传达的。通过引入剪切或无抖动过渡(即避免加速度的突然变化),可以获得这些视频之间的变化。

我们希望我们计算的相机路径P(t)坚持这些电影特征,但是不引入额外的已包含在原始视频的剪切。为了模拟专业镜头,我们将路径优化为由以下路径段组成:

(1)一个恒定的路径,代表一个静态的摄像机,也就是说,DP(t)=0D是微分运算符。

(2)一个恒定速度的路径,代表一个平移或安装在推车上的相机,也就是说,D^2P(t)=0

(3)一个恒定加速度的路径,代表一个游离在静态和平移之间的相机(此处翻译存疑),也就是说,D^3P(t)=0

为了得到由不同的常数段、线性段和抛物线段组成的最优路径,而不是它们的叠加,我们将优化问题转化为约束的L1最小化问题。L1优化具有使得结果稀疏的特性,即它将尝试完全满足路径上的许多上述特性。因此,对于大多数段,计算出的路径具有精确为零的导数。另一方面,L2最小化可以平均地满足上述属性(最小平方意义上),从而导致较小但非零梯度。定性地说,L2优化的相机路径总是有一些小的非零运动(最有可能是在相机震动的方向),而我们的L1优化的路径只是由类似于静态的、(均匀)线性运动的和恒定加速度的相机的段组成。

我们的目标是找到一个相机路径P(t)能最小化上述目标,同时满足特定的限制。我们探讨了各种约束:

包含约束:由路径P(t)转换得到的裁剪窗口应始终包含在由原始相机路径C(t)转换得到的帧的矩形内。当建模为硬约束时,这允许我们执行视频稳定和重定目标时保证裁剪窗口中的所有像素都包含有效信息。

接近约束:新的相机路径P(t)应该保留电影的原始意图。例如,如果原始路径包含摄影机放大的段,则最佳路径也应遵循此运动,但应以平滑的方式。

特征约束:特征点(例如,通过人脸检测器或通用特征提取方法找到的特征点)应包括在通过P(t)转换的裁剪窗口的全部或特定部分中。将其建模为软约束有利于防止特征点跟踪,这通常会导致非特征区域的非平滑运动。

2.1 线性规划求解

对于以下讨论,我们假设已计算出原始视频片段的相机路径C(t)(例如,从特征跟踪),并通过参数化线性运动模型在每个时间实例中进行描述。具体来说,将视频看成为一个图像序列I_{1},I_{2},...,I_{n},其中,每一对帧(I_{t-1},I_{t})由线性运动模型F_{t}(x)相关联,F_{t}(x)是根据I_{t}I_{t-1}上的特征点x来建模的。

从现在开始,我们将考虑在每个帧I_{t}上确定的离散化的相机路径C_{t}C_{t}是通过矩阵乘法迭代计算的:

我们将讨论的重点放在二维参数化运动模型F_{t}上,虽然我们的系统在理论上也适用于高维线性运动,但我们在本文中不对其进行探讨。

给定原始路径C_{t},我们将想要的平滑路径表示为

其中B_{t}=C_{t}^{-1}P_{t}是应用于原始相机路径C_{t}时产生最佳路径P_{t}的更新变换。它可以解释为“稳化和重定目标变换”(或裁剪变换),应用于以每帧为中心的裁剪窗口,以获得最终稳定的视频。优化的目的是找到最佳稳定的摄像机路径p(t),使目标最小化:

受制于前面提到的多个约束条件。如果没有约束,最优路径为常数:P_{t}=I,\forall t

1.最小化\vert D(P) \vert _{1}:使用前向差分;根据公式(2)\vert D(P) \vert =\sum\nolimits_{t}^{}\vert P_{t+1} -P_{t}\vert =\sum\nolimits_{t}^{}\vert C_{t+1} B_{t+1} -C_{t}B_{t} \vert;再根据公式(1)中对C_{t}的分解:\vert D(P) \vert =\sum_{t}^{}\vert C_{t}F_{t+1}B_{t+1}-C_{t}B_{t} \vert \leq \sum_{t}^{}\vert C_{t} \vert \vert F_{t+1}B_{t+1}-B_{t} \vert ,其中,C_{t}已知,因此,我们要最小化对所有B_{t}的残差项:

注释1 我们在这里选择了一个加法误差,而不是复合误差...;这更适合转换,但在未知中是二次的,需要比lp更昂贵的解算器。227页右下角一个看不懂的注释

在图2中,我们可视化了这个残差项背后的直觉。在将更新变换B_{2}和特征变换F_{2}接连地应用于帧I_{2}时,获得与将B_{1}应用于帧I_{1}相同的结果,即R_{1}=0。


图2. 我们要为每一帧寻找这样的更新变换B_{t},使得其残差项的L1范数\vert R_{t} \vert =\vert F_{t+1}B_{t+1} -B_{t}\vert  for all t (静态相机)。如果最小化残差项的差分形式\vert R_{t+1}-R_{t} \vert ,我们可以得到一个只有静止和线性段组成的路径。抛物线段见正文。

2.最小化\vert D^2(P) \vert_{1} :当前向差分给定为\vert D^2(P) \vert =\sum\nolimits_{t}^{}\vert DP_{t+2}-DP_{t+1}\vert =\sum\nolimits_{t}^{}\vert P_{t+2}-2P_{t+1}+P_{t}\vert ,要注意啦,因为我们将误差建模为加法式而不是复合式,所以我们应该直接最小化残差项的差分:

正如图2所示。

3.最小化\vert D^3(P) \vert_{1} :类似的,

4.Minimizing over B_{t}:如前所述,已知的帧对(frame-pair)之间的变换F_t未知的更新变换B_{t}由线性运动模型表示。例如F_{t}可以表示为6自由度仿射变换:

p_{t}是其参数向量,即p_{t}=(dx_{t},dy_{t},a_{t},b_{t},c_{t},d_{t})^T。如果令a_t=d_t,b_t=-c_t,可以得到一个4自由度的线性相似变换。

我们的目的是要最小化在公式(4)至(6)中推导的遍及所有的更新变换B_{t}(被他们对应的向量p_t给参数化)的残差项的加权L1范数。然后,公式(4)中的恒定路径段中的残差项变为以下形式:

其中,M(F_{t+1})是一个线性计算,其以参数化的形式表示矩阵相乘F_{t+1}B_{t+1}

5. The LP 最小化公式(4)至公式(6)的残差项的参数化形式的L1范数,可以通过引入松弛变量(slack variables)来实现。每个残差项需要引入N个松弛变量,N是构成的参数向量的维度,例如,对于仿射变换,N等于6。对于n帧图像,则要引入大概3nN个松弛变量。具体实现是,令eN个正松弛变量的向量,我们从上边和下边来绑定每个残差项,例如,对于\vert D(P) \vert

其中,e\geq 0

目标是最小化c^Te,(译者注:c是个向量),如果c是1向量,则对应于L1范数的最小化。通过调整c的权值,我们可以使最小化指向特定的参数,例如,我们可以使严格仿射部分的权值高于平移部分的权值。这也是必要的,因为平动部分和仿射部分有不同的比例,因此我们将仿射部分和平移部分的权值设定为100:1。

利用该问题的线性规划(LP formulation)公式,可以很容易地对摄像机的最佳路径进行约束。回想一下,p_{t}代表更新变换B_{t}的参数化,B_t转换一个最初位于图像矩形中心的剪裁窗口。通常,我们希望限制B_t能够偏离原始路径的程度,以保留原始视频的意图(原文注释:另外,对于视频稳化,使用极大的缩放和旋转可能会更好地最小化残差项,但是会丢弃大量信息)。因此,我们在参数向量p_{t}的仿射部分上放置严格的边界:0.9\leq a_{t}、d_{t}\leq 1.1,-0.1\leq b_{t}、c_{t}\leq0.1,-0.05\leq b_{c}+c_{t}\leq  0.05以及-0.1\leq a_{t}-b_{t}\leq 0.1

前两个约束限制了缩放和旋转的变化范围,后两个约束通过限制倾斜量和不均匀比例使仿射变换具有更高的刚度。因此,在每种情况下,我们都有一个上限(ub)和一个下限(lb),可以写为

其目的是为了在p_{t}上实现合适的线性组合,由U指定。

为了满足包含约束,我们要求裁剪矩形的4个角c_{i}=(c_{i}^{x},c_{i}^{y}),i=1..4经过线性变换A(p_{t})后位于图像矩形的内部,如图3所示。通常,在我们的方法中,对“凸形的转换点”建立硬约束模型是可行的,例如,对于仿射变换参数向量p_{t},我们要求:

其中,wh是图像帧矩形的尺度。

图3 包含约束

算法1总结了约束条件下摄像机最佳路径的完整L1最小化LP。我们在图4中给出了从原始摄像机路径计算出的最佳路径的示例。请注意,在拍摄过程中,y中的低频反弹(由一个边走边拍摄的行人引起)是如何被一个静态摄像机模型所取代的。

图4:通过我们对图10中视频的限制LP公式获得的最佳摄像机路径。所示为使用原始帧75%大小的裁剪窗口的包含约束,在320帧期间x和y中的运动。请注意,最佳路径是如何由常量、线性和抛物线弧组成的。我们的方法能够用一个静态相机代替y(边走边拍摄的行人)中的低频反弹,同时保证裁剪窗口中的所有像素都是有效的。

2.2.增加特征约束

虽然上述公式足以进行视频稳定,但我们可以使用改进的基于特征的公式,执行定向视频稳化,由硬、软特征点约束自动控制。优化特征度量会对更新变换施加额外的约束。具体来说,我们要求特征点位于裁剪窗口中,这本质上是包含约束的逆(译者注:原文为inverse)。因此,我们考虑优化更新变换的逆变换,即应用于每个帧I_{t}中的一组特征的扭曲变换W_{t},如图5所示。我们用G_{t}=F_{t}^{-1}来表示F_{t}的逆。我们不通过B_{t}变换裁剪窗口,而是寻求当前特征的变换W_{t},这样它们在固定裁剪窗口内的运动仅由静态、线性或抛物线运动组成。实际更新或稳定变换由B_{t}=W_{t}^{-1}给出。根据图5,我们简要推导了相应的优化目标D^{i}W_{t},i=1..3

图5:特征路径。不去变换剪裁窗口,我们变换原始图像,使得位于静止剪裁窗口内的特征的运动是平滑的

这种特征路径公式的优点在于它允许灵活地处理特征约束。假设我们想要在裁剪窗口中包含一个特定的点(例如特征图的模式)或凸区域(例如来自人脸检测器)。我们用s_{i}^{t}表示帧I_{t}中的一组特征点。在估计特征扭曲变换而不是裁剪窗口变换时,我们可以在被A(p_{t})变换的s_{i}^{t}上引入一个单边边界(原文注释:和公式(8)中包含约束的双边边界对比下)

其中\epsilon _{x},\epsilon _{y}\geq 0,边界(b_{x},b_{y})表示特征点离左上角的距离(至少),如图6所示。对右下角引入了类似的约束。令b_{x}=c_{x}c_{y}=b_{y}可以确保特征点位于剪裁窗口内。对于b_{x}>c_{x},特征点可以移动到裁剪矩形的特定区域,例如图1所示的中心。令\epsilon _{x},\epsilon _{y}=0,将使其成为一个硬约束,但其缺点是可能与框架矩形的包含约束冲突,并牺牲路径平滑度。因此,我们选择将\epsilon _{x},\epsilon _{y}作为新的松弛变量,添加到LP的目标中。关联的权重控制平滑路径和重定目标约束之间的权衡。我们在实验将重定目标的权重设定为10。

图6 重定目标的标准坐标系

很明显,特征路径公式比相机路径公式更强大,因为它允许在邻近和包含约束之外的重定目标约束。然而,需要调整包含约束,因为裁剪窗口点现在由优化的特征扭曲变换的逆矩阵来变换,使其成为非线性约束。解决方案是要求转换后的框架角位于裁剪矩形周围的矩形区域内,如图7所示,有效地替换了包含和邻近约束。

图7.特征路径的包含约束。变换后的帧角落必须位于凸约束区域(图中橙色区域)内。

一个有趣的观察是,最佳特征路径的估计可以直接从帧I_{t}的特征点f_{k}^{t}来实现,也就是说,不需要计算G_{t}。这样,我们不最小化参数向量的残差项R(p_{t})的L1范数,而是直接最小化特征距离的l1范数。R_{t}变成

当计算G_{t}以满足G_{t+1}f_{k}^{t}=f_{k}^{t+1}(在某些度量下)时,我们注意到前面描述的从特征变换G_{t}对特征扭曲W_{t}的优化实质上平均了所有特征的误差,而不是从L1意义上选择最佳。我们直接从特征中实现了最优路径的估计,但发现它没有什么好处,而且由于其复杂性,计算太慢,无法在实践中使用。

3 视频稳化

我们实现视频稳化是通过:(1)估计每帧运动变换F_{t};(2)计算第2节中描述的最佳摄像机路径P_{t}=C_{t}B_{t};(3)根据B_{t}通过扭曲来稳化视频。

对于运动估计,我们使用金字塔Lucas Kanade[12]跟踪特征。然而,鲁棒性要求很好的异常值剔除。对于动态视频分析,全局异常抑制是不够的,而相邻视频帧之间的短基线使得基于异常值抑制的基本矩阵不稳定。以前的工作是通过SfM[8]对场景进行三维重建来解决这一问题,这种方法除了自身存在稳定性问题外,计算成本也很高。

我们通过将特征离散到50个50像素的网格中,在每个网格单元中应用RANSAC来估计平移模型,并且只保留与估计模型一致(在阈值距离范围内,<2个像素)的匹配点。我们还实现了一个基于图的分割的实时版本[2],以便将RANSAC应用于分割区域内的所有特征(而不是网格单元),结果证明这个方法要好一丢丢。但是,我们对所有结果都使用基于网格的方法,因为它大约快40%。

然后,我们将几个二维线性运动模型(平移、相似和仿射)拟合到跟踪特征。在大多数情况下,通过标准化前的正态方程进行的L2最小化效果很好,但我们注意到,在突然接近完全闭塞(sudden near-total occlusions)的情况下,其出现不稳定的情况。

稳定性很好。在此之前,我们通过LP解法(原文注释:我们使用可免费获得的COIN CLP单纯形解法)执行在L1范数中的拟合,在这些情况下,通过自动执行特征选择来提高稳定性。据我们所知,这是L1最小化在摄像机运动估计中的一个新应用,并给出了惊人的鲁棒结果。

一旦摄像机路径被计算为一组线性运动模型,我们根据第2节所述的邻近和包含约束,根据我们的L1优化框架来拟合最佳摄像机路径。一个关键问题是如何在目标方程(3)中选择权重w_{1}-w_{3}?我们在图8中探讨了合成路径的不同权重。如果只有三个导数约束中的一个被最小化,那么很明显,原始路径是由非连续的恒定路径(图8a)、带有急动的线性路径(图8b)或平滑抛物线(但永远在非零运动)来近似的(图8c)。通过同时最小化所有三个目标,可以获得更愉快的观看体验。虽然权重的绝对值并不太重要,但我们发现消除脉动是最重要的,当w_{1}设定为比w_{1}w_{2}都大一个数量级时,就可以实现这一点。

图8  公式(3)中取不同的权重时,对合成的相机路径(蓝线)的优化路径(红线)

基础运动模型的选择对稳定视频有一定的影响。使用仿射变换代替相似度有两个增加的自由度的好处,但在倾斜中会出现错误(errors in skew),从而导致非刚性的影响(如[8]所观察到的)。因此,我们利用相似性来构建我们的最佳路径。然而,相似性(如仿射变换)无法模拟非线性帧间运动或卷帘效应,导致明显的残余抖动,我们接下来将讨论。

残余运动(摇摆和卷帘)抑制:为了精确地模拟帧间运动,需要完全消除震动,需要具有比相似性更高的自由度的运动模型,例如单应变换。然而,更高的自由度往往过拟合,即使采用离群值剔除。结果就是,可以对一些帧实现良好的配准,但它们的合成开始迅速变得不稳定,例如,单应变换开始遭受过度的倾斜和透视。我们建议采用一种稳健的混合方法,最初使用相似变换(用于帧变换)F_{t}:=S_{t}来构造最佳的相机路径,从而确保所有帧的刚性。然而,根据计算,我们只对每k=30个关键帧应用刚性相机路径。对于中间帧,我们使用更高维度的同构图F_{t}:=H_{t}来计算错位(misalignments)。如图9所示,我们将两个最佳(且刚性的)相邻相机变换之间的difference,P_{1}^{-1}P_{2},,分解为已知的估计相似部分S_2和平滑剩余运动项T_{2},也就是说,P_{1}^{-1}P_{2}=S_{2}T_{2},(T_{2}=0意味着是静态相机)。然后,将低维度的相似变换S_{2}替换成高维的单应性变换H_{2},结果就是,P_{1}^{-1}P_{2}:=H_{2}T_{2}。对于每个中间帧,我们从其前一个和下一个关键帧开始连接这些替换。对于每个像素,这将有效地产生两个样本位置q_1,q_2(图9中用红色和绿色表示),在我们的实验中平均误差约为2到5个像素。我们在这两个位置之间使用线性混合来确定当前帧的每个像素的扭曲。

图9 晃动的抑制。关键思想是将优化的路径 Pt 分解为参数更少的帧变换 St ,作为输入 ,和残余项 Tt(表示优化添加的平滑移位以满足约束)。St被替换为参数更多的Ht 来计算实际的扭曲。为了一致性,扭曲从前一帧被前向计算(如红点),从后一帧被后向计算(如绿点),结果输出位置 q1 和 q2 被线性地混合。

4. 视频重定目标

视频重定目标的目的是改变视频的纵横比,同时保留突出的区域。最近,很多关注点都集中在“内容感知”方法上,这些方法要么基于显著性图[14]扭曲帧,要么删除和复制非显著性接缝[11,4],两者都是以一种临时的相关的方式。

在第2.2节中,我们展示了如何在不牺牲结果路径的平滑性和稳定性的情况下,引导剪裁窗口包括特征点。另一方面,如果输入视频已经是稳定的,即C_{t}是平滑的,我们可以直接对这个属性进行建模,而不必估计每个帧的变换F_{t},并且将其强制变成恒等变换F_{t}=I,\forall t。这样我们就可以仅仅根据特征约束和包含约束来控制裁剪窗口,通过自动平移和扫描实现视频重定目标。简单地说,在假定输入视频稳定的情况下,视频重定目标是我们基于特征的优化的一个特例。与Liu和Gleicher[7]的作品不同,我们的相机路径不会局限于一个镜头,允许更多的自由度(例如细微的变焦)和适应复杂的运动模式。

虽然存在几种特征(译注:原文中多次出现的saliency,译为“特征”还是“显著”?)的计算,但我们主要关注运动驱动的特征。我们的动机是假设观众将注意力集中在移动的前景物体上,这是限制内的一个合理假设。使用基本矩阵约束和对KLT特征跟踪的聚类,我们得到如图12所示的前景显著性特征,然后将其用作约束,如第2.2节所述。

图 12  使用我们的优化方法的视频重定目标。上面一行,左边是原始图,右边是我们的motion aware saliency,前景的跟踪用红色表示,用优化方法得到的derived saliency points用黑圈表示。下面一行,左边是我们的结果,中间是[14]的结果,右边是[11]的结果 

5 结果

图11所示是我们在YouTube的“Fan Cam”视频上使用我们的优化摄像路径方法做视频稳化的结果。我们的优化提供了非常接近专业镜头的观看体验。在图1中,我们演示了在不牺牲平滑度的情况下,包含特征约束(saliencyconstraints)(由人脸检测器得出)的能力,可以将舞蹈女孩置于视频的中心。在附带的视频中,读者会注意到原始视频中由高运动峰值(high motion peaks)引起的偶尔模糊。稳定技术会将模糊表现出来,因为稳定的结果与感知到的(模糊的)运动并不协调。(原文是“Stabilization techniques pronounce blur, as the stabilized result does not agree with the perceived (blurred) motion.”)在视频中,我们展示了Matsushita等人[10]的模糊消除技术的实现;但是,模糊太明显,而且这种技术在时间上存在不一致,每种形式都很差。然而,我们的框架允许引入运动约束,即在确定哪些帧是模糊的之后,我们可以强制最佳的相机路径与模糊的运动一致。这有效地减少了感知到的模糊,同时仍然保持平滑(但加速)的相机运动。

图11 在YouTube"Fan-Cam"视频上的案例。上面一行,稳化后的结果,下面一行,带有优化的裁剪窗口的原始图。我们的方法既能消除jitter也能消除低频的bounce。我们的L1优化相机路径传达了一个更接近专业摄像而非随意拍摄的视觉体验。请看视频。


图1 我们的使用人脸检测器的特征约束的视频稳化视稳化中的5个定格画面。上面一行是原始图像,下面一行是我们的face-directed的最终结果。输出的优化路径在y方向是完全静止的(相机的上下运动被完全消除),在x方向上由线性和抛物线段组成。我们的路径将感兴趣的对象(跳跃女孩)放置在裁剪窗口(底行)的中间,而不牺牲平滑度。请看随附的视频。

我们在图10中演示了减少卷帘的能力;注意如何消除房屋的倾斜。基于运动的特征约束(saliency constraints),我们可以在我们的框架中使用自动平移和扫描的形式执行视频重定目标;有关示例,请参见图12。当我们有效地裁剪框架时,我们的技术非常强大,避免了由其他方法引起的时间上和空间上的人工痕迹。

图10 使用我们的抑制晃动技术来减少卷帘门效应。如图所示是两个相隔1/3秒的帧的输出结果。上面一行,原始帧m(左边)和m+1(右边)。中间一行,没有使用抑制晃动技术的稳化结果。下面一行,使用抑制晃动技术的稳化结果。注意,抑制晃动技术是如何成功地消除了卷帘效应导致的倾斜(the remaining skew)。(黄色交通标志实际上是倾斜的。)

由于动态过程是不可能从图像中判断的,我们鼓励读者观看附带的视频。我们评估了我们在各种视频上的方法,并将我们的视频稳定与Liu等人的现有方法进行了比较。[8,9]。我们还比较了一个比较布兰登等人的光场方法的例子。〔13〕。对于视频重新定位,我们展示了更多示例并与[11,14]进行比较。

我们的技术仅基于每帧特征跟踪,无需对场景进行昂贵的三维重建。我们对运动模型(从低维到高维)使用稳健的迭代估计,只使用前一阶段的内点(非奇异值,非离群值,与outlier相对)。我们的技术很快;我们在低分辨率视频上达到20帧每秒,而晃动抑制需要基于网格的扭曲,并增加了一点计算开销。我们未优化的运动特征(unoptimized motion saliency)运行在10帧左右。

6. 结论、局限性和未来工作

我们提出了一种新的视频稳定和重定目标的解决方案,通过根据各种自动算出的约束关系计算的相机路径。我们在视频稳定方面取得了最先进的成果,同时计算成本更低,适用于更广泛的视频。我们基于L1优化的方法允许多个同时约束,允许在统一框架中处理稳定和重定目标。我们在这个网址上(原文并没有有效的网址,找过的小伙伴可分享下)提供了一个基于我们算法、可免费使用、可实时预览的稳定器。

我们的技术可能无法稳定所有视频,例如,低的特征计数、在极快的运动过程中过多的模糊,或者场景中缺少刚性物体可能会使相机路径估计不可靠。利用启发式方法检测这些不可靠的片段,我们将相应的线性运动模型F_{t}重置为恒等变换,有效地返回到不稳定的视频。此外,裁切丢弃信息的使用,可能是观众不喜欢的。我们的计算路径对于给定剪裁窗口大小(这是我们算法所需的唯一输入)的情况下是最佳的。在未来的工作中,我们希望解决最佳剪裁窗口大小的自动计算问题,因为目前我们将此作为用户的选择。

感谢塔克·赫尔曼讲述了这段视频,Kihwan Kim选择了Fan Cam视频。我们特别感谢YouTube编辑团队(Rushabh Doshi、Tom Bridgwater、Gavan Kwan、Alan de Lespinasse、John Gregg、Eron Steger、John Skidgel和Bob Glickstein)在部署期间做出的关键贡献,包括实时预览的分布式处理、前端UI D设计和后端支持。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,233评论 6 495
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,357评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,831评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,313评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,417评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,470评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,482评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,265评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,708评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,997评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,176评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,503评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,150评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,391评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,034评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,063评论 2 352

推荐阅读更多精彩内容

  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007阅读 2,206评论 0 3
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 2,973评论 1 3
  • 本文转载自:https://handong1587.github.io/deep_learning/2015/10...
    Kwan_SS阅读 5,889评论 0 7
  • 世界上最帅的刘雯雯雯雯向暗恋多年的男神表白了
    Yumikoyyy阅读 197评论 0 0
  • 今天是张雅茹同学入学第二天,女儿一直表现的挺爱上学的,昨晚就问什么时候能天亮啊,我问她天亮干什么,她说好去学校啊!...
    张雅茹妈妈阅读 187评论 0 0