T样条车身点云曲面重构技术_第1页
T样条车身点云曲面重构技术_第2页
T样条车身点云曲面重构技术_第3页
T样条车身点云曲面重构技术_第4页
T样条车身点云曲面重构技术_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录摘 要IAbstractII目 录III第一章 绪论11.1 课题研究的背景和意义11.2 国内外研究现状31.2.1 三角网格参数化方法的研究现状31.2.2 曲面重构技术研究现状51.3 论文的主要内容7第二章 车身点云获取及开发工具简介102.1 车身数据的采集102.1.1 ATOS系统概述112.1.2 ATOS系统的工作过程与工作原理132.1.3 ATOS系统采集的车身点云实例132.2 车身散乱点云数据预处理142.3 基于MFC平台的UG二次开发152.3.1 基于MFC的VC+与UG接口的创建162.3.2 常用的UG二次开发库函数简介172.4 本章小结19第三章

2、车身点云的三角剖分与车身三角网格曲面的参数化203.1 车身散乱点云数据的三角剖分203.1.1 基于增量网格扩展的三角剖分算法203.1.2 车身散乱点云数据的三角剖分实例223.2 车身三角网格曲面的参数化233.2.1 三角网格参数化的几个重要概念243.2.2 三角网格参数化算法的基本原理253.2.3 三角网格参数化的实现273.2.4 车身三角网格曲面参数化283.3 本章小结31第四章 T网格算法的实现324.1 T网格的定义324.1.1 层次T网格334.2 T网格的构造354.3 T网格构造实例364.4本章小结39第五章.车身散乱点云基于T样条曲面重构技术的研究415.1

3、 引言415.2 两种比较成熟的曲面重建技术简介415.2.1 细分曲面重建技术415.2.2 NURBS曲面重建算法445.3 基于样条曲面重建475.3.1 T样条曲面重建基本原理475.3.2 T样条曲面重建算法流程图505.3.3 基于T样条车身点云曲面重建实例515.4 三种曲面重构算法比较525.5 UG二次开发的实现545.6 本章小结57第六章 总结与展望586.1 全文的工作总结586.2 本文的创新点586.3 本课题展望59致 谢60参考文献61附录:作者在读硕士期间参加的课题和发表的论文65第一章 绪论1.1 课题研究的背景和意义随着社会的发展,人们消费水平的不断提高,

4、汽车已由原来的奢侈品逐渐转化成人们生活的必需品,购车人群也变得越发多元化。因为审美观的不同,大家对汽车车型的需求也愈发多样化。为了在竞争日趋激烈的汽车行业里脱颖而出,缩短新车型设计的周期已经成为开发商们关注的热点。为了缩短汽车开发周期,越来越多的设计者们开始将目光投向了车身的逆向设计。所谓车身的逆向设计就是将原有车身转化成为CAD模型即实现车身曲面数字化(获取车身点云)、车身曲面重建和车身制造等技术的总称。它是一个将已经存在的车身模型转化成为车身工程设计模型,并以此为基础实现对已有车身进行深入分析和再创造的过程。车身点云曲面重构是车身逆向设计的核心环节,所以车身点云重构技术已经成了当今汽车行业

5、的研究热点。车身曲面重构的过程一般如图1-1所示。在曲面造型领域,各国研究者们对点云的曲面重建方法已经研究了很长时间,并取得了一定的成就,基于点云的曲面重建技术也日趋成熟,而今比较成熟的曲面重建技术主要有细分曲面重建技术,NURBS曲面重建技术。随着样条的提出样条曲面重建技术的研究也越来越热。所谓T-样条曲面就是带有T-节点的NURBS曲面,它既继承了NURBS曲面的优点又有产生了许多优于NURBS曲面操作的特点。随着T-节点的出现,我们在实现曲面控制网格的划分时网格线就无需再要求全部贯穿,从而很大程度的降低了控制顶点的冗余度,进而更加高速有效地实现了真正意义上的局部细化。而且,在实现两张样条

6、曲面的(其中n = 0,1, 2)拼接时,只需要合并控制网格对应边界附近的n+1列。T-样条是PB-样条的一种特例具备PB样条的性质,即除奇异点外每个控制顶点都有一个基函数与之一一对应,所以在非奇异点处T-样条曲面有统一的表达式,这也更加有利于对曲面进行处理和分析,因为T样条曲面重建技术具有如此多的优点,所以本文也选择这种方法对车身点云进行曲面重构。由于曲面的特点不同,各种方法在对具有不同特点的曲面的点云进行曲面重建时会产生不同的重建效果。车身曲面比较复杂,车身曲面曲率变化范围较大,在曲面重构过程中极易失去特征信息,选择一种适合于车身的点云曲面重建方法,成了车身点云曲面重建的一个重要工作,直接

7、影响了车身点云曲面重建过程的复杂度和生成的曲面的质量,从而影响了车身的再创造,进而影响了新车型设计的效果和周期,所以选择一种适合于车身点云的曲面重建方法对逆向设计中新车型的设计有着十分重要的意义。车身曲面构建比较复杂,基于散乱点云的车身曲面重建技术是当前车身曲面构建的研究热点。为了快速高效的利用该技术重建车身曲面首先要对车身三角网格曲面进行参数化处理。当今三角网格参数化技术已经十分成熟,方法也十分繁多,在如此繁多的三角网格参数化技术中找到一种适合于车身三角网格特征的参数化技术,对更加精确地实现车身点云的曲面重构有着十分重要的意义。下面将对三角网格参数化、基于点云的曲面重建的三类方法的研究现状进

