基于图卷积网络的非参数化三维人体重建

2021-04-29 00:59谢昊洋钟跃崎
毛纺科技 2021年4期
关键词:顶点卷积损失

谢昊洋,钟跃崎

(1.华北水利水电大学 信息工程学院,河南 郑州 450046; 2.东华大学 纺织学院,上海 201620;3.东华大学 纺织面料技术教育部重点实验室,上海 201620)

鉴于此,本文提出了一个端到端的解决方案,利用图卷积网络,直接预测三维人体网格模型的顶点坐标。此外,本文将人体测量数据作为输入之一,用于提高人体重建精度。

1 图卷积网络设计

1.1 掩码图像特征提取

本文方法利用图卷积神经网络从几何模型、掩码图像和人体测量数据这3种模态进行机器学习,非参数化三维人体重建图卷积网络如图1所示。对于掩码图像,使用ResNet-18[9]提取图像特征。原因有二:①ResNet在许多视觉任务中都取得了极大的成功[10];②相比于普通的RGB图像,掩码图像更简单,无需利用RessNet-50等更复杂的网络架构,同时,与RessNet-50等复杂架构相比,ResNet-18消耗的内存和计算资源更少。

图1 非参数化三维人体重建图卷积网络

1.2 人体测量特征提取

对于人体测量数据,本文默认采用5种人体测量尺寸,即身高、体重、胸围、腰围和臀围。需要指出的是,本文所提出的网络可以承载更多的人体测量数据。但从实际应用而言,这5种测量尺寸是使用最广泛且最容易获取的。本文实验也评估了使用更多测量数据的重建效果。

由于人体的各项测量尺寸之间并非相互独立,并且测量尺寸之间的量级可能存在较大差异,有可能导致模型在优化过程中陷入局部极小值。因此,先通过一个全连接神经网络将原始测量数据映射到另一空间以获取更加抽象的人体测量特征。之后,再将所得人体测量特征和从ResNet-18中提取出的图像特征附着在网格顶点上,并利用图卷积网络对其进行训练和学习,直接生成非参数化的人体网格模型。

1.3 图卷积

对于三维几何模型,可在网格上(如训练集中的三维人体模型)应用图卷积[11]。网格的顶点和边可直接表示为无向图(undirected graph)中的节点(node)和边(edge)。利用图卷积层对相邻节点(顶点)之间的特征进行编码,并最终预测三维顶点位置。本文使用了Kipf等[11]于2016年提出的一种定义在谱域的图卷积算子,该算子也是目前使用最为广泛应用的图卷积操作之一,具体定义为:

(1)

图2(a)展示了非参数化图卷积网络架构,包含了7个残差图卷积块(Residual Graph Convolution Block, RGCB),每个残差图卷积块的设计如图2(b)所示。借鉴ResNet的设计,添加一个跳跃连接以强化残差图卷积块的输入,降低了梯度消失(gradient vanishing)的风险,即使用式(1)表示的图卷积算子替代3×3图像卷积,并用一个线性层代替1×1卷积,同时仍使用ReLU函数作为激活函数。

图2 非参数化人体重建图卷积网络架构及残差图卷积块

在网络训练过程中,需要将三维网格作为输入,但由于本文实验环境中GPU内存的限制,在训练时很难设置较大的批大小(batch size),而之前的研究结果已经证明,批归一化(Batch Normalization,BN)对于较小的批大小无明显作用,因此,使用组归一化(Group Normalization,GN)替换原来的批归一化[15]。

本文提出了一种基于MDS和KL滤波器相结合的机器人传感器网络节点有效定位跟踪算法.使用4个已知位置的信标,可实现对任意位置处节点的定位.利用MDS提供了所有传感器节点的成对距离矩阵,针对MDS法定位中受到噪声的影响,特别是当传感器节点远离其他传感器节点时,噪声水平会增加,引入KL滤波器有效降低了噪声引起的定位干扰.通过仿真实验验证了该算法的有效性,表明该算法在定位精度上优于传统的MDS和EKL跟踪算法,同时,该算法有效地降低了实际环境中的噪声影响,具有很好解决移动传感器定位问题的潜力,满足了高精度定位的实际要求.

对于输入和输出维度不等的情况,在跳跃连接上添加一个额外的线性层,以保证在输出上进行正确的逐元素相加(element-wise addition)。对于利用2张掩码(如人体的正面加侧面照片)进行重建的情况,节点特征维度为1 032=512×2+5+3;对于单张掩码(如仅使用人体的正面照片)的图卷积重建,节点特征维度为520=512+5+3。另外,通过实验发现7个残差图卷积块的堆叠是重建精度和训练消耗之间的最佳折衷方式。少于7个图卷积块会导致重建精度明显下降,超过7个图卷积块则会消耗更多的内存及计算资源,却并未在重建精度上带来明显提升。

