工作流程#
根据原始镜头的特性,实现良好的稳定效果可能很简单,也可能需要一些工作、奉献和精心策划。本节涵盖了一些实际的考虑,以帮助改善结果。
简单案例#
只要摄像机基本固定,或者至少是 "几乎 "静止,而且镜头清晰,没有运动模糊,完美的稳定就很容易实现。当使用了三脚架,但风或地面的震动(如在舞台上)造成一些轻微的晃动时,可能就是这种情况。由经验丰富的操作员完成的肩扛式摄像机拍摄也经常属于这种情况。
尽可能使用较少的点。从正对主体的一个点开始。
尽可能准确地追踪这个单点。小心被追踪的特征的移动和形状变化。以小的增量进行(例如50帧),放大并在目标点偏离时手动重新调整。另一个选择是使用更大的目标区域进行追踪;由于我们只追踪一个单点,较慢的追踪速度可能是可以接受的。
在启用基本(位置)稳定功能后,考虑是否真的需要旋转稳定功能。通常情况下,一些细微的、缓慢的摆动动作其实并不明显,不值得花额外的工作时间和旋转和比例稳定造成的质量损失。
对于旋转,从一个额外的点开始,间隔要好,但最好是仍然连接到主要科目。
在你考虑添加更多的跟踪标记之前,可以考虑通过手动制作 "预期 *" 参数的动画,来修复一些缓慢的残余运动。因为这样做往往是不值得的。
如果你需要添加更多的点,最重要的目标是实现 对称性 。将位置跟踪点对称地放在地平线的上方和下方。将旋转跟踪点置于对角线方向,始终以主焦点区域为中心。
避免有问题的镜头#
The 2D stabilizer can not work miracles; some flaws simply can not be fixed satisfactory. Notorious issues are motion blur, rolling shutter, pumping autofocus and moving compression artifacts. Especially if you do succeed with basic stabilization, such image flaws become yet the more noticeable and annoying. When on set or on location, it might be tempting to "fix matters in postpro". Resist that deception, it rarely works out well.
倾向于使用短的曝光时间以避免运动模糊。虽然运动模糊是好的,可以使拍摄的动作更加流畅和自然,但它严重阻碍了精确跟踪特征的能力。作为一个指导原则,至少要达到1/250秒。
倾向于更高的帧率。稳定器的 时间分辨率越高,效果就越好。如果你可以在逐行扫描和隔行扫描模式之间进行选择,那么请使用隔行扫描,并将镜头去隔行扫描到 倍的帧率。这可以通过FFmpeg的 yadif 过滤器完成:使用模式1(send_field)。
小心 卷帘快门 效应。避免快速横向移动。如果可以,请选择产生较少滚动快门的相机。此外,使用较高的帧速率可以减少滚动快门的数量;另一个原因是为了达到手头的目的,选择隔行扫描而不是逐行扫描。
关掉自动对焦。最好事先计划好你的运动,设置一个固定的焦点,并通过使用小光圈来依赖景深。对人类观察者来说,抽动运动可能不是那么明显,但特征跟踪往往会在失焦的图像元素上滑开;事后手动修复会造成巨大的时间浪费。
提高照明水平,至少要使用较高的感光度。这有助于设置一个快速的快门速度加上一个小光圈。更好的照明和良好的曝光也有助于减少压缩伪影的影响。如果可以的话,还可以选择一个数据减少较少、色彩空间较好的编解码器,等等。不可避免地,我们会因为稳定所需的插值而损失一些质量。另外,由于色彩空间的转换,我们也会损失一些质量。
精心制作的机芯#
当镜头建立在精心设计的摄像机运动上时,稳定的过程会变得更加复杂--尤其是当镜头中的主要关注区域出现转移时。在处理许多轨道和精细的动画时,很容易陷入一种情况,即额外的操作实际上降低了质量,同时可能很难发现和找到问题的根源。建议系统地进行,从总体轮廓开始,到具体方面的调整。
了解镜头中动作的性质,包括有意和无意的动作。
追踪定位的一些相关特征。
建立基本的位置稳定。这包括决定,在拍摄的哪个环节使用哪个功能。根据拍摄的固有重点,与轨道上的砝码合作,使砝码中心的整体运动一致。
定义虚拟摄像机的平移运动(通过 预期位置 参数的动画)。
添加跟踪以用于旋转和缩放稳定。
微调通过:
将整个镜头的持续时间分解成合理的片段,以确定预期的摄像机运动。然后逐步细化这些片段,直到整体效果看起来令人满意......
参数#
在镜头的持续时间内对一些参数进行动画处理往往是必要的,至少可以获得最后的效果,包括控制比例系数来隐藏跳舞的黑边。不幸的是,目前的版本有一个 已知 的限制:不可能为三维场景以外的动画数据打开通用的动画编辑器(Graph editor和Dope Sheet)。因此,虽然可以 在稳定器的用户界面控制中 设置关键帧(通过按 I 键或在上下文菜单的帮助下),但不可能以图形方式操作所产生的曲线。重新调整或删除一个被误导的关键帧的唯一方法是将时间线定位到该帧,然后使用动画UI控件的上下文菜单。(提示:当你准确定位到关键帧的帧号时,UI控件的颜色会发生变化。)
追踪#
在整个拍摄过程中,可能无法跟踪一个特定的特征。该特征可能会被模糊或遮挡;甚至可能由于相机的故意移动而完全离开视线。在这种情况下,我们需要 另一个被追踪的特征 来扮演它的角色,而且我们需要一些 重叠时间 来获得一个没有明显跳跃的平滑过渡。
稳定器能够处理给定轨道内的空白和部分覆盖。然而,基本的假设是,只要有任何可用的/启用的数据,每个轨道都覆盖一个单一的、固定的参考点。因此,你不能 "重复使用 "一个给定的轨道来跟踪几个不同的点,相反,当跟踪这个特征不再可行时,你应该禁用并因此结束一个轨道。当一个跟踪点暂时失效或不可用时,你可以包括 "空隙",但你应该为每个要跟踪的明显的新特征开始一个新的跟踪。
每条轨道对整体结果的贡献程度是通过其 稳像权重 参数控制的。它是以每一帧为基础进行评估的,这使我们能够通过 动画 这个 稳定权重 来控制一个轨道的影响。你可以把稳定器的整体工作想象成每个跟踪点通过一个灵活的弹簧 "拖动" 图像。当你调低某个跟踪点的 稳像权重 时,你就减少了它所产生的 "拖动 "量。有时,不同跟踪点的贡献必须部分地相互抵消。这种效果可以用来抵消虚假的运动,例如,由透视引起的运动。但是,在这种情况下,当其中一个相关的轨道突然消失时,图像位置的跳跃或旋转可能会成为结果。因此,每当我们注意到在某个部分覆盖的轨道开始或结束的那一帧出现跳跃时,我们就需要软化这种过渡。我们的做法是将 稳像权重 逐渐降低,使其在边界点达到零。与此类似,当我们计划在几个部分覆盖的轨道之间进行 "交接" 时,我们在轨道重叠的时间段内定义一个 交叉渐变,同样通过对 稳像权重 参数进行相应的动画。但是,即使有了这样的交叉渐变平滑,一些残余的运动可能仍然存在,这就需要用 预期位置 或 预期旋转 参数进行修正。在这种情况下,避免运动 "过头" 是至关重要的--对于所有涉及到的轨道和参数,总是努力将动画关键帧精确地设置为相同的帧数。