8、行详细介绍。三坐标测量数据的采集数据的转换读入数据生成点的系列曲线生成曲面生成光顺性检测最终曲面曲面的修改删除“坏点”不满足满足不满足满足 图1-1 车身曲面重构流程图1.2 国内外研究现状1.2.1 三角网格参数化方法的研究现状通常我们所说的三角网格参数化从根本上讲就是一个由三维网格到二维网格的一一映射。在数学中有很多满足这种参数化的函数,如此看来寻找这样的函数应该是一件比较简单的事情,但实际上我们从这么多的映射中寻找一种比较好的映射又是十分困难的。大家一般会通过检测角度、面积和长度等几何的内在属性的变形程度来评定参数化结果的优劣。实际上,因为三角网格曲面与生俱来的复杂性,对于最佳的参数化方

9、法的存在与否人们仍然是不确定的。人们对三角网格参数化问题的研究开始于1960s,直到1990s年代,这一问题才获得更加深入的研究,并随之发表了很多与之相关的文献,这些研究都是为了解决如何使角度、面积和长度等几何内在属性变量的变形达到最小值的难题。通常,人们应用弹性理论、等积映射、保角映射、微分几何、调和映射和等测度映射等理论来实现参数化变形最小化问题的建模,并通过数值分析和有限元分析等数学物理方法来求解通过上述等理论建立的变形最小化模型。但是将一个不可展的三维网格曲面映射成一个二维网格平面不可避免的会使面积、长度、角度等几何变量发生扭曲变形,三角网格的参数化便是是要最大限度的使这些几何度量保持

10、不变。为了减小参数化造成的扭曲变形,研究者们通过大胆假设认真验证得到了许多种不同的参数化方法。早在1960s图特(Tutte)1就提出了均匀参数化方法,该方法首先把网格的边界投影到一个平面上的凸多边形上,然后把每一个内部点都当做其一环相邻点的凸组合,最后取以它为中心点的一环的平均值作为该内部点的权值2。由此方法所得到的三角形产生重叠现象,然而由于这种方法未曾对原始三角网格的几何信息进行十分充分的考虑,最终导致了三角网格参数化后几何变形比较大。1997年在均匀参数化方法的基础上,福鲁特(Floater M S)采用给每条边附加一个权值(该权值只与边长相关)的方式对均匀参数化方法进行改进,提出了一

11、种保形参数化方法3。该方法首先需要添加一些约束条件,然后通过求解线性方程组得到参数化结果。2003年在均匀参数化方法的基础上,利用调和函数的中值定理诱导求取出权值,福鲁特提出了中值坐标参数化方法4,而且尝试着将调和映射和均值坐标联系起来,通过使用均值定理,其总结提出了将多边形中的任意一点表示成为它邻域点的凸线性组合公式,并利用求解线性方程组来实现三角网格参数化。利用该方法2可以取得和保形参数化一样的参数化效果,而且均值定理比保形参数化更容易求出均值权重。1995年Eck5等提出了一种调和映射参数化方法,它是一种比较典型的最小化能量参数化方法。该方法首先是将三角网格中的每条边都假设成一个弹簧,接

12、着将三角网格的各个边界投影到预先定义好的对应的多边形上,最后利用求取三角网格的总的弹性势能的最小值的方法来实现内部三维数据点的参数化。通过该方法完成参数化后新顶点、新边、新面的连接关系并没有发生变化,是一种基于变形能量最小的分片线性参数化方法,但是该方法需要预先固定边界参数。2002年Desbnin等6提出了另外一种最小化能量参数化的方法:Intrinsic参数化方法。该方法既可以完成固定边界参数化又可以利用边界约束得到自然边界的参数化结果,Desbnin等同时考虑了离散保面积参数化方法与离散保角度参数化方法,并根据这2类方法同时考虑了面积能量和角能量这两类变形能;最后通过求解两种变形能的最小

13、值得到参数化结果。2008年薛均晓7等提出了一种基于能量优化的参数化方法,该方法也是一种最小化能量的参数化方法。这种方法同时考虑了参数化的面积变形和角度变形,引入面积能量和角度能量两个概念,然后根据最小化两种能量的所占的总能量的权重对两种能量进行组合来实现网格的参数化。该方法还在区域增长算法的基础上,对三角网格的局部能量进行了逐层局部地定义,然后通过求解该等距能量的最小值来实现对当前层的三角网格的参数化,随着区域的不断增长,最终实现整个三角网格的自由边界参数化8。该方法较适合于曲率比较大的三角网格模型。2009年薛均晓等又提出了一种基于变形能量优化的三角网格参数化方法8,该方法是在他2008年

14、研究成果的基础上对已经得到的整个三角网格的自由边界参数化结果进行转化,并最终转化成为规则边界的参数化结果,由此方法得到的参数化结果整体变形比较小,并且有效的避免了三角形折叠这一现象,该方法比较适合于纹理映射。2012年胡建平等提出了一种保角参数化的面积变形的优化方法9,该方法同时引入了保角参数网格的顶点的平均值坐标权面与积变形因子对保角参数化进行优化处理,大大减少了复杂模型进行保角参数化时的面积变形。1998年Lvy等10提出了一种LSCM参数化的方法,该方法是一种保角保面积的参数化方法,通过三角网格上的线性函数去逼近该三角网格上的柯西-黎曼(Cauchy-Riemann)方程,首先建立二次逼

