逆向工程中数据预处理技术
2016-03-18Thedatapreprocessingtechniqueofthereverseengineering
The data preprocessing technique of the reverse engineering
李卫民1,韩国辉1,王月婷2
LI Wei-min1, HAN Guo-hui1, WANG Yue-ting2
(1.辽宁工业大学 机械工程与自动化学院,锦州 121001;2.大连海洋大学 应用技术学院 机械工程系,大连 116300)
逆向工程中数据预处理技术
The data preprocessing technique of the reverse engineering
李卫民1,韩国辉1,王月婷2
LI Wei-min1, HAN Guo-hui1, WANG Yue-ting2
(1.辽宁工业大学 机械工程与自动化学院,锦州 121001;2.大连海洋大学 应用技术学院 机械工程系,大连 116300)
摘 要:在逆向工程中,产品的误差是从获取数据开始不断累积并依次传递。针对逆向工程中数据预处理环节,基于Geomagic Studio软件,综合运用不同的数据预处理方法,通过对各方法中的误差比较,从中选择每一方法的最优项,从而获得误差较小,数据量适中的数据模型,为后续的曲面拟合和模型重构等做好铺垫。
关键词:逆向工程;数据处理;数据滤波;数据精简
0 引言
目前,在逆向工程中常采用非接触式激光扫描法来获取数据,由该方法获得的数据量庞大,并常常带有许多的杂点和噪音点,同时因产品外形特征和扫描方法的制约,在数据获取时会存有部分盲区和缺口,这些都会影响后续的曲面拟合和模型重构过程。因此,需在曲面重构前,对获取的数据进行一些必要的处理,以获得满意的数据,为曲面重构过程做好准备。数据预处理的方法主要包括冗余数据的删除、数据过滤、数据精简和建立坐标系等等。本文将以钣金件为例给予说明。
1 删除冗余数据
在扫描数据时,受扫描设备的精度、扫描操作时周围环境等因素影响易出现大量数据,这些数据中的很大一部分并不参与后面的曲面重构,所以必须将这些数据删除。图1(a)是扫描后的钣金件,其三角网格面数为1127720;图1(b)是将多余数据删除后保留的有效数据,其三角网格面数为387310。通过前后对比,两者的三角网格面相差740410个,因此,冗余数据的删除是进行数据预处理的第一步。
图1 冗余数据的删除
2 数据滤波
数据滤波是数据预处理中非常重要的一步,由于在数据获取过程中,数据存在随机性误差,不可避免地引入错误数据或者噪音点,这些数据会使误差不断累积,更会影响后面模型重构的精度,因此,在删除冗余数据后必须进行数据滤波,进一步过滤掉无效数据。在数据预处理中通常采用高斯滤波、中值滤波和均值滤波等三种方式进行数据滤波。
2.1 高斯滤波
高斯滤波是一种线性平滑滤波,其实质是一种信号的滤波器,用于消除高斯噪音而进行信号的平滑处理,对抑制服从正态分布的噪音十分有效。由于图像应用到后期时其噪音是最大的影响因素,而且数据误差会不断地累积传递,因此采用高斯滤波会有效地反映真实信号。高斯滤波的工作原理是对整幅图像进行加权平均,即每一像素点的值是由其本身及其邻域内的其他像素值加权平均而得。
1)旋转对称性,保证在图像处理中滤波器在各个方向上的平滑程度是相同的。
2)其为单值函数,在进行平滑运算时图像不会失真。
3)其傅里叶变换频谱为单瓣,平滑图像不会被不需要的高频信号所污染的同时保留绝大部分所需要的信号。
4)σ是决定平滑程度的因素,σ越大,高斯滤波器的频带就越宽,图像的平滑程度就越高。
5)可分离性,根据该性质可以有效地实现大高斯滤波器。
该钣金件经过高斯滤波处理后如图2(a)所示。
2.2 中值滤波
中值滤波是一种非线性滤波方法,在一定条件下,可以克服线性滤波器所带来的图像细节模糊,但是对一些点、线、尖顶等细节多的图像会引起图像信息的丢失。
1)普通中值滤波方法
2)自适应中值滤波方法
该方法是在普通中值滤波的基础上采用变换窗口大小的方法,在中值算法中添加一个判断窗口内的像素中值和滤波处的像点灰度是否为脉冲噪音。其特点是可以去除脉冲噪音,平滑其他非脉冲噪音,相比于普通中值滤波方法减小失真,保护细节等。其计算方法如下:
(1)计算:z1=fmed-fmin;z2=fmed-fmax;
(2)如果z1>0且z2<0,则进行(4)的计算;否则,进行(3)的判断计算;
(3)如果fij=fmed便可以输出favg;否则,增大窗口Aij的尺寸,若Aij≤Amax则重复(1)和(2),否则输出fij;
(4)计算:g1=fij-fmin;g2=fij-fmax;
(5)如果g1>0且g2<0,则输出fij;否则输出fmed。
其中,Aij为工作窗口,fij为像点(i,j)的灰度,fmin和fmax分别为Aij中的灰度最小值和最大值,fmed为Aij中的灰度中值,favg为Aij中的灰度均值。
该钣金件经过中值滤波处理后如图2(b)所示。
该方法既能巩固“测量基础”课程中地形图测绘的理论知识、减少了一些繁琐的计算又能和后续的数字测图更好的衔接,同时又能激发学生的兴趣,调动学生实训的积极性,取得了良好的教学效果。
3)均值滤波
均值滤波是采用邻域平均法进行数据滤波,其原理是在图像上对目标像素给一个包括其周围临近像素点和其本身像素点的模板,再用模板中全体像素的平均值代替原来像素值。图像邻域平均法虽然算法简单,计算速度快,但是图像的处理效果与所用邻域半径有关,半径越大,图像的模糊也越大。
其数学表达式为:
其中,S为以(x,y)为中心的邻域的集合,M为S内坐标点的个数。
该钣金件经过中值滤波处理后如图2(c)所示。
图2 数据滤波图
4)三种数据滤波方法的误差比较
该钣金件经过数据滤波处理后会产生一定的误差,通过误差检测可以选择出最优的滤波方法。图3是三种滤波方法误差检测的彩色分布图,其中彩色分布条中的红色为正向误差最大值,绿色为零误差,黑色为负向误差最大值。通过彩色分布图可观察到,经过高斯滤波和中值滤波处理后的彩色图绝大部分由绿色组成,少部分由黄色组成,但是经高斯滤波处理后的黄色面积略少于经中值滤波处理后的黄色面积,而经过均值滤波处理后的彩色图由绿色、黄色、蓝色组成,这说明三种滤波方法中高斯滤波产生的误差最小,均值滤波产生的误差最大,中值滤波产生的误差略高于高斯滤波产生的误差。三种滤波方法的误差数据如表1所示。
表1 数据滤波误差(单位:mm)
对于该钣金件选择高斯滤波方法进行数据滤波。如果是工艺品或者玩具等对精度要求不是很高的产品可以选择均值滤波方法,这样可以节省数据预处理的时间以及后续的模型重构时间,可以缩短设计周期提高工作效率。
图3 数据滤波误差检测图
图4 按距离精简数据图
3 数据精简
1)按平均距离精简
2)按最小距离精简
按最小距离精简与按平均距离精简类似,也是沿着扫描线比较两个相邻数据间的距离,只是这里首先要设定一个最小距离dmin,然后用相邻两个数据间的距离d同dmin进行比较,如果d 本文设定的距离参数为最小距离,分别为0.1mm、0.3mm和0.5mm,按距离精简数据后的图形如图4所示,精简数据对比如表2所示。 表2 按距离精简数据表 3.2 按曲率精简 设二次曲面参数方程为: r为曲面上的一条曲线,s为其弧长,该曲线的表达式为r=r(x(t),y(t)),则曲面第一基本公式为: 则曲面第二基本公式为: 其中,L=rxx.n,M=rxy.n,N=ryy.n。 按照上述方法,求出所有选取点的高斯曲率和单个邻域内的局部平均曲率,最后再计算出所有点的曲率平均值。如果局部平均曲率小于点云的曲率平均值,说明这个区域中的点分布较为平坦,则保留这些点中距离形心最近的点;如果局部平均曲率大于点云的曲率平均值,说明这个区域中的点分布较陡峭,则保留所有曲率大于局部平均曲率的点。为了能让该方法更加容易操作,往往设定一个百分数,即精简后的三角网格数占原始三角网格数的百分比。 本文按照曲率精简数据时设定的百分比分别为90%、75%和50%,按曲率精简后的图形如图5所示,精简数据如表3所示。 图5 按曲率精简数据图 表3 按曲率精简数据表 通过对两种方法的比较可知,该钣金件如果按照距离精简可以保证其精度,但是剩余的数据依然庞大,会影响后面的计算时间;如果按照曲率精简,在减少到75%时,图像既没有出现失真现象,数据也减少近100000个,所以该项是最优选择。 4.1 填充孔 在数据获取时不仅存在大量的冗余数据,也会出现部分数据缺失的现象,这主要是受获取数据的方法及产品几何特征的影响。为了能更好的提高重构模型的精度,有时需要进行数据的填补即填充孔。 根据填充孔的位置可将填充孔分为内部孔、边界孔和搭桥孔;按照零件表面情况,填充孔的方式有按曲率填充、按切线填充、按平面填充。 通过对该钣金件的分析判断,该件包括内部孔和需要搭桥的细长孔。在图6(a)中由于圈出的不良数据的存在会大大影响填充孔的精度,所以,必须对其及其周围数据进行删除整理,然后再进行填充,如图6(b)所示。 图6 填充内部孔图 对于细长孔若采用直接填充,其效果如图7(a)所示,填充后的部位出现较多的带有尖点形状的数据,从而影响数据处理的精度,如果采用搭桥技术,将该细长孔分割成几个内部孔,然后再对各个内部孔进行填充可以有效地减少尖点数据的出现,填充部位更加光顺,精度更高,为后续操作做好准备,如图7(b)和(c)所示。 图7 填充搭桥孔图 4.2 去除特征 去除特征是填充孔的特殊形式,它是将所选区域的数据删除然后依据其周围数据的曲率特性进行再填充。图8(a)所示的红色区域即为带有特征的区域,图8(b)为去除特征后的零件表面,由此可观察到该区域表面更加光滑。去除特征可提高零件表面的光顺度,提高零件表面拟合精度,为建立坐标系和模型重构打下良好的基础。 图8 数据去除特征图 变换坐标系是使产品零件的特征与世界坐标系的平面、轴、特征或者原点对齐。其变换矩阵为:T=Tp×Tx×Tz,其中Tp、Tx、Ty、Tz分别为平移矩阵、绕X轴旋转矩阵、绕Y轴旋转矩阵和绕Z轴旋转矩阵。 在该钣金件上分别有Ⅰ和Ⅱ两处可进行平面拟合的区域,如图9所示,从表4中可以知道由Ⅱ区域拟合的平面精度更高,所以将Ⅱ区域拟合的平面作为XY面。 图9 拟合平面和轴线区域图 表4 拟合平面误差数据表(单位:mm) 将钣金件的四个圆柱孔从左向右一次标记为1、2、3、4,如图9所示,以四个圆柱孔内表面为依据分别拟合出四条轴线,分别记为直线1、直线2、直线3和直线4,通过表5的误差分析可知直线2的误差最小,所以选择直线2作为Z轴。 表5 直线拟合误差数据表 最终完成数据处理的图形如图10所示。 图10 经数据处理完成图 【下转第127页】 作者简介:李卫民(1965 -),男,辽宁朝阳人,教授,博士,研究方向为机械CAD/CAE/CAM。 基金项目:辽宁省科技攻关项目计划(2014106008) 收稿日期:2015-09-21 中图分类号:TH128 文献标识码:B 文章编号:1009-0134(2016)01-0112-054 填充孔与去除特征
5 变换坐标系