任雨佳, 林温妮, 王 旭, 赵 慧, 魏蒙嫄
(1.上海工程技术大学 纺织服装学院,上海 201620;2.天津工业大学 纺织科学与工程学院,天津 300387;3.河南工程学院 服装学院,河南 郑州 450007)
逆向工程技术是一种利用三维扫描仪获取现有产品的点云数据,进而创建产品CAD模型的技术[1],其关键技术包括三维人体扫描技术、数据预处理技术和曲面重构技术[2]。逆向工程技术在服装领域主要应用于纺织品性能检测、服装结构样板设计以及虚拟人体模型构建,其中虚拟人体模型是计算机人体仿真技术的研究重点。人体模型尺寸的不精确会造成服装样板不合体、虚拟试穿效果差等问题,影响个性化服装定制以及虚拟试衣系统的发展。
LIU K X等[3]提出了一种混合建模方法,针对人体形态的差异,分别采用逆向建模、正向建模、图像建模3种思路进行人体模型的构建,最终获得具有精确尺寸的虚拟人体模型。其中,逆向工程技术用于构建人体四肢和躯干,是建模过程中应用范围最广的技术。基于逆向工程技术的模型构建过程包括数据采集、数据处理、曲面重构3个部分。KULCZYK T等[4]分析了不同数据采集方法对三维牙齿模型准确性的影响,发现在具有复杂形态的牙齿区域中,不同数据采集技术创建的模型有显著差异,并指出数据处理以及曲面重建过程也会对三维模型的精度产生重大影响。虚拟人体模型中应用的建模方法主要为NURBS(non uniform rational B-spline,非均匀有理B样条)曲面建模和多边形建模。杜剑侠等[5]通过分析逆向建模方法的特点,提出一种混合人体建模方法,即利用NURBS曲面建模方法对精度要求较高的四肢和躯干进行建模,采用多边形建模方法对头、手、脚进行建模,最终构建高精度人体模型。
综上所述,不同逆向建模方法构建的模型精度存在差异,因此模型构建时选择合适的逆向建模方法是保证模型精度的关键,但目前有关虚拟人体模型逆向建模方法的对比研究较少。因此,文中以青年女性前臂为例,选取3款建模方法不同的逆向工程软件Imageware,Geomagic Studio和MeshLab,对比分析其在建模流程、模型效果方面的差异,进而得出适合构建虚拟人体模型的逆向建模方法。
为比较不同的逆向建模方法,选用两款使用范围较广的商业软件Imageware,Geomagic Studio和一款网格处理开源软件MeshLab,从建模过程、模型种类、偏差评估3方面进行对比分析,具体结果见表1。Imageware软件由美国EDS公司出品,该软件通过NURBS曲面建模方法,直接控制曲度获得高质量曲面,主要用于开发对曲面质量要求较高的现代工业产品,如航空发动机的涡轮叶片[6]、头盔[7]等。MeshLab软件使用的是多边形建模方法,具有强大的处理非结构化三角网格模型功能,常用于转换文件格式[8]、获取特征点坐标[9]、消除网格错误以及模型的重新网格化[10]等。Geomagic Studio软件由美国Raindrop公司出品,该软件结合了多边形建模和NURBS曲面建模方法,能够实现多边形曲面与NURBS曲面的自由转换,且误差分析指标全面,常用于工艺品或日常用品(如玩具)的造型设计[11]。
表1 Imageware,Geomagic Studio和MeshLab 3款建模软件对比
VITUS Smart LC型三维人体扫描仪,德国Human Solutions公司制造。
数据采集是逆向建模的第1步,直接影响建模的难易程度以及曲面模型的质量。文中使用三维人体扫描仪对一名体型接近160/84A的健康女大学生进行三维人体扫描。由于光学遮挡会导致人体点云数据的缺失,所以需要对志愿者的站位和姿势进行调整,最终得出扫描漏洞最小的姿势,具体如图1所示。志愿者位于测试台一角,身体向外侧扭转45°,手臂自然下垂,上身向测试台中心倾斜,使手臂位于测试台中心点的正上方。校准仪器后开始扫描,获得的点云数据如图2所示,将点云数据导出为ASC格式。
图1 扫描姿势示意
图2 三维扫描的人体点云数据
在建立模型之前,首先需要删除多余的人体点云数据,保留前臂点云。为了保证初始点云数据的统一,使用Imageware软件的点云截取工具获取前臂点云,然后将前臂点云以ASC格式分别导入3款软件中进行后续的建模操作。
3.1.1预处理阶段 室内光线的变化、设备的不稳定、人体的轻微移动等因素都会影响点云数据的准确性,因此需要对点云数据进行数据优化处理。Imageware软件的数据预处理包括点云截取、数据精简、去除噪点、点云定位等操作,目的是去除点云数据中的噪音点。通过信息查询明确可用数据点的数量,由于文中研究所用的人体前臂点云数量较少,可以省略点云数量精简的步骤。点云坐标系与软件默认坐标系的不一致会影响曲线的生成,因此需要对点云进行重新定位。Imageware软件提供了多种定位模式,如321定位、交互模式321定位、自动点云定位以及最佳拟合定位等。文中研究采用最佳拟合定位模式,在平行于坐标轴的平面建立一个目标位置,在无约束条件下选择点云数据和目标位置完成定位。预处理后的前臂点云如图3所示。
图3 利用Imageware预处理的前臂点云
3.1.2曲线阶段 曲线阶段包括平行点云截面的创建以及公差曲线的拟合,其中平行点云截面曲线是拟合公差曲线的基础。理论上,点云截面越多,曲面与点云的拟合效果越好,但曲面光顺性就会越差,因此需要选择合适的截取方向和截面数量。经多次尝试后获得的平行截面曲线如图4所示,在截面曲线的基础上拟合封闭的公差曲线,具体如图5所示。利用样条曲线对齐所有公差曲线的起始点,并且统一曲线方向。
图4 平行点云截面
图5 拟合后的公差曲线
3.1.3曲面阶段 如果曲率拟合的公差曲线与截面曲线之间存在误差,会影响曲面模型的精度,因此在构建曲面之前,可以通过调节公差曲线的控制点提高两者的契合度。首先,创建曲面之前,曲线必须有相同的起始点和方向,所以需要对这些曲线进行整理和重新参数化,以便重新规划公差曲线上控制点的数量和分布状况。若控制点繁多且分布杂乱无章,则会构建出畸形曲面。其次,针对点云缺失部位拟合出尖点的问题,需要手动调整曲线控制点,该过程需仔细斟酌、修改,直到公差曲线与截面曲线相符为止,具体如图6所示。最后,按照顺序依次选中所有公差曲线,创建放样曲面,最终的前臂模型如图7所示。
图6 公差曲线的控制点
图7 Imageware软件构建的前臂模型
3.2.1预处理阶段 恰当的点云预处理操作可以提高多边形阶段的模型质量。Geomagic Studio软件的预处理过程包括删除体外孤点、删除非连接项、减少噪音、统一采样等操作。对于数量较少的前臂点云,只需要执行删除体外孤点和减少噪音操作即可,预处理后的前臂点云如图8所示。对前臂点云进行封装处理得到多边形模型,封装实质上是依据点云集的空间分布位置用细小的三角片进行连接,封装后的手臂如图9所示。
图8 利用Geomagic Studio预处理的前臂点云
图9 封装后模型
3.2.2多边形阶段 封装完成后,点云数据的缺失会导致多边形模型出现孔洞、尖状物、曲面过渡不顺等问题,因此需要利用填充孔、修改网格错误、平滑处理等命令处理多边形模型。填充孔命令包括全部填充和填充单个孔,对于复杂的物体一般选择基于曲率填充单个孔命令。使用网格医生探测多边形模型缺陷,如非流行边、自相交、尖状物、高度折射角、小孔、小组件等,并自动修复。依据曲率填充的三角面片之间存在明显棱角,需要使用平滑命令进行松弛处理。优化后的多边形前臂模型如图10所示。
图10 多边形前臂模型
3.2.3曲面阶段 Geomagic Studio软件的曲面阶段指多边形模型到高精度NURBS曲面模型的转变,包括轮廓线的生成和曲面片的构造。
1)轮廓线的生成。轮廓线的生成方法有两种,即探测轮廓线和探测曲率。探测轮廓线方法适用于规则的、以二次曲面特征为主的产品模型(如机械零件),探测曲率方法适用于形状复杂、自由曲面较多的产品模型(如工艺品、玩具等)。由手臂的外形特征可知,文中研究应采用探测曲率方法,根据多边形模型表面的复杂程度划分三角网格,随后自动生成轮廓线;沿手臂长度方向执行升级约束命令,将曲率变化较大的轮廓线升级为高曲率轮廓线。
2)曲面片的构造。根据高曲率轮廓线构建四边形曲面片。首先,执行修复曲面片命令,检查曲面片错误的类型和数量,快速定位到错误曲面片进行错误纠正;其次,选择松弛补丁命令,使曲面片均匀分布;最后,执行构造格栅命令,将每个曲面片细分为多个小曲面片,具体如图11所示,以提高NURBS曲面精度。拟合曲面时,设置拟合方法为“适应性”,优化每个曲面片内所使用控制点的数量,最终生成的NURBS曲面模型如图12所示。
图11 构造格栅
图12 Geomagic Studio软件构建的前臂模型
3.3.1预处理阶段 扫描得到的点云数据不仅有坐标信息,而且还包括法向量、颜色等信息。在MeshLab软件中,点云法向量的一致性会影响曲面重建的效果,因此首先需要将手臂点云数据导入软件中计算点云法向量,使用默认参数统一点云法向量,具体如图13所示。
图13 统一点云法向量
将点云数据重新网格化生成网格模型,同时自动修补一定范围内的点云漏洞,具体如图14所示。利用网格清理过滤器处理网格模型,主要包括移除重合面、移除重合顶点、移除非流形三角形、移除孤立面、删除体外孤点等操作,以清理重复且未引用的顶点和曲面,提高曲面质量。
图14 清理网格模型
3.3.2多边形阶段 对于网格模型中存在孔洞以及曲面平滑度较差的问题,MeshLab软件利用基于泊松方程的隐式曲面构造方法得到多边形模型,具体如图15所示,其原理是利用隐函数得到逼近点云的等值曲面。该曲面具有良好的光滑性、封闭性和完整性[12],能够适当修复孔洞,灵活处理点云数据中的噪点[13-14],适用于具有复杂拓扑形状的曲面。利用细分曲面操作增加点和面的数量,使模型更加光滑圆顺,清除手臂腕部和肘部的多余面,得到最终的手臂模型,具体如图16所示。
图15 重建泊松曲面
图16 MeshLab软件构建的前臂模型
由表1的建模过程和实际的建模操作可知,文中研究所用的3款软件均可独立完成人体模型的构建。Imageware软件需要参照截面曲线逐个调整公差曲线的控制点,虽然可以保证曲面的精确度,却增加了建模操作的复杂度;MeshLab软件操作步骤最少,但只能将模型处理为多边形模型;Geomagic Studio软件操作步骤虽然较多,但都较为简单,且可以将多边形模型转换为NURBS曲面模型,实现NURBS曲面的重构。由此可知,Geomagic Studio软件可以获得高质量NURBS曲面模型且操作简便,能够满足虚拟人体的建模需求。
由于部分软件没有偏差评估功能,同时为了消除不同软件评估方式差异对评估结果的影响,文中研究统一使用Geomagic Studio软件的点云偏差功能对以上3种模型的精度进行计算。
将Imageware软件所建的模型(以下简称I模型)、Geomagic Studio软件所建的模型(以下简称G模型)、MeshLab软件所建的模型(以下简称M模型)以及前臂点云数据统一导入Geomagic Studio软件。通过最佳拟合操作,将3个曲面模型分别与前臂点云对齐,计算得到点云偏差结果,具体见表2。表2中,最大正向、负向距离指噪声点的最大偏差距离;平均正向、负向距离指噪声点的平均偏差距离;标准偏差指模型与点云偏离的标准偏差值;RMS值越低,表示模型的真实性越好。以上数值均可用于数据精度的衡量。
表2 I模型、G模型、M模型的偏差分析结果对比
一般情况下,模型的标准偏差不超过0.05 cm[15]。经过计算可知,I模型、G模型、M模型的标准偏差均在合理范围内。其中,利用NURBS曲面建模的Imageware软件虽然能够保证曲面拥有良好的光顺性,但曲线之间的过渡曲面不受点云约束,因此I模型的标准偏差较大。G模型与M模型的标准偏差均小于I模型,由此可知多边形建模思路更适合构建曲率较大的复杂人体模型。G模型的标准偏差与M模型相近且G模型的RMS值最小,表明G模型呈现出良好的几何精度。因此,将多边形建模与NURBS曲面建模相结合的Geomagic Studio软件的前臂曲面重建效果更好。
随着信息技术的日趋成熟,逆向建模软件也在不断发展。对于精度要求较高、曲率变化较大的虚拟人体模型,依据模型特点选择合适的建模方法是构建高质量模型的关键。文中通过分析3款软件建模原理、操作难度以及模型精度的差异,发现Geomagic Studio软件具有建模操作简便、模型质量高的特点,因此虚拟人体模型的构建可以着重考虑多边形建模与NURBS曲面建模相结合的建模方法。在今后的研究中,可以进一步验证该方法构建复杂人体部位(如头、手、脚)模型的效果,为三维人体模型的发展提供技术支持。