15、近误差函数,然后求得在最小二乘条件下的整体的线性拟共形映射,最后通过求解方程组来实现三角网格曲面的参数化。该方法可以得到较好的参数化结果,并且简单易实现。本文通过比较上述各种算法的优缺点将选择一种适用于曲率变化较大的复杂的车身三角网格曲面参数化的方法,并将其应用于实现车身三角网格曲面的参数化。1.2.2 曲面重构技术研究现状在数学上我们把曲面重构问题看做非适定问题,既没有唯一解。为了得到更加正确有效的重构曲面科学家们对此进行了长时间的研究。如今曲面重构技术日渐成熟,本文主要研究细分曲面重构、NURBS曲面重构和样条曲面重构。(1) 细分曲面重构的研究现状Chaikin11,12在1974年提出

16、了一种不断细化的思想,由一个原始折线开始,重复使用相同的规则,不断的添加新的顶点和边,当达到细分极限时形成一条光滑曲线而这条曲线实际上就是均匀二次B样条曲线。1978年,Catnull和Clark13将不断细分的思想推广到曲面,提出了卡特莫尔克拉克(CatmullClark)细分曲面方法,该方法是一种在四边形网格上的逼近型面分裂(基本型)细分方法,卡特莫尔克拉克细分首先按照一定的几何规则计算出新边点、新顶点和新面点, 将每一个新顶点与所有邻近的新边点进行连接,然后将每一个新面点与所有邻近的新边点进行连接,得到细分网格(如果初始控制网格是规则网格,通过卡特莫尔克拉克细分方法生成的曲面是一种双三次

17、B样条曲面)。在同一年Doo和Sabin也将不断细分的思想应用于曲面上,提出了Doo- Sabin细化方法14。Doo-Sabin细分方法是一种逼近型的点分裂(又称对偶型)细分方法。该方法首先对原始网格上对应于某一个面的每一个顶点均在该面上插入一个新顶点,然后连接所有新生成顶点形成加细网格的面。如果原始的控制网格是规则网格,当达到细分极限时将生成均匀双二次B样条曲面;如果原始的网格不是规则网格时达到细分极限时生成的细分曲面是连续的。1987年Loop11,15提出了Loop细分方法,该方法是一种逼近型、基于三向箱样条的三角网格上的一分为四的面分裂(基本型)方法。Loop细分方法首先按照一定的几

18、何规则计算出对应的新顶点与新边点,然后对每个新边点与周围所有的新边点进行连接,每个新顶点与周围所有的新边点进行连接,生成加细网格。如果初始控制网格是规则的,那么Loop细分极限所生成的曲面可以达到连续;对于任意一个的三角形网格,达到Loop细分极限所生成的曲面除奇异点附近是连续其它地方都可达到连续。卡伯特 16在20世纪末提出的另一种可达到连续的基于三角网格的细分方法:细分曲面方法。该方法首先在原始网格的各个三角形面上都插入一个新的控制顶点,然后连接新生成的顶点与该三角形的每个顶点,最后翻转原三角形的每条内部边。细分曲面本质上就是一种极限曲面,是通过对给定的原始网格按照一定的规则不断进行网格细

19、化达到细化极限时网格收敛得到的光滑曲面。在细分曲面重建的开始无需对初始采样点进行网格化建模,在重建过程中无需进行拼接、裁剪等操作,最后也不需对生成的子曲面进行拟合、对连续的曲面进行离散化等操作,很大程度的简化了曲面重建的过程,降低了曲面重建所需时间。因为其有如此多的优点本文将其选作对车身散乱点云进行曲面重建的一种方法并与样条曲面重建方法进行比较。(2) NURBS曲面重构技术研究现状基于NURBS17的曲面重构技术主要存在以下几个难点18:点云数据的约束准则和先后顺序不甚明确;比较难以选择确定节点、权值和控制点等;因为有理式的存在比较难以实现方程组的求解。对于NURBS曲面重构技术的探索研究主

20、要是以这几个难点为基础展开的。1995年, 汤姆斯19等研究了一种基于四叉树的曲面重建方法,该方法的中心思想是分割取近似、求和取极限18。该方法最初要构造一张整体的曲面,然后检验其是否满足要求,若不满足就要将曲面分成四块,再对每一小块进行相同处理直到每一小块都满足要求后停止。1996年, C Bradley20等提出一种称为OCS的曲面重构方法,该方法首先要对几块测量点云数据进行三角剖分,得到几张三角网格曲面模型,再利用得到的曲面分别和三组正交的等间隔的平行平面进行求交运算,然后将各曲面块内交线的重叠部分去除,求得每条交线的交点就得到了OCS模型。然后根据曲面网格建立曲面的方法构造曲面。该方法

21、构造出来的NURBS曲面表达形式比较简单,但该方法实现的曲面构造是建立在两次优化计算的基础之上,得到的曲面的光顺性较难以保证、计算量也比较大,并且很难实现曲线网格的自动建立与自动分块,需进行大量的交互处理,重建出来的精度也较难控制。来新民等21在实现基于NURBS的散乱数据点自由曲面重构时,该方法主要包括以下几个步骤:第一步,利用ShePard局部插值方法创建出曲面的初始模型;第二步,根据基于曲面曲率的数据自适应压缩的方法来构造出矩形拓扑压缩网格;第三步,完成基于NURBS的曲面重构。随着NURBS技术的不断成熟,它已成为了在STEP标准中绘制自由曲线曲面的仅有的表示标准,而且其也为Compu

