浙江大学学报(工学版), 2021, 55(1): 153-161 doi: 10.3785/j.issn.1008-973X.2021.01.018

机械工程

由LeNet-5从单张着装图像重建三维人体

许豪灿,, 李基拓,, 陆国栋

1. 浙江大学 机械工程学院,浙江 杭州 310027

2. 浙江大学 机器人研究院,浙江 余姚 315400

Reconstruction of three-dimensional human bodies from single image by LeNet-5

XU Hao-can,, LI Ji-tuo,, LU Guo-dong

1. School of Mechanical Engineering, Zhejiang University, Hangzhou 310027, China

2. Robotics Institute, Zhejiang University, Yuyao 315400, China

通讯作者: 李基拓,男,副教授. orcid.org/0000-0003-1343-5305. E-mail: jituo_li@zju.edu.cn

收稿日期: 2020-01-9  

Received: 2020-01-9  

作者简介 About authors

许豪灿(1993—),男,博士生,从事计算机图形学的研究.orcid.org/0000-0002-1474-7039.E-mail:haocan_xu@zju.edu.cn , E-mail:haocan_xu@zju.edu.cn

摘要

提出基于LeNet-5的从单张着装图像恢复人体三维形状的方法,建立着装人体正面轮廓和人体形状空间之间的映射模型,实现了高效、精确的三维人体建模,可以应用于对人体表面形状精度要求较高的场合,如虚拟试衣. 基于PGA在流型空间上对公开的三维人体数据集进行数据扩增,给虚拟人体进行着装,构建着装人体数据库. 从着装人体正面投影图像中提取信息,以人体形状参数及正、侧面轮廓信息为约束,基于LeNet-5完成三维人体重建. 实验证明,对于身穿不同款式服装的人,采用的模型通常都能从单张着装图像中重建得到较高精度的三维人体模型.

关键词: 三维人体重建 ; 虚拟试衣 ; 数据扩增 ; 着装人体 ; 深度学习

Abstract

A novel human body modeling method that can reconstruct three-dimensional (3D) human bodies from single dressed human body image based on LeNet-5 was proposed. The method can reconstruct 3D human bodies accurately and efficiently, and the reconstruction results can be potentially used in some occasions where require precise surface shapes, such as virtual try-on systems. 3D human bodies collected from open datasets were selected and augmented on manifolds with PGA. A dressed human body database was established after dressing these 3D human bodies with virtual garments in various types and sizes. Feature descriptors were extracted from the frontal projected images of dressed human bodies. The corresponding 3D human bodies were constructed through LeNet-5 with the constraints of shape parameters as well as the frontal and lateral contours. The experimental results show that the model can reconstruct a high-precision 3D human body from a single dressed human body image for people wearing different styles of clothing.

Keywords: three-dimensional human modeling ; virtual try-on ; data augmentation ; dressed human body ; deep learning

