基于Kinect的三维人体扫描测量技术

2015-09-06 06:50胡桂兰董国胜盛文博
关键词:交线人体模型腰围

万 燕,胡桂兰,董国胜,盛文博

(1.东华大学 计算机科学与技术学院,上海201620;2.第二军医大学附属长海医院 烧伤科,上海200433)

基于Kinect的三维人体扫描测量技术

万 燕1,胡桂兰1,董国胜1,盛文博2

(1.东华大学 计算机科学与技术学院,上海201620;2.第二军医大学附属长海医院 烧伤科,上海200433)

由于Kinect设备具有快速安全、经济便携的特点,提出了利用Kinect实现扫描、重建以及测量的人体成分分析系统框架.通过非接触式光学技术捕捉人体表面几何特征数据,利用KinFu实时进行三维数据的点云配准与模型的表面重建,并采用类积分法与蒙特卡罗法分别计算模型相关部位的周长与体积.从扫描到模型重建过程耗时约3 min,模型光滑精细,腰围等部位的尺寸测量精确度为97.7%,体积测量精确度为96.8%.试验结果证明了系统的效用性.

人体成分分析;Kinect扫描;三维重建;周长测量;体积测量

随着肥胖问题越来越普遍,研究人体成分也越来越重要.评估人体肥胖成分的主要目标是评估人体脂肪的分布.计算人体体重与身高的平方之比得到人体质量指数(BMI),是已经广泛用于评估人体肥胖度的指标,且被世界卫生组织(WHO)所采用并将肥胖分为不同等级[1].然而,BMI只是对整个人体脂肪的粗略测量,其与脂肪含量之间的关系会随着肌肉成分、年龄、性别以及种族的不同而有所变化.脂肪的分布也是评估健康风险的一个重要因素.在相同BMI值情况下,对于腹部肥胖者,腰围能提供更好的预测值[2].体密度法,包括水下称重法和空气置换法,被认为是人体成分测定的“黄金标准法”,但需要使用特定的设备,操作复杂、难以推广,且对受试者体能状况有一定的要求.生物电阻抗分析法是一种快速、安全地评估人体脂肪的方法,但是它的精确度依赖于物体的水合作用状态,且脱水作用会导致对脂肪含量的过评估.比较成熟可靠的技术还有双能量X线分光光度法[3]、磁共振扫描成像法[4]等,虽然测量结果准确可靠,但是需要较长的测试和分析时间,费用昂贵,设备笨重,不适于大量推广,而且X射线带来的电离辐射可能会增加被测对象患癌的可能性.

本文提出一种新的用于人体成分分析的系统框架.利用Kinect 3D扫描设备进行三维人体模型重构,并利用该模型进行人体尺寸和体积的测量,从而进一步做人体脂肪分布的评估.通过非接触式的光学技术捕获到人体表面几何信息,将其转换为实际空间的三维数据而进行测量与评估.

1 基于Kinect三维人体扫描的人体成分分析系统框架

本文提出的人体成分分析系统,首先通过手持设备移动一周扫描人体目标,将采集的每块数据配准后进行表面重建以构建三维模型,然后对模型进行分析,测量模型体积与其他相关尺寸,如身高、腰围、面宽等,进而分析各部位肥胖程度.因此,整个系统框架主要分成3个子系统:人体扫描、三维模型重建和人体成分分析,如图1所示.

图1 基于Kinect三维人体扫描的人体成分分析系统框架Fig.1 Body composition analysis system framework of Kinect-based 3D scanning

1.1 人体扫描

人体扫描系统由硬件系统、三维数据采集及校准算法构成,主要用于获取人体表面的三维图像.早期的人体成像系统如Cyberware开发的扫描仪[5],仅用于头部扫描.之后Cyberware又开发了用于完整的人体模型的扫描仪,但是设备笨重且价格不菲.近两年,微软公司为XBOX360游戏机开发了一个新型体感外设Kinect,它通过深度感应器获取深度图像,获取的数据并没有颜色信息,但是可以避免环境中光照等的影响,而且Kinect可手持,便携廉价,适合在普通人群中大量推广.

本文提出通过手持扫描设备Kinect绕行人体一周实时得到扫描数据并显示出结果.Kinect配有3个摄像头,中间的是RGB VGA摄像头,左右两边则分别为红外线发射器和红外线CMOS摄像头所构成的3D深度感应器,如图2所示.深度摄像头采用光编码(light coding)方法,即用光线给待扫描的空间进行编码.