22、ter Aided Geometric Design提供了统一的数学描述方法22。同一时间某些CAD商品软件系统也开始开发和推出NURBS功能:目前国内外市场的UG、CATIA、PROE、Solidedge、等国际著名的三维CAD/CAM软件都具有NURBS功能模块,NURBS方法也越发广泛的应用于计算机图形学与CAD/CAM等研究范畴。(3) T样条曲面重构研究现状2003 年Sederberg T W23等人首次提出了T-样条曲面这一概念。当今,样条曲面重建技术已经成为一种研究热点,很多学者也取得了一定的研究成果并发表了相关的研究文献。Sederberg TW24等提出了T-样条控制点简化

23、与局部细分算法,该算法适合于更一般的拓扑结构,能够简单的完成对具有不同节点序列的张量积B-样条曲面片的光顺拼接。邓建松等25利用B-网方法给出了样条函数次数的一半大于光顺度时T-样条函数空间的维数公式。该维数公式只取决于T-网格的拓扑性质,然而他并没有将当光顺度与样条函数次数时相接近时的维数公式推算出来。李崇军等26基于光顺余因子方法给出了具有一定限制条件的T-样条函数空间的维数公式。李新等27,28给出了层次T网格T的样条空间维数公式,这个公式是加权的欧拉公式只决定于网格的拓扑结构。王爱增等29给出了T样条调配函数线性无关性的判定算法,该算法可以针对任意T样条验证其调配函数是否线性无关。以上

24、这些T-样条空间的维数公式和T-样条基的线性无关性证明,使得T-样条的理论框架更加完善。Deng Jiansong等提出了一种三角网格的T-样条曲面重建算法,然而这种方法仅能实现具有比较简单拓扑结构的三角网格曲面的T样条曲面重建重建。2006年童文华等30提出了基于隐式T样条曲面重构的方法,并依据隐式T-样条曲面本身杰出的光滑性、自适应性和紧支性,给出了实现基于该类曲面重构的具体算法,该方法可以很好地实现曲面重构。2009年赵向军31提出了T-splines与T-NURCCs耦合分片的重建方法,该方法在普通片内采用了 T样条的最小二乘法拟合,在奇异点周围应用 T-NURCCs方法逼近。2010

25、年彭小新等32提出了一种自适应T样条曲面重建的方法,该算法在进行曲面重建时,用三角网格的参数化方法,先将数据点映射到对应平面,然后再利用平面四叉树细分的方法对二维平面上数据点进行划分生成T网格,接着将曲面重构变换成求解最优化问题,最后通过最小二乘法求解。该方法很好的实现了T样条曲面重建。2011年唐月红等33提出了隐式T样条实现封闭曲面重建的方法,该方法结合了八叉树划分网格、广义交叉检验(GCV)方法计算最优光滑项系数等方法较好的实现了对封闭曲面的曲面重建。基于T样条的各个优点和以前的相关研究成果,本文选择基于T样条曲面重构的算法对车身散乱点云实现曲面重构。1.3 论文的主要内容将通过ATOS

26、测量仪的得到的车身散乱点云数据进行基于增量法的三角剖分得到车身三角网格曲面,并以此作为研究对象深入研究了细分曲面重建技术、NURBS曲面重建技术和T样条曲面重构技术这三种曲面重构的方法及其在车身曲面重构上的适用度。本文的主要的研究内容如下:(1)为了降低车身点云曲面重建的复杂度在进行曲面重建时对得到的车身三角网格曲面进行参数化处理,为此本文研究了适合于车身三角网格曲面进行参数化的方法,为实现车身的曲面重构打下良好的基础,降低了曲面重建的难度。(2)深入研究了T样条曲面重建算法,并将其应用于车身曲面重建,分析研究了其在车身点云曲面重建上了使用效果。(3)对车身点云进行NURBS曲面重建、细分曲面

27、重建和T样条曲面重建并比较了他们在车身曲面重建上的适用度。(4)通过使用VC+6.0编程实现了基于LSCM的三角网格参数化算法并利用UG平台将其显示出来实现了UG的二次开发。文中章节结构安排如图1-2所示。第一章:绪论根据课题的研究意义和研究现状,指出选择一种适合于车身曲面重建的方法在车身逆向设计的意义,并分析了三角网格参数化和三种曲面重建技术国内外研究现状。第二章:车身点云获取及开发工具简介 车身点云数据的获取基于MFC平台的UG二次开发点云数据预处理第三章:车身点云的三角剖分与车身三角网格曲面的参数化对散乱点云进行基于增量法的三角剖分,得到三角网格曲面;研究了三角网格参数化方法,并对上面得

28、到的三角网格进行参数化处理,得到二维三角网格平面。第四章:T网格算法的实现介绍了什么是T网格,并结合四叉树原理实现了二维三角网格的T网格划分,得到控制T网格(控制顶点的数目,控制顶点在T网格上的坐标)。为求取各个控制顶点的基函数提供了条件。第五章:三种曲面重构算法在实现车身点云曲面重建上的比较 介绍了细分曲面重建技术、NURBS曲面重构技术和T样条曲面重建技术三种曲面重建方法,并实现了他们各自在车身曲面重建上的应用,分析比较了这三种方法在曲面重建上的适用度。第六章:总结与展望对全文的工作进行了总结,并指出本文的创新点和本课题未来的研究方向图1-2文中章节结构安排第二章 车身点云获取及开发工具简

