Modeling and Simulation
Vol. 13  No. 02 ( 2024 ), Article ID: 82581 , 8 pages
10.12677/MOS.2024.132112

基于人体模型——SMPL的人体三维测量方法及应用

刘寒1,马宇萌2,古迎冬3,杨秾菡2,蔡万江2,李淑清2,郑梓璇2,刘艺2

1东北电力大学艺术学院,吉林 吉林

2新兴际华(北京)材料技术研究院,北京

3北京华捷艾米科技有限公司,北京

收稿日期:2023年11月25日;录用日期:2024年3月8日;发布日期:2024年3月15日

摘要

人体外廓非接触式测量是一种通过使用传感技术来测量人体的外廓参数或特征,而无需直接接触人体表面获得人体外廓数据的方法。但要得到较为精准的数据需要采用数学建模方法,传统如曲线拟合、三维重建、三角剖分等来创建人体的模型,其中三维重建是三维人体测量的主流方法,包括单视图RGB图像、多视图RGB图像、单视图深度图、多视图深度图重建等。受人体形态的影响,不同个体之间,三维重建后的模型点云个数和位置都不固定,不能自动定位到准确的测量点进行测量。而对于大规模人体数据测量,需要通过对人体模型进行标准化,即对模型进行编码来固定人体特征点的序列号,从而实现系统自动测量的目的。SMPL (Skinned Multi-Person Linear model)是一种用于建模人体形状和姿态的编码模型。其蒙皮表面通过形状参数进行对应的顶点映射,可以实现不同体态的表面编码。本文我们使用单视图深度图传感器获取深度图,利用DoubleFusion进行人体三维重建,并得到对应形态的SMPL顶点坐标(6890个),进而根据SMPL顶点的三维坐标,可以对人体关键尺寸进行三维计算,得到人体的测量结果。我们的方法在提高模型的精度和逼真度方面取得了进展,包括增加细节以及与服装模型适配等。该模型适用于人体三维测量、虚拟试衣、三维动画、动作捕捉行业,在电子商务、时尚行业、虚拟和增强现实等领域具有广泛的应用前景。

关键词

三维人体建模,SMPL,人体测量

Human Body 3D Measurement Method and Application Based on Human Body Model—SMPL

Han Liu1, Yumeng Ma2, Yingdong Gu3, Nonghan Yang2, Wanjiang Cai2, Shuqing Li2, Zixuan Zheng2, Yi Liu2

1College of Art, Northeast Electric Power University, Jilin Jilin

2Xinxing Cathay International MTI, Beijing

3Beijing Huajie Amy Technology Co., LTD, Beijing

Received: Nov. 25th, 2023; accepted: Mar. 8th, 2024; published: Mar. 15th, 2024

ABSTRACT

Non-contact measurement of the human body is a technique employed to assess various parameters or characteristics without direct physical contact, utilizing sensing technology. However, for enhanced data accuracy, the application of mathematical modeling methods, such as curve fitting, 3D reconstruction, and triangulation, is imperative. 3D reconstruction stands out as the primary approach in 3D anthropometry, encompassing techniques such as single-view RGB imaging, multi-view RGB imaging, single-view depth mapping, and multi-view depth map reconstruction. The inherent variability in human body shapes poses a challenge: the number and position of model vertices following three-dimensional reconstruction differ across individuals, rendering automatic identification of precise measurement points unattainable. In the context of large-scale human body data measurement, it is necessary to standardize the human body model, that is, code the model to fix the serial number of human body feature points, so as to achieve the purpose of automatic measurement of the system. SMPL (Skinned Multi-Person Linear model) is a coding model for modeling human shape and posture. The surface of the skin is mapped to the corresponding vertex by the shape parameters, and the surface coding of different states can be realized. In this study, we employ a single-view depth map sensor to obtain the depth map and use DoubleFusion to reconstruct the human body in three dimensions, and get the corresponding SMPL vertex coordinates (6890). Leveraging the three-dimensional coordinates of SMPL vertices, key dimensions of the human body can be calculated across three dimensions, leading to the acquisition of precise body measurements. Our method represents a significant advancement in enhancing model accuracy and fidelity, encompassing the incorporation of finer details and adaptation to clothing models. The resulting model proves well-suited for three-dimensional human body measurements, virtual fitting, applications in three-dimensional animation, and motion capture industries. Moreover, it holds substantial promise for diverse applications in the realms of e-commerce, the fashion industry, and virtual and augmented reality.

