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

DOI: 10.3785/j.issn.1008-973X.2021.01.018
由LeNet-5从单张着装图像重建三维人体
许豪灿1,2,李基拓1,2,陆国栋1,2
(1. 浙江大学 机械工程学院,浙江 杭州 310027;2. 浙江大学 机器人研究院,浙江 余姚 315400)
摘  要:提出基于LeNet-5的从单张着装图像恢复人体三维形状的方法,建立着装人体正面轮廓和人体形状空间之间的映射模型,实现了高效、精确的三维人体建模,可以应用于对人体表面形状精度要求较高的场合,如虚拟试衣. 基于PGA 在流型空间上对公开的三维人体数据集进行数据扩增,给虚拟人体进行着装,构建着装人体数据库. 从着装人体正面投影图像中提取信息,以人体形状参数及正、侧面轮廓信息为约束,基于LeNet-5完成三维人体重建. 实验证明,对于身穿不同款式服装的人,采用的模型通常都能从单张着装图像中重建得到较高精度的三维人体模型.
关键词: 三维人体重建;虚拟试衣;数据扩增;着装人体;深度学习
中图分类号: TP 399          文献标志码: A          文章编号: 1008−973X (2021)01−0153−09
Reconstruction of three-dimensional human bodies from
single image by LeNet-5
XU Hao-can 1,2,  LI Ji-tuo 1,2,  LU Guo-dong 1,2
(1. School of Mechanical Engineering , Zhejiang University , Hangzhou 310027, China ;
2. Robotics Institute , Zhejiang University , Yuyao 315400, China )
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-5with the constraints of shape parameters as well as the frontal and lateral contours. The exp
erimental 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.
Key words: three-dimensional human modeling; virtual try-on; data augmentation; dressed human body; deep learning
三维人体模型在人机交互、服装设计、虚拟试衣等领域有着广泛的应用,如何快速、低成本地重建高精度的三维人体模型,一直是计算机图形学领域的重点研究方向.
传统的三维人体重建方法主要包括基于多视角数据融合的方法和基于模板形变的方法. 按照数据来源的不同,基于多视角数据融合的方法可以细分为基于彩数据(R G B )[1]、深度数据
收稿日期:2020−01−09.            网址:www.zjujournals/eng/article/2021/1008-973X/202101018.shtml
基金项目:国家重点研发计划资助项目(2018YFB1700704);国家自然科学基金资助项目(61732015);中央高校基本科研业务费专项资助
项目(2019QNA4001);浙江省自然科学基金资助项目(LY18F020004).
作者简介:许豪灿(1993—),男,博士生,从事计算机图形学的研究. /0000-0002-1474-7039. E-mail :*****************
通信联系人:李基拓,男,副教授. /0000-0003-1343-5305. E-mail :****************
第 55 卷第 1 期  2021 年 1 月
浙    江    大    学    学    报(工学版)
Journal of Zhejiang University (Engineering Science)
Vol.55  No.1Jan.  2021
(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调整人体姿态后,在流型空间上使用主测地线分析(prin-ciple geodesic analysis, PGA)进行数据扩增,利用Marvelous Designer①给虚拟人体穿上不同款式、不同尺寸的服装,构建着装人体数据库.
对于在流型空间上扩增后的人体数据库,采用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通过将当前
PGA
PCA
图 1    由单张图像重建三维人体流程
Fig.1    Pipeline of reconstruction of three-dimensional human bodies from single image
①Marvelous Designer .www.marvelousdesigner/.
154浙江大学学报(工学版)第 55 卷
网格顶点投影至T -p o s e 下的P C A 主轴得到(SMPL 模型的标准姿态为T-pose ),当前姿态参数θi 由下式[10]预估:
T P µJ P µ
B P W e (·)V S i ,e ρω式中:和分别为平均人体及目标人体关节点平均位置,为形变融合方程,和分别表
示当前人体及目标人体的对应边,和为从人体
数据集中训练得到的SMPL 参数.
每个虚拟人体以6 890个网格顶点表征,扫描人体姿态均通过SMPL 转换为A-pose ,βi 维度为10,θi 维度为72.
2.2    数据集扩增
样本数据的数量和质量会影响模型的拟合能力,充足的样本数量及合理的样本分布是构建高精度网络
模型的必要条件. 现有的扫描人体数据库[20]仅包含约1 500组男性人体、1 500组女性人体,样本数量有限,不足以训练得到稳定的模型,因而需要进行数据集扩增. 男性和女性在人体形态上存在明显差异,例如在腰围与臀围接近的情况下,女性人体的胸围普遍大于男性. 为了能够更加准确地建立统计模型,重建得到更高精度的三维人体,需要对男性与女性人体分别构建数据集,开展独立的三维建模,思路与方法完全相同.以女性人体为实例,进行详细说明.
常用的人体数据集扩增方法为现有人体数据之间的线性插值,但人体形状空间是一个复杂的高维空间,不同人体加权求和得到的人体不一定有效. 为了能够更加准确地表征人体形状空间,得到更加接近于真实人体的扩增数据集,将现有的人体数据投影至黎曼空间,采用李(Lie Groups)构造流型结构,用测地线距离定义不同人体之间的差异[22],进行人体数据集扩增.
拓扑结构统一的人体之间的变形可以认为是各三角网格形变的综合. 人体H 1和H 2中对应三角形T 1=[v 12−v 11, v 13−v 11]∈R 3×2和T 2= [v 22−v 21,v 23−v 21]∈R 3×2之间的形变方程可以表示为T 1=QT 2,其中[v 11, v 12, v 13]、[v 21, v 22, v 23]分别为三角形T 1、T 2的顶点;Q ∈R 3×3为形变矩阵,共包含9个未知数,大于方程数量6. 在欧式空间里,常通过添加额外约束,如正则项来
解决这一病态问题,但会不可避免地引入误差;在黎曼几何中,Q 可以被分解为
T 1T 212阵,自由度为3;S 为缩放系数,自由度为1;A 为
特殊平面内的形变,自由度为2[22],共包含6个自由度,与方程数量相等. 采用PGA 在流型空间上对现有人
体数据进行插值操作. 对于流型空间M 中的人体数据集{H i },通过迭代算法[23]得到平均人体:
式中:d (·)为测地线距离,
∥·∥F 其中 表示Frobenius 范数. 采用PCA 对人体数据集{H i }在切平面T µM 上的投影结果{lg µ−1H i
}进行降维,其中T µM 是M 在µ处的切平面. 如图2所示,通过对PCA 主轴系数的线性加权插值,共得到6 000组人体数据,插值得到的人体数据可以表示为式中:k 1、k 2为权重系数,k 1+k 2=1.
虽然数据库中的所有人体姿态均为A-pose ,不同样本之间的姿态信息可能存在细微的差别.为了更加
合理地表征数据库中的三维人体模型,采用PCA 对插值后的人体数据库进行降维. 取前95%的特征值对应的特征向量表
三维人
体模
型,即PCA
主轴系数向量
γi 的维度为
15.
在实际应用场景中,用户通常更倾向于在穿日常服饰的情况下,采用非侵入式且少附加条件的测量方式,需要在虚拟人体表面添加不同款式、尺寸的虚拟服装. 如图3所示,采用Marvelous Designer 添加虚拟服装,构建着装人体数据库. 样本数据集中服装款式的增加必然会提升模型的泛化能力,但也会增加数据集构建成本,提升模型训练难度. 综合考虑上述因素,本数据集累计包含
图 2    人体数据集扩增Fig.2    Human data augmentation
第 1 期
许豪灿, 等:由 LeNet-5 从单张着装图像重建三维人体 [J]. 浙江大学学报:工学版,
2021, 55(1): 153–161.
155
1 500组真实人体描述数据、1 500组插值人体、3款不同款式的虚拟服装,总计约9 000组着装人体.
3  基于LeNet-5的三维人体重建
为了降低拍摄环境及人体姿态信息对于重建结果的影响,构建人体正面二值化轮廓图像与人体形状空间之间的映射模型. 模型训练数据为着装人体正面轮廓图像及对应的三维人体数据. 为了减小图像平移对于模型训练的影响,将人体中心点与图像中心点对齐后进行投影变换,得到无平移的人体正面轮廓图像. 从图像中提取特征,以人体姿态参数及正、侧面轮廓为约束,迭代优化重建结果.
3.1    网络结构及训练参数
网络以二值化后的人体正面轮廓图像为输入,人体模型PCA 主轴系数向量γi 为输出,以γi 的误差及人体正、侧面轮廓误差为损失函数,迭代优化模型. LeNet-5[24]
模型共包含3个卷积
层、2个池化层及1个全连接层,具体的网络结构
如图4所示.
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)人体形状参数误差,即
h 式中:N 为训练样本数量,G i 为第i 个着装人体的正面轮廓图像, 为模型LeNet-5的参数.
Y i fro
Y i lat
2)轮廓误差. 根据PCA 主轴系数向量γi 计算得到三维人体模型M (γi ),重投影得到人体正面轮
廓图像及侧面轮廓图像. 正面和侧面轮廓
误差分别可以表示为
f (I 1,I 2)=
方形气囊>2-氯-5-氯甲基噻唑I 1(x ,y )−I 2(x ,y )P i fro
P i lat
式中:f (I 1,I 2)为图像I 1和I 2之间的差异,;和分别为第i 个着
装人体的正面、侧面投影图像(不包含服装).
该模型结合人体形状参数误差及正、侧面轮
廓误差,总体损失函数为
三维人体扫描
φϕ式中:和分别为正面投影误差和侧面投影误差的权重系数.
图 3    在虚拟人体表面添加服装
Fig.3    Garment simulation on human body surface
图 4    LeNet-5网络结构Fig.4    Network structure of LeNet-5
156
浙          江          大          学          学          报(工学版)第 55 卷
4  实验结果与分析
为了客观评价该方法的有效性和泛化能力,开展了大量的实验,主要包括:模型对比,即不同损失函数下模型误差比较及与常见深度学习及非深度学习算法比较;从虚拟着装人体图像和真实人体正面图像恢复三维人体模型. 其中虚拟着装人体图像由三维着装人体模型的小孔成像投影获
得,在已知三维人体体形的情况下,可以有效地测试该方法的效果;将真人着装图像的重建测试用于验证该方法的实际应用效果.
4.1    模型对比
本文的主要贡献之一是将人体形状参数误差及人体正、侧面轮廓误差作为损失函数,迭代优化网络,实现了更高精度的三维人体重建. 为了验证该方法的有效性,以同样的着装人体样本数据库、网络结构、训练参数构建学习模型,仅改变损失函数,评估重建结果的形状误差. 表1中,e为平均误差. 如表1所示,若仅以PCA主轴系数向量γi为误差项,重建结果的总体平均误差约为1.8 cm,平均围度误差(胸围/腰围/臀围误差)超过3 cm,不足以应用在对三维人体模型精度要求较高的领域. 人体轮廓约束,尤其是侧面轮廓约束,明显提升了模型拟合能力,降低了重建人体的形状误差及围度误差.
家具保护垫
为了客观评价本文方法的性能,表2给出部分从单张图像恢复三维人体模型方法的误差. 由于Guan等[15]仅提供3个真实人体样本及胸围和腰围误差,在表2中仅表示误差范围;Kanazawa 等[14-16]为基于深度学习的三维人体重建方法,重建精度受数据集的影响较大,如表2所示均为在数据集Human 3.6 M下的误差. 可以看出,与常见的偏重人体姿态信息恢复的模型相比,本文方法的重建精度更高;与需要事先手动交互的传统方法[15]相比,本文的模型用户体验更佳,重建结果不易受测试者的影响.
4.2    虚拟人体三维重建
在实际应用中,用户通常很难保持精确的人体姿态. 为了对模型进行更加准确的评估,客观测试模型的泛化能力,该实验通过适当改变数据库中着装人体的姿态,模拟真实数据. 如图5所示,将手臂与躯干的夹角调整为15°、45°,适当调整双脚的间距,使用Marvelous Designer对形变人体进行着装,投影得到人体正面轮廓图像作为模型输入,预测人体形状. 表3中,P为手臂与躯干的夹角,L为双脚之间的距离. 可以看出,提出的模型具有较好的泛化能力,在合理的范围内,人体姿态的轻微变化不会对重建结果产生明显的影响.
为了直
高频电子水处理器
展示
模型在
同体型
人体
上的性
表 1  不同损失函数下重建结果误差
Tab.1    Reconstruction error with different loss function
损失函数
e /cm
总体误差胸围腰围臀围手长腿长
Lγ  1.76  3.27  3.18  3.51  1.94  2.04 Lγ+φL f  1.36  2.34  2.49  2.72  1.48  1.59 Lγ + φL s  1.31  2.36  2.23  2.66  1.41  1.62 L total  1.15  1.97  2.08  2.32  1.21  1.45
meno2
表 2  不同方法重建结果误差
Tab.2    Reconstruction error with different methods
方法
e /cm
总体误差胸围腰围臀围LeNet-5  1.15  1.97  2.08  2.32文献[15]方法−0.1~4.50.6~3.4−文献[12]方法7.59−−−文献[14]方法  5.68−−−文献[16]方法  5.99−−−
图 5    不同姿态下的三维人体
Fig.5    3D human bodies with different postures
第 1 期许豪灿, 等:由 LeNet-5 从单张着装图像重建三维人体 [J]. 浙江大学学报:工学版,
2021, 55(1): 153–161.157

本文发布于:2024-09-23 20:14:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/343056.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:人体   数据   模型   图像   着装   姿态
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议