1.4 损失函数

为了得到精确可靠的重建结果,用于三维人体重建的图卷积神经网络的损失函数应包含多个方面。首先,由于本文所提出的神经网络可以直接预测出三维网格的顶点坐标,因此,损失函数中首先要包含对真实顶点和预测顶点之间逐点误差的衡量。令V∈N×3表示真实的网格顶点,N×3表示预测的人体网格顶点,则顶点间的误差损失定义为:

(2)

此外,由于网络显式地融入了人体测量参数,因此,损失函数的设计应达到最小化真实尺寸与预测尺寸之间的误差。令M∈5表示真实的测量尺寸,5表示根据预测的三维人体模型提取的测量尺寸,则测量损失可定义为:

LM=‖M-M‖2

(3)

(4)

(5)

其中,N(vi)表示顶点vi的1环(one-ring)邻接顶点。结合式(2)~(5),可将非参数化三维人体重建图卷积网络的损失函数完整地定义为:

LNon-param=LV+LM+LΔ

(6)

2 重建结果与分析

2.1 数据集

本文使用Yang等[16]发布的SPRING(Semantic Parametric ReshapING)三维人体数据集,其中男性1 517个,女性1 529个。SPRING数据集中所有的人体网格都具有相同的顶点数和相似的姿态,便于计算点到点的损失LV。此外,本文首先采用Xie等[17]的方法对所有人体进行预处理,以保证人体关键点之间的对应关系。最后,从中选择300个体型各异的三维人体作为测试集,其中男女各150个,其余的作为男女人体各自的训练集。

2.2 实施及训练细节

所有实验均在一台搭载Intel i7 7700HQ,2.8 GHz CPU,16 G内存,和一块显存为8 G的NVIDIA GeForce GTX 1070显卡的PC机上进行,并使用PyTorch深度学习框架验证算法的性能和计算效率。

如前所述,对于男性和女性人体的重建,本文采用相同的图卷积网络架构,但借助于不同的模板。具体地,使用男女数据集中的均值体型作为各自网络的模板。实验中也测试了其他模板,但最终发现均值体型可略微加速网络收敛。由于SPRING数据集仅提供了基于真实扫描的三维人体网格,不包含任何纹理信息或相应的二维渲染,因此,对于每个三维人体网格,首先使用OpenGL中的“render-to-texture”技术渲染出三维网格的正面及侧面掩码图像。此外,由于使用了预训练的ResNet-18作为掩码图像特征提取器,因此所有掩码图像的大小在输入网络之前被缩放为224×224。对于非参数化人体重建图卷积网络的训练,本文采用Adam优化器,初始学习率为0.001,每隔5轮(epoch)进行0.5倍的衰减,批大小设置为2,共训练17轮。

非参数化人体重建图卷积网络共包含了约160 M个参数,训练时长约12.5 h。待训练完成之后,根据训练所得模型参数,可以在不到1 s内重建出一个包含了12 500个顶点的三维人体网格模型。

2.3 实验与分析

本文中第1项消融实验是观察式(6)中有无拉普拉斯平滑项LΔ对重建结果的影响。为此,这里忽略了拉普拉斯平滑项LΔ,并重新训练了非参数化图卷积网络。图3展示了是否包含LΔ的重建结果的对比。其中图3(a)为真值,图3(b)是未使用拉普拉斯平滑项LΔ的重建结果,图3(c)是包含LΔ的重建结果。可以看到,二者之间的差异是非常明显的。对于缺失LΔ的情况,在优化过程中,所有的顶点过分追求最小化的点到点损失,这产生了许多尖锐的顶点,进而导致不光滑的曲面。然而,加入平滑项LΔ之后,所有顶点的移动会受到其相邻顶点运动的影响,使得相邻的顶点产生相似的运动,进而产生相对平滑的网格曲面。该实验也证明,对于人体这样形状较为复杂、包含网格顶点较多的三维网格模型,仅仅使用点到点损失难以产生视觉效果良好的重建结果。

图3 有无拉普拉斯平滑项目LΔ的重建结果对比

