奥比中光提出3D智能抠图算法:实现复杂背景下的通用抠图

  • 2021.10.09
  • Orbbec

【本文转载自公众号“计算机视觉life”】

导言:在VALSE 2021大会上,奥比中光展示自研的最新3D智能抠图算法。该算法专为近年兴起的视频会议与直播带货等场景研发,可实时抠取清晰的3D人像及物品,弥补了传统2D抠图的诸多局限性。本文中,奥比中光研究院杨飞宇博士将详细阐述3D智能抠图算法的技术原理,并对3D抠图对比2D抠图的效果提升做出详细分析。

1. 背景

随着视频功能的广泛使用,直播带货和视频会议产业蓬勃发展。抠图作为一项将目标物体和背景分离的技术,被广泛应用于直播带货和视频会议领域。比如,在直播带货时,通过将背景渲染成华丽的直播间来吸引粉丝。又比如,在视频会议时,将家庭背景替换为其他背景,来保护与会者的隐私。

然而,传统的2D抠图存在较多局限性。奥比中光自研的最新3D智能抠图算法,能够很好地弥补2D抠图的缺点。

绿幕抠图用于直播带货和人像抠图用于视频会议

2. 2D抠图存在的问题

2.1. 绿幕抠图:成本高,使用困难,不能抠绿色物品

绿幕抠图是在以绿幕搭建的拍摄场景下拍摄出绿幕视频,并在制作后期根据颜色匹配去掉背景像素,以提取前景的一种抠图方式。绿幕抠图被广泛用于直播和影视制作当中,具有两大优点:良好的抠图效果和能够抠任意类别的物品。

但是,绿幕抠图也存在3个明显的缺点。首先,由于背景的颜色是绿色,那么为了获取比较真实的前景颜色,在前景中就不能出现和背景颜色接近的绿色物品,比如某些绿色植物。

其次,绿幕环境成本高,搭建困难。为了保证抠图的质量,绿幕摄影棚对光照具有较高的要求。比如要求采用均匀的光照以保证绿色背景的一致性,并且要求采用多个光源来避免阴影的产生。这使得绿幕环境具有较高的成本,京东上一套普通级别的绿幕抠图环境,包括灯光组、背景布、支架等,价格可以达到数千元,并且繁琐且复杂搭建过程对于小白用户也非常不友好。

最后,由于绿幕摄影棚设备众多,不能移动,也使得在运动中的拍摄受到了摄影棚大小的限制。

绿幕抠图场景和设备

2.2. 视频会议软件:只能抠人,不能抠物品,不能保护隐私

由于新冠疫情的影响,远程办公已经成为越来越普遍的工作方式。视频会议软件作为远程办公的基础工具,受到广泛应用。常见的视频会议软件都提供了2D抠图即虚拟背景功能,为用户提供了一定的保护隐私和增加趣味性的作用,如腾讯会议、Zoom、Microsoft Teams、飞书、钉钉等。

相比绿幕抠图,视频会议的抠图具有便携、简单易用的优点。但是,现有商用软件的抠图功能也并非尽善尽美,而是普遍存在以下两个缺点:

首先,不能抠物品。在会议过程中,与会人员通常需要展示文件或者物品。然而,受到算法本身的限制,视频会议软件只能抠图人的部分,不能抠取物品的部分。只有当物品被放在人的区域以内的时候,物品才能够被当做人的一部分,被一起抠出来。这样的限制严重地影响了用户的使用体验。

视频会议软件的2D抠图存在细节丢失和多抠背景人物的问题

另外,视频会议软件并不能够起到很好的保护隐私的作用。主流视频会议软件所采用的抠图算法主要是基于2D图像的人像分割,这使得任何被算法识别为人的区域都会被抠出来,比如墙上的人像绘画、背景中的不相关人员等都会被算法抠出,导致被视频会议的另一方看见。此时虚拟背景并不能起到保护隐私的作用,这种情况显然是用户不希望发生的。

2.3. 抠取物品和无背景建模的矛盾

在2D抠图的算法中,抠取物品通常需要背景建模。比如绿幕抠图是通过限制背景颜色来进行背景建模的一种策略。除了绿幕抠图的背景建模之外,微软提出一种任意背景建模的算法Background Matting [1, 2]。它采用拍一张固定背景的方式来进行背景建模这使得该算法能够抠取场景以内的任意物品。