PDF (1160KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

许豪灿, 李基拓, 陆国栋. 由LeNet-5从单张着装图像重建三维人体. 浙江大学学报(工学版)[J], 2021, 55(1): 153-161 doi:10.3785/j.issn.1008-973X.2021.01.018

XU Hao-can, LI Ji-tuo, LU Guo-dong. Reconstruction of three-dimensional human bodies from single image by LeNet-5. Journal of Zhejiang University(Engineering Science)[J], 2021, 55(1): 153-161 doi:10.3785/j.issn.1008-973X.2021.01.018

三维人体模型在人机交互、服装设计、虚拟试衣等领域有着广泛的应用,如何快速、低成本地重建高精度的三维人体模型,一直是计算机图形学领域的重点研究方向.

传统的三维人体重建方法主要包括基于多视角数据融合的方法和基于模板形变的方法. 按照数据来源的不同,基于多视角数据融合的方法可以细分为基于色彩数据(RGB)[1]、深度数据(Depth)[2-4]和色彩-深度数据(RGB-D)[5]的三维重建方法. 常见的图像特征提取方式,如SIFT、SURF、HOG等,容易受到外界因素干扰,如光照. 高精度的激光扫描仪面临高昂的设备和安装成本,低成本RGB-D相机面临原始数据精度的挑战.

基于模板形变的方法需要事先设定拓扑结构已知的模板人体,通过从RGB/RGB-D图像中提取目标人体的正、侧面轮廓以及关键点位置等信息[6-8],驱动模板人体形变. 从低维特征数据恢复高维模型本身是一个病态问题,因而基于模板形变的方法通常无法保证重建结果的稳定性与精度.

随着参数化人体模型SCAPE[9]和SMPL[10]的广泛应用及深度学习的快速发展,基于深度学习的人体建模被逐渐应用于越来越多的场合. 主要思路大多是从图像中提取关键点[11]、轮廓[12-15]、热图[12]或对图像进行语义分割[11,16],通过约束人体姿态/形态参数、正面轮廓、关键点位置等,建立输入图像与人体形态参数、姿态参数之间的映射模型. 单视角数据往往不能全面地反映人体表面形状信息,LSP[17]、Human3.6M[18]、UP-3D[19]等常见数据集中的人体姿态、服装款式丰富且背景复杂多变,重建结果往往更侧重于恢复姿态信息,形状精度一般不高.

本文提出由LeNet-5从单张着装图像重建三维人体的方法,以A-pose人体的二值化图像为输入,通过对公开数据集中的虚拟人体进行数据扩增并穿着不同款式、尺寸的服装,构建着装人体数据集;以人体形状参数误差、正/侧面轮廓误差为损失函数,开展模型迭代优化,实现快速、高精度的三维人体重建.

1. 系统概述

图1所示,从公开数据集[20]中获取约1 500组女性真实人体样本数据. 利用SMPL调整人体姿态后,在流型空间上使用主测地线分析(principle geodesic analysis, PGA)进行数据扩增,利用Marvelous Designer给虚拟人体穿上不同款式、不同尺寸的服装,构建着装人体数据库.

图 1

图 1   由单张图像重建三维人体流程

Fig.1   Pipeline of reconstruction of three-dimensional human bodies from single image


对于在流型空间上扩增后的人体数据库,采用PCA进行降维,以低维度的PCA主轴系数向量γ表征高维人体;对于着装人体数据库中的每一个样本人体,通过投影得到正面轮廓图像,从中提取特征. 为了能够更加准确地建立着装人体正面轮廓图像与人体形状空间之间的映射模型,重建结果进行重投影,得到三维人体正、侧面轮廓图像. 以PCA主轴系数向量误差、人体正、侧面轮廓误差为损失函数,迭代优化模型,实现了基于单张着装人体正面图像的三维人体重建.

2. 着装人体数据集构建

现有的着装人体数据集,如Human3.6M[18]、LSP[17]、UP-3D[19]等,人体姿态信息丰富且背景复杂多变,更适用于人体姿态信息恢复,难以实现高精度三维人体重建. 为了减小人体姿态及拍摄环境对重建结果的影响,以扫描人体数据为基础,采用SMPL表征人体形状并调整人体姿态,在流型空间上进行数据扩增. 借助Marvelous Designer完成人体着装,构建姿态近似、背景简单的着装人体数据集.

2.1. 人体姿态调整

在计算机图形学中,通常使用高维三角网格表征人体表面形状. 为了构建不同形状、不同姿态人体的形变关系,参数化统计模型SCAPE和SMPL近年来被逐渐广泛采用,其中以SMPL更具有代表性. SMPL是基于网格顶点的人体形变模型,用于表征不同姿态下不同人体的表面形状,网格形变参数包括形状参数β及非刚性姿态参数θ. 为了降低人体姿态对重建结果的影响,实现高精度三维人体建模,对于所有着装人体数据,姿态均被调整为A-pose.

扫描人体数据通常由数万个甚至数十万个空间点构成,维度过高且网格拓扑结构不一致,因而需要统一不同人体数据之间的网格拓扑[21]. 以网格拓扑统一的扫描人体为样本,通过SMPL估算当前人体形态参数βi及姿态参数θi,调整人体姿态至A-pose. 其中人体形态参数βi通过将当前网格顶点投影至T-pose下的PCA主轴得到(SMPL模型的标准姿态为T-pose),当前姿态参数θi由下式[10]预估:

$\mathop {\arg \min }\limits_{{\theta }} \sum\limits_e {{{\left\| {{W_e}\left( {{{T}}_{\rm{\mu}} ^{\rm{P}} + {B_{\rm{P}}}({{\theta }};{{\rho }}),{{J}}_\mu ^{\rm{P}},{{\theta }},{{\omega }}} \right) - {{V}}_{i,e}^{\rm{S}}} \right\|}^2}} .$

式中: ${ T}_{\rm{\mu}} ^{\rm{P}} $${{J}}_{\rm{\mu}} ^{\rm{P}} $分别为平均人体及目标人体关节点平均位置, ${B_{\rm{P}}}$为形变融合方程, $ W_{e}(\cdot )$${{V}}_{i,e}^{\rm{S}} $分别表示当前人体及目标人体的对应边, ${{\rho }}$${{\omega }}$为从人体数据集中训练得到的SMPL参数.

每个虚拟人体以6 890个网格顶点表征,扫描人体姿态均通过SMPL转换为A-pose,βi维度为10,θi维度为72.

2.2. 数据集扩增

样本数据的数量和质量会影响模型的拟合能力,充足的样本数量及合理的样本分布是构建高精度网络模型的必要条件. 现有的扫描人体数据库[20]仅包含约1 500组男性人体、1 500组女性人体,样本数量有限,不足以训练得到稳定的模型,因而需要进行数据集扩增. 男性和女性在人体形态上存在明显差异,例如在腰围与臀围接近的情况下,女性人体的胸围普遍大于男性. 为了能够更加准确地建立统计模型,重建得到更高精度的三维人体,需要对男性与女性人体分别构建数据集,开展独立的三维建模,思路与方法完全相同. 以女性人体为实例,进行详细说明.

常用的人体数据集扩增方法为现有人体数据之间的线性插值,但人体形状空间是一个复杂的高维空间,不同人体加权求和得到的人体不一定有效. 为了能够更加准确地表征人体形状空间,得到更加接近于真实人体的扩增数据集,将现有的人体数据投影至黎曼空间,采用李群(Lie Groups)构造流型结构,用测地线距离定义不同人体之间的差异[22],进行人体数据集扩增.

拓扑结构统一的人体之间的变形可以认为是各三角网格形变的综合. 人体H1H2中对应三角形T1=[v12v11, v13v11]∈R3×2T2= [v22v21, v23v21]∈R3×2之间的形变方程可以表示为T1=QT2,其中[v11, v12, v13]、[v21, v22, v23]分别为三角形T1T2的顶点;QR3×3为形变矩阵,共包含9个未知数,大于方程数量6. 在欧式空间里,常通过添加额外约束,如正则项来解决这一病态问题,但会不可避免地引入误差;在黎曼几何中,Q可以被分解为

${{Q}} = {{R}}_{{{{T}}_{\rm{1}}}}^{\rm{T}}{{AS}}{{{R}}_{{{{T}}_{\rm{2}}}}}.$

式中: ${{R}}_{{{{T}}_{\rm{1}}}} $${{R}}_{{{{T}}_{\rm{2}}}} $分别为三角形T1T2对应的旋转矩阵,自由度为3;S为缩放系数,自由度为1;A为特殊平面内的形变,自由度为2[22],共包含6个自由度,与方程数量相等. 采用PGA在流型空间上对现有人体数据进行插值操作. 对于流型空间M中的人体数据集{Hi},通过迭代算法[23]得到平均人体:

${{\mu }}{\rm{ = argmi}}{{\rm{n}}_{{\mu }}}\sum {d{{({{{H}}_i},{{\mu }})}^2}} .$

式中:d(·)为测地线距离,

$d = \left\| {{\rm{lg}}\;({{R}}_{\rm{1}}^{\rm{T}}{{{R}}_{\rm{2}}})} \right\|_{\rm{F}}^{\rm{2}} + \left\| {{\rm{lg}}\;({{A}}_{\rm{1}}^{{\rm{ - 1}}}{{{A}}_{\rm{2}}})} \right\|_{\rm{F}}^{\rm{2}} + {\left| {{\rm{lg}}\;({{{S}}_{\rm{2}}}/{{{S}}_{\rm{1}}})} \right|^{\rm{2}}},$

其中 ${\left\| \cdot \right\|_{\rm{F}}}$ 表示Frobenius范数. 采用PCA对人体数据集{Hi}在切平面TμM 上的投影结果{lg μ−1Hi}进行降维,其中TμM Mμ处的切平面. 如图2所示,通过对PCA主轴系数的线性加权插值,共得到6 000组人体数据,插值得到的人体数据可以表示为

图 2

图 2   人体数据集扩增

Fig.2   Human data augmentation


${\rm{lg}}\;\left( {{{{\mu }}^{{\rm{ - 1}}}}{{{H}}_{{\rm{new}}}} } \right)= {k_{\rm{1}}}{\rm{lg}}\;\left( {{{{\mu }}^{{\rm{ - 1}}}}{{{H}}_{\rm{1}}}} \right) + {k_{\rm{2}}}{\rm{lg}}\;\left( {{{{\mu }}^{{\rm{ - 1}}}}{{{H}}_{\rm{2}}}} \right).$

式中:k1k2为权重系数,k1+k2=1.

虽然数据库中的所有人体姿态均为A-pose,不同样本之间的姿态信息可能存在细微的差别. 为了更加合理地表征数据库中的三维人体模型,采用PCA对插值后的人体数据库进行降维. 取前95%的特征值对应的特征向量表征三维人体模型,即PCA主轴系数向量γi的维度为15.

在实际应用场景中,用户通常更倾向于在穿日常服饰的情况下,采用非侵入式且少附加条件的测量方式,需要在虚拟人体表面添加不同款式、尺寸的虚拟服装. 如图3所示,采用Marvelous Designer添加虚拟服装,构建着装人体数据库. 样本数据集中服装款式的增加必然会提升模型的泛化能力,但也会增加数据集构建成本,提升模型训练难度. 综合考虑上述因素,本数据集累计包含1 500组真实人体描述数据、1 500组插值人体、3款不同款式的虚拟服装,总计约9 000组着装人体.

图 3

图 3   在虚拟人体表面添加服装

Fig.3   Garment simulation on human body surface


3. 基于LeNet-5的三维人体重建

为了降低拍摄环境及人体姿态信息对于重建结果的影响,构建人体正面二值化轮廓图像与人体形状空间之间的映射模型. 模型训练数据为着装人体正面轮廓图像及对应的三维人体数据. 为了减小图像平移对于模型训练的影响,将人体中心点与图像中心点对齐后进行投影变换,得到无平移的人体正面轮廓图像. 从图像中提取特征,以人体姿态参数及正、侧面轮廓为约束,迭代优化重建结果.

3.1. 网络结构及训练参数

网络以二值化后的人体正面轮廓图像为输入,人体模型PCA主轴系数向量γi为输出,以γi的误差及人体正、侧面轮廓误差为损失函数,迭代优化模型. LeNet-5[24]模型共包含3个卷积层、2个池化层及1个全连接层,具体的网络结构如图4所示.

图 4

图 4   LeNet-5网络结构

Fig.4   Network structure of LeNet-5


1)输入层:输入图像大小为256×256,每个像素点的物理尺寸为8 mm×8 mm.

