产生运动向量
SmartVector节点生成运动矢量,以在VectorDistort节点中使用。您可以将SmartVector节点直接连接到VectorDistort或VectorCornerPin节点,或将运动矢量写入到.exr格式,然后用于驱动扭曲节点以减少以后的开销。
生成运动矢量:
1. | 读取您的源序列,然后将SmartVector节点连接到“读取”节点。 |
2. | 双击SmartVector节点以打开其Properties面板(如果尚未打开)。 |
3. | 设置Vector Detail控制到所需的详细信息级别。的默认值0.3对于低细节和低移动的序列已经足够了,但是在某些情况下,您可能需要增加细节以改善矢量质量。 |
例如,如果您正在处理的区域相对较小,则默认值为0.3可能无法正确捕捉运动。尝试将控制权增加到1.0捕获更多细节。
注意: 高细节矢量需要更长的渲染时间,但可以改善从VectorDistort节点获得的结果。
4. | 设置Strength控制以强制帧之间的像素匹配。较高的值可让您将一个图像中的相似像素准确地匹配到另一图像,即使结果运动场参差不齐,也可以专注于细节匹配。较低的值可能会错过局部细节,但不太可能为您提供奇数次的杂散矢量,从而产生更平滑的结果。 |
注意: 默认值适用于大多数序列。
5. | 如果前景中有很多移动,则可能需要添加遮罩。看到遮蔽前景和背景区域了解更多信息。 |
小费: 您可以检查将Viewer连接到SmartVector节点并切换channels在查看器上方进行控制smartvector_<value>。
6. | 如果要将向量写入磁盘,请单击Export Write自动将“写入”节点添加到脚本中。写入节点的控件设置为channels > all和.exr自动输出。 |
您只能将运动矢量写入.exr格式。不要忘记以哈希或printf表示法的形式添加框架填充,具体取决于您的Preferences > Behaviors > File Handling设置。
7. | 进入一个file写入节点控件中的路径,然后单击Render。 |
注意: SmartVector当前不输出motion, forward和backward渠道默认情况下。如果您需要这些通道,请在SmartVector节点之后添加VectorToMotion节点。VectorToMotion将向量转换为可与VectorBlur一起使用以创建运动模糊的运动,而无需使用VectorGenerator。
8. | 启用Advanced >Flicker Compensation减少亮度和整体闪烁的变化,例如从有光泽的表面反射的光,这可能会导致矢量输出出现问题。 |
9. | Tolerances在里面Advanced部分可让您在计算图像亮度时调整每个颜色通道的权重。 |
这些参数很少需要调整,但是您可能希望增加特定颜色的权重,以使算法能够专注于正确校正某个对象的运动,而以镜头中其余项目的代价为代价。
10. | 继续将绘画添加到源要么向源添加图像。 |
遮蔽前景和背景区域
如果您的序列是由在背景上移动的前景对象组成的,则运动估计可能会在两者之间的边缘混淆。为了减少伪影,您可以在Matte输入。
要将遮罩应用于序列:
1. | 在源的下游添加一个Roto节点。 |
2. | 在要标记为前景或背景的区域周围绘制遮罩。 |
3. | 设置Matte Channel至Matte Alpha和Output控制到Foreground要么Background。 |
|
|
前景矢量图 |
背景向量 |
4. | 如果您正在与Background向量,您可以启用Inpaint Matte Region使用最近的可用背景矢量自动填充丢失的前景矢量。的Matte Dilation滑块控制在应用修复之前应用到遮罩的膨胀量。 |
|
|
背景向量 |
彩绘前景 |
您可以使用修复来有效地忽略前景,从而允许您在遮罩区域中使用背景矢量。
5. | 如中所述生成运动矢量产生运动向量。 |