29、介2.1 车身数据的采集要实现车身曲面重构首先要对车身表面进行三维数据测量34,35,36,37,38,所得车身点云数据的好坏将直接影响重构曲面的最终质量。车身点云数据采集测量仪器的选择将直接影响到车身原始数据的质量进而影响整个重建工程的质量和效率。当今比较常用的几种三维数据的测量方式如图2-1所示。测量方式接触式非接触式CMM机械手图像法三角法其他方法干涉条纹CGI立体视觉MRICT超声测量图2-1 逆向工程中常用的数据测量方法由图2-1我们知道现在所用的三维数据测量方法主要包括两大类:一类是基于连续扫描数据采集和力触发原理的触发式采集的接触式测量方法;一类是根据某种与物体表面产生相互作用的

30、物理现象(例如光线、声音、电磁等)进行数据采集的非接触式测量方法。接触式测量主要包括CMM(三坐标法),非接触测量主要包括激光三角法、投影光栅法和CT及超声波法。通过阅读相关文献可知两类测量方法的优缺点39如表2-1所示,上述几种比较常用的测量方法的测量特征39如表2-2所示。由表2-2可知投影光栅法有较高的测量精度和速度,并且测量成本较低操作起来也比较容易上手,比较适合汽车车身的测量,而ATOS系统是投影光栅法的代表方法所以本文采用的是ATOS测量系统测量车身曲面三维数据。2002年山东理工大学从德国引进ATOS测量系统,为本文车身曲面点云数据的获得提供了条件。表2-1 接触式与非接触式测量

31、方式的优缺点测量方式缺点优点接触式测量有时需要特殊夹具,将会增加测量成本;需要多次校正探头直径;如果操作不当容易损伤测量探头并且降低表面测量精度;使用逐点进出的方式进行测量,测量速度较慢。有比较高的可靠性及准确性;既与工件表面反射特性无关又和颜色曲率关系不大;适合于基本的几何形状测量。非接触式测量测量精度较差;噪声相对较高;易受工件表面反射特性(如颜色、斜率等)的影响。测量速度比较快;不需要做探头半径补偿;对于软、薄、无法接触等的工件可以直接测量。表2-2 几种测量方法的比较测量方法测量速度精度(um)材料限制测量轮廓复杂程度测量内轮廓测量所需成本三坐标法慢0.630表面不能太软较差不能较高激

32、光三角法()一般5无一般不能较高投影光栅法快13无好不能一般CT及超声波法较慢1000无/有机体好能高2.1.1 ATOS系统概述ATOS测量系统是一种光学测量设备并在工业检测和逆向工程中的数据测量中得到了普遍的应用,它综合了相位移动、光学三角化、条纹投影等相关原理对待测物体表面实现非接触高速测量40。ATOS系统如图2-2所示:A是主控电脑的显示屏,用来显示测得的三维点云数据及数据的精度,作为继续拍摄的指导依据;B是主控电脑的主机系统,用以计算分析测得的三维点云数据及数据精度;C是传感器头主要包含了一个卤素灯和两个CCD相机等三个元件。传感器头被安装在一个可以绕着被测物体移动的三角架D上,可

33、以对被测物体实现全方位的测量;E是一台XL数码像机,可以结合TRITOP数字式摄影测绘三维测量系统实现更加精确的数据测量40。EDCBAA主控电脑的显示屏 B主控电脑的主机系统 C传感器头 D三角架 EXL数码像机图2-2 ATOS测量系统ATOS测量仪首先向待测物体表面连续投影11种不同间距的光带,根据光带间距的变化,利用数码影像处理器进行分析,在数秒内就可以测得实物表面数据,高速的完成了物体的三维扫描。通常一分钟内完成一幅包括四万三千个点的图像测量,其扫描速度快,扫描范围可达,曲面拼接精度达到0.1mm。对于汽车车身这样的大型物件一幅图不能涵盖所有点云数据,需进行分块扫描,但过多的分块会累

34、积误差降低测量精度。为了减少扫描拼接时产生的误差,可同时利用ATOS系统、TRITOP数字式摄影测绘三维测量系统一起测量车身三维散乱点云数据,首先使用XL数码像机拍摄获得模型的空间编码点,然后使用ATOS系统对待测曲面进行分块扫描,再依据编码点实现曲面的自动拼接,最后生成了一个完整的三维数字模型。ATOS测量不需要通过编程规划测量路径,而且在测量过程中只要求光线稳定,不受场地和实物模具等位置的限制,操作起来比较简单易行,又由于体积较小、重量较轻可实现异地测量。2.1.2 ATOS系统的工作过程与工作原理ATOS是一种基于投影光栅的测量系统,ATOS系统获取3维点云数据的过程如图2-3所示:先将