2)C1层:卷积层,滤波器大小为5×5,步长为2,共包含16个滤波器.

3)S2层:子采样层/池化层,对每个2×2区块中的值取平均值,得到16组特征映射.

4)C3层:卷积层,滤波器大小为5×5,步长为2,共包含32个滤波器.

5)S4层:子采样层/池化层,对每个2×2区块中的值取平均值,得到32组特征映射.

6)C5层:卷积层,滤波器大小为5×5,步长为2,共包含64个滤波器.

7)F6层:全连接层.

8)输出层:由PCA主轴系数构成的向量γ.

在模型训练的过程中,采用dropout以避免模型过拟合,提升模型的泛化能力[25],将dropout rate设定为0.5;将学习率和batch分别设置为0.01和100,添加批处理规范化,以提升收敛速度. 将着装人体数据集中70%的样本数据作为训练集,剩下的作为测试集和验证集,采用TensorFlow及Python实现网络模型,在服务器上进行训练. 服务器相关硬件为1块Intel Xeon E5 CPU和4块NVIDIA 2080Ti GPU,训练时间大约为36 h.

3.2. 损失函数

单视角数据往往不能全面地反映人体表面形状信息,为了提升模型的性能,使得重建结果在视觉上更加接近于真实人体,以人体模型PCA主轴系数向量及人体正、侧面形状误差为损失函数. 迭代优化模型如下.