Background Mating的背景建模过程

纹理相近时背景建模的2D抠图失效

但是,这同时也带来了许多局限性。首先,背景建模后照相机就不能移动,因为移动会导致已经拍好的背景失效。这使得运动中的拍摄(比如车内视频会议)无法实现,一点点干扰(如手机的震动)就会使算法的效果受到严重破坏,只能重启算法才能解决问题。

其次,当人物和背景颜色相近时算法也会失效。比如穿白色衣服的人身后有白色墙面,这时算法不能区分前景和背景,导致人的衣服不能被很好地抠出。

最后,由前景导致的阴影区域也会被一同抠出。因为在背景拍摄时阴影是不存在的,算法会误认为阴影区域就是前景,将其错误地抠出。

为了实现抠物品的目的,除了背景建模的方法,有人提出也可以用语义分割算法。比如在COCO [3]数据集上训练的语义分割模型,采用多分类的方法也可以对物品进行分割。但是,语义分割算法是根据类别来分割物体的,比如通过COCO数据集训练的算法可以对80类物品进行分割,这样的种类数量在真实的应用场景下是远远不够的。以直播带货为例,带货的主播今天甚至不知道明天要带货的商品是什么种类。因此,语义分割方法从原理上并不适用。

3. 奥比中光3D智能抠图

3.1. 基本思想

针对以上2D抠图的缺点,奥比中光提出一种基于RGB-D的抠图的方法,能够很好地弥补2D抠图的缺陷,为用户提供更优质的直播带货和视频会议体验。

奥比中光3D抠图的基本思想是利用三维空间的距离信息来区分需要抠取的前景(比如主播和商品)与不需要被抠出的背景(比如墙面,杂物和不相关的人物)。

利用深度图和彩色图预测前景的分割

首先,用户可以自定义一个感兴趣的距离范围l,比如距离相机l=1m 的距离,并且让所有需要被抠出的目标处于小于l范围内,不相关的背景都处于大于或等于l范围之外。在使用的过程中,距离l可以根据用户的需要在线改变,而不用重启算法。

然后,利用深度图的距离信息,可以获取范围内前景的mask。为了更好地获取边缘细节,我们将mask转化为trimap(三色图:前景=255,背景=0,未知区域=128)。

最后将color和trimap图通过神经网络推理,预测前景的精细蒙版,即用于抠图的alpha图。