Keywords:3D Body Reconstruction, SMPL, Body Measurements

Copyright © 2024 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

传统的人体测量是测量师使用某种特定的测量工具,通常是用马丁尺、软尺对人体进行特征部位的尺寸度量。根据测量的数据,可以对被测量者进行特定的服装制作,随着工业化、现代化的技术发展,单独个体的手工测量,已经不能满足大规模的服装制作需求,如何自动化地对人体进行准确的三维测量,是提高服装生产效率的主要因素。

20世纪80年代中期。非接触式人体测量技术出现 [1] [2] [3] ,与手工测量相比,非接触人体测量技术主要是以光学为基础,结合传感器及计算机视觉技术对人体进行三维重建,将人体按照1:1的尺度进行数字化的技术。早期的非接触式测量技术,主要是围绕定制的三维扫描仪进行发展,如莫尔条纹,激光测量 [4] 及白光相位法等 [5] ,其高昂的成本和复杂的操作要求,使得其产品的定位脱离普通受众,不宜推广。随着Kinect等红外传感器的出现,较廉价的深度图像获取方法使得人体三维重建的成本进一步降低,并且其较小的尺寸和较好的深度图精度,迅速推动了空间计算等技术的巨大进步,吸引了越来越多的科研人员加入到空间计算的行业当中。

Alexander Weiss [6] 实现了基于单个Kinect的人体重建系统,极大程度降低了商业扫描仪的构建成本。基于点云的三维重建结果进行人体三维测量 [7] ,对于不同体型,不同性别的人体,其特征位置的不同,自动测量会变得非常困难 [8] ,这限制了其直接应用于大规模三维测量的任务。基于人体编码的模型SMPL,其将人体表面编码成6890个顶点,顶点位置通过不同的人体形态参数进行投影变换,可以表示任意体态的人体模型。其固定的编码特性可以做到不同个体,不同性别,相同的特征位置由相同的编码顶点组合而成。

本文结合基于深度图的多图像融合的DoubleFusion人体三维重建及SMPL模型结果,提出一种通用的人体三维测量新方法,可以实现单个传感器进行人体三维建模,在保证快速计算结果的前提下,能够得到较高精度的人体三维测量结果。

2. 研究内容与创新

2.1. SMPL模型

SMPL模型是马普所提出的一种参数化的3D人体模型,他可以准确和自然地呈现几乎任意的人体形态和姿态,这种方法甚至可以模拟人的肌肉在肢体运动过程中的凸起和凹陷,以此可以避免人体在运动过程中的表面失真,从而广泛被用于人体建模和动画驱动中 [9] 。SMPL定义了人体表面上6890个网格点,以及24个骨骼关节点,其标准模型结构如图1,其到任意形态(体型)的变换关系为(图2):

T ( β , θ ) = T ¯ + B s ( β ) + B p ( θ )

T ¯ 为标准模型,即初始化模型; B s ( β ) 代表形状混合形变格点位移,即形态参数产生的偏移量;

B p ( θ ) 代表姿态混合形变格点位移,即姿态参数产生的偏移量。标准模型到任意姿态的变换为:

M ( β , θ ) = W ( T ( β , θ ) , J ( β ) , θ , W )

J ( β ) 为形状参数对应的关节点位置, W 为蒙皮权重

Figure 1. SMPL mannequin surface and joint

图1. SMPL人体模型表面及关节点

Figure 2. SMPL model from average model to arbitrary pose-form

图2. SMPL模型从平均模型到任意姿态–形态

2.2. 三维人体建模

人体三维重建,是对人体进行三维测量的基本要素,DoubleFusion是三维动态重建领域中针对人体动作的优秀算法,它以单个深度图摄像机采集的人体深度图作为输入,借助SMPL模型去拟合深度图点云曲面,找到最优姿态参数和形状参数,使能量函数达到最小,此时的姿态参数和形态参数即代表了用户所呈现的姿态和体型,并在连续帧数据的输入下,借助形变场方法 [10] 和SMPL定义的良好姿态变化,实现对人体姿态和体型进行实时重建和跟踪。图3展示了DoubleFusion人体建模算法的具体流程。

算法的主要流程分为四大部分:1-初始化(图3左1);2-人体表面节点跟踪(图3左2);3-几何表面融合(图3右2);3-立体模型体型–姿态优化(图3右1)。

2.2.1. 初始化