1)人体形状参数误差,即

$ {L_{{\gamma}} } = \sum\limits_{i{\rm{ = 1}}}^N {\left| {{{\gamma }}({{h }},{{{G}}_i}) - {{{\gamma }}_i}} \right|}. $

式中:N为训练样本数量,Gi为第i个着装人体的正面轮廓图像, ${{h }}$ 为模型LeNet-5的参数.

2)轮廓误差. 根据PCA主轴系数向量γi计算得到三维人体模型M(γi),重投影得到人体正面轮廓图像 ${{Y}}_{{\rm{fro}}}^i$及侧面轮廓图像 ${{Y}}_{{\rm{lat}}}^i$. 正面和侧面轮廓误差分别可以表示为

${L_{\rm{f}}} = \sum\limits_{i{\rm{ = 1}}}^N {f\left( {{{P}}_{{\rm{fro}}}^i,{{Y}}_{{\rm{fro}}}^i} \right)}, $

${L_{\rm{s}}} = \sum\limits_{i{\rm{ = 1}}}^N {f\left( {{{P}}_{{\rm{lat}}}^i,{{Y}}_{{\rm{lat}}}^i} \right)}. $

式中:f(I1,I2)为图像I1I2之间的差异, $f({{{I}}_{\rm{1}}},{{{I}}_{\rm{2}}}) = \displaystyle\sum {{{{I}}_{\rm{1}}}(x,y) - {{{I}}_{\rm{2}}}(x,y)}$${{P}}_{{\rm{fro}}}^i$${{P}}_{{\rm{lat}}}^i$分别为第i个着装人体的正面、侧面投影图像(不包含服装).

