李飞飞团队实现“隔空建模”,透过遮挡物还原完整3D人体模型
注意看,这个男人搬着一个长长的柜子,画面中半个人都被遮挡住了。
但即使有这样的遮挡,男人的整个身体在AI面前依然是无所遁形。
哪怕是蹲在椅子背后只露出头,依然可以被模型完整还原。
从遮挡物背后把人“揪”出来的,是李飞飞团队推出的人体建模新工具Wild2Avatar(本文简称W2A)。
只要一段4秒左右的的单角度视频,就能构建出完整的3D模型,有遮挡也不怕。
相比此前的SOTA方法,Wild2Avatar在人体建模上可谓是实现了质的飞跃。
从下面的对比图中(从左到右依次为带遮挡原图、Vid2Avatar提取结果和W2A提取结果)可以看到,作为baseline的Vid2Avatar方法只能大概描绘出人的轮廓,遮挡物直接被“拍扁”到了人物身上,而且轮廓看上去也不够准确。
而W2A提取出的人物不仅轮廓更加精确,看上去也更具立体感,关键是遮挡物被完美地去除,显现出了完整的人物结构。
对遮挡物的去除,W2A操作得也更为彻底,没有留下多余的痕迹。
而baseline中部分结构缺失的现象,在W2A中也没有发生,人物的结构十分完整。
而且,W2A的人物建模是动态的,视频画面中,就算整个人都藏在椅子后面,依然可以输出人物模型。
和另一baseline OccNeRF相比,W2A只需100帧的训练视频就能复原出完整干净的结构,但后者用了500帧的系列视频后不仅结构缺陷极大,还存在许多“鬼影”。
测试数据也表明,对于陌生场景,W2A的提取质量和完整性(comp.)都比V2A有所提升,特别是对遮挡(llm)部分,合成质量得分接近翻番。
和OccNeRF相比,W2A与500帧训练数据的OccNeRF整体成绩接近,但遮挡部分仍然是有明显增强。
那么,Wild2Avatar是如何实现的呢?
工作过程中,W2A将整个场景分成了遮挡物、人物本体和背景三部分。
这三个部分由独立的NeRF网络分别预测特征,渲染图像时再将三个部分的输出拼合。
这种做法的主要目的是为了避免遮挡被误当成人体的一部分,出现Video2Avatar那样把遮挡物合成进人物的情况。
具体来说,李飞飞团队将图像映射到一个球空间,背景位于球外,人物和遮挡物则分别位于球空间内部的不同位置。
遮挡空间是通过内部采样点的坐标和距离来构造的。用于遮挡部分的生成网络与背景共享,可以预测遮挡空间样本点的颜色和密度值。
而人体部分的处理则是使用SMPL的参数化方式,通过正向和反向皮肤拟合,先将人体变形到一个姿态不变的坐标空间,再输入神经网络进行学习。
为了增强任务模型的完整性,李飞飞团队还设计了新的损失计算方式。
首先利用现成的分割模型输出人体的二值分割掩码,并掩码取反得到“非人体”区域的掩码,即为可能的遮挡区域。
同时,从W2A渲染的三个部分中遮挡部分的密度图,然后根据提取结果再分离出人体部分。
其中人体部分与前面得到的“非人体”掩码进行与非运算,得到的结果再和遮挡部分的密度图做二值交叉熵运算,就得到了遮挡解耦损失Locc。
Locc会与像素重构损失、场景分解损失等其他损失参数一并纳入到整个网络的端到端训练过程,用于优化更新网络参数。
论文地址:https://arxiv.org/abs/2401.00431