图2 Kinect手持设备结构Fig.2 Structure of Kinect handheld device

Kinect扫描过程中获得的信息包括目标在几何平面上的像素坐标以及目标到Kinect传感器的真实距离即景深或深度,此为二维的深度图.为了便于后期的测量计算,需要将这种深度图转化为世界坐标系中的三维数据,将其中的图像坐标数据量化为世界坐标系中的数据,此转化过程为点云数据量化过程.

1.2 三维模型重建

扫描系统所采集的数据由几十万个离散的3D坐标点组成,难以被直接处理.三维人体表面重建的目的是将这些离散点生成可以用于3D 人体测量的一个连续、精确、平滑的3D 表面模型.

随着扫描数据的不断加入,每一帧数据与前一帧数据会存在区域重复,而由于扫描过程中传感器的移动,深度数据却不能保持一致变化,因此,要将当前帧与前一帧点云数据进行匹配与拼合,此过程为点云的配准.本文提出的三维重建过程则是将从Kinect传感器返回的一帧接着一帧的数据进行实时数据获取和处理后,将当前深度帧与之前优化得到的一个全局模型中提取出的表面合并,得到一个新的重构表面.整个全局模型是通过每一次新的重构表面被再次优化而获得.

文献[7]提出一种基于轮廓特征的点配准ICP (iterative closest point) 算法用于精确而高效地处理3D模型的配准,但是在模型观测之前,该物体需要有一个理想的几何模型.随着Kinect设备的出现,文献[8]提出了Kinect Fusion技术,对传统的ICP算法作了改进,并采用在三维空间中由许多立体像素组成区域空间的Volumetric法来建立场景的三维信息,使用户可以手持移动Kinect设备快速构建精细的3D室内场景.PCL(point cloud library)是一个用于2D/3D图像及点云处理的独立大型开放工程.KinFu则是PCL库的一部分,它是一项实现Kinect Fusion技术的开源工程,但是在重建过程中会出现花斑,目前还在完善中.

本文提出的整个模型重建工作基于PCL的KinFu开源工程而完成,利用PCL库提供的基本几何算法以及对ICP与Kinect Fusion算法的改进实现重建3D模型的方法,以快速获取光滑精细的3D人体模型.

1.3 人体成分分析

人体成分分析系统是根据人体三维立体表示,产生人体数据,包括身高、体积、四肢以及重要部位的周长等,进而计算人体的密度,并最终通过人体成分分析计算模型计算体脂率,即人体脂肪占人体的百分比,以此分析人体肥胖程度.

为了确定测量对象,如手臂、腰部等,首先需要将三维人体模型按照人体各部位特征分割为若干个独立的部分.本文基于文献[9]的工作,将人体模型分成头部、躯干、上肢、下肢等.

人体测量相关值可以采用专门算法自动从3D模型中提取出来.测量包括身高、周长、分割长度、总体积、分割体积和表面区域,其中周长与体积是本文测量的重点.一般对于不规则物体周长的测量方法是用绳子量出其周长再拉直量出长度.而对于计算模型可以通过积分来实现,但是需要事先知道被测对象的相关函数模型,建模过程需要较大的计算量.本文提出采用近似积分的方法,根据各相邻点之间的距离之和计算出周长.这种方法虽然精确度会比前两种方法略差,但计算过程简单,对于相同分辨率设备扫描得到的两个不同模型,其周长可以比较.蒙特卡罗方法或称计算机随机模拟方法,是一种随机抽样的统计方法.基于蒙特卡罗算法和3D Widget交互方式的体积测量方法[10]用于网格体积测量,给出了计算机实现方案.从理论上分析,这种方法适合不规则形状物体的体积测量,因此,本文提出采用蒙特卡罗方法用于人体模型的体积测量.

在获得相关数据结果后可以分析人体肥胖程度.利用腰围、胸围等尺寸数据,结合人体身高、体重等信息,可以分析出相关部位的肥胖程度.利用获得的体积测量结果可以计算出体脂率.体脂率根据Siri预测公式[11]计算:体脂率=[(495/身体密度)-450] ×100%,身体密度=体重(g)/体积(cm3).

2 关键技术

2.1 点云数据量化