该模型结合人体形状参数误差及正、侧面轮廓误差,总体损失函数为

${L_{{\rm{total}}}} = {L_\gamma } + \varphi {L_{\rm{f}}} + \phi {L_{\rm{s}}}.$

式中: $\varphi $$\phi $分别为正面投影误差和侧面投影误差的权重系数.

4. 实验结果与分析

为了客观评价该方法的有效性和泛化能力,开展了大量的实验,主要包括:模型对比,即不同损失函数下模型误差比较及与常见深度学习及非深度学习算法比较;从虚拟着装人体图像和真实人体正面图像恢复三维人体模型. 其中虚拟着装人体图像由三维着装人体模型的小孔成像投影获得,在已知三维人体体形的情况下,可以有效地测试该方法的效果;将真人着装图像的重建测试用于验证该方法的实际应用效果.

4.1. 模型对比

本文的主要贡献之一是将人体形状参数误差及人体正、侧面轮廓误差作为损失函数,迭代优化网络,实现了更高精度的三维人体重建. 为了验证该方法的有效性,以同样的着装人体样本数据库、网络结构、训练参数构建学习模型,仅改变损失函数,评估重建结果的形状误差. 表1中,e为平均误差. 如表1所示,若仅以PCA主轴系数向量γi为误差项,重建结果的总体平均误差约为1.8 cm,平均围度误差(胸围/腰围/臀围误差)超过3 cm,不足以应用在对三维人体模型精度要求较高的领域. 人体轮廓约束,尤其是侧面轮廓约束,明显提升了模型拟合能力,降低了重建人体的形状误差及围度误差.

表 1   不同损失函数下重建结果误差

Tab.1  Reconstruction error with different loss function

损失函数 e /cm
总体误差 胸围 腰围 臀围 手长 腿长
${L_\gamma } $ 1.76 3.27 3.18 3.51 1.94 2.04
${L_\gamma } + \varphi {L_{\rm{f}}} $ 1.36 2.34 2.49 2.72 1.48 1.59
${L_\gamma } $ + φLs 1.31 2.36 2.23 2.66 1.41 1.62
Ltotal 1.15 1.97 2.08 2.32 1.21 1.45

新窗口打开| 下载CSV


为了客观评价本文方法的性能,表2给出部分从单张图像恢复三维人体模型方法的误差. 由于Guan等[15]仅提供3个真实人体样本及胸围和腰围误差,在表2中仅表示误差范围;Kanazawa等[14-16]为基于深度学习的三维人体重建方法,重建精度受数据集的影响较大,如表2所示均为在数据集Human 3.6 M下的误差. 可以看出,与常见的偏重人体姿态信息恢复的模型相比,本文方法的重建精度更高;与需要事先手动交互的传统方法[15]相比,本文的模型用户体验更佳,重建结果不易受测试者的影响.

表 2   不同方法重建结果误差

Tab.2  Reconstruction error with different methods

方法 e /cm
总体误差 胸围 腰围 臀围
LeNet-5 1.15 1.97 2.08 2.32
文献[15]方法 0.1~4.5 0.6~3.4
文献[12]方法 7.59
文献[14]方法 5.68
文献[16]方法 5.99

新窗口打开| 下载CSV


4.2. 虚拟人体三维重建

在实际应用中,用户通常很难保持精确的人体姿态. 为了对模型进行更加准确的评估,客观测试模型的泛化能力,该实验通过适当改变数据库中着装人体的姿态,模拟真实数据. 如图5所示,将手臂与躯干的夹角调整为15°、45°,适当调整双脚的间距,使用Marvelous Designer对形变人体进行着装,投影得到人体正面轮廓图像作为模型输入,预测人体形状. 表3中,P为手臂与躯干的夹角,L为双脚之间的距离. 可以看出,提出的模型具有较好的泛化能力,在合理的范围内,人体姿态的轻微变化不会对重建结果产生明显的影响.

表 3   不同姿态下人体的误差

Tab.3  Reconstruction error on different postures