类似地,忽略式(5)中的测量损失项LM并对网络重新训练来研究该损失对重建结果的影响。图4展示了有无测量损失LM的重建结果之间的差异。其中,图4(a)是来自于测试集中的真值,图4(b)是不涉及测量损失LM的重建结果,图4(c)是包含LM的重建结果,图4(d)采用热力图的方式对图4(a)和图4(b)进行比对,图4(e)是图4(a)和图4(c)的热力图比对。图4(d)和图4(e)中颜色条的范围不同,单位均为cm。通过图4可以直观地看到,二者的身高存在明显差异,其他差异可在相应的对比热图中观察到。虽然已经采用了点到点损失,理论上,如果优化理想,即每个顶点都被神经网络回归到了正确的位置(即损失函数优化为零),测量损失LM是可以忽略的。然而,在实际中,这是不可能达到的。因此,本文显式地融入人体测量并辅以相应的损失项LM,类似于将人体测量作为一种约束条件,该策略也与条件生成对抗网络(Conditional GAN)的思想吻合。为了进一步验证融合人体测量数据的有效性,分别在男性和女性测试集上计算了5种人体测量误差。表1列出具体的数值统计结果,其中WA(With Anthropometry)表示包含测量损失、WOA(Without Anthropometry)表示不包含测量损失,误差采用均值±标准差(Mean±Std)的形式表示,单位为cm。可以看到,包含人体测量的重建结果在每项测量值上均优于不包含测量尺寸的重建结果,这说明将人体测量直接融入网络是有效的。

图4 有无测量数据及相关损失对重建结果的影响

表1 有无使用测量数据的重建精度对比

为了进一步验证本文提出的方法,将测试结果同Kolotouros等[14]、Ji等[13]和Dibra等[12]提出的三维人体重建网络进行了对比。对于Kolotouros等的方法,本文使用了作者训练好的模型。对于Ji等和Dibra等提出的方法,通过复现其网络架构,并使用作者建议的超参数在同一数据集上对网络进行重新训练,分别训练27个轮次和35个轮次后得到了较好的重建结果。需要指出的是,Kolotouros等提出的是一个利用单张RGB图像重建三维人体的非参数化方法,而Ji等提出的是利用2张掩码图像重建三维人体的参数化方法。通过回归SPCAE模型的形状空间,即主成分(PCA)空间,完成三维人体重建。类似地,Dibra等也利用2张掩码完成人体重建。为了比对的合理性,使用一个未出现在任何一个网络训练过程中的真实三维人体,并使用各自网络要求的输入进行重建对比实验。换言之,在Kolotouros等的方法中输入一个真实人体的RGB图像,在Ji等和Dirba等的网络中输入该真实人体对应的2张掩码图像,其结果如图5所示。

图5 不同重建方法对比

图5(a)和(d)展示了不同方法要求的输入表示,图5(b)(c)(e)和(f)展示了各个算法的重建结果。视觉上,本文方法明显优于其他3种方法。Kolotouros等的方法对于该人体的重建几乎是失败的,重建结果包含大量噪声,并且各项测量尺寸均明显不符。与Kolotouros等方法的对比可以说明,在非参数化图卷积网络中融入人体测量数据可明显提高重建效果。Ji等的方法实际上回归了参数空间,故重建的三维人体曲面相对于Kolotouros等的结果明显光滑。然而,Ji等的方法由于缺乏人体测量值的约束且过分依赖训练数据,导致重建人体较真实人体偏胖。Dibra等利用了Sun等[18]提出的热核签名(Heat Kernel Signature, HKS)和非均匀缩放的掩码图像作为输入,重建结果在人体数据测量方面明显优于Kolotouros等和Ji等的方法,但仔细观察会发现,重建人体的腰部仍与真实人体存在差异。

表2列出了4种算法针对该真实人体的重建结果在人体测量学上的量化对比,可以看出,本文方法在各个尺寸上均达到了最优。表3展示了测试集上更为全面的量化对比结果(Kolotouros等方法以单张图片作为输入,其重建精度不具备比较条件,且从图5中可以看出其重建结果严重失真)。除已采用的5种测量尺寸之外,本文还计算了8种在服装和人体测量领域广泛使用的关键数据,包括颈围、肩宽、臂长、前臂长、股围、小腿肚周长、内侧腿长和颈点到裆底点长度。可以看到,本文的重建结果在各项指标上均达到最优。

表 2 针对图5中真实人体的定量比较

表 3 不同重建方法的定量对比

3 结 论

本文提出了一种新的图卷积网络架构用于非参数化三维人体重建,并设计了相应的残差图卷积块。该网络只需输入人体掩码图像和5种人体测量学尺寸,便可直接预测三维人体网格的顶点坐标。实验证明,将人体测量学尺寸显式地作为输入并辅以相应的损失函数是有效的,人体重建精度大幅提升,各项测量尺寸均小于1 cm;本文也同其他优秀方法进行了对比,本方法无论在视觉效果上还是在人体测量尺寸上,均优于之前的方法;此外,本文方法是快速高效的,可在不到1 s内重建出一个包含了12 500个顶点的三维人体网格模型。

猜你喜欢
顶点卷积损失
洪涝造成孟加拉损失25.4万吨大米
过非等腰锐角三角形顶点和垂心的圆的性质及应用(下)
过非等腰锐角三角形顶点和垂心的圆的性质及应用(上)
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
两败俱伤
从滤波器理解卷积
损失
那些损失上百万的演员