α=N[θ;c,T(d

其中α代表前景的alpha图;N代表神经网络;θ代表神经网络的参数;c代表彩色图;d代表深度图;T代表由mask生成trimap的函数。

3.2. 算法设计

我们设计了如下的网络来进行前景分割的预测。首先,考虑到这项任务的目的是去精细化所给trimap的边缘,因此网络的头部并不需要太多的语义信息,所以我们将常见的5次下采样简化到3次。

然后,trimap和color被分别提取特征之后进行融合,用于跳跃连接为网络的头部补充更加丰富的细节信息,促进边缘的精细化预测。同时我们提出了FFM(feature fusion module)模块利于attention的机制,来提高融合的效果。

最后,我们采用逐级精细化的方法把以上网络作为一个stage,用多个stage串联的方式使得预测的分割越来越精细。并且可以通过调整stage的数量实现精度和速度直接调节。

处理图像的神经网络结构

上述的神经网络结构能够较好地预测单张图片的边缘信息。然而,在实际应用过程中我们处理的更多的是视频信息。

我们在利用以上网络对视频信息进行处理的时候发现,预测的前景边缘具有比较显著的抖动。这种抖动主要来自于RGB-D相机的深度图和帧间信息的缺失。目前的深度相机或多或少均存在抖动或者关联信息缺失导致的稳定性问题,采用基于ToF的RGB-D相机可使边缘更稳定。但是,即使采用了ToF相机,由于帧与帧之间的关联信息的缺失,也会导致抠图的效果缺乏稳定性。

为了解决以上问题,我们进一步改进了单帧图像的神经网络,增加了帧间信息的处理机制。我们在原有输入的基础上增加一个temporal分支,用于提供上一帧的信息。 该分支的输入为上一帧的彩色图color_(t-1)和上一帧预测的分割alpha_(t-1)。实验表明,增加上一帧的彩色图有利于移植快速移动时的拖影,而增加上一帧的分割有利于保持静止状态下的稳定性。

处理视频的神经网络结构

3.3. 数据准备

为了使算法在复杂背景下具有较好的抠图效果,我们设计了以下数据采集方案。

针对复杂背景的视频会议和直播带货数据采集

(1)选择复杂的背景环境,比如开放的办公室环境,具有较强的杂物和光线的干扰,增加模型在复杂环境下的鲁棒性。

(2)为了增强算法抠取物品的能力,我们让采集人员手持物品,比如书本和水杯,通过这种方式可以模拟直播带货的场景需求。

(3)我们观察到现有的视频会议软件对手指部分并不能够很好地抠出。为了更好地抠取人像的细节,我们增加手指部分的图像,使得在抠取人物的时候手指更加完整。

(4)我们在背景环境中增加不相关人员的干扰,比如在一定的距离外出现背景人物,通过这种方式防止对人像的过度预测,起到更好的保护隐私,只抠取目标人物的效果。

2D和3D抠图效果对比

4. 效果展示及3D抠图的优势

由于3D信息的加持,3D抠图相比传统的2D抠图有着许多天然的优势,比如抠物品、抠细节、保护隐私等。通过分析市面上可用的视频会议软件,我们对比了2D抠图和本文的3D抠图的预测效果。

4.1. 手持使用,背景不限

本文提出的3D抠图算法可以手持使用(如Vlog 拍摄),即相机的移动不会使抠图效果发生变化。2D抠图中背景建模的抠图方法,如Background Matting [3]方法要求固定机位,通常需要配合三脚架使用,不具备可移动性,大大限制了用户的使用范围。而本文的3D抠图通过距离区分前景和背景的原理具有天然的优势,无需背景建模,允许在使用过程中随意移动相机。

4.2. 抠人抠物,种类不限

本文提出的3D抠图算法可以抠取任意类别的前景(只要有深度信息),即实现了通用的前景分割。目前市面上普遍使用的基于语义分割的2D抠图无法实现通用的前景分割,因为前景的类别是无穷大。所以,2D的抠图算法只能依赖背景建模才能实现通用的前景分割,但依然受到前景和背景不能是相似纹理的限制。在纹理相近时,背景建模的2D算法也会失效,而3D抠图能够通过深度信息找到前景和背景的边界,完成相似纹理下的高难度抠图。

4.3. 保护隐私,安全可靠

如上图所示,本文提出的3D抠图算法可以过滤掉背景中不相关的干扰人物,从而起到保护隐私的作用。比如在家进行视频会议时,通常我们不希望对方看到自己的家庭成员。然而,部分2D抠图采用语义分割的方法,无法判断人物距摄像头的距离,从而会把所有匹配到的人物都抠出来。3D抠图支持用户自定义抠图距离,比如在0.5 m、1 m等,从而灵活地过滤掉背景人物,充分起到保护隐私的作用。

4.4 深度加持,细节更好

如上图所示,本文提出的3D智能抠图算法可以更好地抠取头发、手指等细节。这是由于手指和头发处的深度为算法提供了先验信息,有利于算法将细节处抠取地更加完整。相比之下,2D抠图算法容易导致细节丢失,需要配合更高的分辨率才能抠取细节,但更高的分辨率会导致算法速度更慢,体验更差。3D抠图网络轻,只有3次下采样,网络更多的关注细节信息而非语义信息,这使得算法的速度和边缘精度上都比2D更有优势。

5. 局限性

由于深度信息的使用,3D抠图相比2D抠图具有显著的优势,但算法对深度图的质量具有高度的依赖。3D抠图对于深度容易丢失的物品,比如透明、反光、低反物品的抠取存在困难。另外,深度相机的性能也会影响抠图的质量。良好的相机D2C(静态下depth和color对齐)有利于提高静态抠图的效果;良好的相机帧同步(depth和color具有一致的运动行为),有利于提高动态抠图效果。因此,建议使用者选择性能更加优异的奥比中光深度相机与3D抠图算法配合使用。

6. 参考文献

[1] Sengupta, Soumyadip, et al. "Background matting: The world is your green screen." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020.

[2] Lin, Shanchuan, et al. "Real-time high-resolution background matting." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.

[3] Lin, Tsung-Yi, et al. "Microsoft coco: Common objects in context." European conference on computer vision. Springer, Cham, 2014.

/ END /