【新智元导读】人体三维重建突破30FPS,「实时」元宇宙技术难题又解决一个!
随着深度学习的发展,基于单张RGB图像的人体三维重建取得了持续进展。
但基于现有的表示方法,如参数化模型、体素栅格、三角网格和隐式神经表示,难以构筑兼顾高质量结果和实时速度的系统。
针对上述问题,天津大学团队联合清华大学与英国卡迪夫大学在NIPS2022的工作中提出一种高效灵活的三维几何表示——傅里叶占有率场(FOF)。
项目主页:http://cic.tju.edu.cn/faculty/likun/projects/FOF
代码链接:http://github.com/fengq1a0/FOFFOF将三维物体压缩为垂直于视线方向的二维向量场,离散化后可与二维卷积神经网络相兼容,从而跨越了三维几何与二维图像之间的鸿沟。FOF非常灵活,可以高效地与三角网格相互转换。这使得人体参数化模型可以直接作为单目重建的几何先验,极大地提升了重建精度。基于FOF,研究团队构建了第一个30+FPS的高质量实时单RGB相机的人体三维重建框架,推动了3DTV、全息会议等应用的发展。作者还展示了基于FOF的单RGB相机人体三维重建(基线版本)的实时demo,旋转跳跃、抖腿都不在话下。
,时长03:08
傅里叶占有率场
方法动机
现有单RGB相机人体重建方法大多以深度隐式表示为基础,此类方法需要在空间中采样大量的点,提取相应特征后交与MLP处理,从而获得对应点的占有率值。这一过程极其耗时,同时可能产生不鲁棒的结果。从整体上看,将特征向量与坐标作为MLP的输入,输出函数的值,这一过程实质上是使用特征向量表示相应的函数。与神经网络相比,在赋范线性空间下使用广义傅里叶级数的系数向量对某一类函数进行近似表示是更为简单高效的方法。以此为基本出发点,作者提出了一种全新三维表示——傅里叶占有率场(FOF)。
图1 傅里叶占有率场表示(FOF)
方法思路
首先,如图1所示,该工作将三维人体规范化到中,表示为占有率场:
对于确定的,为关于的一维函数,简记为。若能将使用向量表示,则可将转化为二维向量场。不难发现满足迪利克雷条件,因此可以使用收敛的傅里叶级数对进行展开:
采用级数的前项获得的近似,进而获得的近似。这一过程可写为:其中是前项基函数,是级数的前项系数构成的向量,是傅里叶占有率场(FOF)。
此外,转化为三角网格时所用的marching cubes算法包含了均匀采样的过程,滤除了信号的高频部分。仅保留低频级数项的设计也与之相契合。图2所示的实验结果说明了仅需少量项数的傅里叶级数,重构的几何体便能够获得相当高的精度。图2 不同阶次(N)FOF表示的三维重建结果
FOF与三角网格之间的转换
作者使用marching cubes算法将占有率场转化为三角网格。如上一节所述,在此之前只需使用一个张量乘法便可以获得近似的占有率场。与使用MLP的深度隐式表示相比,FOF表示方法有着极高的效率优势。同时,将三角网格转化为FOF也非常高效。首先使用类似于光栅化的过程求出每条直线穿过各层三角网格表面的深度值,而后使用积分公式便能直接求出各项系数:在训练过程中,为了节省空间,仅保存每条直线上经过的几何表面。具体的傅里叶占有率场在数据预处理时进行计算。重建网络设计及变种图3 基于FOF的单RGB图像三维重建框架
如图3所示,得益于FOF的二维形式,仅需一个image-to-image网络便可完成单图像人体三维重建。在该文的实现中,重构网络使用了HRNet-W32-V2作为backbone,并设计了简单的解码器头。
同时,得益于FOF的灵活性,参数化模型如SMPL,可直接转化为FOF一起作为网络的输入。
此外,估计出正反法线图作为网络的输入也有助于提升重建结果的精度。两种变体分别命名为FOF-SMPL和FOF-NORMAL。
需要注意的是,除网络输入的通道数外,整体网络无需再做其它修改。得益于FOF的良好特性,网络训练仅使用L1 loss作为监督便可收敛良好。
实验结果
作者在Twindom和THuman2.0混合而成的数据集上与ICON[1]、PIFu[2]、PIFuHD[3]三种方法进行了对比。
如图4图5所示,在定性比较上,该方法及变种取得了高质量的重建结果。
FOF-SMPL对不同的服装、不同的姿势都非常鲁棒。该方法的运行速度远超其他方法,其中基线版本FOF-Base实现了实时重建。
图4 不同姿势定性对比图5 不同服装定性对比
在定量比较方面,如表1所示,FOF-SMPL的几何误差(倒角距离和点到面距离)最小,获得了最好的几何准确度。
同时,基线方案FOF也取得了十分优秀的结果。在视觉效果上(法线误差),FOF-SMPL仅略次于网络更加复杂,参数量更大,运行时间更长的PIFuHD。
表1 不同方法定量对比结果