37DATA

无需绿幕的实时人物视频抠图

Is a Green Screen Really Necessary for Real-Time Human Matting? 论文阅读笔记

Github地址:https://github.com/ZHKKKe/MODNet

Image

影视作品中虚拟视觉效果的实现离不开抠图的辅助,例如电影中的科幻、仙侠世界特效效果往往是在绿幕场景中进行拍摄后,再制作精细的抠图。但在现实生活中,我们常常没有预设好的绿幕,或者更希望从已有的视频素材中更换背景,无缝瞬移到新场景中,那么我们只能通过绿幕来解决嘛?

答案是不需要。但常用的抠图算法中需要原图与相应对齐的trimap图*或背景图进行抠图,但相对应的trimap图或背景图又不太容易获取,因此本算法模型MODNet致力于仅靠单张RGB图像进行精细化的人物抠图,并应用于视频素材中。

Image

MODNet的总体架构如上图所示:

  1. 基于已标记的数据进行模型训练、学习抠图的各个子任务;

  2. 利用子目标间的一致性,基于未标记的数据进行模型精调;

  3. 在人物视频抠图的实际应用中,基于ODF策略平滑最终的前景预测结果

  • 创新点

  1. 为了克服域迁移问题,基于子目标一致性(SOC)提出了一种自监督策略,即利用子目标之间的一致性来减少预测前景蒙版中的伪影;

  2. 提出单帧延迟(OFD)这种后处理方法,目的是在视频抠图后获得更流畅的输出。

  • 数据集

包括3000张已标记前景区域的图片,分辨率在1000x1000 ~ 2000x2000间。使用时先同比例调整为短边长512的图像,再随机裁剪长边长为512的子图像。

  • 模型结构

作为trimap-free的抠图,本算法同样在预测trimap+基于trimap的抠图思路上延伸,对trimap-free抠图目标分解为语义估计、细节预测、语义与细节融合这三个子目标。

Image

MODNet共包含三个分支,每个分支均通过特定约束学习不同的子目标。

  1. 低分辨率分支:用于预测人物语义信息;

  2. 高分辨率分支:用于辨别细节边界信息;

  3. 融合分支:用于预测最终的前景蒙版;

  • Sub-Objective Consistency(SOC)策略:

针对trimap-free的抠图情况,上述三个分支可能存在不一致的结果。例如,前景模版的区域预测可能在融合分支中错误预测,但在语义分割中预测正确。但直观来说,这两个分支的预测结果像素区域应该是相似的,同时由于语义分割网络是预先训练过的,产生的结果会相对准确。因此SOC策略在子目标的预测结果之间增加了关于一致性的约束,用于提升最终的预测结果。

  • One-Frame Delay(OFD)策略:

基于对视频进行逐帧处理后再重新拼接成新视频的算法输出的视频,往往会产生时间上的不一致问题(例如视频中某个位置突然闪烁)。由于闪烁的错误帧前后帧往往是正确的预测,因此可以利用这一特性来进行效果优化。

举个栗子,假设我们现在有三张连续帧的图像,并已计算出每张图像相应的前景蒙版。如果三张前景蒙版满足以下条件,则认为中间帧存在错误的跳动像素,并用前后帧的结果均值来代替中间帧的预测结果,以提高视觉上的平滑变化。

Image

(隔帧间图像足够相似,且中间帧与前后两帧都存在足够大差别)

Image

但有得必有失,这个策略会在展示平滑运动的视频中有较好的表现,但在快速变化的视频中反而可能过度平滑掉某些变化。

  • 效果图

    MODNet与其他算法的抠图效果对比:

Image

    加入SOC与OFD处理方法后,对视频输入的隔帧输出效果:

Image

(a)输入(b)MODNet(c)MODNet+SOC(d)MODNet+SOC+OFD

    MODNet对比其他trimap-base模型(DIM)的抠图效果优势

Image

基于计算深度图来预测的trimap图错误,导致了trimap-base模型DIM的抠图失败。而MODNet可以做到更好的人物抠图效果。

  • 总结

可优化点:

  1. 在处理难度较大的姿势、复杂服饰等时依然会出现问题;

  2. 对与背景较为贴近的服饰边缘的抠图效果依然不太理想;

  • 备注:

*trimap图:对内容添加粗略区域划分标记的图像

以上~感谢阅读Image