35、由传感器头上的光源产生的编码光栅投影到涂有显像剂的被测物体表面上,形成一系列光栅图像,用CCD相机对这些图像进行拍摄,然后通过相位包裹、相位展开等图像处理方法分析处理这些图像,最后计算出被测样件表面点的三维坐标。图像分析与处理产生光栅条纹光栅投影相位展开3D点云获取图像相位包裹图2-3 ATOS系统原理流程图在使用ATOS系统测量时,通过计算某一点在一系列的图像中灰度变化可以算出该点在样件表面上的空间位置。光源产生一系列的黑白条纹投影到被测物体的表面,同时通过CCD相机捕捉记录与之对应的一系列图像,图像的每一个像素都根据其各自对应的被测表面点的条文的颜色(白或黑)呈现亮或暗。接下来再使用相移方

36、法精确点的空间位置。我们使用ATOS系统测量点云数据的步骤:1)给待测表面均匀的喷涂上显像剂;2)在待测表面上贴上编码点;3)进行标定;4)识别编码点;5)扫描前处理(将光圈垂直打在待测部位通过光圈的大小调节远近);6)进行扫描测量;7)对测得点云进行预处理。2.1.3 ATOS系统采集的车身点云实例将采集的车身数据导入Ug,显示出测量得到的车身点云三维数据的效果图。图2-4,图2-5分别是车身曲面上车灯、轮包的点云数据在UG上的显示。通过ATOS测量系统测得的点云数据比较完美的保持了曲面的细节特征,并且测量精度比较高,可以较好的满足车身曲面重构对车身点云的要求。 图2-4 车身上车灯正反两个

37、面的三维数据 图2-5 轮包的三维数据2.2 车身散乱点云数据预处理通过ATOS系统采集到的点云数据并不是很好的点云数据存在大量的冗余点,而这些冗余点会使曲面重建产生没必要的数据误差降低光顺效率,为了得到比较理想的点云数据,必须对测得的点云数据进行预处理。点云的初步预处理过程主要包括数据拼合、噪声点去除和点云的精简。(1) 数据拼合在测量要求高精度数据的物体时,一般采用先整体后局部的思想,这样会产生多视数据。把利用不同测量状态、角度、方式测量的的多视数据统一到同一个坐标系下进而得到整体点云的过程就是数据拼合41。(2) 数据去噪在测量点云数据的过程中因为受到测量设备精度、测量环境、被测物体的测

38、量表面质量、扫描误差等因素的影响,会产生一些误差较大的噪声数据点。噪声会使数据失真不利与点云数据的处理。所以需要对测量点云进行去噪处理。当测量得到的数据点较少时为了剔除噪声经常使用人机交互的方法。对于海量点云数据经常采用高斯滤波、中值滤波和平均滤波等39数据滤波方法来剔除噪声数据点。近年来已有许多学者开始着手研究小波分析降噪技术42,其中小波阀值去噪方法,运算比较简单已经广泛的应用于信号去噪领域,其过程如图所示:图2-6 小波阀值降噪步骤图(3) 点云的精简ATOS方法测量数据点多,测量速度快。我们在进行基于车身点云的曲面重建过程中一般不需要过密的点云。在曲面重建的过程中如果点云数据过于庞大会

39、导致计算机运行、计算、操做的速度变慢,在曲面重建过程中会消耗过多的时间。并且点云数据量过大还会影响曲面的光顺性。为了避免上述问题的发生,需要对车身点云数据进行简化,现在点云简化主要使用均匀简化、空间距离简化、弦高差简化和弦高角度简化等方法。2.3 基于MFC平台的UG二次开发本课题在进行曲面重建时以基于MFC 的UG二次开发平台为开发工具,根据VC+中的MFC应用向导,建立与UG NX6.0的接口函数,进而完成对UG逆向制图功能的二次开发。2.3.1 基于MFC的VC+与UG接口的创建(1) 依据MenuScript创建UG环境中的菜单工具栏。首先创建如图2-7所示的文件结构,Applicat

40、ion和Startup是FileNew中的两个子文件夹。在Application目录下存放一个像素的工具图标文件(New.bmp)。在Startup目录下存放动态链接库(FileNew.dll)、用户工具栏脚本文件(FileNew.tbr)和菜单脚本文件(FileNew.men)。然后分别向用户工具栏脚本文件和菜单脚本文件中加入如图2-8、2-9所示的代码。最后,在Ug的安装目录中找到custom_dir.dat文件并向其中添加所建的工程路径。经过上述步骤,在Ug中添加菜单命令和工具按钮。 图2-7 UG的工程目录结构 图2-8用户工具栏脚本文件代码 图2-9 菜单脚本文件中代码 (2) 首先

41、通过MFC AppWizard(dll)向导新建一个名为Code工程项目,然后在VC的Project Settings中添加库文件libugopenint.lib和libufun.lib,然后在新建的工程中添加App.cpp、App.h、Main.cpp、Main.h等4个文件。其中App.h、App.cpp分别用来存放用户进行UG二次开发所需要的源文件和头文件;Main.cpp主要是用来放置User Exit函数,并在此函数中注册一个应用;Main.h中应包含应用文件需要的结构声明头文件、宏定义、与函数等。2.3.2 常用的UG二次开发库函数简介当我们在对UG进行二次开发时,经常需要调用已有

42、的库函数43,为此本小节需要对UG中一些比较常用的库函数进行简单的介绍,详细的UG库函数可通过查看UGOPEN函数参考手册了解。如图2-11中给出了UG库函数的主界面。图2-11 UG函数手册的主界面(1) 常用的头文件UG二次开发中,源文件中需要包含所用到的头文件,这些头文件定义了常用的一些函数及结构声明,常用的一些头文件及其含义如下表2-3所示。表2-3 一些比较重要的头文件及其含义44(2) UG中函数的命名方法在UG中存在2种命名方式,一种是采用是固定法命名另外一种是根据标准法命名。前者是在UG旧版本中使用的命名方法,例如uf3192()、uc4402()等。后者是按照函数实现的功能和