Kinect扫描获得的二维深度图像上每个像素代表了物体到传感器的真实距离,利用标定矩阵匹配深度图像中的像素点和实际坐标值获得实际物理空间中的世界单位的三维点云数据.由于图像帧上的x和y坐标并不代表实际物理空间中的世界坐标系单位,它们表示深度图像传感器上的像素点,即像素单位,为了得到真实的测量结果数据,需要将这种像素单位转换为物理空间中的实际单位.

点云数据量化换算方法具体如下所述.

(1) 获得视角值:获取设备水平和垂直视角,相机的水平和垂直视角α和β分别为57°和43°,如图3所示.

(2) 单位换算比例:px=x/z=2tan(α/2),py=y/z=2tan(β/2),其中,px为x轴方向比例,py为y轴方向比例,如图3所示.

图3 传感器视角角度Fig.3 Viewport of the sensor

(3) 求取实际x和y值:xi=(xi0/nx- 0.5)×zi0×px,即深度图像左侧在x轴负方向上,右侧在x轴正方向上;同样yi=(0.5-yi0/ny)×zi0×py,上侧在y轴正方向上,下侧在y轴负方向上.其中,xi和yi分别为实际物理空间里点在x轴方向和y轴方向上的坐标值,xi0和yi0分别为深度图像空间里点在x轴方向和y轴方向上的坐标值,nx和ny分别为RGB VGA摄像头的分辨率系数(比如640×480,则nx=640,ny=480),zi0为单个实际物理空间点的深度值.

2.2 人体测量

本文提出的人体成分分析主要是对人体肥胖程度进行分析.根据Siri预测公式,需要计算人体体积和体重.体重预先通过实际环境测量得到,体积则根据本文的算法计算得到.而特定部位的肥胖程度则需要根据该部位的相关尺寸进行分析.

根据人体体型,可以将人体尺寸分为两种类型:一是封闭的圆周类型,如胸围、腰围等;二是不封闭的长度类型,如身高、臂长等.因此,人体尺寸信息的提取过程也不尽相同.对于封闭的圆周类型,即周长测量,本文将采用类积分的方法.对于不封闭的长度类型的尺寸数据测量,由尺寸的几何特征确定尺寸特征点的位置,把这些特征点连接起来并计算这些特征点之间的距离,完成尺寸信息的提取.如身高的提取,根据扫描数据找到人体最高点和最低点,即身高的两个特征点,计算两个特征点之间的距离,就完成身高的提取.如图4所示为人体头部、手部以及足部尺寸测量示意图.

图4 人体头部、手部以及足部尺寸测量(单位:cm)Fig.4 The dimension measurement of head,hand and foot

2.2.1 周长测量

胸围、腰围等尺寸数据的测量,由尺寸几何特征确定尺寸所在人体模型的高度位置,用此高度上横截面与人体模型相交得到人体模型表面上的交线,必要时微调交线(如角度、高度等),计算交线长度并显示交线.在三角片模拟曲面人体模型上,横截面与人体模型的交线由许多相连的直线段组成,如图5所示,当直线段足够小时,交线近似为一条光滑曲线.例如腰围的提取,其几何特征是腰部人体侧面轮廓最凹,估算腰部所在的人体模型的高度区域,在该区域内定位人体侧面轮廓最凹点的高度,此高度的横截面与人体模型的交线就是腰围.

图5 胸围、腰围等周长测量Fig.5 Perimeter measurement of chest circumference and waistline

令特征横截面与人体三维模型点云的交点集合为P={pi(xi,yi,zi),i=0,1,2,…,n-1}.由于点集合连线的封闭性,根据各点坐标可计算出交线上所有点的距离总和,即人体模型的三维尺寸.这里假设交线上的点的坐标在同一等高线上,即人体模型处于绝对水平位置(yi=yi-1).对于从0号顶点到n-1号顶点所连续组成的n-1段中,每一个线段长度为

i=1,2,…,n-1

(1)

而对n-1号顶点到0号顶点所连接的第n个线段长度则为

(2)

围长(即交线周长)则是这些线段长度之和:

(3)

其中:ΔCi为每个线段的长度;C为交线总长度即围长.

2.2.2 体积测量

本文基于文献[9]的方案和思想,采用蒙特卡罗方法测量人体模型的体积.首先将获取带有点云信息的模型进行三角网格化,然后在网格化的模型之外包裹上一个长方体容器,如图6所示.在这个容器内产生大量的随机点,通过计算落在待测模型网格中的随机数的个数(Nm)与总随机数的个数(Nv)的比率以及长方体容器的体积(V),即可得到待测模型的体积Vm.

