周建钊,杜文超,颜雨吉
(陆军工程大学野战工程学院,江苏 南京210007)
逆向工程[1](Reverse Engineering,简称RE)是根据现有的产品模型,利用数字化测试设备获取实体数据,进而对数据进行处理,重构出完整的三维模型,并在此基础上,进行优化、创新设计、二次开发以及生产的过程[2]。作为一种新的产品设计方法,它在吸收国内外先进制造技术、降低生产成本、缩短产品开发周期等诸多方面都发挥着重要的作用。
国内外生产制造技术的不断攀升,对三维模型的构建提出了更高的要求,对高精度、高效率的实现逆向工程也提出了更高的要求。因此,高精度、高效率地实现数据获取、数据处理以及模型重构显得尤为重要。本文在对比国内外发展现状的基础上着重分析了逆向工程中的关键技术,为后续研究和开发提供思路与参考。
数据获取、数据处理以及模型重构是逆向工程领域最主要的关键技术。下面主要从这三个方面来分析。
数据获取是数据处理、模型重建的基础,是实现逆向工程的基础和关键技术[3]。随着科学技术的日趋发展,新理论、新技术层出不穷的引入,测量技术获得了十足的发展。由于数字显示技术在测量上得到了充分的应用,读数精度和可靠性得到了显著提高;光波干涉技术特别是激光技术的投入实用化使得测量精度得到显著提高;光电摄像技术与计算技术的结合,极大地提高了对复杂零件测量的精度和效率。
数据获取设备一般可以分为接触式设备和非接触式设备两大类。常用的数据采集的方法如图1所示。
图1 常用数据采集方法的分类[4]
接触式测量通过测量头与被测物体的表面发生接触,通过由传感器记录测量头与被测物体表面的接触位置,计算得到被测物体的坐标信息。
接触式测量设备最典型的是坐标测量机(Coordinates Measuring Machine)。其优点是结构相对稳定,并且不会因被测物体的表面材料和特性的不同的而影响测量结果。其明显的缺点是由于测量头与被测物体工件长期接触容易导致测量头磨损,需要经常对其重新标定,同时,接触式测量的测量速度较慢,且对于自由曲面难以测量。图2所示是两种典型的接触式测量设备。
图2 典型接触式测量设备
非接触式测量是利用电磁波、光、声波等介质与被测物体的表面发生作用,并通过产生的相互作用来获取被测物表面的坐标。当前使用最普遍的当属激光式测量方法,其激光三角法测量原理如图3所示。
图3 激光三角法测量原理图
非接触式测量因为没有测量头与物体接触,所以不会因接触力与摩擦而产生测量误差。非接触式测量比接触式测量数据采集速度快,且获得点云的数量一般较大,非接触式测量避免了接触式测量时易发生的曲率干涉问题,能够更加真实的反映被测表面的实际形状。但非接触式测量的缺点是容易受到外部环境的干扰,其测量数据的质量好坏与材料表面特性、环境光等因素都有着直接关系。图4所示两种设备是常用的非接触式测量设备。
图4 典型非接触式测量设备
根据设备的不同,采集到的点云也不尽相同。根据点云的分布,可以将点云大致分为散乱点云、扫描线点云、网格点云、多边形点云四种点云数据类型[5],如图5所示。
图5 点云类型示意图
三维数据获取时,直接获取的点云的数据数量庞大,而且由于点云获取设备、采集环境以及测量方式等影响因素的存在,不可避免的会引入噪声点、异常点等数据误差。同时,经过多次测量才能得到完整的测量数据,点云数据中不可避免地产生很多的冗余点。所以,对点云数据进行处理是曲面重建前的必要环节,点云数据的处理效果将直接影响到模型重构的质量与效率。点云数据处理是保证三维模型重构质量和效率的前提条件。
由于仪器、环境以及测量方式等影响因素,测量数据不可避免的存在偏离点、无效点,影响重建模型的准确性。因此,对点云数据进行去噪处理,是建模的必要条件。点云去噪示意图如图6所示。
图6 点云去噪示意图
对于有序点云,均值滤波、中值滤波和高斯滤波是常用的滤波算法[6],示意图如图7.均值滤波容易破坏模型细节特征,只对大量的不规则噪声有较好的平滑效果。中值滤波无法去除大范围的噪声点,只能通过选取噪声点周围适当点值进行替换,仅对滤除少量且分布均匀噪声效果明显。高斯滤波法只能在指定域内将高频噪声滤除同时较好的保持原数据形貌,但在低频区域对模型细节特征保护不够。
图7 常见滤波算法示意图
对于散乱点云,目前主要分为基于投影滤波和基于邻域滤波两种滤波算法。在基于投影滤波的方法中,最具代表性的就是Levin等提出的移动最小二乘曲面法(MLS)。在基于邻域滤波的方法中,主要使用拉普拉斯算子,或者是将2D图像的滤波方法扩展到3D点云上。
在数据处理过程中,针对大量散乱无序的点云,很大程度上增加了数据处理的时间,影响了三维模型重建的效率。因此,为了减少后期数据处理和曲面重构的处理运算量和处理时间,提高三维模型重建的效率,必须对点云数据进行精简处理。点云精简示意图如图8所示。
图8 点云精简示意图
目前主要分为基于空间分割的精简算法和基于曲率的精简算法[7]。基于空间分割的精简方法是利用点云数据中最大值与最小值作为边界位置构建一个初始包围盒,根据划分条件对初始包围盒进行划分,划分得到大量小包围盒,在每一个小包围盒内根据自己的方法进行局部精简,从而达到精简目的。基于空间分割的精简算法,效率上得到了提高,但是容易丢失模型的几何特征,造成重建效果不佳。基于曲率的精简算法[8]能够弥补空间分割算法的劣势,可以较好地保留物体表面的特征点,但相对于基于空间分割的精简法效率低,尤其是面对海量点云数据时,基于曲率的精简方法的效率会降低得很明显。
在数据获取过程中,一般在一次测量中无法得到物体表面完整的测量数据,需要通过多次不同方位得测量才能够获取完整的表面数据。但是,由于每次测量的参考坐标系是不同的,所以需要进行坐标系变换,从而达到配准的目的,就需要对不同的坐标系进行旋转变换和平移变换。因此,要先整合和配准这些局部点云数据,才能得到物体表面完整的点云数据。点云配准示意图如图9所示点云配准的实现算法有多种,如标记法、三点对齐变换法、ICP算法[9]等等。其中ICP算法是较为经典的算法,是目前点云配准必不可少的算法,也是最基本的算法之一。但是ICP算法极大地依赖配准的初始状态,假如出现错误匹配,极易陷入局部极小值的死循环。点云配准实质上是一次矩阵变换,利用平移矩阵和旋转矩阵将目标点云配准至参考点云。因此,点云配准的实现算法实质上就是找出最合适的旋转矩阵和平移矩阵,使得目标点云和参考点云匹配得最精确。
图9 点云配准前后示意图
特征识别是从测量数据重建模型的一个有用的特征点,然后根据这些特征点生成特征曲线或特征表面。这些特征曲线或特征曲面对重建模型的质量具有十分重要的作用。经过一系列处理后,测量数据可以提取数据的线特征,然后提取数据的表面特征以实现特征识别。特征识别主要是通过滤波方法实现的,主要基于集合曲率变化梯度、预测和鉴别点云突变特征,从而便于后续重建模型。
模型重构是逆向工程关键技术之一,是实现CAE(工程分析)、NC(产品数控加工)以及产品创新设计的基础。三维模型的重构,是通过利用物体表面的点云数据,通过逼近(Approximation)或插值(Interpolation)等方法进行拟合,重构出原物体的表面特征信息,从而构造一个与原物体近似的三维模型[11]。模型重构的实现一般有两种途径:
一种是将所得点云数据拟合成曲线,然后将曲线通过特定的方式构建成曲面片,如图10所示。通过这种“点—线—面”方式得到的模型曲面,精度一般较高,光顺性也较好。
图10 “点—线—面”的方式拟合实现的曲面
另一种是直接对点云数据进行拟合,构建成曲面片,最后通过对所得曲面片裁剪、过渡和拼接等操作进行曲面编辑来实现曲面模型的重构,如图11所示。这种直接利用点云数据进行曲面的拟合的方法,主要用于对模型精度要求不高的场合,或者对小范围的模型曲面进行拟合。
图11 点云数据直接拟合实现的曲面
本文通过对逆向工程关键技术的研究,总结了前辈对点云获取、点云处理以及模型重构等关键技术的研究,总结并研究了接触式、非接触式点云获取的方法,以及通过不同的采集设备不同方式扫描获得的四种类型的点云;研究分析了点云去噪、点云精简、点云配准以及特征识别等点云处理的常用方法,为后续高精度、高效率的实现点云处理的改进算法提供了参考。最后,研究总结了曲面模型重构的一般途径,为改进现有算法给出了思路和出发点。
高精度、高效率的实现逆向工程,就要求点云获取、点云处理以及模型重构等环节拥有更良好的设备和更优秀的算法。因此,通过本文的深入总结分析,为后续研究和开发提供思路与参考具有重要意义。