根据SMPL模型特点,测试者在算法初始化的过程中,双臂要保持A字型,算法通过预处理后得到只有人体的深度图数据(背景像素置零),通过TSDF()算法,将人体深度图映射到三维立体空间,形成一个基准的点云模型,DoubleFusion通过三维形状–姿态最优化的方法,求解人体初始化SMPL的姿态参数和形态参数。

2.2.2. 人体表面节点跟踪

根据连续帧的点云数据以及上一帧的形态–姿态参数,并结合人体骨骼点的信息,算法对人体非刚体表面节点进行跟踪,得到当前帧SMPL的形态–姿态参数,以及深度图TSDF值在新的形态–姿态参数下的新TSDF值。其中人体骨骼的信息也是人体骨骼点的三维信息,本文采用和SMPL相同的骨骼特征点,对深度图进行人体骨骼点计算。

2.2.3. 模型表面几何融合

通过人体表面节点跟踪得到的当前帧的深度图TSDF值,和上一帧的实时模型进行融合,来更新实时模型的TSDF值,在人体转一圈之后就可以补全完整的人体模型表面。

2.2.4. 立体模型体型-姿态优化

通过模型表面跟踪及融合,我们可以的到当前帧的人体非刚体表面模型以及当前帧的人体SMPL模型,通过两者表面的匹配最优策略,算法更新人体当前帧的形态–姿态参数,并利用参数来更新人体表面模型及SMPL模型来获取当前帧输出的三维建模结果。

Figure 3. Human body 3D modeling algorithm flow

图3. 人体三维建模算法流程

3. 人体三维测量

3.1. 模型特征曲线

传统人体三维测量是测量者按照人体测量的标准方式,使用专业的测量工具,通常是软尺,对被测量者的相关人体部位的尺寸进行测量。本文利用三维重建技术,通过编码模型SMPL重点对人体的身高、头围、颈围、肩宽、臂长、腿长、胸围、胸宽、臀围等部位进行测量,对应的特征曲线见图4

基于DoubleFusion可以获取到人体表面的三维模型,同时能够得到在相同姿态下的SMPL人体模型,由于SMPL对人体良好的姿态和体态表述,并且其有固定的表面顶点编码方式,本文首先在通过MeshLab软件加载标准SMPL模型,并在通过PickPoints在模型上对关键部位的顶点进行点标记,以获取该点的所对应的顶点索引。例如,对臀围的点序列的选取是模型臀部最丰满的水平一圈点围成的序列集 [11] 。

Figure 4. SMPL human key dimension characteristic curve

图4. SMPL人体关键尺寸特征曲线

对标准模型的关键点标记获得人体特征曲线上的顶点编号序列 M = { { x i , y i , z i } } , i = 1 , 2 , , n ,每个顶点有三个坐标。依次计算相邻两顶点的距离,计算公式为:

d i = ( x i x i 1 ) 2 + ( y i y i 1 ) 2 + ( z i z i 1 ) 2 i = 2 , 3 , , n

依次计算相邻点之间的距离 d i ,则特征曲线的总长度为 l = i = 2 i = n d i ,依次类推,可以计算得到人体所有的待测尺寸。

3.2. 实验过程

按照图3的三维建模算法流程,本文的人体测量过程如下:

摄像头固定在合理位置,本文将摄像头水平放置,距离地面1米高,启动算法

人体双臂A字型站立于待测区域,双腿微张,并以双脚中心为原点,原地缓慢旋转一周

算法结束

3.3. 实验结果

本文邀请50名志愿者,在对着装无特殊要求的情况下,进行实验数据的采集和比对工作,由于人体尺寸的围度测量主要集中在上半身,我们按照上衣的款式及宽松程度进行测量结果分类,以下数据分别为35名贴身着装志愿者和15名宽松着装志愿者的平均数据:

1) 贴身衣物着装下手工测量与自动测量

Table 1. Comparison of errors in manual measurement and automatic measurement with close-fitting clothes

表1. 手工测量与贴身着装自动测量误差对比

表1可以看到,通过三维重建得到的SMPL人体模型,在人体着装为贴身衣物的情况下,相对误差在0.5%~8%,其中身高、臂长、腿长、肩宽的数据由于特征位置简单易见,其三维位置的定位也更准确,测量结果也更好;而围度的测量需要考虑到服装在人体旋转过程中有形变的影响,误差会更大一些,从3.5%~8%,其中受影响最大的是胸围的测量结果,其主要收到腋下衣物在人体双臂伸开的情况下,会有更多的服装表面被误判为人体表面,进而增加胸围,胸宽的测试数值。