Vm=V×(Nm/ Nv)

(4)

图6 对模型之外包围一个立方体大容器Fig.6 Add a cubic container surrounding the model

模型三角网格化根据文献[11]中的算法实现.长方体容器的大小根据模型的最大高度、最大宽度以及最大深度而确定.故长方体容器的体积为

V=|Xmax-Xmin|×|Ymax-Ymin|×|Zmax-Zmin|

(5)

其中:X,Y和Z分别表示立方体上8个顶点的坐标值.

根据文献[9]对准随机数生成的计算机实现,以及利用交点计数检验法对空间上随机一点是否在三角形网格内的判断方法,本文总结的体积计算流程如下:

(1) 设置长方体容器,计算外围长方体体积;

(2) 在长方体范围内产生随机数;

(3) 判断是否在模型空间内,如是,则累计Nm;

(4) 重复步骤(2)和(3)Nv次;

(5) 根据式(4)和(5)计算模型体积.

3 实验结果与分析

实验首先对不同形状且可进行实物测量的物体进行3D扫描及重建,并进行体积和密度等数据计算,进行误差分析进而评估系统的稳定性和可用性,最后再应用于实际人体的扫描,得出人体部分特征数据.

3.1 模型重建结果

本文所使用实验设备的中央处理器为Intel(R) CORE i7-2600,系统使用的显卡为Nvidia GTX660且显存为2 G.基于本文所提供的系统,用户可以利用Kinect对实际目标采用便携式移动扫描操作以获得三维模型物体.本文对实际人体与84号女人台进行三维模型扫描与重建,每次从扫描到重建时间约为3 min.重建人体和人台模型的部分效果如图7所示.

图7 人体模型与人台模型重建结果Fig.7 Results for reconstruction of real body and mannequin

3.2 尺寸数据测量

服装工业中,人台的制造是按照国家标准完成的,因此,周长测量以84号女人台模型为实验对象进行更合理规范的比较.84号女人台模型的尺寸测量结果与实际人台标准尺寸的比较如表1所示.

表1 人台模型的尺寸测量结果与实际人台标准尺寸的比较Table 1 Comparing the dimension measurement with standard size of the mannequin

根据表1结果发现,本文所得尺寸测量平均精度为97.7%.由于胸围和腰围等部位所在高度提取存在一定误差,并不能完全达到标准位置,因此测量值与标准尺寸相比存在差异.由表1可知,腰围测量结果的误差比其他测量结果的误差小,其主要原因是提取腰围的部位偏移了标准位置导致结果偏大,而类积分法的测量结果又比实际结果偏小.总体而言,根据误差结果可知,类积分法的测量结果仍具有可靠性.

3.3 体积计算

为了便于比较本文的数据精度,本文对传统纸箱进行了三维扫描,分别在实际物理空间和三维模型空间中测量纸箱体积并作比较,结果如表2所示.由表2可知,在测量过程中随机数的设置个数会影响计算的精度,而蒙特卡罗方法也会导致计算结果偏大或偏小,从而可能引起较大的测量误差.

表2 纸箱测量结果Table 2 Results of measurement of the box

3.4 讨论

影响测量精度的原因主要有两方面:一是三维重建过程中的点云获取过程,二是测量计算过程.由于本文采用的数据读取速度在30帧/s深度图像获取,并且采用GPU并行计算模型,在这个过程中假设物体不被移动,不会发生位置的变化,即不会发生平移和旋转.但是在实际的扫描过程中,很难保证人体静止不动,所以会给后续的测量带来一定的影响.然而,实验的误差保持在4%以内,体积测量精度达到96.8%,可证明本文方法具有良好的测量精度,适合在实际中应用.

4 结 语

本文提出了一种新的人体成分分析系统,可进行人体测量及肥胖度分析,利用Kinect设备快速、精确、安全、经济、可移动的优势,结合三维人体扫描、重建以及测量技术,通过非接触式光学技术捕捉人体表面几何特征数据进行人体几何数据的计算.与传统人体成分分析技术相比,这种人体扫描测量技术更为方便安全,被测对象不会感到不适,根据扫描结果可以快速获得真实三维数据.获得的人体模型能广泛应用,如三维虚拟试衣.而且,人体扫描的体积测量可以应用到整个人体或某个特定部位,而各种其他人体测量结果也可以从一个3D模型中提取出来,比如腰围和臀围、部分体积、人体表面区域等.各种测量数据除了可以分析肥胖程度外,还能用于其他分析和预测.系统所得数据结果表明,本文提出的方法能够获取良好的三维人体数据信息,能够为后期的人体成分分析提供有价值的数据依据,同时为建立合理的公众人群肥胖监测体系提供了很好的理论支持.今后的工作是对三维重建作进一步完善.由于在杂乱环境下扫描重建过程会出现不需要的背景信息,因此,后期的工作是实时去除背景干扰,为人体成分分析提供更加精确、便携的自动化系统.