人体姿态 e /cm
总体误差 胸围 腰围 臀围 手长 腿长
P = 15° 1.56 3.45 2.91 3.34 1.84 2.15
P = 25° 1.26 2.06 2.24 2.29 1.41 1.53
P = 30° 1.15 1.97 2.08 2.32 1.21 1.45
P = 35° 1.19 1.95 2.17 2.57 1.15 1.57
P = 45° 1.69 3.16 3.05 3.40 2.02 2.01
P = 90° 2.68 4.52 5.05 5.13 3.17 3.64
L = 0 1.21 2.14 2.09 2.45 1.36 1.68

新窗口打开| 下载CSV


图 5

图 5   不同姿态下的三维人体

Fig.5   3D human bodies with different postures


为了直观展示模型在不同体型人体上的性能,手动从数据集中挑选若干具有代表性的人体进行实验. 如图6所示,四肢与头部的误差相对更大,这主要是因为不同人体之间的姿态存在细微差别. 从上述实验可以看出,无论是身材相对标准的人体还是偏胖或者偏瘦的人体,利用提出的模型都能够实现较高精度的三维重建.

图 6

图 6   不同体型的三维人体重建

Fig.6   3D human body reconstruction in different shapes


4.3. 真实人体三维重建

三维模型的精度测试数据与样本数据之间的差异性相关. 为了证明本文方法的实际应用价值,在真实人体上开展多次实验,主要可以分为3类,分别评估目标人体本身、目标人体姿态及服装款式对重建结果的影响. 在模型训练的过程中,输入图像为背景纯净的人体正面轮廓图像,且假设相机位置固定不变. 在实际的应用环境下,背景通常多变而复杂,且相机位置难以固定;因此,需要对输入图像进行预处理,保证相机位置与训练图像中的相机位置一致,即从真实人体采集到的图像应与其对应的虚拟人体投影得到的图像相同(假设可以重建得到高精度的三维人体模型). 如图7所示,具体步骤如下.

图 7

图 7   人体正面图像预处理

Fig.7   Preprocessing for frontal image


1)背景分割. 去除环境背景,采用Grabcut算法[26]从原始图像中提取人体,并进行二值化. 由于背景分割不是本文研究的重点,数据采集环境均为白色背景,这在实际应用中不难实现.

2)中心点对齐. 以人体平均点为人体中心点,并将图像中心点和人体中心点对齐.

3)人体图像缩放. 结合用户提供的身高信息,计算当前图像中每个像素点的实际物理尺寸;按比例缩放人体轮廓,调整图像中每个像素点的物理尺寸至8 mm×8 mm.

为了验证模型在不同人体上的效果,邀请几位不同身高、体型的志愿者,根据样本数据采集要求,即姿态为A,着装为长衣长裤或短裙,采集正面图像,如图89所示. 重建结果的关键围度误差见表4. 对比表13可知,以真实人体正面图像为输入数据和以虚拟人体正面投影图像为输入数据,重建结果的围度误差较接近,证明了本文方法在真实应用环境中的有效性.

表 4   不同人体的重建误差

Tab.4  Reconstruction error on different bodies

人体 着装 e /cm
胸围 腰围 臀围 手长 腿长
人体1 长衣长裤 2.35 2.08 1.14 1.96 0.91
人体1 短裙 3.15 2.93 3.20 1.69 1.46
人体2 长衣长裤 1.05 0.81 1.02 0.36 1.34
人体2 短裙 1.47 1.61 1.84 1.37 2.11
人体3 长衣长裤 1.54 1.72 3.03 2.35 1.71
人体3 短裙 2.61 2.20 2.61 3.22 1.68

新窗口打开| 下载CSV


图 8

图 8   从正面图像恢复三维人体,姿态A,长衣长裤

Fig.8   3D human body reconstruction from images captured in front view, posture A, and long trousers


图 9

图 9   从正面图像恢复三维人体,姿态A,着短裙

Fig.9   3D human body reconstruction from images captured in front view, posture A, and short skirt


为了验证真实环境下人体姿态对重建结果的影响,与4.2节展示的实验类似,志愿者随机改变手臂姿态及双脚间距,采集不同姿态下人体的正面图像,预处理后进行人体重建. 如图10表5所示,围度误差与4.2节的理论值较接近,证明了该模型具有较强的泛化能力,人体姿态在合理范围内的轻微变化不会对重建精度产生明显的影响. 为了使得重建结果在视觉上更加接近于输入图像,图10中的三维人体的姿态经过手动调整.