2) 贴身衣物着装下手工测量与自动测量

表2可以看到,在宽松着装的情况下,的身高、肩宽、臂长、腿长的绝对误差,相对于贴身着装变化不大,在1.2%~3.8%之间,而围度信息的测量误差扩大,在5.3%~14.2%,原因在于本文的三维建模,是对人体表面的点云融合,所以宽松的衣物在人体建模后,得到的人体模型会“大一号”,这样会大大增加人体尺寸的测量结果,进而增加相对误差。

Table 2. Comparison of manual and automatic measurement errors in loose clothing

表2. 宽松着装下手工测量与自动测量误差对比

3.4. 实验结果说明

根据3.2的实验数据,可以看到,基于本文的三维人体尺寸测量方法,并结合服装设计生产的型号资料,本文的方法是可以用到人体服装套型套号的生产应用中的,由于本方法的全自动性和实时性,基本可以满足大规模人体尺寸测量的需求,在自动化服装设计及生产过程中起到重要作用。

4. 总结

本文基于DoubleFusion建模算法以及SMPL模型的编码特点,提出了一种新的人体躯干三维测量的通用方法,相比较于其它的多摄像头三维重建方法,本方法可以实现单个深度摄像头的人体数字化重建工作,其计算的人体模型——SMPL可以将数字化人体进行标准编码,从而满足人体尺寸的自动化测量,其标准的编码方式,适合大批量三维测量的应用场景。本文技术可以用于估计人体的三维形状和姿势,从而支持各种应用,包括虚拟现实、增强现实、虚拟试衣、自动化量体裁衣 [12] 、动画制作等领域。

文章引用

刘 寒,马宇萌,古迎冬,杨秾菡,蔡万江,李淑清,郑梓璇,刘 艺. 基于人体模型——SMPL的人体三维测量方法及应用
Human Body 3D Measurement Method and Application Based on Human Body Model—SMPL[J]. 建模与仿真, 2024, 13(02): 1195-1202. https://doi.org/10.12677/MOS.2024.132112

参考文献

  1. 1. 周旭东, 李艳梅. 人体三维测量技术分析[J]. 上海纺织科技, 2002, 30(6): 58-60.

  2. 2. 马黎. 基于图像的非接触式人体测量算法的研究与实现[D]: [硕士学位论文]. 成都: 电子科技大学, 2017.

  3. 3. 黄灿艺, 崔丽娜. 非接触式三维人体扫描技术在服装eMTM中的应用[J]. 科技资讯, 2008(6): 12-13.

  4. 4. 项铃铃, 李云台. 服装批量定制中的三维人体测量技术[J]. 现代纺织技术, 2007, 15(4): 46-49.

  5. 5. 葛东东, 王淮生, 宋家友. 光栅投影三维轮廓测量技术分析及进展[J]. 上海电力学院学报, 2005, 21(4): 378-382.

  6. 6. Weiss, A., Hirshberg, D. and Black, M.J. (2011) Home 3D Body Scans from Noisy Image and Range Data. 2011 International Conference on Computer Vision, Barcelona, 6-13 November 2011, 1951-1958. https://doi.org/10.1109/ICCV.2011.6126465

  7. 7. 周瑾. 基于Kinect深度相机的三维人体重建技术研究[D]: [硕士学位论文]. 杭州: 杭州电子科技大学, 2013.

  8. 8. 苏军强, 袁卫娟, 刘国联. 三维人体扫描仪性能评价[J]. 纺织导报, 2010(1): 77-78.

  9. 9. 张皓若. 基于SMPL模型的三维人体建模及其应用研究[D]: [硕士学位论文]. 西安: 陕西科技大学, 2020.

  10. 10. Newcombe, R.A., Fox, D. and Seit, S.M. (2015) Dynamicfusion: Reconstruction and Tracking of Non-Rigid Scenes in Real-Time. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Boston, 7-12 June 2015, 343-352. https://doi.org/10.1109/CVPR.2015.7298631

  11. 11. 国家质量监督检验检疫总局, 国家标准化管理委员会. GB/T 16160-2017服装用人体测量的尺寸定义与方法[S]. 北京: 中国标准出版社, 2017.

  12. 12. 毛连. 基于图像的服装号型推荐模型研究[D]: [硕士学位论文]. 上海: 东华大学, 2016.

期刊菜单