Primatte工作原理的解释

Primatte抠像算法是一种复杂的颜色空间分割方法,可以轻松解释,以帮助用户使用该工具获得最大的效果。基本上,Primatte将前景图像中的所有颜色划分为四个单独的类别之一。结果是产生了溢出抑制的前景图像和遮罩,该遮罩用于将修改后的前景应用于合适的背景。

Primatte在3D RGB色彩空间中工作。这是图像处理后Primatte算法的直观表示。

通过操作Primatte界面,您实际上可以创建三个同心的多面多面体。这些可以表示为三个地球仪(或多面体或多边形),一个在另一个内,它们共享一个公共的中心点。这些多面体的创建将所有可能的前景色分为四个区域之一。小多面体内部 (1),在中小型多面体之间(2),在中型和大型多面体之间(3)在大型多面体之外(4)

创建的四个区域描述如下:

Region 1 (在小多面体内部)-此区域包含所有被视为100%背景的前景图像颜色。这些是绿色或蓝色或用作前景图像背景颜色的任何颜色。

Region 2 (在中小型多面体之间)-此区域包含前景对象边缘处的所有前景颜色,包括玻璃,玻璃反射,阴影,水面以及其他透明和半透明的颜色区域。这些颜色区域还应用了溢出抑制功能,以消除背衬屏幕上的颜色溢出。

Region 3 (在中等和大型多面体之间)-此区域包含所有前景图像颜色,这些颜色均为100%前景,但已对其应用了溢出抑制,以从背景屏幕上消除颜色溢出。否则,它们是100%纯色前景色。

Region 4 (大多面体之外)-此区域包含未从原始前景图像修改的所有100%前景图像颜色。没有对这些颜色应用溢出抑制。

使用Primatte的第一步(SmartSelect BG Color),则要求您在原始前景图像上指定背景色。通常应从前景物体附近的中等阴影区域中取样。中等阴影区域是指,如果绿色是背景色,并且前景图像的绿色区域具有许多绿色阴影,范围从非常浅的绿色到几乎黑色,则应在这些极端范围之间选择绿色阴影。如果使用此示例无法获得良好的结果,则应重置Primatte并使用稍微深一些或浅一些的绿色阴影进行其他采样。Primatte的第一个样本通常会确定最终结果,因为所有三个多面体的中心点都是基于第一个样本创建的。

可以选择一个像素或一个像素范围(蜗牛迹或矩形样本)。如果采用一定范围的像素,则对样本进行平均以获得单色样本。然后,此单个像素或平均颜色样本成为小多面体的中心。原始的小型多面体中还包含围绕该颜色的其他一些阴影。

注意:  建议您选择一个像素作为第一个样本,这样您便可以知道多面体的中心点在哪里。如果制作了盒状样本或长蜗牛状样本,则只能猜测最终成为中心点的平均颜色。您可以通过重置Primatte节点,查看Alpha通道,然后在浏览器中单击绿色或蓝色屏幕区域来了解该示例如何影响算法。 Smart Select BG Color操作模式。您可以通过这种方式立即看到多面体初始设置的结果。

使用Primatte的第二步是通过向小多边形添加其他绿色或蓝色阴影来清理背景色区域。第二步(Clean BG Noise)通常在查看黑白alpha通道时执行。

背景之前
噪音消除。
后背景
噪音消除。

Clean Bg Noise采样模式下,您将对白色乳白色区域进行采样,如左图所示。当您对这些区域进行采样时,它们将变为黑色,如上面的右图所示。

Primatte算法中发生的事情是,将这些新的绿色阴影(白色乳白色区域)添加到了所有绿色或蓝色阴影都已移动的小多边形中。该技术的优点是多面体会扭曲以仅包围底屏中的绿色阴影。这些颜色周围的其他绿色阴影在前景中保持不变。

现在,您已经创建了一个小的多面体,您需要对中型和大型多边形进行成形。默认的中型和大型多边形都将自动创建,然后根据下几个Primatte操作进行修改。Primatte第三步(Clean FG Noise)是为了采样并消除图像100%前景区域中的灰色区域。

前景噪声之前
去除。
前景噪声后
去除。

再次,在前景对象的暗灰色区域进行几个采样,直到颜色变为纯白色。Primatte正在使用每个采样的颜色区域对大型多面体进行整形。在此步骤和之前的步骤中都应注意不要采样到过于靠近前景对象的边缘。太靠近前景对象的边缘会导致前景对象周围出现坚硬的边缘。Primatte使用这些样本将中型和大型多边形修改为所需的形状。至此,遮罩或关键点已创建,并将允许前景对象合成到新的背景图像中。

