逆向工程中数据点云精简方法研究

sujingmeng

贡献于2016-05-11

字数:0 关键词: 数据挖掘

第 10 卷 第 1 期 2004 年 2 月 上 海 大 学 学 报 ( 自 然 科 学 版 ) JOURNAL OF SHANGHAI UNIVERSITY (NATURAL SCIENCE) Vol. 10 No. 1 Feb. 2004 收稿日期 :2003205203  作者简介 :万  军(1979~) ,男 ,江苏九江人 ,硕士生 ,主要从事机械制造及自动化、逆向工程方面的研究.   文章编号 :100722861(2004) 0120026204 逆向工程中数据点云精简方法研究 万  军 ,  鞠鲁粤 (上海大学 机电工程与自动化学院 ,上海 200072) 摘要 : 该文概述了逆向工程的内容 ,指出对数据点云进行精简处理的重要性 ;介绍了两种典型的数据精简方法 ;提 出了一种基于平均点距值的新方法 ,详细说明了算法过程 ;最后对该算法的优缺点作了小结. 关键词 : 逆向工程 ; 数据精简 ; 平均点距值 中图分类号 : TH 16 ; TP 319    文献标识码 : A Data Reduction for Reverse Engineering WAN J un ,  J U Lu2yue (School of Mechatronical Engineering and Automation , Shanghai University , Shanghai 200072 , China) Abstract : Reverse engineering is outlined and the significance of data reduction is pointed out. Two typical methods for data reduction are then introduced. A new method based on the average distance between points is proposed and an algorithm presented. Finally a brief evaluation on the method is made. Key words : reverse engineering; data reduction; average distance 1  概 述 大部分工业产品是根据二维或三维 CAD 模型 制造而成 ,但有时因为数据丢失、设计多次更改、实 物引进等原因 ,产品的几何模型无法获得 ,因而常常 需要根据现有产品实物生成物体几何模型. 逆向工 程技术能够对产品实物进行测绘 ,重构产品表面三 维几何模型 ,生成产品制造所需的数字化文档. 在一 些工业领域 ,如汽车制造业 ,许多零件的几何模型都 通过逆向工程由油泥模型或实物零件而获得[1 ] . 目前常用的数据点云测绘方法可分为接触式与 非接触式数据扫描两大类. 接触式扫描方法得到的 数据点精度较高 ,但其速度较慢 ,测量数据点较少 , 测量具有复杂型面的自由曲面非常困难. 非接触式 方法速度较快 ,测量数据点多 ,其中非接触式光学扫 描仪每秒可产生数十万个数据点 ,能清楚地表达物 体表面细节 ,非常适合于自由曲面扫描 ,在工业领域 已得到越来越广泛的应用. 虽然非接触式光学扫描仪能得到非常密集的点 云 ,但并不是所有的数据点都能用于曲面重构. 过多 的数据点会导致计算机运行、存储和操作的低效率 , 生成曲面模型需要消耗更多的时间. 并且过于密集 的点云会影响重构曲面的光顺性 ,而光顺是产品外 形设计中非常重要的要求. 为避免上述问题 ,就需要 删除部分数据点 ,即对数据点云进行精简处理. 近年来 ,人们作了许多关于数据点云精简方法 的研究 ,本文列举了其中两种具有代表性的数据点 云精简方法 ,针对这两种方法的不足 ,提出了一种基 于平均点距值的新方法. 2  常用方法 2. 1  均匀方格法 Martin[2 ]等提出了一种基于“中值滤波”原理的 均匀方格法 ,现已广泛用于图像处理. 首先在垂直于 扫描方向的平面上建立一系列均匀的小方格 ,每一 个扫描得到的点都被分配给某一个方格 ,计算出这 一点到方格的距离 d ,按距离大小排列所有分配到 同一方格的数据点 ,取距离位于中间值的数据点代 表所有分配于这个方格中的数据点 ,其它点则被删 除. 过程如图 1 , E 点被选中 ,其余点则被删除. 图 1  均匀方格法 Fig. 1  Uniform grid Method 2. 2  三角网格法 Chen[3 ]等提出了一种减少三角网格数目从而 删除部分数据点的方法. 首先将扫描获取的数据点 云直接三角网格化 ,生成 STL 文件 ,尔后比较数据 点所在三角面片的邻近三角面片法向量 ,根据一种 向量加权算法 ,在平面或近似平面的较平坦区域用 大的三角面片取代小的三角面片 ,删除多余点 ,从而 实现数据精简. 3  基于平均点距值的新方法 任何数据点云精简方法 ,其最终目的是减少点 云密度 ,而在有限空间内 ,点云的密度越大 ,则点与 点之间的平均距离值就越小 ,因此可以通过比较在 有限空间内点与点之间平均距离值大小的方法判断 点云密度大小 ,从而决定是否需要删除多余数据点. 基于上述原理 ,笔者提出了一种适用于大量散乱三 维数据点云的精简方法 ,算法如下. 该方法首先需用户定义采样立方格边长 d 和 欲精简数据点百分比 <两个参数. 如图 2 ,设点 P 为 数据点云中任意一点 ,以点 P 为中心、边长为 d 的 采样立方格内其它数据点点集为 Q = { Qi ( x i , yi , z i) , i = 1 , 2 , ⋯, n}. 设点 P 坐标为 Px 、Py 、Pz , 则 Q i 满足 : Px - d 2 ≤ Qi x ≤ Px + d 2 , Py - d 2 ≤ Qiy ≤ Py + d 2 , Pz - d 2 ≤ Qiz ≤ Pz + d 2 . (1) 图 2  平均点距值法 Fig. 2  Average distance method   分别计算点 P 到点集 Q i 内任一点的距离 :  | PQ1| = ( Px - Q1 x) 2 + ( Py - Q1 y) 2 + ( Pz - Q1 z ) 2 , | PQ2| = ( Px - Q2 x) 2 + ( Py - Q2 y) 2 + ( Pz - Q2 z ) 2 , ⋯⋯ | PQ n| = ( Px - Q nx) 2 + ( Py - Q ny) 2 + ( Pz - Q nz ) 2 . (2) 把距离值相加 : D = | PQ1 | +| PQ2 | + ⋯+| PQ n | , (3)   求出平均点距值 ŠD = D n . (4)   对所有数据点实施上述计算 ,平均点距值 ŠD 比 较小的点是可能被删除的数据点 ,根据用户定义的 数据精简百分比 <,把平均点距值最小的百分比 < 个数据点删除 ,从而实现数据点云的精简. 上述算法的具体实现用 VC + + 6. 0 程序表示 如下 : struct L IST  // 定义链表用以存放数据点云 {  float m - xCoordinate ;  float m - yCoordinate ;  float m - zCoordinate ;  LIST 3 m - pNextPoint ; } void CPointsReductionDlg : :OnComputer ()  // 72 第 1 期 万  军 ,等 :逆向工程中数据点云精简方法研究      平均点距法计算子程序 {  LIST 3 pCurPointofAll = p HeadPointofAll ;  // 将指针指向链表头  int totalnum = 0;  // 初始化 Q 点集数目  float valsumdistance = 0 ;  // 初始化距离值 和  while (pCurPointofAll - > m - pNextPoint ! = NULL)  // 遍历数据点云中各点  {   float xcoordinate = pCurPointofAll - > m - xCoordinate ;  //X 轴坐标   float ycoordinate = pCurPointofAll - > m - yCoordinate ;  //Y 轴坐标   float zcoordinate = pCurPointofAll - > m - zCoordinate ;  //Z 轴坐标   if ( ((valpx - d / 2) < = xcoordinate) && ((valpy - d / 2) < = ycoordinate) && ((valpz - d / 2) < = zcoordinate))  // 判断点是否落在采样方格内   {    float valdistance = (valpx - xcoordinate) 3 3 2 + (valpy - ycoordinate) 3 3 2 + (valpz - zcoordinate) 3 3 2 ;    valdistance = sqr (valdistance) ;  // 计算至点 P 距离值    valsumdistance + = valdistance ;  // 计算距离和    totalnum + = 1;  //Q 点集数目加 1   }   pCurPointofAll = pCurPointofAll - > m - pNext Point  // 指针指向点云中下一点  }  float valaverdistance = valsumdistance / totalnum ;  // 计算平均点距值 } 图 3 为运用此方法对柴油发动机排气道模具数 据点云作精简处理的结果( d = 4 mm , < = 75 %) . 图 3  精简结果 Fig. 3  Data reduction result   上述三种方法对曲率变化不大、形状简单的点 云 ,如平面、球面等精简得到的结果精度接近 ,但对 于曲率变化较大而形状复杂的三维数据点云则有较 大的精度差别. 仍以图 3 所示的柴油发动机排气道 模具数据点云为例 ,分别运用三种方法对其进行精 简处理 ,在精简百分比为 10 %、50 %和 90 %的情况 下所得结果的精度如图 4 所示(偏差单位 :mm) . 图 4  不同精简百分比下精度比较 Fig. 4  Errors at different reduction ratio 82     上 海 大 学 学 报 (自 然 科 学 版) 第 10 卷   4  小 结 Martin 的方法能较好地适用于扫描方向垂直 扫描表面的单块数据 ,但对于已拼接的三维数据点 云效果不理想. Chen 的方法适用于分块或完整三维 数据 ,但首先需对数据点云进行三角网格化处理 ,而 复杂平面和大量散乱数据点云的三角网格化处理非 常复杂 ,效率很低 ,有时甚至无法建立完整的三角网 格文件 ,故而其在实际应用中受到一定限制. 本文提 出的基于平均点距值的方法根据用户定义的参数自 动进行计算 ,算法简洁、速度快、效率高 ,适用于大量 散乱三维数据点云 ,精简效果良好. 若采取固定采样 立方体的方法 ,还可进一步提高算法效率 ,本文不再 详述. 同时 ,本算法还存在一些不足 ,例如对数据点 密度变化过大的点云效果较差 ,有待进一步改进. 参考文献 : [1 ]  Varady Tamas , Martin Ralph R, Coxt Jordan. Reverse engineering of geometric models —an introduction [J ]. CA D ,1997 , 29 (4) :255 - 268. [2 ]  Martin R R , Stroud I A, Mashall A D. Data reduction for reverse engineering [ R ]. R ECCA D , Deliverable Document 1 COPERUNICUS project , no. 1068, Com2 puter and automation Institute of Hungarian Academy of Science , January 1996.63- 69. [3 ]  Chen Y H , Neg C T , Wang YZ. Data reduction in inte2 grated reverse engineering and rapid prototyping[J ]. In2 ternational Journal of Com puter Integrated M anuf ac2 turing , 1999 ,12 (2) :97 - 103. (编辑 :高水娟) (上接第 25 页) [33 ]  Liao W H , Lai C Y. Harmonic analysis of a mag2 netorheological damper for vibration control [J ]. S mart M ater S truct ,2002 ,11 :288 - 296. [34 ]  Li W H , Du H. Nonlinear rheological behavior of mag2 netorheological fluids : step - strain experiments [J ]. S mart M ater S truct , 2002 ,11 :209 - 217. [35 ]  Alberto Leva , Luigipirodd. NARX2based technique for the modeling of magneto - rheological damping devices [J]. S mart M ater S truct ,2002 ,11 :79 - 88. [36 ]  Ahn Young Kong , Yang Bo2Suk. Directionally control2 lable squeeze film damper using electro2rheological fluid [J]. Journal of V ibration and Acoustics , 2002 ,124 : 123 - 135. [37 ]  See H , Kawal A. Differences in the electrorheological response of a particle suspen under direct current and al2 ternating current electric fields [J ]. Colloid Polym Sci , 2002 , 280 :24 - 29. [38 ]  Rong ,Y, Tao R. Flexible fixturing with phase2change materials. part 1. experimental study on magneto2 rheological fluids [J ]. A dvanced M anuf acturing Tech2 nology , 2000 ,16 :822 - 829. [39 ]  Omer A , Baz A. Vibration control of plates using elec2 tromagnetic compressional damping treatment [J ]. Journal of Intelligent M aterial Systems and S truc2 tures , 2000 ,11 :254 - 265. [40 ]  余心宏 ,马伟增. 磁流变减振系统参数辨识 [J]. 化学 物理学报 ,2001 ,14 (5) :625 - 628. [41 ]  龚宪生 ,谢志江 ,骆振黄 ,等. 非线性隔振器阻尼特性 研究[J]. 振动工程学报 ,2001 ,14 (3) :334 - 337. [42 ]  官新春 ,欧进萍. 磁流变耗能器的阻尼力模型及其参 数确定[J]. 振动与冲击 ,2001 ,20 (1) :5 - 8. [43 ]  翁建生 、胡海岩. 磁流变阻尼器的实验建模[J]. 振动 工程学报 ,2000 ,13 (4) :616 - 621. [44 ]  Choi Seung2Bok , Ham Moo2Ho. Vibration control of a MR seat damper for commercial vehicles [J ]. Journal of Intelligent M aterial Systems and S tructures , 2000 ,11 : 936 - 943. [45 ]  Gordaninejad Faramarz , Kelso Shawn P. Fail2safe magnetorheological fluid dampers for off2highway , high2 payload vehicles [ J ]. Journal of Intelligent M aterial Systems and S tructures , 2000 , 11 :395 - 405. (编辑 :高水娟) 92 第 1 期 万  军 ,等 :逆向工程中数据点云精简方法研究     

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档

相关文档