43、所属的模块对函数命名,它的一般写法为UF_。UF是User Function的缩写用以表示用户函数; 通常使用大写英文单词表示,表示了该函数的使用范围;通常使用通过下划线分开的单词组成表示了函数可以实现的功能。像函数UF_CURVE_create_point、 UF_PART_ask_part_name等。(3) UG库函数中几种常见的数据类型在UG库函数中除了C语言标准的数据类型之外,也定义了一些自己的数据类型,如下面所述的四种类型等。tag_t类型是已存在的UG对象的唯一标识,tag_t是一种无符号整型数,主要用于标识应用程序中的对象,例如UG对象中的Object、Part、Express

44、ion、Feature等,是在UG中使用比较广泛的一种数据类型44。用同一段内存,这些统一使用后缀“_u”表示,枚举类型是将将变量的值一一列举出来,采用统一的后缀“_e” ,这种类型在UG用户函数中也较常见。(4) UG函数的参数格式UG函数的参数的格式类似于C语言,它的函数的原型的一般表示为:;其中返回函数类型一般是UG自定义数据类型或C数据类型。参数一共有三种输入输出方式,分别是Input、Output和Output free。其中Input是在使用前需要进行赋值的输入方式;Output用于表示一般的输出方式;Output free是使用后需要释放空间的输出方式。2.4 本章小结本章首先介

45、绍了当今比较常用的几种三维数据的测量方式,并对其各自的优缺点进行概括总结,选择了一种适合于车身点云数据的获取方法(ATOS测量方法)并详细介绍了这种测量方法。本章通过ATOS测量系统拍摄了车身点云数据之后对测量点云进行初步预处理进而得到优质散乱点云数据。最后本章介绍了基于MFC平台的UG二次开发的库函数与建立UG与VC连接接口的具体步骤,为UG的二次开发打好了理论基础。第三章 车身点云的三角剖分与车身三角网格曲面的参数化3.1 车身散乱点云数据的三角剖分所谓车身曲面重建就是根据测量获得的车身点云数据来重建原始车身曲面的几何模型。车身点云数据是一种没有几何拓扑结构而且数量庞大的密集散乱数据,为了

46、实现车身曲面重建必须依据一定的规则给这些散乱数据构造一定的拓扑关系,使散乱点云数据具备相应的拓扑结构。三角网格是一种比较常用的拓扑结构,为了获得车身三角网格曲面首先要对车身点云进行三角剖分。散乱点云数据的三角剖分是将测得的各散乱数据点之间通过三角形进行相互连接,最后生成一张三角网格曲面,实际上就是利用三角网格来展示散乱点云的每个数据点与其邻近点间的拓扑连接关系。准确的拓扑关系将会有效的展示散乱点云所包含的的已测物价件表面的形状和拓扑结构信息。本文采用李旭等提出的基于增量法的三角剖分算法,对通过ATOS测量系统测得的车身散乱点云进行三角剖分。3.1.1 基于增量网格扩展的三角剖分算法该算法的核心

47、思想便是边界边的扩展。首先在任意位置创建初始三角形,然后从初始三角形的边界开始,依次添加一个结点,并与边界上的两点相连接成一个三角形,形成新的边界,这种添加结点、构建新三角形、更新边界的过程轮回进行,三角剖分不断地向四周扩展生成新的三角形,直到完全剖分后停止,如图3-1。每次扩展所增加的新三角形要想成为合法三角形必须满足以下两个条件:(1) 该三角形的所有边不能距离某一点过近;(2) 该三角形内(包含边界)不含其它点。 (a)创建初始三角形 (b)三角形生长 (c)三角网格生成图3-1 三角剖分过程边界边的扩展实际上就是把一个自由点转变成边界点,然后再把边界点向最终边界点转变的过程40。算法流

48、程图如图3-2所示NYYYNNNNYY创建初始三角形及边界环取环中的边界边搜寻该边的最佳点结束取出一边界环创建三角形创建三角形边界环空或最终边界环只有3条边边界环分裂添加边界环散乱数据存在最佳点成为最终边界边图3-2 三角剖分算法流程图3.1.2 车身散乱点云数据的三角剖分实例本文通过增量网格扩展的方法实现对车身上的轮包、车灯等曲面的散乱点进行三角剖分,建立相应的拓扑结构。 图3-3 轮包三角网格数据图3-3是车身上的轮包散乱点云数据经过三角剖分后形成的三角网格曲面,由图分析可知该网格曲面上的所有三角形内(包含边界)都不含其它点、所有边都没有距离某一点过近,有效的反映了轮包曲面点云的拓扑结构,

49、并且细节处理也比较细腻,没有出现三角形重叠,杂乱无章的现象。为进一步的曲面重构提供了较完美的三角网格曲面。图3-4是车身上的车灯散乱点云数据经过三角剖分后形成的三角网格曲面,由图分析可知该网格曲面上的所有三角形内(包含边界)都不含其它点、所有边都没有距离某一点过近,有效的反映了轮包曲面点云的拓扑结构,并且细节处理也比较细腻,没有出现三角形重叠,杂乱无章的现象。为进一步的曲面重构提供了较完美的三角网格曲面。图 3-4 车灯三角网格3.2 车身三角网格曲面的参数化车身曲面构建比较复杂,基于散乱点云的车身曲面重建技术是当前车身曲面构建的研究热点。为了快速高效的利用该技术重建车身曲面要对车身三角网格曲