如果现在查看RGB通道,通常在前景对象的边缘(有时是中心)上会出现颜色溢出。当在前景对象的边缘上时,此溢出来自前景对象的边缘融合到背景色中的位置。如果它位于前景对象的中心,通常是由于背景屏幕反射的颜色造成的。下一步Primatte Spill SpongeFine Tuning要么Spill(-)现在可以用来消除这种溢出的颜色。

让我们看一下执行下一步骤时Primatte算法中发生的情况。以下是Primatte中使用多面体时使用的各种工具:

如上所见, Spill Sponge在指定的颜色区域凸出大型多面体。通过单击存在溢出的特定区域中的图像来指定颜色区域。例如,如果单击前景人员脸颊上的一些溢出物,Primatte会转到最接近该特定肤色的大多面体部分,并在该处凸出多面体。结果,肤色从大多边形的外部移动到中多边形和大多边形之间。这是Region 3而且,如果您还记得的话,则是100%具有溢出抑制功能的前景。抑制的结果是,从脸颊颜色和前景上该颜色的所有其他阴影中除去了溢出物。然后,您将继续对存在溢出的图像区域进行采样,并且每个样本都将从另一个颜色区域中去除溢出。

清除所有溢出物后,您应该拥有最终的合成物。最后,您应该查看Alpha通道并确保灰色,透明区域未出现在前景区域中。如果有的话,您应该选择Matte Sponge操作模式并采样这些灰色像素,直到它们再次全部变白。

Matte SpongeSpill Sponge工具将多面体凸出或压入预定数量。如果未达到期望的结果或结果对于图像而言太极端,则可以应用手动方法。您应该选择Fine Tuning滑块,选择感兴趣的颜色区域,然后移动适当的滑块以获得所需的结果。

例如,要去除溢出,请选择合成图像上带有溢出的区域。将溢出物或大多边形滑块向右移动一点,大多边形凸起和溢出物应消失。如有必要,再多移动一点。向右移动此滑块可消除溢出(将颜色从大多边形的外部移动到中和大多面体之间)并将其向左移动,使大多边形凹陷,并将该颜色区域移动到大多边形的外部。

如果您对前景对象阴影进行采样,然后移动M-poly (trans)向右滑动滑块,阴影变得更加透明。这对于将合成阴影与印版照片上的阴影进行匹配非常有用。它也可以用来使云或烟更透明。

如果在合成期间某些前景细节消失了,则可以选择该细节应位于的位置,然后将S-poly (detail)向左滑动。这会使该颜色区域中的小多边形凹进,并将细节像素从小多边形释放到小和中多面体之间的可见区域中。

Spill SpongeMatte Sponge工具是快捷工具,可以自动将滑块移动到预先选择的数量,从而为您节省时间。其他快捷方式工具包括Make FG Trans. 工具和Restore Detail工具。

这些快捷工具是一步操作,您可以在其中单击感兴趣的颜色区域,然后Primatte将执行预先计算的操作。希望大多数使用Primatte的操作仅需要这些工具,但是始终可以手动选择滑块。

Spill(-)工具会在点击的颜色区域中将较大的多边形逐渐凸出少量,然后Spill(+)每次点击都会使工具产生少量凹痕。的Matte(-)Matte(+)工具对中多边形和Detail(-)Detail(+)做到小聚。

Primatte RT +工作原理的说明

Primatte RT+该算法与Primatte算法的不同之处在于,它具有六个表面颜色分隔符,而不是128面多面体。这使得Primatte RT+算法简单得多,因此计算速度也更快。结果和性能Primatte RT+介于Primatte Primatte RT选项。哪里Primatte RT+该算法可能效果不佳,因为背景色饱和度较低,并且它也不支持complement 颜色溢出抑制方法(这是提供最佳细节的溢出抑制方法)。对于光线充足并拍摄的图像或剪辑,此算法可产生良好的效果并快速渲染。

在处理完图像后,Primatte RT算法的外观如下所示:

Primatte RT工作原理的解释

Primatte RT是最简单的算法,因此也是最快的算法。它仅使用单个平面表面来分离3D RGB色彩空间,因此,不能像上面的Primatte算法一样仔细地将前景与背景屏幕分离。如Primatte RT+算法, Primatte RT可能无法在饱和的后备屏幕颜色较少的情况下很好地工作,并且它也不支持complement 颜色溢出抑制方法(这是提供最佳细节的溢出抑制方法)。对于光线充足且拍摄的图像或剪辑,此算法可产生良好的效果并非常快速地渲染。

这是什么的视觉表示Primatte RT算法看起来像在处理完图像后: