李珩 吴明磊 蒋海滨 贾博 吴壮志
【摘要】提出了一种基于三维点云模型的人体头部尺寸自动测量方法,并设计与实现了人体头部尺寸测量系统。该系统采用基于几何特征分析的方法来识别头部测点,并根据测点计算头部的各项尺寸。实验证表明,系统具有测量速度快、精度高的特点。目前已成功应用于头盔和面罩等产品的设计中。
【关键词】人体测量学;点云模型;测点识别;头部尺寸
1.引言
人体测量学[1]是人机工程学的一个重要分支领域,通过测量人体各部位的尺寸,运用统计学的方法,对人体形态特征进行研究。头部测量是人体测量学的重要组成部分,对头盔、防毒面具、防护目镜、通讯耳机等头部相关装备的制造具有重要意义。传统的头面部装备设计主要参考头宽、头长两项分离的一维指标,由于这两项一维指标仅反映了头颅的一维尺寸大小,而无法反映三维曲面形状,所以据此设计的头面部装备往往只能按大小分号而不能按形状分型,而且与头颅的贴合度较差。随着三维扫描技术的发展,通过扫描仪获取头部三维模型,运用头面部的整个形态信息进行头面部装备的设计已获得广泛关注。
从点云模型中提取头部尺寸的难点在于如何鲁棒准确地提供识别头部测点。国内外学者已经提出了多种在头部点云模型中提取测点的方法,主要分为如下两类:
(1)基于几何特征分析的方法[2-4]:此类方法根据测点附近的几何特征(如高斯曲率、平均曲率、局部极值、最值等)和测点之间的结构关系等来提取测点。对无明显特征的测点,则借助统计规律和人体比例特征获得其大致位置,再由用户交互式编辑得到其精确位置;
(2)基于模板网格变形的方法:基于模板网格的形状处理技术近年来得到了计算机图形学领域的重视[5-6],此方法的核心步骤是:对于待处理的头部模型,将一个已经标注测点的头部模板网格变形到待处理模型,生成一个几何上与待处理模型在允许误差范围内、拓扑上和模板网格一致的网格,变形后的模板网格上的测点即为待识别的测点。基于几何特征的识别方法实现比较复杂,但算法效率高,而且识别结果比较准确;而基于模板网格变形的识别方法则鲁棒性好,但算法效率不高,而且部分测点识别精度低。
本文以头盔和面罩等产品的设计为背景,针对三维头部点云模型数据,采用基于几何特征的测点识别方法,设计和实现了一个头部尺寸自动测量系统。
2.技术要求
本文以头盔和面罩设计为背景,依据《GJB 4856-2003 中国男性飞行员人体尺寸》[7],共提取人体头部50尺寸测量项目,完成三维头部尺寸测量。
2.1 测点和测量项目
测量项目是指在相应的测量姿势上,根据测点给出的人体水平尺寸(包括围度尺寸)、垂直尺寸或其他尺寸,例如头最大长、头最大宽、头围等。测点是用于表示测量位置的界点,它通常为肌肉下方的骨骼突出部位或者关节连接处[7],例如耳屏点、眶下点、枕后点等。测量项目一般由一个或多个测点进行定义,例如“头围”的相关测点为“眉间点”和“枕后点”。测点和测量项目的定义参见《GJB 4856-2003》[7],图1给出了测量项目“头围”的示意图及相关测点。
图1 “头围”及相关测点示意图
2.2 头部解剖学坐标系
本文中的三维头部模型采用头部解剖学坐标系[8],如图2所示。该坐标以左耳屏点、右耳屏点和左眶下点定义的平面为水平面(XOY平面),左、右耳屏点的中点为坐标原点O,垂直此平面的轴为Z轴(向上为正向),Y轴为右耳屏点与左耳屏点的连线(向左为正向),X、Y、Z轴满足右手关系(向前为正向)。
图2 头部解剖学坐标
图3 系统测量流程图
3.尺寸测量流程与关键技术
3.1 尺寸测量流程
系统测量流程如图3所示。首先读入人体点云数据,对其进行预处理,去除噪声点并建立头部解剖学坐标系;其次,采用基于几何特征分析的方法自动识别头部的35个测点,并经过人工确认。如果不满意,则通过交互式调整测点位置;最后计算人体头部50个测量项目并输出测量结果。
3.2 预处理
首先,由于遮挡等原因,目标模型中往往含有噪声、空洞,同时模型的边界也不规整,需要用Geomagic等软件中对模型进行去噪、补洞、边界修补等规则化处理。
其次,由于头部模型往往处在不同的坐标系下,这不利于后续的数据处理,因此需要将所有的头部点云模型转换到頭部解剖学坐标系下。该坐标系根据左耳屏点、右耳屏点和左眶下点来定义,如果此三点已知,通过三维平移和旋转变换即可完成坐标变换。可通过贴标记点并进行识别得到此三点;或者通过交互拾取的方法,让用户在头部模型上拾取此三点。
3.3 测点识别
测点自动识别问题是头部尺寸自动测量中的一个经典问题,也是尺寸自动测量的难点。本系统采用基于几何特征分析的识别方法,并结合人体各部分的比例关系和测点之间的约束关系来进行测点自动识别。
根据《GJB 4856-2003》,50个测量项目共涉及35个测点。根据测点在人体头部上的位置和相关特征,可以将测点分为四类:
(1)第一类为最值点。
这类测点又可以分为局部最值点和全局最值点两类,局部最值点具有局部区域内的沿某一坐标轴方向的最值。而全局最值点在整个头部模型上具有沿某一坐标方向上的最大值或者最小值,例如头顶点、枕后点、耳外点、鼻尖点等;
(2)第二类是局部极值点。
这类测点或者位于轮廓线上,属于轮廓线上的凸点、凹点或者突变点,如鼻梁点、颏下点等;
(3)第三类为约束测点。
此类测点由其它测点定义,可以根据其它测点计算出来,例如,枕后点即可根据眉间点进行计算(枕后点为在正中矢状面上,枕部离眉间点最远的点)。
(4)第四类为一般测点。
这类测点在其附近区域无明显几何特征,只能通过头部比例关系等来进行估算。
在进行测点识别时,最值点是最容易识别的,其次是轮廓线上的局部极限点,接着是位于区域上的局部极值点和约束测点,最后是一般测点。因而在测点自动提取时,也遵循这样一个顺序:首先根据测点的定义提取位于头部上的最值点;然后借助轮廓提取和分析的方法,对人体头部有价值的轮廓线上的测点进行识别;之后,根据区域上待识别测点与已识别的测点的关系,识别区域上的局部极值点;最后对无明显特征的一般测点,借助统计学和人体比例学特征获得其大致位置,或者根据其与已经识别出来的测点的关系获得其初始位置,再由用户交互式编辑得到其精确位置。
(1)最值点识别:
测点识别在预处理后的模型上进行,预处理后的模型已经位于解剖学坐标系下。在此坐标系下最值点在局部范围上或者全局范围上具有沿某一坐标方向上的最大值或者最小值。例如,头顶点是铅垂轴方向上具有最大值的点,枕后点和鼻尖点分别是头部中部区域上沿纵轴方向的最小值和最大值点,左、右耳外点分别是头部中部区域上沿横轴方向的最小值和最大值点。对最值点的识别比较简单,通过查找模型上某一坐标轴方向的最值即可得到待识别测点。
(2)局部极值点识别:
轮廓线可以表达人体头面部的细节结构。正中矢状面轮廓线是人体头部最有价值的轮廓线,有相当一部分测点位于该轮廓线上,包括眉间点、鼻梁点、鼻尖点、鼻下点、上唇中点、口裂点、下唇中点、龈点、颏上点、颏前点、颏下点、喉结点、后头顶点、枕外隆突点等。除侧面轮廓线之外,水平轮廓线上也存在部分测点,比如左、右鼻翼点,耳下附着点。对位于轮廓线上的局部极值点,首先提取测点所在的轮廓线,然后借助轮廓分析的方法提取轮廓线上的候选点集,最后根据待识别测点的语义特征在候选点集中查找待识别测点。
(3)约束测点识别:
此类测点由其它测点定义,可以根据其它测点通过截面轮廓线计算出来。包括枕后点(枕后点定义在正中矢状面上,枕部离眉间点最远的点)、后头顶点(在正中矢状面上,头顶点后,头顶部离颏下点最远的点)等。
(4)一般测点识别:
人体头部上也存在着一小部分测点(如左、右颧点以及左、右颞嵴点),它们既不具备在某个坐标轴上具有最值,又不位于有價值的轮廓线上,同时也不位于特定的面部区域上,因而前面两小节所述的识别算法对其失效。对这类不具备明显几何特征的一般测点,可以借助人体面貌形态学特征,首先确定这类测点在人体头部上的比例关系;然后根据头部包围盒的边界点以及测点所对应的比例关系计算测点的初始粗略位置;最后给定一个阈值,在模型上查找与初始识别点的距离落在阈值内的所有点,取点集的中心作为一般点的最后识别位置。
3.4 尺寸计算
本系统中需要计算的尺寸测量项目共50项,包括《GJB 4856-2003:中国男性飞行员人体尺寸》中定义的B.1.1~B.1.50。一个测量项目由1个或一个以上的测点进行定义。根据不同测量项目在计算方法上的差异,将测量项目划分为五类:
1)两点间垂直距离:包括B.1.3~B.1.5等3项;
2)两点直线距离:包括B.1.1、B.1.2、B.1.6~B.1.36等33项;
3)两点水平距离:包括B.1.37~B.1.39眼突枕突距等3项;
4)围长:包括B.1.40~B.1.43等4项;
5)弧长:包括B.1.44~B.1.50等7项。
(1)距离类尺寸计算:此类尺寸测量项目通常定义为两个相关测点的垂直高度、水平距离或直线距离。
因此,一旦头部测点被识别出来以后,距离类测量项目的求解就相对比较容易了。设与测量项目定义相关的测点为和,则垂直距离=,水平距离=,直线距离=。
(2)围长类尺寸计算:围长为头部某一截面线的围度,由于采用卷尺手工测量围长的过程可以近似于求截面线上点集的凸包长度的过程,因此本系统中采用计算截面线上点集凸包长度的方法来计算围长,凸包计算采用Graham扫描算法[9]。
(3)弧长类尺寸计算:弧长类测量项目的计算和围长相似,不同点主要有两点:
1)求得截面点集后,首先需要根据弧长的首末端点定义准则来删除不在弧长上的点;
2)对剩下的点进行B样条拟合,用B样条的长度作为弧长。
4.系统设计与实现
4.1 功能概述
针对每个被测者,本系统读入被测者头部点云数据,通过对点云去噪、建立标准测量坐标系完成预处理;然后采用几何特征分析的方法自动识别人体所有测点,并进行测量项目的自动计算。系统完成的主要功能如下:
(1)被测者管理:
系统使用数据库来存储和管理被测者的个人信息、模型信息、测点和测量项目信息,提供相应的查询、增加、删除、修改、报表生成、结果打印功能。
(2)读入并显示头部模型:
将被测者的点云模型读入系统,并对其进行浏览和显示。
(3)测点识别:
通过采用几何特征分析的方法,借助人体比例关系等方法,在没有人工干预的情况下,自动识别头部测点。
(4)测点编辑与更新:
系统自动识别测点后,用户可以通过交互编辑的方式修改测点位置。
(5)自动测量:
在测点自动识别完成后,系统能够自动计算头部所有测量项目的尺寸。
(6)测量结果输出:
系统能够将被测者的头部尺寸测量结果以Excel表格文件进行输出。
(7)批处理:
在用户指定一个头部模型数据文件目录后,系统可以自动的完成该目录下全部模型的自动测量工作。
4.2 系统模块
本系统采用模块化设计,将整个系统划分为七个独立的模块:文件操作模块、数据库管理模块、渲染引擎模块、配置管理模块、XML组件模块、测点识别模块、自动测量模块。测点识别和自动测量模块是整个系统的核心;渲染引擎模块负责向用户展示头部模型、测点以及测量项目示意图;配置管理模块通过XML组件模块来得到测点和测量项的配置信息。
本系统运行于Windows XP/Win7,采用VC2010作为开发平台,用C++语言实现;系统采用Qt作为界面开发包,底层图形库采用OpenGL。
图4为系统运行的主界面。主界面为“测量界面”,可以分为:“菜单条”、“工具条”、“状态条”、“模型显示视口”和“测点和测量项目列表”等五个部分。另外还包括“管理界面”、“统计分析”等操作界面。
4.3 测量结果与分析
图5给出了一位被测者的35个测点和部分尺寸测量项目结果。图5a为识别出来的35个的测点;图5b和图5c则显示了“容貌面长II”和“头围”两个测量项目的示意图(包括相关测点和尺寸值)。通过在系统主界面的“测点和测量项目列表”中选中不同的测量项目,可以对所测量项目方便地进行浏览。实验结果表明,本文设计的测点识别和尺寸计算方法,具有识别准确、效率高、鲁棒性好等优点。
图4 系统运行主界面
图5 测点结果和测量项目
5.结束语
本文给出了一种基于三维点云模型的人体头部尺寸自动测量方法,设计与实现了头部尺寸测量系统。系统输入为被测者通过三维人体头部扫描仪得到的头部点云模型,输出为文献[7]规定的50个头部尺寸。系统通过采用几何特征分析的方法自动识别被测者头部的测点,并根据测点计算头部的各项尺寸。
与传统手工测量相比,本方法能实现自动测量,缩短了测量时间,提高了测量精度和效率。实验验证表明,系统具有测量速度快、精度高等特点。目前已成功应用于头盔和面罩等产品的设计中。
参考文献
[1]席焕久,陈昭.人体测量方法(第二版)[M].北京:科学出版社,2010.
[2]Li P,Corner B D,Paquette S.Automatic Landmark Extraction from Three-dimensional Head Scan Data[C]//Proc.SPIE 4661,Three-Dimensional Image Capture and Applications V,169.2002.
[3]Chua C S,Han F,and Ho Y K.3D human face recognition using point signature[C]//Proceedings of the IEEE International Conference on Automatic Face and Gesture Recognition.2000:233-238.
[4]Salazar A E,Prieto F A.3D BSM for face segmentation and landmarks detection[C]//Proc.SPIE 7526,Three-Dimensional Image Processing(3DIP)and Applications,752608.2010.
[5]Allen B,Curless B,Popovic Z.The Space of Human Body Shapes:Reconstruction and Parameterization from Range Scans[J].ACM Transactions on Graphics(ACM SIGGRAPH2003),2003,22(3):587-594.
[6]Yeh I-Cheng,Lin Chao-Hung,Sorkine O,et al.Template-based 3d model ?tting using dual-domain relaxation[J].IEEE Transactions on Visualization and Computer Graphics,2011,17(8):1178-1190.
[7]GJB 4856-2003,中国男性飞行员人体尺寸[S].
[8]GJB1564A-2012,飞行保护头盔通用规范[S].
[9]Andrew A M.Another efficient algorithm for convex hulls in two dimensions[J].Information Processing Letter.1979,9(5):216-219.
作者简介:李珩(1971-),男,大学本科,高级工程师,现供职于航宇救生装备有限公司,研究方向:航空救生。