PIFuHD 是 PIFu 系列的第二篇论文,是 PIFu 的改进版本。本文记述了论文的核心思想。
Motivation
在之前的工作中,PIFu 已经证明了隐式函数可以优雅的实现通过对单张照片对人进行重建。但 PIFu 依旧存在着缺陷。PIFu 只能处理低分辨率的图像,这主要是计算机领域的经典的 trade-off 问题导致的:要想高质量细节(局部信息)就一定要提升分辨率来增强细节信息,而提升分辨率感知域(全局信息)又上不去,PIFu 之所以有着良好的表现,就是因为其对全局信息的良好把控。这严重影响了 PIFu 的进一步发展,因此为了改进 PIFu 的固有缺陷,有必要对其进行进一步改进。另外,PIFuHD 还提出了一种有效处理未观测区域(如背面)的方法,从而获得了更完整的的重建效果。
Method
整体流程
PIFuHD 通过 coarse to fine 解决了这个问题,要想理解也很简单,其使用了两个分辨率不同的模块,一个负责提取全局信息(上半部分),另一个提取局部细节(下半部分)
框架上看,PIFuHD 依旧沿用了 PIFu 初始的框架,是不过分成了两个部分,一个提取全局特征,一个提取局部特征。为了提升重建模型的质量和精度,该文先使用方法预测该图片对应的正面和发面的法向图,和原始 RGB 图片一起作为两个模块的输入图片。也就是说,PIFuHD 的主干部分输入的是三张图片:RGB 相片以及正反面的法向量图。
法向量图的预测
作者认为,讲法向图放到特征提取之前更能让之后的网络学习到锐利的 3D 几何。作者直接使用了 pix2pixHD 网络,直接从 RGB 彩色图预测改图正面和反面的法向图。作者认为这样得到的看起来合理的法向图对于重建三维人体就足够了。
loss
与 PIFu 中的简单的正则损失不同,PIFuHD 使用了 BCE(Binary Cross Entropy)损失函数计算一个集合的采样点的损失。
其中 S 表示采样点的几何,λ 是采样点中在人体表面外的比例,f*(X)表示 X 的金标准的占有值。f{L,H}则是网络两部分预测出来的值。
和 PIFu 一样,训练点的采样方法还是包含两个部分:在 3D bounding box 中的均匀采样和在人体表面顶点的周围进行的一个服从高斯分布的密集采样。