表 5   不同姿态人体的重建误差

Tab.5  Reconstruction error for real human bodies with different postures

人体姿态 e /cm
胸围 腰围 臀围 手长 腿长
P = 15° 1.84 0.73 1.51 1.46 1.58
P = 25° 1.62 0.88 0.67 0.93 1.61
P = 30° 1.05 0.81 1.02 0.73 1.34
P = 35° 0.91 1.20 1.53 0.36 0.95
P = 45° 2.15 2.06 2.07 1.04 1.36
P = 90° 2.16 3.84 4.21 5.13 4.38
L = 0 1.26 1.39 0.79 0.51 1.37

新窗口打开| 下载CSV


图 10

图 10   从不同姿态人体图像恢复三维人体

Fig.10   Reconstruction from images of human bodies in different postures


为了提升用户体验,验证模型的泛化能力,评估服装款式对重建结果的影响. 实验者穿着不同款式的服装,按照要求采集正面图像,如图11所示. 重建结果的围度误差如表6所示. 可以看出,在当前数据集下,当真实人体着装款式与训练集中服装相同或相近时,重建结果较理想;当服装款式发生明显变化时,重建结果精度会受到影响. 这主要是由于数据集中服装款式有限,若适当丰富数据集中的服装款式,则重建精度必然得到提升. 本文旨在从现有数据集中学习着装人体正面图像与人体表面形状之间的统计规律. 在面对某些特殊情形时,如测试人体脸部及四肢相对肥胖,躯干相对瘦小,且身着相对宽松的服装时,正面图像通常无法准确地反映表面形状,重建误差必然相对较大.

表 6   不同服装下人体的重建误差

Tab.6  Reconstruction error for real human bodies with different garments

服装款式 e /cm
胸围 腰围 臀围 手长 腿长
款式1 0.73 1.43 2.71 1.82 1.51
款式2 2.65 2.81 1.97 1.60 0.82
款式3 4.79 4.56 1.76 3.14 1.01

新窗口打开| 下载CSV


图 11

图 11   从同一人体不同着装的图像恢复三维人体

Fig.11   Reconstruction from images of one human body in different garments


5. 结 语

本文提出由LeNet-5从单张着装图像恢复三维人体的方法. 为了降低人体姿态、图像背景及服装款式对重建精度的影响,得到符合虚拟试衣要求的高精度三维人体模型,从公开数据集中获取了约1 500组女性真实人体数据. 采用PGA在流型空间上进行数据扩增,给虚拟人体穿上不同款式、尺寸的虚拟服装,构建着装人体数据集. 从人体正面轮廓图像中提取特征,以PCA主轴系数向量误差、正、侧面轮廓误差为损失函数,预测人体形态. 实验证明,该模型对于不同体型的人体,在不同着装下,通常都能够得到较理想的重建结果. 本文的主要贡献如下:1)将人体侧面轮廓信息作为约束,提高了模型的性能;2)基于不同服装款式及尺寸的着装人体样本数据训练模型,降低了服装款式及尺寸对三维人体重建结果的影响.

①Marvelous Designer 官网. http://www.marvelousdesigner.com/.

参考文献

ALLDIECK T, MAGNOR M, XU W, et al. Detailed human avatars from monocular video [C]// International Conference on 3D Vision. Verona: IEEE, 2018: 98-109.

[本文引用: 1]

TONG J, ZHOU J, LIU L, et al

Scanning 3D full human bodies using kinects

[J]. IEEE Transactions on Visualization and Computer Graphics, 2012, 18 (4): 643- 650

DOI:10.1109/TVCG.2012.56      [本文引用: 1]

CHEN G, LI J, WANG B, et al

Reconstructing 3D human models with a kinect

[J]. Computer Animation and Virtual Worlds, 2016, 27 (1): 72- 85

DOI:10.1002/cav.1632     

CHEN G, LI J, ZENG J, et al

Optimizing human model reconstruction from RGB-D image based on skin detection

[J]. Virtual Reality, 2016, 20 (3): 159- 172

DOI:10.1007/s10055-016-0291-y      [本文引用: 1]

WEISS A, HIRSHBERG D, BLACL M J. Home 3D body scans from noisy image and range data [C]// International Conference on Computer Vision. Barcelona: IEEE, 2011: 1951-1958.

[本文引用: 1]

WANG C C L

Parameterization and parametric design of mannequins

[J]. Computer-Aided Design, 2005, 37 (1): 83- 98

DOI:10.1016/j.cad.2004.05.001      [本文引用: 1]

BEAK S Y, LEE K

