简介

    稳定器的典型使用场景:

    • 修复小的缺陷(抖动三脚架,相机移动混乱)。

    • “穷人的稳定摄像机软件”(当真正的稳定摄像机不可用时,这个可以负担得起或适用的)。

    • 作为遮罩准备,匹配和对位。

    2D稳定必须处理一些不完美和有缺陷的镜头。

    为了检测特定镜头中的虚假运动,我们将假设一个关于这个运动的简化模型。然后,我们尝试用这个简化的模型来拟合跟踪特征的运动,以获得补偿。当然,这只适用于我们的模型已经足够的程度 - 但实际上,即使是相当复杂的镜头,这种简化方法的效果也令人惊讶,其中我们的基本假设只是更近似的精细运动。

    此处实现的二维稳定的简化模型假设通过仿射线性变换移动:

    为了根据这个简化模型补偿运动,二维稳定器分两步进行。首先,我们尝试从所有 变换 跟踪点的加权平均值中检测平移偏移。在补偿了这个平移组件之后,我们使用附加的 旋转/缩放 跟踪点来检测围绕给定轴点的旋转。再次,我们通过给定的所有旋转/缩放跟踪点的加权平均值检测旋转和缩放变化。

    在当前版本中,轴点锚定到平移跟踪点的权重中心。因此,有效地检测到的变换已经被解算出来了。在某些情况下,这不是最佳的,特别是当跟踪路径有间隙或不覆盖整个视频时——我们计划进一步的选项来更好地控制未来版本中的轴心点。

    因此,作为任何图像稳定的基础,我们需要跟踪图像特征来导出运动。这些跟踪点或“轨迹”可以使用Blender的 Image Feature Tracking Component 来建立,正确选择要跟踪的点有些困难,但对于成功的图像稳定至关重要。通常,我们来这里是因为我们必须处理不完美的镜头。在这种情况下,跟踪的平均值有助于在某一点上处理图像或跟踪错误。此外,当影像包含透视视差运动时,可利用对称放置在视界上下的跟踪点来消除伪运动,并使视界之间的焦区稳定。

    透视造成的偏离运动。

    跟踪可以分为两组添加:

    1. 首先是用于补偿相机位置跳跃的轨迹列表。从添加到该组的所有跟踪点中,我们计算加权平均值。然后我们尝试在整个拍摄过程中保持这个平均位置不变。因此,最好在最重要的主题附近和中心使用跟踪标记。

    2. 第二个轨迹选择用于保持图像的旋转和比例恒定。两种选择可以使用相同的跟踪路径。但通常情况下,最好使用距图像中心较远且两侧对称的跟踪点来更精确地捕捉角运动。与“位置”情况类似,我们计算平均角度贡献,然后在整个拍摄过程中保持该值不变。

    由于实际的图像元素,即我们镜头的主题现在可以被认为是稳定的,我们可以将它们作为一个新的参照系:我们认为它们附着在一个固定的背景上,我们称之为画布。引入“画布”的概念有助于处理相机的故意移动。除此之外,它还带来了一个额外的好处:视频片段的像素常常是非方形的。所以我们必须拉伸和扩展这些像素,然后才能执行任何合理的旋转稳定。因此,根据定义,画布成为图像内容未失真显示的参考。

    但是当相机被有意移动时,我们必须考虑画布之外的另一个参照系:即我们想要创建的最终图像的框架(或“cadre”)。为了理解这一区别,让我们考虑一个手持的、向右平移的镜头:由于我们的相机转向了右侧,实际图像内容在*原始图像帧内*向左侧移动。但是假设稳定器成功地“修复”了与画布相关的任何图像内容——这反过来意味着原始图像边界开始不规则地向右侧移动,图像内容将开始逐渐消失在左侧边界之后。原始图像的Y。经过一定量的平移,我们将丢失所有原始内容,只需看到一个空的黑色图像背景。解决这个问题的唯一方法是将最终的图像帧向右移动,从而跟随最初计划的平移移动。当然,这一次,我们希望以一种平滑和干净的方式执行这个新添加的平移操作。

    ../../../../../_images/movie-clip_tracking_clip_sidebar_stabilization_introduction_panning.jpg

    稳定平移镜头。

    恢复预期的相机移动。

    为了进行补偿并重新引入有意的平移或倾斜和缩放结果图像,稳定器提供一套专用的控制装置:预期位置预期旋转预期比例。这些功能就像是一个虚拟摄像机的控制,拍摄我们固定在画布上的内容。通过设置这些参数的动画,我们能够以一种平滑的方式执行各种有意识的相机动作。

    如上所述,当我们成功地稳定图像内容时,原始胶片的边界开始向补偿运动的相反方向跳跃。这是不可避免的——但非常烦人,因为由于这些动作的不规则性质,这些“舞动的黑色边界”往往会分散实际主题的注意力,并引入烦人的不安。因此,我们的目标必须是尽可能地隐藏那些跳舞的边界。一个简单的解决方案是添加少量的缩放。有时我们还需要设置参数 预期 位置的动画,以便尽可能地保持图像居中—这有助于减少删除这些烦人边界所需的缩放量。