摄影机跟踪器:“运动跟踪器”卷展栏

使用“摄影机跟踪器”工具的“运动跟踪器”卷展栏,可以设置和控制图像特征点跟踪器。下面列出了创建的全部跟踪器:显示启用的复选标记、跟踪器编号、相关的场景点对象名称和活动帧范围。要选择某个跟踪器,请在列表中执行单击操作。另外,请提供用于子像素跟踪的控件。

界面

[特征列表]
显示被跟踪的特征。
启用
打开时,如果使用“影片 Stepper”对影片进行分节,或者执行全面跟踪,将会在该图像中跟踪此特征点。启用后,X 将显示在跟踪器列表中。
关闭
禁用时,该跟踪器将会位于当前帧之前最近的既定位置处。因为特征点跟踪器的计算量相当大,所以,禁用不使用的跟踪器来加速影片分节有时是很有用的。
全部
启用所有跟踪器。
禁用全部跟踪器。
新跟踪器
创建新的影片特征点跟踪器。此时,特征点跟踪器 gizmo 将位于“影片”窗口的中央,而新条目位于跟踪器列表中。新跟踪器可以使用当前显示在“跟踪器设置”下方的参数。创建跟踪器之后,可以对这些参数进行更改。但是,创建新跟踪器之前,设置“每帧的最大移动量”参数通常是很有用的,原因在于这样做可以自动为跟踪器 gizmo 建立初始搜索边界。
删除跟踪器
从列表和“影片”窗口中删除选定跟踪器。

“跟踪器设置”组

为当前选定的跟踪器设置参数。创建的所有跟踪器将会从该组的当前值中获得其初始参数。

场景对象
使跟踪器与场景点对象相关。其中,该场景点对象与“影片”窗口中的图像特征点相对应。按下此按钮时,3ds Max 将会处于标准对象拾取模式。选定对象之后,跟踪器列表中的条目和按钮中的文本将会更改为选定对象的名称。按下此按钮时,可以随时对连接的对象进行更改。

虽然您可以使用任意 3ds Max 对象,但最好是使用点或 CamPoint 辅助对象。执行匹配计算操作时,跟踪器可以将选定对象的轴点用作相关参考点。

设置跟踪项目时,该跟踪器可以在 .mot 设置文件中保存相关的设置。跟踪器和此处设置的场景点对象之间的关联可以保存为场景对象名称。如果在跟踪器中重新加载影片,将会使用对象的名称重新建立对象的关联。这表示,唯一命名点对象时务必慎重,否则建立的关联可能是错误的。另外,使用摄影机跟踪器工具打开影片之前,必须在 3ds Max 中加载工作场景,以便可以找到命名对象。如果碰巧先打开影片,“跟踪器”列表中的对象名称都将显示为“<无>”。因此,只需在跟踪器中重新打开影片,即可建立正确的连接。

匹配权重
分别为每个跟踪器设置摄影机匹配优先级。使用此选项,可以提高特征点的匹配精度。其中,这些特征点位于要插入计算机图形生成元素的位置附近。另外,还有助于最大程度地减少该部分场景中出现的滑动和抖动。

匹配移动算法的工作原理如下:调整摄影机,以最大程度地减少通过该摄影机查看的特征点对象与影片底板中相关特征点之间的误差。如果将所有权重设置为 1,该算法将会在所有对象投影及其跟踪特征点之间随机分布误差。如果选中跟踪器的“匹配权重”选项,将会代表该跟踪器重新分布误差,从而缩短跟踪器的特征点与对象投影之间的距离,虽然有可能增加其他跟踪器中出现的误差。如果选中两个或多个特征点的权重,锁定可能会逐步释放,原因在于该算法将会在权重较高的跟踪器之间分布改进之处。使用二到六个权重,可以实现理想的锁定。

最大移动/帧
设置跟踪特征点在整个跟踪范围内从一帧移到另一帧的最大像素数,并为新建的跟踪器建立初始运动搜索边界框。另外,还可以在“影片”窗口中直接调整运动搜索边界框,以便对其进行动态设置。
出错时重采样
可以使跟踪器识别可能出现的跟踪错误,还可以在手动跟踪检查和实际跟踪期间使用此选项纠正错误。典型的错误源包括超过搜索边界的帧到帧跳转、图像对比度更改以及帧序列形状发生更改的特征点,如摄影机根据其移动时的转角。错误检测器由“错误阈值”卷展栏中设置的度量阈值进行控制。

