基于深度学习的单图像三维人体重建是通过深度学习算法从单张输入图像中重建三维人体的网格模型(Mesh).三维人体重建有着广泛的应用领域和巨大的商业潜力,如智慧教学场景构建[1]、全息数字成像[2]、虚拟试穿[3-4]、游戏设计[5]和影视制作[6]等.单图像三维人体重建由于仅要求单张输入图像,因此可以大幅降低这些应用的资金成本和使用条件.此外,单图像三维人体重建还可以为其他视觉任务[7-9]提供更多的有效线索,从而提升相应算法的性能.因此,单图像三维人体重建在近几年越来越受到计算机视觉、计算机图形学等领域的研究者的重视,正在成为一个新的热点研究方向.基于单图像的三维人体重建是一个极具挑战性的问题.具体而言,主要面临以下的困难和挑战.a.信息缺失.由于输入图像信息有限,因此设计的算法不仅要从数据集中学习人体深度信息的分布,而且须要“猜测”不可见部分的信息.b.相机参数未知.一般地,输入图像通常在非约束条件下拍摄,丢失了相机参数等对三维重建极其重要的信息.c.重建对象复杂.众所周知,人体体型各不相同,且是一个多关节关联的非刚体,能展现出异常复杂的姿态;此外,待重建的人体往往伴随着复杂的衣物.这些都增加了单图像三维人体重建的难度.d.训练数据匮乏.当前三维人体模型采集依赖昂贵的硬件设备和繁琐的后期处理,导致数据集规模相较于其他视觉任务显著偏小.数据匮乏给训练基于深度学习的单图像三维人体重建算法带来了巨大的挑战.得益于近十年来深度学习的飞速发展和在视觉领域的成功应用,从单张输入图像中重建具备完整几何结构的三维人体模型也逐渐成为可能.为了重建三维人体模型,早期方法须要融合人体的多视角图像[10-11]或时间系列图像[12-15].2019年至今单图像三维人体重建蓬勃发展.文献[16]提出基于深度体素回归的单图像三维人体重建方法(DeepHuman).DeepHuman利用参数化人体模型生成三维语义体素块和相应的二维语义图后,使用一个基于图像引导的“体对体”转换卷积神经网络来完成三维人体重建.尽管DeepHuman可以较为有效地重建穿衣人体的全局拓扑结构,但是在恢复人体表面细节方面表现欠佳.同年,文献[17]将隐式曲面函数引入到单图像三维人体重建中,研究者们提出了像素对齐隐式函数(PIFu)的新方法,恢复了丰富的三维人体表面细节.之后,基于隐式曲面函数的方法在单图像三维人体重建中被广泛使用.文献[18-19]提出几何与像素对齐隐式函数(Geo-PIFu)[18]和基于高分辨率图像的像素对齐隐式函数(PIFuHD)[19]等方法.2021年以来,文献[20-21]融合三维人体模型引导和隐式曲面函数的优点,提出参数模型条件下的隐式表示(PaMIR)[20]和混合显式与隐式的方法(HEI-Human)[21].这些方法在重建人体全局拓扑结构和恢复表面细节等方面都有了一定的提升.可以看到,近年来基于深度学习的单图像三维人体重建方法层出不穷,其重建效果也得到不断进步.当前,相关领域的综述主要围绕单图像的三维重建[22]、单目深度估计[23]及基于参数化模型的人体姿态估计[24]等任务展开.现有的单图像三维重建综述大多面向常见物体的点云重建.与着衣人体重建相比,这些重建对象原始数据简单、形状结构单一、点云规模较小,没有涵盖复杂化的着衣人体模型.尽管单目深度估计也能从单张图像中预测物体的深度信息,但是无法重建出准确且完整的拓扑结构,因此也难以恢复出人体模型的局部细节.基于参数化模型的人体姿态估计旨在从单张图像中估计人体的姿态与形状,并通过参数化模型来表示.这一任务与本研究的主题高度关联.对于着衣人体重建而言,不仅须要重建出姿态各异人体所固有的完整结构,而且要对人体所穿着的复杂衣物进行建模,从而对三维重建这一病态问题带来了更大的挑战.本研究对近年来发表的单图像三维人体重建文献进行整理,从方法、数据集和性能评价三个维度进行分析和总结,并展望未来的研究方向,旨在帮助相关研究人员快速了解单图像三维人体重建的相关方法思路、进展和资源.首先从模型表示和计算两个方面介绍当前主要的单图像三维人体重建方法;接着介绍单图像三维人体重建常用的公共数据集和客观评价指标;然后从客观指标和可视化两个角度对当前先进方法进行评价和对比;最后在总结当前方法存在的问题的基础上展望单图像三维人体重建未来潜在的研究方向.1 单图像三维人体重建方法本研究从表示和计算两个维度梳理和总结当前基于深度学习的单图像三维着衣人体重建方法.单图像三维人体重建的模型表示方式包含深度图像与点云表示、参数化人体模型表示、体素及语义体素表示及隐式曲面函数表示;计算方法可以分为基于点云表示的方法、基于体素体积的方法、基于参数化模型引导的方法、基于隐式曲面函数的方法、融合了参数化模型引导和隐式曲面函数的混合方法.1.1 三维人体模型表示常见的模型表示方式如图1所示.图1(a)为当前应用最为直接的表示方式——三维模型的网格表,它在模型驱动、场景合成、虚拟现实和动画创作等领域有着广泛的应用.然而,网格表示为了准确地表示几何形状和拓扑结构,由一组顶点和面等非规则数据项组成,导致深度学习模型无法直接处理和预测.因此,当前三维人体重建算法通常使用三维模型的其他表示形式作为中间媒介,以间接处理和预测网格数据,其相互转化关系如图2所示.10.13245/j.hust.240614.F001图1单图像三维人体重建中常用的模型表示方式10.13245/j.hust.240614.F002图2三维模型不同表示方式的转化关系1.1.1 深度图像与点云表示深度图像是一种单通道的二维图像,每个像素点记录了从相机到场景中某一点的距离.因此,深度图可以从基于网格的三维模型中相机渲染得到.点云是一组离散点的无序集合,每个点包含了模型顶点的位置信息及可能的其他属性(颜色、法线向量等),如图1(b)所示.在焦距已知的理想相机下,点云模型可以通过深度图反投影计算得到.点云到网格模型的转化可以通过泊松重建算法实现,然而泊松重建算法[25]对点云的密集度十分敏感,因此许多基于点云表示的重建算法均通过融合多张深度图得到高密度的三维点云.由于基于点云和深度图的表示将三维模型以图像的形式存储在深度学习模型中,因此这种表示与其他相比有着较高的存储效率.1.1.2 参数化人体模型的表示参数化人体模型将高维三维人体模型数据映射到低维参数空间,使用少量参数来表示人体模型的不同体形和姿态.当前,多种参数化人体模型陆续被提出,并得到了广泛使用.这些参数化模型均是从大量的三维模型中通过主成分分析(PCA)学习得到.本研究以经典的多人线性蒙皮参数化模型(SMPL)[26-27]为例作重点介绍.SMPL提供了包含男性、女性和中性在内的三个标准T姿态模型T¯.每个标准模型由6 890个顶点和固定的边组成,并通过体形参数(β)和姿态参数(θ)来驱动标准模型生成各异的三维人体,其中:β∈R10控制三维模型的高矮胖瘦;θ∈R72采用欧拉角方式来表示每个关节点的相对旋转变化.通过PCA算法可从β和θ中得到特定的三维人体模型M(β,θ),即M(β,θ)=W(T(β,θ),J(β),θ,ω),式中:W(⋅)为融合蒙皮函数;J(β)为由于体形变化导致的关节点位移;ω∈R6 890×24为顶点-关节点权重矩阵;T(β,θ)的计算式为T(β,θ)=T¯+BS(β)+BP(θ),其中,BP(⋅)为与姿态相关的融合函数,BS(⋅)为与体型相关的融合函数.从图像中估计人体的SMPL参数化模型只需回归体形和姿态两组参数.通过文献[28-30]等所提出的估计算法均可以估计可见光图像中人体的体形和姿态参数,这些方法在得到体形和姿态参数的同时还会预测对应相机参数,以便将重建的参数化模型映射到相机坐标空间.为了进一步减少模型和图像的误差,还可以通过文献[27]所提出的方法来优化相关参数.对于扫描或者重建的三维人体模型,可以利用多目拟合的方法[31-32]得到SMPL模型的体形、姿态和相机参数.首先通过相机渲染得到待拟合模型不同角度的图像;然后使用文献[33]的人体图像估计算法得到不同图像中人体的关节点像素坐标;最后通过将不同角度图像的关节点坐标和参数化模型关节点的投影坐标进行对齐来优化SMPL模型参数.由于参数化模型均是在近似裸体数据上训练得到的,因此使用参数化模型来表示的人体从视觉上看也近似裸体,如图1(c)所示.另外,使用有限低维的参数也无法表示形状和表面异常丰富的人体模型[34].然而,参数化模型显著地降低单图像三维人体重建的难度且能重建出一个完整结构的人体模型.一方面,深度学习网络只用回归数量有限的参数即可重建姿态复杂或粗略体形的三维人体模型;另一方面,由于参数化模型能够将重建约束在一个标准的人体空间,因而得到的三维人体不会产生伪影等非人体形状的部位.1.1.3 体素及语义体素表示体素是三维空间中的一个立方体单位,与二维图像中像素概念类似.如图1(d)所示,三维模型可由指定分辨率的体素体积来表示,如某体素单元中有实体则对应体素占有值就为1,否则占有值为0,但是体素化会导致网格或点云模型损失大量的信息.当分辨率较低时体素表示会产生“马赛克”现象.分辨率越高,以体素体积表示的三维模型就越精确.然而,由于体素体积复杂度是立方级,因此分辨率的提高也会对造成巨大资源开销.在体素表示的基础上,语义体素表示则进一步对占有值为1的体素赋予一个语义码.语义码表示人体模型每一部分所具体代表的身体部位或关节点.在参数化人体模型中,每个顶点的语义码可以是对应顶点在T形姿态下的坐标值.对于一般的三维人体模型,则通常采用近邻法与对应的参数化人体模型匹配来进行语义体素化.每个顶点的语义代码是SMPL模型中距离最近有限顶点的距离加权和.在三维人体重建中,语义信息不仅有助于三维几何特征[21]的提取,还可以当作顶点的特征信息[16,35]直接输入到网络中.对单图像三维人体重建而言,由于仅有单张图像作为输入,因此利用语义信息作为条件对提高算法性能尤为重要.在图1(e)中,通过颜色展示了三维人体模型不同顶点的语义码.1.1.4 隐式曲面函数表示隐式曲面函数没有直接通过点和面或体素等显式方式来表示三维模型,而是通过一个函数来表示三维空间中的点与三维模型表面之间的位置关系.换言之,通过描述一个水平集来表示特定封闭曲面.一般地,在三维人体重建中,模型的表面被表示为一个连续三维占有场的0.5水平集,即空间任意一点p在曲面外、曲面上和曲面内的关系可以描述为:f(p)0.5;f(p)=0.5;f(p)0.5.利用函数f(⋅)对每个三维空间点进行计算就可以得到对应模型表面的连续占有场.图1(f)描述了点在曲面外、曲面上和曲面内的分布情况.近年来,隐式曲面函数在人体重建中得到了广泛的应用[17-18,35-36],并且在提升表面细节生成能力上发挥了重要作用.隐式曲面函数可以表示任意复杂曲面,使得恢复三维人体模型的细节更丰富,同时通过控制采样点个数也进一步减少了内存和计算资源[37].在实际实现中,隐式曲面函数往往由多层感知器(MLP)实现.1.2 基于深度学习的单图像三维人体重建方法近年来在计算机视觉的顶级会议和期刊上发表了大量基于深度学习的单图像三维人体重建方法.本研究将现有的方法根据前述几种三维模型的表示进行了粗略的分类,并通过方法的数学模型、网络结构和优缺点来介绍当前主要的单图像三维人体重建方法.1.2.1 基于点云表示的方法如图3所示,基于点云表示的重建方法主要是通过预测深度图来计算点云,再利用泊松重建算法[25]来生成网格模型.在理想相机下,深度图可以通过相机内参还原为点云序列.因此,基于点云表示的方法将三维重建问题转化为基于深度学习的图像转换问题,其网络的目的是将输入的单张可见光图像转换为与之对应的深度图.10.13245/j.hust.240614.F003图3基于点云表示的重建与计算流程图基于点云表示,文献[38]提出一种双深度图来编码点云的模型,其中前视角下的深度图表示模型的“可见”部位,它描述了图像中直接可见的表面点云;后视角下的深度图表示模型的“隐藏”部位,它描述了遮挡的表面点云.如图4所示,根据这种表示,还设计了一个基于编码器-解码器的对抗生成网络(GAN)[39]来生成深度图,通过对抗训练和深度图的像素损失来优化GAN网络.该网络将单张可见光图像作为输入,输出前后视角下的两个深度图,再将深度图反投影得到的三维(3D)点云组合在一起,形成一个全身的3D点云,最终使用泊松重建算法[25]重建三维网格.10.13245/j.hust.240614.F004图4文献[38]的网络结构由于两张深度图无法充分地表示三维人体模型,文献[40]将三维人体模型进一步地分解为一组多层深度剥离图和彩色(RGB)剥离图的剥离集合表示(PeeledHuman).一般地,其总剥离层数为4.如图5所示,在给定相机下,通过对三维模型进行光线追踪再依次记录每条光线与模型的交点信息.根据交点个数和坐标利用重心插值算法计算剥离图集合中对应每张图像的深度值和色彩值.与单张深度图相比,PeeledHuman能有效处理模型中自遮挡的问题.10.13245/j.hust.240614.F005图5层数为4的剥离集合表示[40]同样,文献[40]也提出一个基于端到端的生成对抗网络(PeelGAN),如图6所示.它使用卷积神经网络直接从单张可见光图像中预测每层的剥离图.在损失函数上,除了传统的GAN损失和像素损失以外,作者还引入了轴角距离损失来约束相机坐标系下的点云序列.深度图像和RGB图像通过相机内参反投影得到带颜色的点云序列,并最终通过泊松重建算法获得三维模型的表面.在PeeledHuman基础上,文献[41]还结合参数化人体模型提出一种稀疏且高效的形状感知网络(SHARP),如图7所示.SHARP利用SMPL估计得到参数化人体模型,并采用文献[40]的方法得到对应的SMPL剥离图Dismpl,其中i∈{1,2,3,4}为当前的层数.Dismpl在表示三维人体模型的身体部位的同时也反映了人体所固有的几何一致性.SHARP将三维重建解耦为两个互补的重建任务:一是通过变形参数化模型来恢复人体结构;二是重建除此之外的剩余表面细节(如宽松的衣服).在网络设计上,与PeelGAN不同的是SHARP并不直接预测深度剥离图,而是通过预测残差剥离图Dird和辅助剥离图Diaux进而融合得到最终的剥离图,其中:Dird表示视线方向上剥离图Dismpl的逐像素深度偏移;Diaux表示残差剥离图Dird所无法处理的表面互补几何细节.最终的深度图Di通过融合计算得到.由于残余剥离图Dird预测了裸露人体部位像素的最小偏移量,从而保留了身体所特定的几何形状,加强了人体在形状和姿态上的几何一致性.辅助剥离图Diaux预测了除人体部位的其他复杂几何结构,因而能有效地处理诸如宽松服装等三维人体.10.13245/j.hust.240614.F006图6PeelGAN[40]的网络结构10.13245/j.hust.240614.F007图7SHARP[41]的网络结构图为了估计高分辨率的深度图并同时重建出人体局部细节,文献[42]提出一个基于2K分辨率的重建模型(2K2K),它从2K分辨率图像中预测深度图进而重建三维点云和模型.如图8所示,2K2K并没有直接预测高分辨率深度图,而是采用两阶段的由粗到细策略依次进行,其中:低分辨率深度网络从低分辨率图像中预测整体结构;高分辨率深度网络在低分辨率深度图引导下将全局三维形状和局部细节融合,进而推断出高分辨率的前后深度图.10.13245/j.hust.240614.F008图82K2K[42]的网络结构在第一阶段,2K2K将输入的高分辨率图像下采样后通过对偶网络(AU-Net)得到前后视角的低分辨率深度图与法线图.为了在重建高分辨率细节的同时最大限度地减少可学习参数的数量和内存的使用,高分辨率法线图的预测以分区的方式进行.如图9所示,2K2K借助人体姿态检测器[33]将三维人体分成手臂、腿、脚、头和躯干等12个身体局部部位.每个局部部位都通过裁剪和仿射变换归一化到指定大小和位置.对低分辨率的法线图按部位进行分区并输入到独立的AU-Net中得到每个局部部位的高分辨率法线图.最终高分辨率的法线图通过12个局部部位的法线贴图组合而来.第二阶段直接从低分辨率深度图和高分辨率法线图中生成高分辨率的前后深度图.最后,从前后深度图中重建高保真的三维人体模型.10.13245/j.hust.240614.F009图9局部部位分区和法线预测示意图总结 点云表示将重建问题表述为图像生成问题,显著地降低了深度学习模型的复杂度.由于点云中深度图大多通过光线追踪算法得到,因此能有效处理三维人体模型中自遮挡等问题,从而提高模型的鲁棒性.然而,深度图像只提供了从相机到场景表面的距离信息,因此点云模型无法完整地捕捉复杂物体的拓扑结构.此外,由于泊松重建对于点云的密度十分敏感,因此当深度图分辨率过低或者点云过于稀疏时,重建出的网格可能会丧失部分细节.1.2.2 基于参数化模型引导的方法早期基于参数化模型的方法主要通过估计人体姿态和形态来重建三维人体模型.人体姿态估计的方法主要包括两大类:a.直接估计法,该类方法直接使用深度神经网络从输入图像中回归模型参数[43-46];b.两阶段法,首先在第一阶段使用二维(2D)姿态检测器或2D姿态标签将图像转换为2D关节位置表示[47-51],然后在第二阶段通过神经网络回归得到模型参数.两类方法的区别在于是否利用图像中二维关节点的信息作为中间媒介来得到模型参数.一般来说,两阶段法的鲁棒性更强,但容易受到图像中二维关节点检测精度的影响;直接估计法可以实现端到端的训练,但对模型的泛化性较差.文献[28]是最具有代表性的人体估计方法,它属于直接估计法.如图10所示,其网络结构主要由图像编码器、回归器和判别器组成.图像编码器采用了经典的残差网络[52].回归器采用了迭代误差反馈[53]策略来获得一个85维的参数向量Θ,其中Θ包含表示SMPL模型的体形参数和姿态参数,以及表示相机参数的全局旋转矩阵、平移向量和缩放因子.通过向量Θ就可计算SMPL模型的各个顶点坐标.为了能重建出更加合理的人体模型,文献[28]还使用了25个鉴别器来判断SMPL参数的合理性,并使用对抗性优先权[54]来引导重建.10.13245/j.hust.240614.F010图10文献[28]的网络结构文献[28]直接估计SMPL参数来从输入图像中重建三维人体模型,方法简洁,易于实现,可以拟合出较为合理的人体的体形和姿态.然而,受制于参数化模型表示能力,文献[28]重建的结果近似裸体,几乎不能恢复衣物、头发等部分的拓扑结构和细节,如图11所示.近些年也有大量的工作对三维人体姿态估计进行了广泛深入的研究.由于重建人体并不包含服装等细节,因此本研究不作详细介绍.10.13245/j.hust.240614.F011图11文献[28]的重建结果图2019年,文献[55]将参数化模型的鲁棒性和三维形变的灵活性结合起来提出了分层网格变形(HMD)的方法,与文献[28]等方法不同的是:HMD采取一种由粗到细的策略在得到SMPL模型后通过三个不同层次的关键点变形来重建细节.如图12所示,HMD的网络结构由SMPL模型预测模块、关节点变形模块、锚点变形模块和顶点变形模块四部分组成,每部分也即一个重建阶段.在第一阶段主要是利用文献[28]从原图像中得到初步的SMPL模型.在第二和第三阶段,HMD分别选取了10个和200个关键点作为形变对象来优化SMPL模型.首先以关键点为几何裁剪中心,分别将SMPL模型的投影图像和原图像裁剪为指定分辨率的子图,其中:关节点变形模块的分辨率为64×64;锚点变形模块的分辨率为32×32.与完整的图像输入相比,该处理有利于网络更加聚焦于局部特征.其次,将裁剪后的子图作为输入通过神经网络预测对应关键点的偏移.最后利用关键点的偏移来优化SMPL模型的顶点坐标和计算损失.在第四阶段,利用模型得到的投影深度图和原图作为输入,通过U型网络(U-Net)[56]将深度图进一步细化并与原始输入图像计算光度重建损失[57]来实现网络对齐.最后利用深度图来调整SMPL模型所有顶点的坐标进行细节重建.10.13245/j.hust.240614.F012图12HMD[55]所采用的网络结构针对前期单图像三维人体重建方法几乎无法恢复服装和表面细节的问题,文献[16]于2019年提出DeepHuman方法,并开源可以用于重建带服装的三维人体模型数据集.如图13所示.DeepHuman在SMPL模型的引导下通过三维体特征变换器(VFT)融合图像和语义图来重建三维人体模型.DeepHuman主要由图像编码器、“体对体”转换网络和法线增强网络组成.图像编码器是由5个二维卷积块构成,将图像和语义图进行多尺度特征提取.在SMPL模型的引导通过三维体特征变换器(VFT)编码多尺度图像特征,最后解码为体素体积.VFT是图像超分中空间特征转换(SFT)[58]在体素中的拓展,它只须要通过一次仿射变换来实现像素特征和体素特征的融合.“体对体”转化由文献[59]的网络实现,法线增强网络能使得体素体积中计算的投影法线在融合图像和语义图后进一步得到增强.在损失函数的计算上,DeepHuman采用了体素交叉熵、体素重投影和法线余弦距离来对齐网络.最后将体素体积和增强后的法线贴图进行法线融合从而得到最终人体模型.10.13245/j.hust.240614.F013图13DeepHuman[17]所采用的网络结构总结 基于参数化模型引导的方法主要以参数化人体模型估计为主.由于参数化模型能正则化人体模型的整体形状,因此基于参数化模型引导的方法可以从穿着最低限度的人体图像中恢复具有合理姿态的整体结构.然而,由于参数化人体模型的表征能力较弱,因此缺乏重建具有日常服装的高保真人体模型的能力,几乎无法恢复发型和服装褶皱等表面细节.尽管HMD和DeepHuman等方法缓解了参数化人体模型估计方法中重建结果近似裸体的问题,但是限于顶点的偏移和体素体积表示的能力,这些方法都只能恢复简单的表面细节,对于穿着相对宽松服装的人体重建效果不佳.1.2.3 基于体素体积表示的方法基于体素体积表示的重建方法主要是通过卷积回归三维体素,进而利用等值面提取算法(Marching Cube)再生成网格模型.因此,基于体素体积表示的深度学习方法的核心是从数据中构建二维像素到三维体素的映射.文献[60]首次将人脸中重建的体积回归网络(VRN)[61]直接应用于人体.VRN网络是一个由多个沙漏结构(Hourglass)[62]组成的带中间监督的堆叠式沙漏网络结构.沙漏结构和堆叠式沙漏网络结构分别如图14(a)和(b)所示.堆叠式沙漏网络中的每一个子沙漏网络都对应着一个输出层作为预测,每层的输出都会参与到损失函数和下一层输入的计算中.这种采取中间监督的模式其预测精确度要高于只考虑一个输出层的传统监督模式.文献[60]对原有的VRN网络做了简要修改.将残差模块的数量从4个变为2个,将沙漏堆叠模块数量从2个增加到4个,并用多尺度残差模块替换原始残差模块.最终将VRN网络所输出的大小为128×128×128的图像特征作为重建人体的体素体积.基于体素体积的表示方法将重建问题视为一个针对体素的二元分类问题,并采用交叉熵损失来优化深度学习网络.10.13245/j.hust.240614.F014图14沙漏结构和堆叠式沙漏网络结构[62]文献[63]提出一个从单张图像中直接推断体素体积的端到端多任务模型(BodyNet).如图15所示,BodyNet由三个子任务模型组成,分别为2D姿态估计模型[62]、2D语义分割模型[64]和3D姿态估计模型,其中2D姿态估计模型和2D语义分割模型分别采用前人的工作.为了降低3D姿态估计的模糊性,文献[63]将2D姿态估计和语义分割的特征图输入到3D姿态估计模型.最终三个子任务模型的特征图和图像输入到最终的形状网络中回归体素体积.除多任务损失之外,也采用交叉熵损失来优化模型;同时,为了对齐体素与图像特征,BodyNet还将体素块进行投影操作后再计算交叉熵损失.10.13245/j.hust.240614.F015图15BodyNet[63]的网络结构为了重建出带服装细节的三维人体模型,文献[65]提出一个基于多视图损失的重建算法(MV3DH)来学习体素体积,以确保对可见和遮挡表面区域进行准确的重建.如图16所示,重建网络由沙漏堆叠模块组成.在训练阶段,对于同一三维模型所渲染的多视图均共享相同的重建网络,并得到对应视角下的体素体积,因此在测试阶段仍然只需要单张图像即可估计体素体积.多视图损失函数通过联合不同视角下的体素体积优化网络.除一般的体素体积损失函数外,还增加了多视图一致性损失,使得模型对相机姿态和自遮挡具有一定的鲁棒性.10.13245/j.hust.240614.F016图16MV3DH[65]的网络结构前述方法均是直接通过卷积回归得到三维体素体积,这限制了分辨率和计算效率的提升,因此文献[66]提出一种高效、灵活的方法傅里叶占有场(FOF).与前述方法不同的是:FOF没有通过卷积算子直接回归体素体积,而是将体素体积看成由沿深度方向的“线”组成,从而使得图像上的每个像素对应于三维空间中的一条线.如图17所示,FOF的核心思想是将体素体积或者三维网格模型沿Z轴的直线表示成傅里叶级数,并将其正余弦项对应的系数存储为多通道图像,因此与2D卷积神经网络兼容,将重建问题转化为图像生成问题.深度学习模型只须要从输入图像学习到傅里叶级数的正余弦项系数,就可以利用傅里叶级数得到体素体积.基于FOF,作者设计了首个30+FPS的高保真实时人体重建系统.此外,FOF也可以结合参数化模型和法线图以重建更加鲁棒的结果.10.13245/j.hust.240614.F017图17FOF[66]的表示示意图此外,文献[67]提出一种在不同深度上基于二值图像的几何表示(OPlanes).如图18所示,它将体素体积看成由沿深度方向的“面”组成.图18(a)展示了不同深度下的二值图像.为了重建三维人体模型,作者设计了基于端到端的双层网络来从输入RGB图像和深度图中学习高低不同分辨率下的平面.深度为z的高分辨率平面O^zhigh通过二值图像估计器fOP的数学模型为O^zhigh=fOP([FRGBhigh;Fzhigh]),式中:FRGBhigh为特征金字塔网络对输入RGB图像所提取的上采样图像特征;Fzhigh为一个全卷积网络从深度偏移图Izoffset中所提取的深度特征,深度偏移图Izoffset的计算式为Izoffset=γPE(z×1-Idepth),其中,1为全1矩阵,γPE为位置编码,Idepth为深度图.低分辨率平面O^zlow的数学模型为O^zlow= 〈FRGBlow, fdepth(Iz)〉,式中:〈∙,∙〉为内积运算;FRGBlow为特征金字塔网络对输入RGB图像所提取的图像特征;fdepth(∙)为一个全卷积网络.内积运算能使得图像特征与深度特征具有较强的相关性.在损失函数上,除传统的交叉熵损失之外,作者还引入了语义分割损失[68]来优化模型.由于OPlanes是对体素体积的逐平面估计,因此其分辨率比传统的体素网格更灵活,这些优点也使得对于不完整人体的图片也能得到合理的结果.10.13245/j.hust.240614.F018图18OPlanes[67]的表示示意图与网络结构总结 体素作为一种规则的离散数据,其特点在于可以通过整数索引进行有效表示,从而能在神经网络中通过卷积算子来计算和操作.然而,这种表示也增大了计算资源的使用.三维网格模型在转化为体素体积后由于分辨率的限制丢失了大量的局部细节.因此,基于体素体积的方法很难从图像中恢复表面细节,尽管FOF和OPlanes在一定程度上能缓解这些问题,但是由于缺乏全局结构的约束,其重建结果往往会出现伪影和碎片.1.2.4 基于隐式曲面函数的方法基于隐式曲面函数的重建方法主要是通过神经网络拟合三维曲面,再计算三维离散空间的占有场,进而利用Marching Cube算法生成三维网格模型.因此,其深度学习方法的核心是从数据中学习到三维空间点与三维模型表面的位置关系.2019年,文献[17]将隐式曲面函数引入到单图像三维人体重建领域,提出像素对齐隐式函(PIFu)的方法.如图19所示,该方法的网络模型主要由图像编码器FIF和多层感知器fIF两大部分构成.图像编码器FIF同样采用了带中间监督的堆叠式沙漏网络结构.受PIFu的影响,后续大多数基于隐式曲面函数的方法[18-21]都采用此网络结构作为图像编码器.PIFu将单图像三维人体重建看作一个采样点占有场的回归问题,首先由图像编码器提取输入图像的特征,然后将特征值输入多层感知器估计各个采样点的占有值.PIFu的数学模型可描述为fIF(χB(FIF(I),π(p)),pz)≔o,式中:I为输入图像;p为空间点;π(p)为p在相机模型下的二维投影;pz为p在相机坐标空间的深度值;o∈[0,1]为p的估计占有值;χB(⋅,⋅)为多尺度二维线性插值算法.其损失函数为计算采样空间点的真实占有值和预测占有值之间的均方差[17]或L1范数[19].此外,隐式曲面函数也可以将一个采样点的占有情况视为二分类问题,因此交叉熵损失同样适于隐式曲面函数表示的方法.在采样点的采样策略上,PIFu提出在占有场中将均匀采样和标准差为5 cm的高斯采样按照1︰16的比例进行混合.实验证明:这种采样策略可以有效平衡重建三维人体模型表面内外边界的清晰度和伪影的产生概率.在测试阶段,将三维空间中点离散化并计算每个离散点的占有值,最后通过Marching Cube算法从占有场中提取0.5等值面得到三维人体模型网格.10.13245/j.hust.240614.F019图19PIFu[17]所采用的网络结构示意图基于PIFu的网络模型,文献[69]搭建出第一个实时视频三维人体重建系统(Monoport).由于PIFu在测试阶段采用基于八叉树的结构密集地计算离散点的占有值,因此难以实现实时的重建效果.为此,Monoport对测试阶段离散点的采样作了创新性改进,提出分层表面定位算法.该算法通过从低分辨率到高分辨率的分层采样方式剔除了密集占有场中不必要的计算区域,显著地减少了表面重建过程中离散点的数量,从而在不影响精度的前提下成功地将重建速度提高了两个数量级.此外,在模型渲染上Monoport还提出无网格的渲染方法直接合成新视角下的图像,减少了须经显式网格的渲染时间.PIFu仅利用了二维图像特征来预测采样点的占有值.鉴于此,文献[19]提出Geo-PIFu方法.如图20所示,在PIFu的数学模型基础上增加了对三维几何特征的利用.Geo-PIFu的数学模型可描述为fIF(χT(ξ(I),p),χB(ϕ(I),π(p)),pz)≔o,(1)式中:ξ和ϕ分别为基于3D U-Nets的几何特征编码器和基于2D U-Nets的图像特征编码器(图20中所示);χT(⋅,⋅)为多尺度三维线性插值算法;o为p的估计占有值.在式(1)中,χT(ξ(I),p)和χB(ϕ(I),π(p))分别对应了从图像中学习到的三维几何特征和二维图像特征;而插值算法χT(⋅,⋅)的引入增加了特征的维度,有利于隐式曲面函数利用邻域信息进一步提高占有值估计的准确度.在模型的训练策略上,Geo-PIFu采用了由粗到细(coarse-to-fine)的分步训练方案.通过一个三维解码器将三维几何特征恢复为体素体积表示的三维人体模型,并使用交叉熵损失来优化三维几何特征编码器,从而使得三维几何特征网络能预测一个粗略的人体模型.在粗略人体模型的引导下,二维图像特征网络再对人体表面细节进行处理,从而既保证了人体的全局拓扑结构又能较好地恢复人体表面细节.10.13245/j.hust.240614.F020图20Geo-PIFu[19]所采用的网络结构PIFu[17]和Geo-PIFu[19]等基于隐式曲面函数的方法一般采用中低分辨率图像,没有充分发掘高分辨率可见光图像中的信息用于重建三维人体.文献[19]认为低分辨率图像在单图像三维人体重建中有助于深度学习网络从更宏观的视角把握上下文信息,从而更合理推理人体整体结构;而高分辨率图像可则从更微观的视角提供更多信息来恢复细节.基于这一观点,提出了名为PIFuHD[19]的方法.如图21所示,PIFuHD设计了一个双层结构的深度学习网络来处理两种不同分辨率的图像,以提高重建三维人体模型的质量.为进一步增强重建细节,PIFuHD还将采用像素转化网络(pix2pixHD)[70]预测的正/背面法线贴图输入到图像编码器中.PIFuHD的数学模型可描述为 fIFlow(χB(FIFlow(IRGBlow,IFlow,IBlow),π(p)),pz)≔olow; fIFhigh(χB(FIFhigh(IRGBhigh,IFhigh,IBhigh),π(p)),Ω(p))≔ohigh, (2)式中:fIFlow,FIFlow和fIFhigh,FIFhigh分别为低、高分辨率下的多层感知机(MLP)和图像编码器;IRGBlow,IFlow,IBlow和IRGBhigh,IFhigh,IBhigh分别为低、高分辨率下的输入图像及正、背面法线贴图;olow和ohigh分别为低、高分辨率模型所预测的占有值;Ω为从低分辨率图像中提取的特征值.由式(2)可知:从低分辨率图像中获取的信息通过Ω传递到支持高分辨重建的隐式曲面函数fIFhigh中,以综合利用低、高分辨率图像在单图像三维人体重建中的优点.PIFuHD的网络结构由法线贴图生成模块、低分辨率重建模块、高分辨率重建模块三大部分组成,其中:低分辨率重建模块的输入为512×512×3;高分辨率重建模块的输入为1 024×1 024× 9.当进行训练时,PIFuHD还将计算采样点对应的法线向量,并使用感知损失[71]和L1范数来对齐法线.在PIFuHD的基础上,文献[72]提出第一个结合深度图和语义分割图的单图像三维人体重建方法(IntegratedPIFu).IntegratedPIFu利用U-Net和文献[73]中的模型从输入图像和法线图中分别预测深度10.13245/j.hust.240614.F021图21PIFuHD[19]的网络结构图和语义分割图.通过引入深度信息,该方法有效地解决了重建过程中深度模糊的问题;同时,语义分割图为重建提供了人体结构的语义信息,有助于减少伪影和破损肢体的出现.此外,IntegratedPIFu在采样过程方面也进行了创新性改进,提出一种面向深度的采样策略.如图22所示,采样点的标签不再以0和1表示点与模型的位置关系,而是通过点到模型表面的深度距离来量化,从而细化了采样点的位置特征.这一策略提高了隐式函数模型重建人体局部部位的能力.10.13245/j.hust.240614.F022图22面向深度的采样策略[75]在考虑反射率和光照因素下,谷歌通过引入表面纹理、场景光照等信息来实现更为逼真的三维人体模型[74].该方法在预测三维采样点的占有情况同时还计算点的颜色反射率,如图23所示,其数学模型可表示为10.13245/j.hust.240614.F023图23文献[74]中谷歌所提出的网络结构fIF(g(I, p),γ(p))≔(d,a),式中:I为输入图像;γ为位置编码;d和a分别为采样点到表面的距离以及反射率;g(I,p)为采样点在投影平面的图像特征.为解耦光照着色与模型表面颜色,该方法还采用了光照着色网络(多层感知机)fs计算表面光照s,即fs(n,l)≔s,式中:n=∇d为空间点的梯度;l为来源于图像的场景光照特征.因此最终图像颜色值可以计算为c=sa.该模型通过约束采样点的表面距离、法线及渲染损失来优化模型.总结 由于隐式曲面函数在存储上的消耗较其他表达方式大幅降低,因此基于隐式曲面函数的方法已经成为当前单图像三维人体重建的主流;同时,得益于其灵活的表现形式,隐式曲面函数在恢复人体表面细节(如衣服褶皱、纹理等)方面较前期方法有了显著提升.许多方法通过嵌入不同的深度图、法线图等其他先验信息也增加了算法的鲁棒性,能处理复杂人体姿态、服饰、光照的输入图像,从而重建更为合理的人体结构,恢复更多褶皱和纹理细节,并降低伪影产生的可能性.然而,隐式曲面函数的关键问题在于缺乏人体先验知识的约束,因而不可避免地导致重建结果中出现一些不合理的部位.1.2.5 混合方法近年来,为了合并参数化模型和隐式曲面函数的优点,许多研究人员提出混合参数化模型和隐式曲面函数来进行三维人体重建.混合方法的表示方法依然是隐式曲面函数,因此其重建方式与基于隐式曲面函数的方法相同.混合方法的核心是如何在隐式曲面函数中增加诸如参数化模型等人体结构的固有特征.Facebook虚拟现实实验室于2020年提出了着衣人体的动态重建(ARCH)[35]的单图像三维人体重建方法.ARCH不仅在隐式曲面函数框架下整合了三维人体模型的姿态信息,而且增加了法线预测网络和可微分渲染器用于增强重建细节.如图24所示,ARCH的网络结构主要由三维人体估计模块、语义变形场模块、图像编码器、多层感知器(隐式曲面函数)和渲染器组成.三维人体估计模块通过文献[75]来得到图像中人体对应的SMPL模型,语义变形场将SMPL模型转化到A姿态(A-Pose)下.通过计算空间点p与A形姿态下的SMPL模型中57个标记点的径向基距离作为点p的空间特征.ARCH设计了占有网络和法线预测网络分别用于回归三维采样点的占有值和法线向量,其中,占有网络和法线预测网络的图像编码器分别为堆叠式沙漏网络和U-Net[67]网络.采用两个多层感知器计算三维采样点的占有值和法线向量,ARCH使用L1范数来对齐法线.在重建得到三维模型后,利用可微分渲染器[76]渲染得到重建模型的RGB图像和法线贴图,并采用细粒度的渲染和比较损失,以进一步强化在随机的相机视角下重建模型的视觉相似性.10.13245/j.hust.240614.F024图24ARCH[35]所采用的网络结构由于ARCH只是简单地将采样点与关节点的径向基距离作为空间特征,其混合方法的优势并没有得到充分应用,因此在ARCH的基础上,文献[77]提出ARCH的进化模型(ARCH++).如图25所示,ARCH++引入一个基于点云的端到端几何编码器来取代径向基距离,并输出不同尺度下的顶点和顶点特征.采样点的最终几何特征为三个多尺度特征的连接,从而更好地描述人体模型的语义信息.10.13245/j.hust.240614.F025图25ARCH++所采用的网络结构[77]此外,为了解决标准空间下着衣人体的拓扑变化所导致的占用值模糊性问题,ARCH++提出跨空间一致性的共同监督框架来联合估计姿态空间和标准空间中的占用值.该框架通过两个不同的隐式函数来分别估计姿态空间和A姿态标准空间的占有值oP,oA,其损失函数为Lo(oP,oA)=Loocc(oP)+Loocc(oA)+Locon(oP,oA),式中:Loocc为估计占用值与真实占有值o^P,o^A的L1范数;Locon为跨空间一致性的对比损失,有Locon(oP,oA)=oP-oA (o^P=o^A), λ1max(λ2-oP-oA,0)(o^P≠o^A),其中λ1和λ2为惩罚参数.最后,与PIFuHD类似,ARCH++同样使用图像到图像的转换网络来进一步细化重建表面的细节几何和纹理,从而提高了任意三维模型的保真度.为了缓解基于隐式曲面函数的方法产生伪影的问题,文献[21]在2021年提出混合显式人体模型和隐式曲面函数的方法(HEI-Human).显式三维人体模型可以引导隐式曲面函数更为合理地估计采样点的占有值,从而缓解伪影的产生.当实现时,HEI-Human将网络分为由参数化人体模型表示的显式部分和由隐式曲面函数表示的隐式部分,如图26所示.在显式部分,首先将配准的SMPL人体模型进行语义体素化,然后利用由三维堆叠式沙漏网络[47]组成的3D编码器提取潜在体素特征.为训练体素编码器,显式部分还使用体素3D解码器,将潜在体素特征还原为人体模型.在隐式部分,首先由堆积沙漏结构的图像编码器对图像进行特征提取,然后在对采样点进行二维和三维线性插值后获取对应的图像和体素特征向量,最后使用由多层感知器实现的隐式曲面函数依据特征向量估计采样点的占有值.10.13245/j.hust.240614.F026图26HEI-Human[21]所采用的网络结构10.13245/j.hust.240614.F027图27PaMIR[20]所采用的网络结构为结合参数化人体模型和非参数化隐式曲面函数表示的长处,文献[20]于2021年提出参数模型条件隐式表示PaMIR,将参数化三维模型作为先验条件来约束隐式曲面函数.PaMIR的网络结构主要由SMPL模型估计模块、图像编码器、体素编码器和解码器(多层感知器)组成,如图27所示,其中:SMPL模型估计模块采用基于图卷积的模型(GCMR)回归来得到[75],图像编码器与多层感知器和PIFu[17]有着类似的结构,体素编码器则由两个三维卷积层和三个残差块组成.与其他方法不同,PaMIR并未将采样点的深度值直接传入隐式曲面函数中,而是提出了深度多义性偏差机制以更好地应对单图像三维人体重建中的深度信息多义性问题.PaMIR还提出人体参照优化算法来微调SMPL模型估计网络.人体参照优化算法利用SMPL顶点的占有值为0.5来优化SMPL的体形参数和姿态参数.为了解决当前三维人体重建方法在复杂姿态下鲁棒性较差的问题,文献[79]在2022年提出从法线图中隐式地重建三维人体模型的方法(ICON)方法.该方法从法线贴图中根据顶点的可见性提取局部特征并利用隐式曲面函数来重建人体模型.ICON的网络结构主要由人体引导下的法线预测模块和基于局部特征的隐式三维表示模块组成.人体引导下的法线预测主要包括SMPL模型估计模块、可微分渲染器和pix2pixHD组成;同样,为了得到更准确的SMPL人体模型,ICON通过SMPL法线贴图和人体的法线贴图的差异损失来优化SMPL模型的参数.基于局部特征的隐式三维表示模块中主要由多层感知机和图像编码器(可选)组成.多层感知机通过采样点的图像特征和SMPL的特征预测该点的占有值,并根据采样点的可视状态考虑从正反两面对应的图像特征中提取特征向量,从而重建出人体模型.尽管ICON对于复杂姿态的人体也具有很强的泛化性,但是对于宽松的衣服ICON仍然无法重建出合理的模型,因此为了结合隐式函数和显式参数化模型两者的最佳优点,文献[80]在ICON的基础上进一步提出直接从法线图中重建三维人体模型的方法(ECON)[80].ECON主要包括三个步骤:a.从输入图像中利用PIXIE模型[79]估计参数化人体模型,并通过渲染参数化模型得到前后视角的法线图和深度图;b.从法线图和输入图像中利用Pix2Pix网络预测着衣人体的法线图,并结合深度图通过基于深度感知的双边法线积分技术(d-BiNI)[81]重建不完整表面;c.ECON根据形状补全的思想利用泊松重建算法将不完整表面与参数化模型进行缝合,得到完整的三维人体模型.该方法最大程度上保证了人体结构的完整性,但也缺乏了细节层面的连贯性,因此ECON还提供了第二种补全策略,即通过隐式特征网络(IF-Net+)[82]重建得到三维模型后,再与不完整表面进行缝合.可选地,参数化模型中诸如手指等细节部位也可以缝合其中.ECON无论是对于宽松的衣服还是具有挑战性的姿势上都具有很强的鲁棒性.为了解决重建中深度模糊的问题,文献[83]提出一个利用参数化人体模型生成着衣人体的深度图来引导隐式函数重建的方法(DIFu).如图28所示,为了得到后视角的深度图,利用基于U-Net图像生成网络从输入图像中得到后视角图像,同时将体素化后的参数化模型与前后视角的图像输入到深度估计器中得到前后视角的深度图,并将前后深度图离散化得到体素体积,最后利用图像编码器和体素编码器得到特征后计算占有场.10.13245/j.hust.240614.F028图28DIFu[83]的网络结构总结 混合方法结合了参数化模型和隐式曲面函数两者优势来重建人体模型,减少了带断裂或不完整的肢体等非人体部分的产生.参数化模型虽然带来了稳定性,但是也破坏了隐式曲面函数几何表达的自由性.混合方法的重建结果十分依赖于参数化模型的准确性,错误的参数化模型也会导致误差的传播.此外,在野外图像上对于极具有挑战性的姿态或非常宽松的衣服仍然会产生伪影.2 三维人体重建数据集与评价指标2.1 公共数据集当前广泛使用的免费公开数据集主要包括THuman1.0[16],BUFF[84],MGN[85]和THuman2.0[86]等.此外,还有算法[17]采用商用三维人体数据集,如RenderPeople(https://www.renderpeople.com/)和TWINDOM(https://web.twindom.com/).商用数据集中的三维人体模型通常采用昂贵的高精度三维扫描仪器捕获,后期再经专业的艺术家进行精修处理.由于数字版权,因此商业数据集无法公开展示,本研究主要介绍THuman1.0,BUFF,MGN和THuman2.0四个公开数据集.图29展示了这四个数据集的示例数据.10.13245/j.hust.240614.F029图29典型单图像三维人体重建免费公共数据集示例数据a.THuman1.0数据集[16].THuman1.0数据集是首个包含衣物和复杂姿态的大规模三维人体重建数据集,在2019年由清华大学公开.THuman1.0数据集采集了来自202名被试者的7 000余个三维人体模型,并配准了对应的SMPL参数化人体模型和相关参数.该数据集在姿态、形状和着衣等方面都有着丰富的呈现,其中三维人体模型通过双融合[87]算法对从多个消费级深度传感器采集到的深度数据进行重建生成.然而,由于传感器的精度较低和算法性能不强,因此数据集中的三维人体模型普遍分辨率较低,局部人体细节无法清晰展示.b.BUFF数据集[84].BUFF数据集是一个随时间呈现的三维人体模型序列,在2017年由德国马普所发布.BUFF数据集仅包含5名受试者分别身着2套衣物进行3个运动的模型序列,共计1.6×104个三维人体模型.该数据集采用22对立体摄像机和22个彩色摄像机的专业立体成像系统来生成,因此模型分辨率普遍较高,每个模型的顶点个数约为1.5×105.但由于成像系统捕获的帧率接近60帧/s,同一序列中相邻两帧模型变化的差异较小,往往须要抽帧处理.此外,由于成像系统复杂,最终重建存在着计算误差,因此一些三维人体模型还存在局部破洞等非水密性表面.c.MGN数据集[85].MGN数据集是一个用于服装建模和虚拟衣物试穿任务的数据集,于2019年由德国马普所发布.它包含了96个不同个体的三维人体模型.MGN数据集并不是直接通过有关成像设备重建得到,而是由接近赤身的身体模型与服装模型按指定种类组合而成.在服装模型上,定义了一个包含衬衫、T恤、外套、短裤和长裤五套模板的数字衣柜.在人体模型合成上,非刚性地将身体模型和服装模型合成为最终的三维人体模型.d.THuman2.0数据集[86].THuman2.0数据集是清华大学团队在THuman1.0数据集上发布的一个高清三维人体数据集,数据集包括受试者526名,通过改进融合算法[86]来重建三维人体.THuman2.0数据集的每个数据项都采用纹理贴图的方式来表示,表面纹理细节也更为清晰.此外,三维模型的顶点数量也达到3×105,局部人体细节的拓扑结构也更为清晰.基于深度学习的单图像三维人体重建算法的训练集一般以〈RGB图像,三维人体模型〉的数据对组成.为合成训练集数据,一般通过调整相机参数或旋转模型,然后利用三维渲染工具来生成训练数据对.此外,为了方便后续的研究,在渲染合成数据时往往将三维模型归一化到指定的空间中.常见数据集的链接和合成数据的渲染代码已共享在https://github.com/sunjc0306/3DRender.2.2 客观评价指标常用的评价三维人体重建性能的度量指标包括倒角距离、点面距离、体素交并比、法线余弦距离和L2距离.一般来讲,倒角距离、点面距离和体素交并比这三个指标更关注评价重建的三维人体模型与真实三维模型之间的全局误差,而法线余弦距离和L2距离则侧重于衡量了模型表面细节的重建精度.倒角距离(εcd)和点面距离(εpsd)的定义分别为εcd=12|S|∑s∈Smins^∈S^s-s^2+12S^∑s^∈S^mins∈Ss-s^2;εpsd=1|S|∑s∈Smins^∈S^s-s^2,式中:S和S^分别为真实模型的点云和重建模型的点云;s和s^分别为点云S和S^中的点;∙为点云模型中点的个数.当使用体素交并比(εiou)作为客观评价指标时,须要将三维模型体素化,得到对应的体素体积.εiou的定义为εiou=∑(V^⋂V)∑(V^⋃V),式中:V和V^分别为真实模型和重建模型的体素体积;⋃和⋂分别为并集运算和交集运算.法线余弦距离(εcos)和L2距离(εl2)的定义分别为εcos=1Mmask0∑x,yMx,ymask1-〈Nx,y, N^x,y 〉Nx,y2N^x,y2;εl2=1Mmask0∑MmaskN-N^2,式中:N和N^分别为真实模型与重建模型的法线贴图;Mmask为真实模型对应渲染图像的二值掩膜;∙0为矩阵0范数,表示矩阵非0元素的个数;∙2为2范数,即向量的模长;〈∙,∙〉为向量点积;x和y为图像索引.3 典型方法的性能评价与对比在相同的实验条件下,选取了DeepHuman[16],PIFu[17],Geo-PIFu[18],PaMIR[20]和HEI-Human[21]等五种方法进行性能评价和对比.为保证比较的公平性,当训练和测试各个方法时采用对应文献公开的原始代码,并在THuman1.0数据集上遵循相同的协议重新训练所有方法的模型.然后,在THuman2.0测试集、BUFF和THuman2.0等三个数据集上进行测试,并从定量和定性两个维度分别评估各算法的性能进行比较分析.对于混合方法,分别使用人工标注SMPL模型和程序估计SMPL模型进行实验.3.1 定量比较各方法的客观指标倒角距离(εcd)、点面距离(εpsd)、法线余弦距离(εcos)和L2距离(εl2)的结果如表1所示,表中加粗数字表示最优结果.可以看出:在使用标注SMPL模型的情况下,混合方法(PaMIR和HEI-Human)取得了最好的结果,这说明混合方法综合了基于模型方法和基于隐式曲面函数方法的优点后,具备重建合理的人体全局拓扑结构和恢复高精度细节的潜能.然而,当使用程序估计的SMPL模型时,PaMIR和HEI-Human的性能下降较多,尤其是反映全局拓扑结构的倒角距离和点面距离两个指标下降明显,这意味着混合方法对SMPL模型的估计精度依赖较大.隐式曲面函数在恢复人体模型细节方面具有较好的效果.在跨库实验上,所有方法的性能都有所降低,特别是在体现模型细节的指标上相比于THuman1.0和BUFF数据集上的结果均有大幅下降,这表明当前一些方法在从低分辨率到高分辨率的表面细节泛化性能上还有待提高.10.13245/j.hust.240614.T001表1不同方法在THuman1.0,BUFF和THuman2.0数据集上的定量比较方法THuman1.0数据集BUFF数据集THuman2.0数据集εcdεpsdεl2εcosεcdεpsdεl2εcosεcdεpsdεl2εcosDeepHuman11.92811.2460.2090.46511.73411.9300.2380.527 013.33313.1380.3660.677PIFu2.6004.0170.0950.3055.8538.0770.1490.399 09.95812.6320.2350.527Geo-PIFu1.7791.9550.0720.2657.2886.7970.1280.373 09.5509.0470.2140.501PaMIR(标注SMPL)0.2540.2260.1000.3163.4035.9150.1300.358 05.3448.8730.2290.508PaMIR(估计SMPL)3.0503.0940.1260.37611.24517.0760.1830.430 01.2391.3120.2400.527HEI(标注SMPL)0.1740.2290.0660.2540.7860.6810.1300.350 21.3470.9460.2390.506HEI(估计SMPL)6.4454.7120.1770.4107.0765.9880.1730.433 09.3498.5660.2380.5193.2 定性比较为了更为直观比较上述单图像三维人体重建方法的性能,图30从可见和不可见两个视角展示了当前单图像三维人体重建先进方法在各个测试集部分图像上的重建结果,其中GT表示真实模型.两图的可视化结果可以进一步印证和说明表1中各方法的客观指标,使用了隐式曲面函数的方法(包括基于隐式曲面函数的方法和混合方法)能较好地恢复衣服褶皱、头发等细节,而基于参数化模型引导的方法(DeepHuman)几乎不能恢复这些细节.从不可见视角看,基于隐式曲面函数的方法(PIFu和Geo-PIFu)会产生大量伪影(见图30中的红圈).这是由于隐式曲面函数的采样点为随机采样生成,当进行重建时缺乏了人体模型的引导和约束.混合方法(PaMIR和HEI-Human)无论在人体拓扑结构的合理性还是在细节方面的表现较其他类方法更优越,但从不可见视角看不能完全避免产生伪影.混合方法当使用标注SMPL模型时能取得比使用估计SMPL模型时更好的结果.值得注意的是:大部分的方法重建模型的脸部和手部细节都接近椭球状,几乎没有恢复五官和手指等拓扑结构和表面细节.在跨库实验上,这些方法在BUFF和THuman2.0数据集上的重建结果相对在THuman1.0上的重建结果也多出了更多伪影.10.13245/j.hust.240614.F030图30不同方法在THuman1.0,BUFF和THuman2.0数据集上的可视化结果4 单图像三维人体重建的展望近年来,随着深度学习的快速发展,单图像三维人体重建取得了显著的进展,然而仍然面临一些问题亟待解决,如模型的分辨率过低、面部和手部局部细节丢失及出现非人体形状等.未来可在分辨率、人体局部细节和其他先验知识等方面开展深入研究,以期实现单图像三维人体重建质的飞跃.4.1 高分辨率重建分辨率是三维重建模型精度的一个重要指标,也是恢复诸如面部和手部局部等细节的重要前提.当前高分辨率的三维人体重建模型主要受制于三维模型在深度学习中的表示方式和输入图像的分辨率两个方面.受限于显存大小,现有深度学习方法[17-21]大多采用512×512分辨率图像作为输入,导致难以从图像中提取细致的特征[19].在提高输入图像分辨率方面,PIFuHD[19]采用双层结构网络的隐式函数在高分辨率图像上(分别采用512×512和1 024×1 024分辨率)的输入图像做了一次有益的尝试,并在模型局部细节上取得了显著的效果.受此启发,一些在图像合成领域的思路(如多层渐进式思路[88])也值得单图像三维人体重建领域在未来的研究中借鉴.由于卷积操作通常存在于欧氏空间数据结构中,因此现有三维人体重建方法均将三维模型转化为体素块等结构,最后再从重建的体素体积中通过Marching Cube[71]等算法生成三维网格模型.一方面,体素体积的表示方式需要大量的计算资源;另一方面,体素体积中位于模型内部的体素对于模型表示和重建而言作用很小.三维模型的表面可以通过一张完整的图(graph)来表示.最近,GCMR[78]结合图卷积神经网络(GNN)[89]直接预测每一个顶点的位置来估计参数化模型的顶点坐标,因此基于图的模型表示和GNN模型将来有望成为突破模型分辨率过低这一问题的新途径.4.2 人体细节一体化重建当前几乎所有的深度学习方法都难以恢复面部和手部等人体局部细节,然而这些细节对于重建一个高真实感的人体模型具有重要作用.例如个体的身份和表情都存在于面部中,因此将面部、手部等人体局部细节连同人体服装、姿态等进行一体化重建将是在未来单图像三维重建领域急须解决的关键问题.当前,三维人体模型的数据和深度学习的方法都导致面部和手部局部人体细节无法有效重建,且三维人体模型的数据集的分辨率和精度普遍不够,例如在THuman1.0数据集中,面部和手部局部人体均没有得到很好的展现.采用THuman1.0数据集训练所得到的网络自然也难以恢复面部和手部局部细节.最近,清华大学陆续发布了THuman2.0等系列数据集,这些模型的分辨率和人体细节都有了大幅的提升.在未来,单图像三维人体重建算法性能的提升还须依赖更多更高精度的三维人体模型数据集.此外,也可以将自监督[90]或半监督等训练机制用于到单图像三维人体重建中,从而降低对高分辨率三维人体模型的依赖.在面部和手部重建上,未来可以将手部重建[91]和脸部重建[92]与三维人体重建的方法和结果相结合,也可当进行重建时对面部和手部等人体重点部位进行密集采样,使得深度学习算法能感知到局部重点部位的细粒度特征,并最终重建得到包含面部和手部等人体局部细节的三维人体模型.4.3 人体先验信息融合人体先验信息在单图像三维人体重建领域中具有重要作用,也是避免生成伪影的重要思路.基于隐式曲面函数的方法的随机采样完全没有考虑人体的先验信息,因此容易造成伪影的生成.混合方法虽然算法前期将参数化人体模型作为条件信息,但是后期仍然由隐式曲面函数主导为主,因此难以避免产生伪影.基于参数化模型引导的方法由于完全考虑在人体的规范空间,因此一般不会产生非人类形状,然而基于参数化模型引导的方法很难重建人体的表面细节.未来应当在深度学习算法中融合更多重要的先验信息来提高重建结果的完整性和合理性.参数化人体模型作为人体先验信息重要的载体,在单图像三维人体重建中的应用应该得到进一步强化,一些具备更高精度和更丰富人体信息的参数化人体模型[93]也可以在未来的研究中得到灵活使用.此外,还可以将基于图像的关节点估计与基于模型的姿态估计相结合,以进一步提高参数化人体模型的重建精度.除参数化人体模型之外,一些人体语义分割[73]等算法也可以在单图像三维人体重建中得到应用,以增强人体模型重建的完整性和合理性.例如在人体图像进行语义分割后,对不同语义部分可以采取差异化的计算策略或不同的约束条件来重建人体模型.这一处理无论在精度还是完整性与合理性方面都将带来切实的益处.5 结语本研究综述了基于深度学习的单图像三维人体重建的研究进展.首先,从模型表示和计算两个方面梳理总结了当前主要的单图像三维人体重建方法,将模型表示分为深度图像与点云表示、参数化人体模型表示、体素及语义体素表示和隐式曲面函数表示四大类.将单图像三维人体重建归纳为基于点云表示的方法、基于体素体积的方法、基于参数化模型引导的方法、基于隐式曲面函数的方法、混合方法五大类,并对各类方法中的典型方法进行了详细的描述和总结.然后,介绍了常用的公共数据集和客观评价指标,并提供了相关资源.接着,在常用公共数据集上从客观指标和可视化两个角度对当前先进方法进行了评价和对比.最后,基于实验结果分析了当前方法存在的主要问题,展望了单图像三维人体重建未来潜在的研究方向.总体而言,近年来基于深度学习的单图像三维人体重建技术得到了飞速发展,取得了显著的研究结果,但无论从理论上讲还是从实验结果上看,单图像三维人体重建还存在大量的问题亟待解决和优化,离产业落地还有一定的距离.未来须要研究者从数据共享和方法创新等方面继续推动单图像三维人体重建的研究和应用向前发展.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读