[1] World Health Organization.Obesity and overweight [EB/OL].(2013-03-01)[2013-08-31].http://www.who.int/mediacentre/factsheets/fs311/en/.

[2] LEAN M E,HAN T S,MORRISON C E.Waist circumference as a measure for indicating need for weight management[J].British Medical Journal,1995,311(6998):158-161.

[3] MAZESS R B,BARDEN H S,BISEK J P,et al.Dual-energy X-ray absorptiometry for total-body and regional bone-mineral and soft-tissue composition[J].The American Journal of Clinical Nutrition,1990,51(6):1106-1112.

[4] ROSS R,LEGER L,MORRIS D,et al.Quantification of adipose tissue by MRI:Relationship with anthropometric variables[J].Journal of Applied Physiology,1992,72(2):787- 795.

[5] ADDLEMAN D A,ADDLEMAN L A.Rapid three-dimensional surface digitizer:US,4705401[P].1987-11-10.

[6] SCHARSTEIN D,SZELISKI R.A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[J].International Journal of Computer Vision,2002,47(1/2/3):7-42.

[7] BESL P J,MCKAY N D.Method for registration of 3-D shapes[C]//Robotics-DL Tentative.International Society for Optics and Photonics,1992:586-606.

[8] IZADI S,KIM D,HILLIGES O,et al.Kinect fusion:Real-time 3D reconstruction and interaction using a moving depth camera[C]//Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology.ACM,2011:559-568.

[9] 晏义.三维人体模型重建、分割及尺寸提取技术研究[D].株洲:湖南工业大学计算机与通信学院,2012.

[10] 赵锋.基于蒙特卡罗算法和3d Widget交互方式的体积测量方法[D].西安:西安建筑科技大学信息与控制工程学院,2005.

[11] SIRI W E.Body composition from fluid spaces and density:Analysis of methods[J].Techniques for Measuring Body Composition,1961,61:223-244.

[12] 董洪伟.散乱点云的三角网格重构[J].计算机工程,2005,31(15):30-32.

3D Body Scanning Measurement Techniques Based on Kinect

WANYan1,HUGui-lan1,DONGGuo-sheng1,SHENGWen-bo2

(1.School of Computer Science and Technology,Donghua University,Shanghai 201620,China;2.Department of Burns,Changhai Hospital,Second Military Medical University,Shanghai 200433,China)

A body composition analysis system framework is presented to perform scanning,reconstruction and the measurement by using the Kinect device with the advantages of fast,safety,low-cost and portable.The body surface geometry data are captured through the non-contact optical technology,the model surface is reconstructed in real-time with the registration for the 3D point cloud data by KinFu,and then the circumference and volume of the relevant parts of the model are computed by using quasi-integral method and Monte Carlo method respectively.Scanning and 3D reconstruction cost about 3 min all together with a smooth and fine result,the accuracy of the dimension measurement is 97.7%,and volume measurement accuracy is 96.8%.The effectiveness of the proposal has been exhibited by the experimental results.

body composition analysis; Kinect scanning; 3D reconstruction; circumference measurement; volume measurement

1671-0444(2015)01-0078-06

2013-09-30

国家自然科学基金资助项目(81372057)

万 燕(1970—),女,湖北黄冈人,副教授,博士,研究方向为图像处理与模式识别.E-mail:winniewan@dhu.edu.cn

TP 399

A

猜你喜欢
交线人体模型腰围
腰围增加1厘米相当于老了1岁
球面与简单多面体表面交线问题探究
选腰围 试戴半小时
平面体截交线边数和顶点数的计算模型研究
腰痛病人如何使用腰围
腰痛病人如何使用腰围
基于乘员体型的车辆安全性研究
柱锥面交线研究
Family makes 45—foot icicle in front yard
体验创新:3D人体扫描仪测三围