在某帧处放置 gizmo 时,将会创建一个关键帧,还会在该帧处采样新的目标特征点图像,以便在后续帧中进行搜索。启用“重新采样时出错”时,会使跟踪器在跟踪时检测错误。如果找到一个错误,该跟踪器会将其备份到最后一个质量好的帧处,并在此处放置新的关键帧,使新的目标特征点图像可以在该帧处进行采样,然后从该帧开始继续跟踪。

子像素跟踪
通常,图像特征点从帧到帧的移动量不是整数像素。但是,对于像素级别的跟踪,特征点中心的最近估测点始终位于像素边界处。因此,可能会产生摄影机匹配错误。使用子像素跟踪功能,可以放大特征点,还可以使用像素定位其 gizmo。这样,可以使跟踪器通过上采样目标图像和搜索边界,尝试以该分辨率进行跟踪,从而提高匹配精度。

通过在“运动跟踪器”卷展栏的“子像素跟踪”下拉菜单中选择某个级别,可以为每个跟踪器有选择地启用子像素跟踪功能。为此,可以将跟踪器中特征点跟踪的分辨率定义为一个像素的 1/32。

选择子像素级别时,将会出现下面两种情形:

  • 在图像窗口中定位跟踪器 gizmo 时使用的栅格调整为新的子像素级别。在缩放视图中,允许对可以在像素内定位的 gizmo 进行定位。您可以对跟踪器 gizmo 进行缩放,方法是将其选中,然后按 IO 键。
  • 对目标图像特征点和搜索窗口部分的内部放大版本执行特征点搜索。使用双三次插值,可以对这些版本进行放大,使其与子像素级别成反比关系,以便于特征点跟踪器可以在该缩放像素级别上进行搜索。

在关键帧处手动定位 gizmo 时,执行足够的放大操作,使该 gizmo 位于特征点的中心,以便获得选定子像素级别所允许的精度,这一点至关重要。如果不这样做,跟踪器不会以选定的分辨率跟踪正确的中心。

提示: 即便首先采用整个像素增量将特征点跟踪到最近的像素,然后在一个像素范围内跟踪到该像素级别,则跟踪时间的增加可能与子像素级别平方成反比。鉴于这个原因,建议您尽可能将子像素级别设置得较低。通常,对于均匀分布在场景周围的特征点而言,一个像素的 1/8 便足已。如果特征点距离相当近,或在帧内的移到速度非常慢,可以使用较高的级别。

另外,可以使 gizmo 中的内部特征点边界框尽可能贴合,同时仍然将周围的对比度保留为若干像素,以便缩短特征点的跟踪时间。搜索时间与特征点边界框的大小成正比。

跟踪范围

特征点移出屏幕或不显示在“影片”窗口中时,可以使用下列选项。

设置开始为跟踪器设置活动帧范围的起点。

设置停止为跟踪器设置活动帧范围的终点。

结合使用“设置”框中的“设置开始”和“设置停止”按钮,以及“影片 Stepper”卷展栏,可以对活动范围进行设置。单击上述按钮时,将会在“影片 Stepper”中当前显示的帧处设置起点或终点。

跟踪器关键帧和位置数据

手动定位跟踪器 gizmo,如在第一帧或出现某些跟踪错误时,将会创建特殊的关键帧位置。跟踪器从来不会尝试重新定位这些关键帧,但是可以将其用作连接下一个关键帧的各帧的起点。在关键帧处,可以对位置和特征点或搜索边界进行调整。

跟踪期间,可以对关键帧处选定特征点进行采样。此时,该特征点将会成为后续帧的搜索目标。使用任何调整后的搜索边界直到出现下一个关键帧时,将会为后续帧提供起点、目标特征点和搜索边界框。

在每个 gizmo 中,每帧的位置数据可能属于下面三种情况之一:

除第一个帧的位置外,所有帧的位置最初都是未知的,它们将会随着跟踪的继续或 gizmo 的定位获得相应的名称。手动设置关键帧时,以前跟踪的任何位置将会位于该关键帧之后,直到检测到下一个关键帧且变成未知为止。使用“批量跟踪”卷展栏中的“全部跟踪”按钮,可以在当前启用的跟踪器中搜索未知的位置,还可以对这些帧进行跟踪。使用上述卷展栏中的“检查状态”按钮,可以检查当前未知的位置,还可以跟踪错误。请参见“批量跟踪”卷展栏