袁仁奇, 徐增波(上海工程技术大学 服装学院,上海 201600)
研究与技术
基于Kinect的人体模板化三维模型拟合重建
袁仁奇, 徐增波
(上海工程技术大学 服装学院,上海 201600)
利用Kinect体感设备与软硬件的连接、集成来搭建面向真人的三维人体模型重建系统,通过其可操作的流程实现了三维人体模型的快速重建。然后根据重建出的三维人体网格模型,采用非线性模板拟合法,以通用标准三维人体模型为模板,对重建后的三维人体网格模型进行基于姿态、形体迭代变形拟合。其方法在建立多体感传感设备测量人体数据中得到使用,在人体模块化拟合重建三维人体点云数据中用于测量人体数据,将获得的三维人体模型的尺寸和实际人体尺寸相对比,结果显示扫描得到的三维人体模型数据与实际人体数据更加贴近。
Kinect人体建模;三维人体模型;人体模块化;三维模型拟合;体型拟合
与传统手工测量相比,利用三维非接触式扫描系统扫描人体获得人体尺寸的数据文件,建立人体模型,给顾客和消费者以直观的视觉体验,同时较快速提取人体尺寸,实现智能、高效的服装生产的需要。随着现代非接触三维测量技术发展,使操作简单迅速,对经验要求低。近几年推出的Kinect设备,比如Kinect、PrimeSense、XtionPRO等都具备三维扫描的能力。这类设备最大的优势在于廉价,操作简单,但是数据噪声大,分辨率低,直接用来重建三维人体,效果很不理想。但是在Kinect扫描基础上改进后续处理人体数据的技术,降低其数据的噪声,运用新的人体重建技术,可以在提升其扫描的精确度上,充分发挥其价格优势,也更加适合其在服装行业的实际应用。因此,基于Kinect的三维人体重建[1]与应用和个性化人体建模[2]的研究越来越多。本文基于Kinect的人体模板化的三维模型拟合重建就是在此基础上,改进Kinect扫描数据的处理和三维人体构建上,提升人体建模精确度,以便人体建模的后续技术运用。
也就是在Kinect的深度扫描设备的基础上,得以实现人体数据提取的发展,同时根据Kinect深度成像和计算原理,分析其产生噪声和孔洞的原因,针对这些原因构造能量方程,来减少噪声和修复孔洞,以实现三维人体建模的精准度。而多体感传感Kinect设备扫描人体实现三维人体建模的技术,也被提上技术研究和服装人体尺寸提取技术开发的平台上,实现快速采集人体三维数据。基于Kinect的人体模板化的三维模型拟合重建对提高人体建模的精度和完整性上有很大的实际意义,为人体扫描提取人体数据和实际人体变形提供技术支持和基础理论研究的支持。
由于视角的限制,单个Kinect摄像头无法拍摄出人体的全景,本系统从6个方向(相隔60°),在每个垂直方向安装4个Kinect设备,利用这24个Kinect可以很好地从水平和垂直方向对人体进行图像采集,然后根据图像间重叠部分的特征点进行点云配准拼接,使用电脑扫描提取三维人体点云。
图1 系统设计原理Fig.1 Principle of system design
图2 设备安放设计Fig.2 Equipment placement design
图3 Kinect设备提取出来的实际状态下点云数据模型Fig.3 Model of point cloud data extracted by Kinect device under actual state
2.1 模板三维人体模型拟合概述
在模板下的人体拟合建立在大型人体数据库基础上进行匹配变形,例如CAESAR、TOSCA、SCAPE,这些数据库中保存着大量的不同人体(体型)、不同姿态的人体数据,然后可以从这些人体数据中提取一个标准数字化人体模型作为模板,将该模板进行变形拟合,最终得到一个与非标准人体模型相似的完整的三维人体模型。先找出模板间的匹配点,然后根据这些匹配点通过点迭代的方式求解出变换矩阵进行变形拟合,在对模型表面平滑度进行保护处理下使得变形后的模板与非标准模型差异最小。
基于模板的人体拟合通常是通过点、网格、骨架的配准变形实现的,分为姿态拟合和体型拟合两大步骤,其流程如图4所示。算法流程的关键是找出两个三维人体模型之间的对应拟合点,根据拟合点进行网格变形及骨架的提取。国外关于基于模板的人体拟合的研究较多[3],例如Allen[4]通过标记点法来进行对应拟合点匹配及待拟合模型的空洞修复与平滑,利用事先标记的精确标记点作为种子对剩余的拟合点进行匹配,达到了很好的匹配效果,但是手工标记是一项繁杂的工作;Anguelov[5]提出了SCAPE模型,人体变形将模板拟合分为姿态驱动的骨架刚性变形(姿态SCAPE空间)与体型驱动的体型非刚性变形(体型SCAPE空间),将人体三角网格数据投影到SCAPE空间进行变形拟合,并在标记点法的前提下通过标准模型对缺失人体模型进行模型修补。基于数据库配准下提取出的人体模型标记的关键拟合点,与提取的人体点云重建模型确定的关键记点进行拟合。
图4 基于模板的人体模型拟合流程Fig.4 Human model fitting process based template
由于Kinect设备问题及工作人员在图像采集时误操作等原因,前文中获取到的人体点云数据及其网格模型可能存在一些空洞及噪声,基于模板的人体拟合可以有效地解决这一问题。基于模板拟合的方法,从大量人体扫描出的点云数据库(处于相同或相似姿态下不同人体数据)中提取的实际人体数据,在尽量降低误差情况下与建模建立的人体模型建立拟合的规则,然后参照其拟合规则使用在Kinect扫描得到的三维人体数据,将其与数据库中三维点云人体模型进行拟合,从而得到更准确个性的三维人体模型。也即将实际人体扫描的人体点云数据建立的模型,经过其中模块拟合使实际人体点云数据误差、噪点少,从而保证实际人体建模和人体尺寸测量的准确性。步骤:根据人体骨架及关节点完成姿态拟合;根据三维点云与模板对应点之间的距离和模板变形的光滑度等评估参数,完成体型拟合。
2.2 人体关节点确定和骨架重构
2.2.1 模型特征点确定
模型特征点一般指模型表面一些具备显著意义的点,如人体模型的头顶点、四肢前端点等。从数字几何方面进行分析,这些特征点是位于模型函数的极值点处;从拓扑学的关键点角度进行分析,模型特征点是模型拓扑关键点的一部分。Morse理论是研究模型空间形状及其空间连续光滑函数关键点间关系的基础理论[6],Edelsbnmner[7]将连续光滑Morse函数推广为分段线性Morse函数,并称之为离散Morse理论。文献[8]首次将离散Morse理论用于基于拓扑分析的三维标量场多分辨率表示研究,近年来,基于Morse理论的特征点分析大量应用于三维几何模型研究与应用[9]。
将模型表面两采样点间的测地距离表示为G(vj,vi),G(vj,vi)能够在模型进行平移、旋转及变形时保持不变。三维模型上顶点到其他顶点的平均测地距离可表示为:
(1)
(2)
确定了Morse函数后,依据如下步骤逐一确定模型的特征点:
1)确定当前特征点vf,当前特征点位于f(v)的极大值点处,即vf∈V:maxf(v);
2)将vf添加到特征集合vF;
3)重复步骤2,K次,添加K个特征点。
确定三维人体网格模型的K个特征点(K的值可以在确定模型接近实际人体数据情况下,确定一定特征点的数量)后,连接人体形心vmin和K个特征点即可获得三维人体网格模型的初始骨架S。
2.2.2 人体骨架提取
许多学者也陆续构建了不少其他的场函数用来提取三维模型的骨架。如广义势能场,该方法把模型的表面点看作带有电荷的电极,模型某一内点的电势可以看作模型所有电极(边界点)对该点的电场力作用的合力,在得到模型所有内点的电势后,顺次联结各局部电势极小值点就能够获得模型骨架。其他的广义场法包括基于RBF法[10]和可见反力场(Visible Repulsive Force Field)法[11],广义场函数法一般先求出对应场函数的局部极值点,继而光顺联结这些极值点最终获得模型骨架。
这里采用离散Morse理论提取特征点确定人体模型的初始骨架,然后利用人体解剖学知识进行关节点的提取,采用似圆性原理确定人体关节点并得出最终的人体骨架。考虑到人体的对称性,以头顶点为源点构造新的Morse函数如下:
f′(v)=G(v,vhead)
(3)
假设头顶点是人体模型上任一顶点。通过Dijkstra算法求取头顶源点到人体模型上任一顶点的测地距离,然后连接测地距离相等的顶点就可以得到Morse函数等值线。利用同一连通域的人体模型等值线能够获得每个连通域等值线的重心,连接同一连通域的重心即可得到三维人体模型的中心线。利用Morse函数提取三维人体模型同一连通域的等值线,然后根据似圆性方法提取人体骨架关节中心点,关节点提取步骤如下:
首先,根据下式求解得到每个等值线的中心,生成整个模型的中心线。
(4)
式中:Mi为第i个等值线,Pij是Mi上的点。
然后,根据下式计算所有等值线的似圆性函数。
(5)
式中:M为等值线,s为M的面积,c为M的周长,h为M的似圆性函数。
根据人体解剖学原理,如果M的重心与关节中心距离很小甚至为同一点,那么M与其附近的等值线相比会出现一些差异,值h在M处可以取得局部极小值。
图5 提取人体模型图像Fig.5 Extracting human model image
通过下式能够从全部的等值线中筛选出关节中心点所在的等值线,其中Mjoint是关节所在的等值线。
(6)
最终根据下式能够求解获得人体骨架关节中心点。
(7)
连接关节点及特征点即可得到最终骨架(图5),并将盆骨作为根节点,对其他骨架通过坐标变换进行标准化即可得到标准矢量化骨架,然后根据关节点处的等值线将人体进行分块,为下节模型拟合做准备。
2.3 姿态拟合
假设模板库中的一个极度接近姿态模板F是由点及网格构成,模板F上的顶点记为F(t),上文获得的三维人体点云记为A(t),B(T)代表模板F的骨架,B(S)代表点云A(t)的骨架,目的就是获取由模板F到点云A(t)的变换矩阵。
将姿态拟合可分两步进行,第一步是根据关节点和骨架对模板F进行变形,变形后计算模板F和点云A(t)上对应关节点之间的距离,最小化能量函:
(8)
在这里,增加约束:人体身高介于1.4~2.1 m。
第二步就是根据骨架将人体分为几个部分(如头部、左肩、右肩等),如图6所示。计算模板F在变形人体各分块区域的顶点与目标点云A(t)上对应最近邻点的距离,最小化能量函数:
(9)
图6 人体关键点及其分块结构Fig.6 Key points of human body and the block structure
2.4 体型拟合
E=Wdata=WdataEdata+WsmoothEsmooth
(10)
(11)
(12)
考虑到模板F上临近点的变换矩阵不会差异太大,dist(Ai,Aj)代表模板F上相邻点的变换矩阵Ai和Aj之间的距离,衡量模板F变形后表面的光滑程度。
2.5 对应特征点的拟合
在对应特征点拟合的方向上,将扫描人体点云数据模型上提取的关键点与模型库中匹配出的关键点对应拟合,以达到扫描人体模型的平滑清晰准确的效果,可以利用拟牛顿(拟Newton)法。拟Newton法是当前求解无约束优化问题最有效的方法,该方法是在成功地对Newton法进行改进之后得到的。Newton法是通过目标函数的二阶导数信息实现的,Newton法主要优点在于收敛速度快。可是,Newton法的一个主要缺点也是由于目标函数的hessian矩阵引起的:对许多问题,hessian阵无法求出,或要花费很大的工作量计算。而相对来说,目标函数的一阶偏导数是容易求出的。于是产生如下想法:
(13)
取x=xk-1,有
(14)
(15)
BkSk-1=yk-1
(16)
以上方程称为BFGS形式的拟牛顿法。记Bk=Bk-1+Ek,将其代入拟牛顿方程得:
Bk-1Sk-1+EkSk-1=yk-1⟹EkSk-1=yk-1-Bk-1
(17)
设Ek有如下形式:Ek=αkμμT+βkvvT,μ,v是向量,将其代入式(17)有
αk(μTSk-1)μ+βk(vTSk-1)v=yk-1-Bk-1Sk-1
(18)
将两端比较,令
(19)
(20)
1)任取初始点x0和初始正定矩阵B0,k=0;
xk+1=xk+akdk
Sk=xk+1-xk
2.6 小 结
由于Kinect提取人体点云建立的三维人体模型存在的缺失因素误差,基于拟合对其提取的点云人体数据进行拟合。将模型库中匹配出的人体模型与扫描实际三维模型对比,建立二者之间对应的特征点,拟合出非标准模型,为实际人体扫描提供模板拟合的对应变化准则,然后实际人体扫描的拟合参照拟合规律(匹配出的人体模型与实际人体模型建立拟合规则),在模型扫描与实际模型进行拟合规律的制定后,图7为基于拟合对缺失人体数据的恢复。
图7 基于拟合对缺失人体数据的恢复Fig.7 Restoration of missing human body data based on fitting
实际男性人体模型人体扫描如图8所示,男性人体模型初始扫描存在很多噪点将其与标准人体模板(图9)进行拟合,然后得到图10所示实际人体模型,在之后可以提取三维扫描人体模型的关键关节点及其骨架(图11)。
图8 实际缺失扫描模型Fig.8 Actual missing scaning model
图9 标准人体模板Fig.9 Standard human body template
图10 拟合出的实际人体模型Fig.10 The fitted actual human model
图11 实际关键关节点及其骨架Fig.11 Actual key joint point and skeleton
图12和图13分别是多体感传感器提取的女人体模型和男人体模型的点云数据,由计算机处理,经过去噪模型整理,提取出人体模型,将手工测量的实际人体数据与不应用模块化技术、用模块化技术扫描提取的人体数据进行对比(表1、表2)。人体模型进行人体特征点的确定和标记,在提取人体尺寸数据的软件里面实现所需要的测量指标:例如胸围、臀围、腰围、身高、臂长等。快速实现人体尺寸的提取,以方便后续的服装选款、制版的需要。
通过多体感传感提取的人体模型的正面和背面表明,每个人体模型的特征点和特征线也很明显,同时表1和表2有快速提取的人体数据和实际的人体数据,应用模块化技术前和应用之后的人体数据。由于女性人体模型的着装比较薄,智能提取和实际提取的人体尺寸的差值很小。在服装测量上,数据误差范围只在0.01~0.5 cm,三维人体扫描的数据可见非常精确。由于男性人体模型的着装厚重一些,三维扫描的人体数据和实际数据的差值普遍在0.3~0.6 cm,而这样的误差在服装制作中是合理的误差范围,所以多体感传感人体扫描具备可行性和精确性。
测量数据显示,模板化技术在三维人体提取人提出尺寸中对人体数据的变化很明显,也有助于提取出准确的人体三维尺寸,并且可以使人体误差数据保证在合理范围内的可能变大,Kinect模块化提取人体数据有助于数据化人体建库和智能化人体服装发展。
图12 多体感传感器提取的实际女人体模型Fig.12 The actual female human body model extracted by multi-somatosensory sensor
图13 多体感传感器提取的实际男人体模型Fig.13 The practical male human body model extracted by multi-somatosensory sensor
表1 多体感传感器提取的实际女人体模型的测量数据Tab.1 The measurement data of the actual female human body model extracted by multi-somatosensory sensor cm
表2 多体感传感器提取的实际男人体模型的测量数据Tab.2 The measurement data of the actual male body model extracted by multi-somatosensory sensor cm
利用三维点云进行三维人体重建,为更形象地表现出模型拓扑,首先对点邻域平坦度进行分级,构造种子面片并进行扩展,从而重建出人体的网格模型。然后利用三角形折叠法对人体的三角网格模型进行网格简化,并利用基于测地距离的Morse函数提取得到人体的形心及k个特征点,得到人体初始骨架;而后以头顶点为源点构造新的Morse函数,并求解得到同一连通域的等值线,连接等值线的中心获得人体模型的中心线。根据似圆性求出人体关节点,连接关节点与特征点获得人体的最终骨架。最后,基于模板的配准技术将一个“标准”的三维人体模板去变形拟合重建出三维人体网格模型,通过姿态拟合与体型拟合最终得到了光滑的三维人体模型。
[1]许鸿尧.基于类Kinect的三维人体重建及应用[D].杭州:浙江理工大学,2013.
XU Hongyao. Like-Kinect Based 3D Human Body Reconstruction and Application[D].Hangzhou:Zhejiang Sci-Tech University,2013.
[2]薛均强.基于Kinect的个性化人体建模技术研究与实践[D].哈尔滨:国防科学技术大学,2013.
XUE Junqiang. Research and Development of Personalized Human Body Modeling Using Kinect[D].Harbin:National University of Defense Technology,2013.
[3]STEFANIE W. Notes for seminar statistical shape analysis-or-how to build a digital clone using simple modalities[J]. Cluster of Excellence MMCI,2012:5-7.
[4]ALLEN B, CURLESS B, POPOVI′C Z. The space of human body shapes: reconstruction and parameterization from range scans[J]. ACM Transactions on Graphics,2003,22(3):587-594.
[5]ANGUELOV D, SRINIVASAN P, KOLLER D, et al. Scape: Shape completion and animation of people[J]. Association for Computing Machinery,2005:4-9.
[6]MILNOR J. Morse Theory[M]. New Jersey: Princeton University Press,1963:7-13.
[7]EDELSBRUNNER H, HARER J, NATARAJAN V, et al. Morse-smale complexes for piecewise linear 3-manifolds[C]. 19th Annu.ACM Sympos. Theory Comput.Geom,2003:361-370.
[8]GYULASSY A, NATARAJAN V, PASCUCCI V, et al. Topology-based simplification for feature extraction from 3D scalar fields[J]. Published in: Visualization, IEEE,2005(5):535-542.
[9]王仁芳,张三元.数字几何处理的若干问题研究进展[M].北京:清华大学出版社,2012:20-30.
WANG Renfang, ZHANG Sanyuan. Research Progress of Some Problems in Digital Geometry Processing[M]. Beijing: Tsinghua University Press,2012:20-30.
[10]MA W C, WU F C, OUHYOUNG M. Skeleton extraction of 3D objects with radial basis function[J]. Shape Modeling International,2003:1-10.
[11]WU F C, MA W C, LIU P C, et al. Skeleton extraction of 3D objects with visible repulsive force[J]. Computer Graphics Workshop,2003:1-7.
Researchon3DmodelfittingandreconstructionofhumanbodytemplatebasedonKinect
YUANRenqi,XUZengbo
(Fashion College, Shanghai University of Engineering Science, Shanghai 201600, China)
In this paper, a 3D human body model reconstruction system for real people was built by using the connection and integration of Kinect somatosensory equipment, hardware and software. The rapid reconstruction of 3D human body model was achieved through the operable process. Then, according to the reconstructed 3D human body mesh model, non-linear template fitting method and the standard 3D human body model were used to fit the reconstructed 3D human body mesh model based on posture and shape iterative deformation. This method is used in the establishment of multi-body sensory sensing device to measure human body data. It is also used to measure human body data in the human body modular fitting reconstruction of 3D human body point cloud data, and the dimension of the obtained 3D human body model was compared with the actual size of human body. The results show that the 3D human body model data are closer to the actual human body data.
Kinect human body modeling; 3D human body model; modularization of human body; 3D model fitting; body type fitting
TS941.17
A
1001-7003(2017)10-0029-08 < class="emphasis_bold">引用页码
页码: 101106
10.3969/j.issn.1001-7003.2017.10.006
2017-01-12;
2017-09-04