50、面进行参数化处理。三角网格曲面参数化是对三角网格几何和拓扑信息作进一步处理的基础, 但是将一个不可伸展的三维网格曲面映射成一个二维网格平面不可避免的会使面积、长度、角度等几何变量发生扭曲变形,三角网格的参数化就是要尽可能使这些几何度量不发生改变。车身曲面比较复杂,曲率变化较大,在参数化过程中容易发生变形丢失信息,为此在参数化过程中对保角,保面积提出了更高的要求。早在1960s人们就已经开始研究三角网格曲面的参数化,如今人们已在三角网格曲面的参数化研究上取得了不少研究成果,下表介绍了几种比较常见的三角网格曲面重建的参数化方法及其在车身上的适用性45。表3-1 三角网格曲面重建的参数化方法及其在车

51、身上的适用性三角网曲面参数化方法特点及其在车身上的适用性(1)福鲁特等给出了有关于网格参数的综述依据参数化映射保持的几何性质的不同对网格参数化的方法进行了归纳总结(2)Sheffer等则通过求解角度空间的一个最优化问题首先求取平面参数化后的角度分布情况,然后从给定的一条初始边开始,逐步实现三角网格曲面的参数化并最终得到三角网格平面。这里的优化问题是一个非线性的,求解速度非常慢。不适用于车身三角网格曲面的快速参数化过程。(3)Desbnm等提出了一个保角度和保面积两者线性混合的度量,他研究出了一个来平衡面积和角度对最终扭曲产生的影响的参数,最后通过最小化线性混合的扭曲能量函数来实现三角网格曲面的

52、参数化。该方法计算比较复杂应用于复杂的车身三角网格参数化比较困难,不适用于车身三角网格曲面的快速参数化过程。(4)Lvy等使用三角片上的线性函数去逼近该三角片上的Cauchy-Riemann方程,通过建立二次逼近误差函数求得在最小二乘意义下的整体的线性拟共形映射来实现三角网格曲面的参数化。该方法也是一种保形的参数化方法,该方法亦能保角、保面积可以满足车身三角网格曲面参数化要求并且算法简单易行,理论上适用于车身三角网格曲面的快速参数化过程。本文研究的对象是车身三角网格曲面所以选择了上表中的第4种三角网格参数化方法,首先给该网格曲面进行符号定义:=,表示空间上的点;,是以、为顶点的边;,是以、为顶

53、点的三角面片;u=表示参数化之后的二维平面上的点;,,T=分别表示三角网格的顶点集合,边集合,三角面片集合,其中n、r、m分别表示三角网格中点的个数、边的个数、三角面片的个数。我们用表示三角网格曲面。对去个曲面的参数化就是建立一个f:,使的对于三角网格的任一顶点都有ui=. 本章所选的三角网格参数化算法是要应用于车身三角网格曲面,为车身的曲面重建做准备。下面将对所选的三角网格曲面参数化方法的有关概念、算法的基本原理及其实现过程进行说明3.2.1 三角网格参数化的几个重要概念三角网格参数化:三角网格曲面参数化是一个由3D到2D的可逆映射,可将三维三角网格曲面转化为对二维三角网格平面。如图3-5(

54、a)是原始三维三角网格曲面;(b)是三角网格参数化之后的二维三角网格曲面。 (a) 三维三角网格曲面 (b)二维三角网格曲面 图3-5 三角网格的参数化保角映射:在数学中,设f(z)是区域D到G的一一映射,并且D中的每个点都含有保角的性质,就称f(z)是从区域D到区域G上的保角映射。如果要想从一个曲面S到另一个曲面S*的映射是保角映射,那么就只有当S*上的每一对相交弧的相交角度与S上相对弧所形成的角度是相同的时候。等面积映射:如果一个曲面S上的每一部分与映射到另一个曲面S*上的对应面积相等,那么就称S到S*的映射是等面积映射。3.2.2 三角网格参数化算法的基本原理本章对三角网格曲面的任一三角

55、面片建立局部坐标系,其顶点的局部坐标为,已知该三角网格有N个顶点、n个三角面片。设S是其对应参数曲面的方程,则,则S的逆映射:U:在每个三角片上满足柯西黎曼等式 (3-1)通过式3-2定义目标映射U的保角能量函数,用以实现三角网格角度扭曲最小化: (3-2)t为三角网格曲面中的一个三角面片,最终可写为 (3-3)其中为其所对应的令 (3-4)将所有三角形面片上的能量相加所得的最终能量方程4为 (3-5) (3-6) (3-7)这里的j代表的是第几个顶点;1,2,3代表在三角形的第几个顶点;是投影在z=0上的Z1,Z2,Z3组成的三角形面积的2倍。令则还有N-2个顶点的参数值待求,令 ,是矩阵,前面的是N-2个未知参数值对应的Q,后面的是已知两个参数值对应的Q。 如果第j个顶点在第i个三角形上 =令则 , 其中shi代表复数的实部,xu代表虚部。要是得到的最小值则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论