Parametric human body shape modeling framework for human-centered product design

[J]. Computer-Aided Design, 2012, 44 (1): 56- 67

DOI:10.1016/j.cad.2010.12.006     

HUANG J, KWOK T H, ZHOU C

Parametric design for human body modeling by wireframe-assisted deep learning

[J]. Computer-Aided Design, 2019, 108: 19- 29

DOI:10.1016/j.cad.2018.10.004      [本文引用: 1]

ANGUELOV D, SRINIVASAN P, KOLLER D, et al

SCAPE: shape completion and animation of people

[J]. ACM Transactions on Graphics, 2005, 24 (3): 408- 416

DOI:10.1145/1073204.1073207      [本文引用: 1]

LOPER M, MAHMOOD N, ROMERO J, et al

SMPL: a skinned multi-person linear model

[J]. ACM Transactions on Graphics, 2015, 34 (6): 248

[本文引用: 2]

POPA A I, ZANFIR M, SMINCHISESCU C. Deep multitask architecture for integrated 2d and 3d human sensing [C]//Conference on Computer Vision and Pattern Recognition. Hawaii: IEEE, 2017: 6289-6298.

[本文引用: 2]

PAVLAKOS G, ZHU L, ZHOU X, et al. Learning to estimate 3D human pose and shape from a single color image [C]// Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 459-468.

[本文引用: 3]

JI Z, QI X, WANG Y, et al

Human body shape reconstruction from binary silhouette images

[J]. Computer Aided Geometric Design, 2019, 71: 231- 243

DOI:10.1016/j.cagd.2019.04.019     

KANAZAWA A, BLACK M J, JACOBS D W, et al. End-to-end recovery of human shape and pose [C]// Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7122-7131.

[本文引用: 2]

GUAN P, WEISS A, BALAN A O, et al. Estimating human shape and pose from a single image [C]// International Conference on Computer Vision. Florida: IEEE, 2009: 1381-1388.

[本文引用: 4]

OMRAN M, LASSNER C, PONS-MOLL G, et al. Neural body fitting: unifying deep learning and model based human pose and shape estimation [C]// International Conference on 3D Vision. Verona: IEEE, 2018: 484-494.

[本文引用: 3]

JOHNSON S, EVERINGHAM M. Clustered pose and nonlinear appearance models for human pose estimation [C]// British Machine Vision Conference. Aberystwyth: BMVA, 2010: 5.

[本文引用: 2]

IONESCU C, PAPAVA D, OLARU V, et al

Human3.6m: large scale datasets and predictive methods for 3d human sensing in natural environments

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 36 (7): 1325- 1339

[本文引用: 2]

LASSNER C, ROMERO J, KIEFEL M, et al. Unite the people: closing the loop between 3d and 2d human representations [C]// Conference on Computer Vision and Pattern Recognition. Hawaii: IEEE, 2017: 6050-6059.

[本文引用: 2]

PISHCHULIN L, WUHRER S, HELTEN T, et al

Building statistical shape space for 3d human modeling

[J]. Patten Recognition, 2017, 67: 276- 286

DOI:10.1016/j.patcog.2017.02.018      [本文引用: 2]

LI J, LU G

Customizing 3D garments based on volumetric deformation

[J]. Computers in Industry, 2011, 62 (7): 693- 707

DOI:10.1016/j.compind.2011.04.002      [本文引用: 1]

FREIFELD O, BLACK M J. Lie bodies: a manifold representation of 3D human shape [C]// European Conference on Computer Vision. Berlin: Springer, 2012: 1-14.

[本文引用: 2]

FLETCHER P T, LU C, JOSHI S. Statistics of shape via principal geodesic analysis on lie groups [C]// IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Wisconsin: IEEE, 2003: 95-101.

[本文引用: 1]

LECUN Y, BOTTOU L, BENGIO Y, et al

Gradient-based learning applied to document recognition

[J]. Proceedings of the IEEE, 1998, 86 (11): 2278- 2324

DOI:10.1109/5.726791      [本文引用: 1]

HINTON G E, SRIVASTAVA N, KRIZHEVSKY A, et al. Improving neural networks by preventing co-adaptation of feature detectors [J]. Computer Science, 2012, 3(4): 212-223.

[本文引用: 1]

ROTHER C, KOLMOGOROV V, BLAKE A

"GrabCut" interactive foreground extraction using iterated graph cuts

[J]. ACM Transactions on Graphics, 2004, 23 (3): 309- 314

DOI:10.1145/1015706.1015720      [本文引用: 1]

/