浅析如何对视频内容进行识别填充

2020-06-03 08:50许云鹏
记者摇篮 2020年5期

许云鹏

【摘 要】本文探讨用AfterEffects的Content-Aware以及Mocha软件对视频内容进行擦除。

【关键词】Content-Aware  Mocha   内容识别

我们常常在Photoshop中进行如下操作,去掉图片上的标识、水印或者跟画面无关的人物、物件等。而实现想要的效果往往需要利用选择工具、图章工具等反复调整、修改。

而Photoshop在cs5的版本里增加了一个功能,叫内容识别(Content-Aware Fill),它的作用是可以轻松去掉画面中不想保留的元素,程序会根据画面的内容对被框选区域周围进行内容采样,并在框选区域內自动生成相对应的内容。只需按几个按键,就能完美去除画面中不想要的元素,并且填充的内容与整体画面可以较好地融为一体,效果非常不错。

在视频中,我们也经常会遇到类似的问题,想把一些不需要的东西从视频中删除。通常情况下,在视频中进行这种操作是一个特别耗时耗力且复杂的操作。

而在前不久,在AfterEffects 2019 Latest Update中新加了一项新功能,与Photoshop的功能类似,属于AfterEffects的Content-Aware Fill,其原理是分析当前画面的前一帧和后一帧,并用匹配的像素填充需要覆盖的区域。除了这种方法,我们也可以用BORISFx的Mocha软件进行内容填充。现在我们就来简单梳理一下这两种方法。

一、利用AfterEffects的content-aware fill进行内容填充

在视频素材中,先找到场景中要去除的物体,用钢笔工具在物体周围创建一个遮罩。由于在AfterEffects中,默认的添加遮罩的方式为添加,添加完遮罩后,只能看到要去除的物体,这不便于我们接下来的操作,所以在素材的蒙版属性中,将蒙版的“相加”改为“无”。

接下来对所要去除的物体进行分析,判断物体是否有运动,如果有运动,则需要对已添加的遮罩进行运动追踪。选择蒙版,然后点击跟踪器菜单,根据画面的类型选择位置、缩放及旋转或透视等选项,点击分析旁边的左右三角按钮,进行自动追踪。经测试,AfterEffects的跟踪器对于具有透视关系的视频素材跟踪效果一般,往往需要借助第三方插件或者手动逐帧调整蒙版的位置。如果无运动,则可直接进行下一步操作。

接下来要选择填充方法,这里面有三个选择,分别是对象、表面及边缘混合。这三者分别适用于不同的环境以及对象。

对象:这个选项适用于移动的物体。

表面:适合本身不含移动元素的静态表面。

边缘混合:适合去除没有纹理的静态对象。

实际测试中,发现选择对象的效果相对较好,但运算时间比较长。所以在计算机算力足够的话,一般可以直接选择对象。

接下来点击生成填充图层,AfterEffects会分析蒙版周围的像素,利用Adobe Sensei的人工智能AI进行分析计算,根据素材的分辨率、时间、计算机硬件规格,处理时间会有不同。渲染完成后,AfterEffects会在素材图层上方生成一个序列图,值得注意的是,生成这些序列会占用很多磁盘空间,几秒的素材会生成几个G的数据。如果空间有限,可以在内容识别填充面板右侧(三个横条处)点击选择内容识别填充设置,勾选“创建photoshop输出序列”,会显著减少占用空间。如果对输出画面有更高的要求,需要对画面进一步调色或者后期制作,则要在内容识别填充设置内选择输出深度为16bpc或者32bpc。

此时AfterEffects的content-aware fill已经处理完该画面,对一些比较简单的素材,一般会生成一个比较不错的最终效果,但是遇到背景较为复杂、存在多种光线和纹理的情况时,就需要点击“创建参考帧”,此时会弹出Photoshop,用图章工具将空白处补好后,直接保存并关闭。此时再点击生成填充图层,AfterEffects的AI系统会根据参考图来对画面进行修补。有些复杂的情况,可能需要分次处理。

二、利用Mocha进行内容填充

Mocha是BORIS Fx出品的一款跟踪软件,它具有平面跟踪、Rotoscoping、图像稳定、摄像机3D跟踪等功能。

以Mocha 2020为例,打开AfterEffects,调取素材,然后在效果和预设中查找Mochapro,将其加载到素材上,点击插件上的Mocha图标进入程序。

接下来分析画面,按住x或者鼠标中键对画面进行移动,按住z对画面进行缩放,按空格对画面进行预览,仔细观察后,判断出前景背景所在的平面以及摄像机的运动方式。

接下来绘制要移除的前景的遮罩,选择Create X-spline   layertool或者Beziers工具,在要移除的平面区域周围绘制样条,在绘制遮罩前,在时间轴上滑动,找到透视关系相对明显且画面清晰、平行于摄像机的一帧,并绘制遮罩。

接下来从绘制遮罩的帧向前及向后跟踪,跟踪效果不好的话,可以调整min%pixelsused的数值,根据实际情况打开Perspective选项,再次进行跟踪。

把前景遮罩绘制完毕并且做好关键帧后,下一步要绘制背景遮罩,背景遮罩要大于前景遮罩,并且包裹住整个前景遮罩,确保层的顺序一定要正确,Mocha层的顺序为越靠近摄像机的物体越靠上,背景在底部,前景对象为整个层的最顶部。背景遮罩绘制完毕后,不用进行跟踪,选择Linktotrack,链接到已做跟踪的前景层,接下来要保证点击选中前景层再进行接下来的操作。

点击Remove模块,在input标签栏中点击Create,此时会创建生成一张单帧图,Mocha会利用这张单帧图作为参考进行内容填充,将此图导入Photoshop,在前景模板的位置用“克隆图章”“修复画笔”或“内容感知”等工具进行修复调整,调整完毕直接保存,然后在input标签栏中勾选UseCleanplates Exclusively选项。

点击illumination Model选项,选择Linear,注意,如果画面没有光线变化,可以选择None。

上述设置完成后,点击齿轮图案的Render Current Frame按钮,开始解算。解算完成后,点击关闭Mocha,保存工程。在AfterEffects的效果控件窗口,点击Mocha插件,点击Module Renders中的Module,选择Remove,解算完成。

三、结语

通过对两款软件内容填充识别功能的比较后发现,AfterEffects的content-aware fill的内容填充功能仍有很大的进步空间,但随着AI技术的不断提高,相信未来此类功能将会变得更加智能也更加便捷。

(作者单位:抚顺广播电视台)