共计 3255 个字符,预计需要花费 9 分钟才能阅读完成。
抠图是图像处理中最常见的操作之一,指的是将图像中须要的局部从画面中准确的提取进去。
抠图的次要性能是为了前期的合成做筹备。在 Photoshop 中,抠图的办法有很多种,最常见的有通道抠图、蒙版抠图、钢笔工具抠图和疾速抉择工具等。针对视频的抠图办法次要是基于 keylight 插件对纯色背景进行抠图(多用于绿幕)。
抠图次要解决的是图像中前景和背景区域的精确预测问题,对于图像编辑和影视制作有着极其重要的实际意义。因而一个精确无效的抠图算法能够极大改善内容生产的工作流程。从而节俭大量的人力物力并进步工作效率。
图 1 trimap 抠图
罕用视频抠图形式
业内罕用视频抠图次要有 通用抠图 和绿幕抠图 两种形式。
通用抠图通常基于 trimap 对前景、背景和 alpha 图进行预计,然而当图像中的前景和背景色彩类似或有着比较复杂的纹理时,基于 trimap 的传统算法很难获得比拟好的成果。绿幕抠图也能够基于 trimap,然而因为 trimap 办法须要额定减少一个三值图输出,在视频绿幕抠图很难理论利用起来。
绿幕抠图通常采纳色度键或亮度键算法。亮度键指将一幅彩色图像转为单通道的黑白图像,这幅黑白图像就代表着该图像的亮部和暗部区域。通过设置最低亮度和最高亮度两个阈值,将合乎该条件的区域保留,不合乎的去除,由此就生成了一张 alpha 图,然而这种办法间接生成的 alpha 图通常有比拟多的瑕疵,还须要进行二次解决。
色度键算法则是在 HSV 黑白空间中进行,其中 H 示意色调、即是什么色彩,S 示意饱和度即该色彩有多浓,V 示意亮度即该色彩有多亮。色度键算法须要提前手动抉择背景色彩,通过计算整幅图像和背景色彩的间隔或称类似度来判断哪些色彩属于背景,哪些色彩属于前景,由此失去最终的 alpha 图。
图 2 AE 软件中的色度键抠图
在绿幕抠图中,无论是亮度键还是色度键都须要和用户进行交互,须要用户繁琐的调节各种简单的参数来达到较好的抠图成果。同时,因为黄色(255,255,0)和绿色(0,255,0)相近,色度键算法很难对该色彩进行无效解决。如图 2 所示,在 AE 软件中应用色度键算法对绿幕视频进行抠图,能够看到背景根本能去除洁净,然而黄色的皮卡丘玩具呈现了异样。
图 3 HSV 色彩空间模型
近年来随着计算机硬件设施和人工智能基础理论的倒退,使得人工智能算法可能真正在各行各业落地。CNN 具备弱小的高级特征提取能力,补救了传统算法要基于手工特色进行设计的弊病。同时 CNN 还具备弱小的拟合能力,与传统算法相比,基于 CNN 的人工智能算法通常具备更强的鲁棒性。
ZEGO 绿幕抠图技术计划
2.1 数据制作
图 4 绿幕抠像过程
绿幕数据是比拟业余的数据,个别只有影视公司才会去拍摄,而因为肖像、版权等一系列问题,互联网上简直找不到任何能够公开应用的绿幕数据。所以,ZEGO 搭建了业余的绿幕拍摄场地,用于制作业余的绿幕数据集。
绿幕数据的制作包含绿幕背景和前景拍摄。为了兼容市面上大部分绿幕以及减少绿幕背景的多样性,ZEGO 应用业余的摄影灯用于调节绿幕的亮堂和色温,同时思考到用户应用的绿幕不肯定像业余的那么平坦和柔和,咱们也制作了一批成果较差的绿幕背景数据。
图 5 通过补光灯和色温灯管制绿幕背景的色彩
绿色溢出是绿幕抠图的经典问题。因为光线的反射、物体间隔绿幕的远近和物体自身色调的深浅等起因会造成物体外表被染上绿色,而人眼对绿色十分敏感,因而绿色溢出会使得绿幕抠图的成果大打折扣。ZEGO 专门制作了一批带有绿色溢出的数据集,并应用 AE 软件中的 keylight 插件进行绿幕抠图和色彩溢出克制,由此失去带绿色溢出的前景图像、绿色溢出克制后的前景图像以及对应的 alpha 图。
图 6 带绿色溢出的前景以及对应的绿色克制前景和 alpha 图
图 7 人体、纸张被绿幕反射上绿色
2.2 模型设计
ZEGO 设计了超轻量级的 CNN 模型用于实时绿幕抠图。该模型采纳编码器加解码器构造,其中编码器由 3X3 的卷积层、relu 激活函数、1×1 的卷积层、batchnoraml 层形成并整体遵循 mobilenetV3 的倒残差构造。
编码器采纳通道可拆散卷积用于升高计算量,随后进行特色图升维最初再应用 1×1 的卷积对特色图进行压缩降维。试验表明这种构造在轻量级网络中可能更加无效的提取数据特色。数据每通过一个编码器,大小减小一半,网络将在不同分辨率的数据上提取特色。
通过编码器提取特色后,最初一层特色会通过 LRASSP(轻量级空洞空间金字塔池化)层,该层是轻量级的空间金字塔池化。该层会将输出依照宽和高平均的分成 1 份、4 份、16 份,并别离对其进行全局均值池化,最初再把失去的池化特色拼接起来。该层能获取特色图不同空间的尺度信息,从而加强网络的鲁棒性。
图 8 ASPP 示例
在解码器阶段,会逐个对特色图进行两倍上采样并联合时序信息来增强视频抠图的连续性和稳定性。时序信息通过 GRU(Gate Recurrent Uint)模块来提取并嵌入对应的解码器中。GRU 是循环神经网络的一种,和 LSTM(Long-Short Term Memory)一样,也是为了解决长期记忆和方向流传中的梯度等问题。
GRU 包含两个门控接口,其公式如下:
GRU 首先通过上一个传输下来的状态 和以后节点的输出 来获取两个门控的状态,其中制重置的门控,Z 为管制更新的门控,为 sigmoid 函数。
失去门控信号之后,首先应用重置门控来失去重置后数据:
再将与输出进行拼接,随后通过 tanh 激活函数来讲数据缩放到 -1 到 1 的范畴内。
这里的 次要蕴含了以后输出的数据,有针对性的对增加到以后的暗藏状态,相当于记忆了以后时刻的状态。
GRU 的关键步骤是记忆更新阶段,在这个阶段中,GRU 同时进行了忘记和记忆两个步骤,并应用先前失去的更新门控 Z 进行更新:
门控信号的范畴为 0 到 1。门控信息越靠近 1,代表记忆下来的数据越多,反之则代表忘记的越多。
当增加了 GRU 后,整个网络会随着工夫对谬误的预测进行修改并能无效克制视频抠像的闪动。
图 9 GRU 对谬误预测的修改
绿幕抠图除了要精密的抠出前景边界外还需有对绿色溢出进行无效克制。人眼对绿色十分敏感,如果抠像边界还残留绿色或前景被光线反射上绿色会对绿幕抠图的后果大打折扣。
整个绿幕抠图的原理可解释为如下公式:
其中 为合成后图像,为抠图模型失去的通明通道图,示意前景,示意新的背景。
图 10 绿幕抠图模型
2.3 绿色克制
为了解决绿幕抠图中的色彩溢出问题,ZEGO 额定在网络后端减少了一个绿色克制模块。ZEGO 在该计划中制作了一批带有绿色溢出的数据,并通过 AE 软件提取其前景、alpha 图随后对前景进行绿色克制失去克制后的前景图。因而,一个数据组蕴含了四个数据,别离是原始绿幕图像、alpha 图、带绿色溢出的前景、绿色克制后的前景。
图 11 绿色克制流程
在网络的训练过程中,会先预测出不进行绿色克制的前景图像,随后进入绿色抑制器并对绿色溢出进行克制。
最终的前景图会和数据中的手动绿色克制前景计算 L1 损失,并将梯度回传更新网络参数。
其中 为预测的前景,为实在的绿色克制后的前景。
图 13 绿色克制成果
ZEGO 绿幕宰割,极致成果体验
ZEGO 通过在算法中嵌入多级绿色值,无效的改善了传统绿幕在打光不均、绿幕不标准时呈现的绿色残留。同时 ZEGO 利用 GRU 模块,减少了帧间信息,无效的晋升了 alpha 图之间的连续性,弱化了原始噪声对抠图的影响。并且 ZEGO 提出了自适应的色彩溢出机制,在解决色彩溢出的同时尽量不对其余色彩产生大的影响。ZEGO 绿幕抠图在取得好的抠图成果同时,性能同样优良。实测在 RK3588 上对四路 1080P 视频进行解决,每帧耗时仅 8 毫秒。
绿幕宰割成果比照
除了绿幕宰割能力之外,ZEGO 还反对任意背景宰割能力,开发者能够利用这两种能力实现背景虚化、虚构背景、演讲模式、多人实时同台互动等业务场景,打造更多样的互动体验。
更多 ZEGO 绿幕宰割信息可点击链接或下方浏览原文查看:https://doc-zh.zego.im/article/16333