海量三维扫描点云数据预处理方法

2018-02-25 11:54程俊廷郭博洋卢建军
电子技术与软件工程 2018年11期

程俊廷 郭博洋 卢建军

摘要 随着三维扫描测量技术的迅速兴起,对被测物体进行三维扫描测量及建模的应用日趋广泛。为了得到质量更高的被测实体三维模型,对海量扫描点云数据的预处理效果与效率提出了更高的要求。首先介绍了点云数据预处理技术的流程,然后讨论了数据预处理去噪去失真、数据平滑、数据精简和数据拼合等技术存在的问题,最后给出了解决这些问题的常用方法,并进行了总结与展望。

[关键词]三维扫描点 云数据处理 拼合对齐

1 前言

三维扫描测量技术已经广泛应用于航空航天、船舶、汽车、医疗、家用电器、建筑、考古、玩具等多个领域,例如对桥梁的扫描及测量,人体的三维建模,复杂曲面的模型构建等,具有测量精度高、与被测物体不接触、信息量丰富的特点。在对被测物体进行三维扫描测量过程中会产生大量的数据点,称之为海量点云数据,包含了被测物体的形状、坐标及尺寸等信息。测量过程中受到仪器本身和外界条件的影响,点云数据中会包含大量无效冗余数据,这些数据会对后期被测物体的建模产生严重影响,所以必须要对这些数据进行预处理。

2 点云数据的预处理

2.1 点云数据预处理流程

点云数据预处理技术主要包括:数据的去噪去失真、数据的平滑处理、数据精简以及数据拼合等,处理流程如圖1所示。

2.2 点云数据噪声点和失真点的查找及处理

由于在扫描过程中会受到一些外界光线、温度、湿度、相对运动等因素的干扰,采集到的数据往往会含有噪声点和失真点。噪声点和失真点通常具有特殊性,相对来说比较容易判别和去除。因此,数据预处理的第一步就是对这两类点进行识别与去除。对于噪声点的识别算法,国内外大量学者进行了深入研究,国外学者如Clarenz[5]、Linsen[6]、Choudhury[7]等人提出的去噪算法均取得了良好效果,国内学者如张鑫[8]等人通过采用三边滤波函数并对滤波因子进行设置,使得点云能够保持很好的数据特征。

失真点的查找方法通常有三种,分别是:直接观察法、弦高差方法和曲线检查法。直接观察法是指通过肉眼对点云数据进行观察,直接将偏离比较大的失真点进行去除,这种方法仅适用于初步查找及去除;弦高差方法是指通过测量被测点pi和它前后两点pi-1、Pi+l连线弦的距离e,如果e>||ε||(||εε|为允许的误差),则可以认定pi为失真点,应该剔除,如图2所示;曲线检查法通常是通过最小二乘法拟合出一条样条曲线,再通过测量被测点pi距离样条曲线的距离e,如果e>||ε||,则认为pi是坏点,应该剔除,如图3所示。

2.3 点云数据的平滑处理

点云数据的平滑处理是在对点云数据进行去噪去失真处理之后的细节处理,目的是在保证点云细节特征的基础上获得更高阶的光滑曲面,这样可以使后期依据点云数据建立的模型表面更加光顺平滑。

常用的点云平滑处理方法有三种,分别是:均值滤波法、中值滤波法和高斯滤波法。均值滤波法是指求得统计窗口内所有点的平均值,并且用平均值来代替原始点,如图4所示(图中虚线连接的点代表真实点的位置,实线连接的点代表光顺后点的位置);中值滤波法是一种非线性的数据平滑去噪方法,其原理是先求得一点邻域内所有点的中值,再使该邻域内所有点的值都向这个中值靠近,从而达到光顺点云数据的目的;高斯滤波法是在点云平滑处理中最常用的方法,它是通过加权计算窗口内所有的点数据,使每一个点的值都是该点本身和其邻域内所有点的值加权平均之后的结果,如图5所示。

2.4 点云数据的精简

点云数据通常十分密集,如果不进行精简就直接使用,特别是三维建模,不仅会浪费巨大的计算机资源,也使得计算时间延长。数据精简的目的就在于在不明显减少模型信息的前提下,用尽量少的点来表示,为后续点云处理节约空间和时间。

目前常用的点云数据精简算法主要有三种,分别是:随机采样法,包围盒法和均匀网格法。随机采样法是指根据系统生成的随机数去删除与随机数相对应的点,直到点云剩余的总点数满足精简要求为止。这种方法具有很大的随机性,对数据的精简效果较差。包围盒法是指对点云数据生成一个能够包含所有数据的大立方体包围盒,再将这个大立方体包围盒分割成相同的小立方体包围盒,根据小立方体包围盒中包含的点云数据,找出其中最接近立方体中心的点数据,并用这个点来代替整个小立方体包围盒中的数据;均匀网格法实质上是对包围盒法的一种改进,它不是寻找最接近小立方体包围盒的点,它是计算小立方体包围盒中所有点的中值,用这个中值来代替小立方体包围盒中所有的点,如图6。

2.5 点云数据的拼合

在对被测物体进行三维扫描测量时,根据被测物体所处环境的不同和扫描仪器的限制,在扫描时很难一次性获得被测物体全部的点云数据信息,所以需要对被测物体进行分块式扫描,获得各块区的点云数据,再通过点云数据拼合将各块区数据进行拼接,从而获得被测物体表面的完整信息。

三维扫描测量系统通常会用到四种坐标系,分别是:扫描仪自身坐标系(Scanner'sOwn Coordinate System,SOCS)、相机坐标系(Camera Coordinate System,ccs)、大地坐标系(Global Coordinate System,GLCS)和项目坐标系(Project Coordinate System,PRCS)。在扫描过程中,SOCS和CCS相对于GLCS与PRCS是不断运动的,实现点云数据拼合需要对上述四种坐标系进行坐标变换.将它们统一转换到GLCS或PRCS下进行处理。由于是分块区进行扫描,这样采集到的点云数据会有部分重合,依靠这部分重合的点云数据可以实现不同块区点云数据的拼合,以达到显示被测物体表面的完整信息的目的。

在工程中通常使用“三点法”来寻找不同块区之间重合的数据。三点法的基本原理是根据不共线的三点可以确定一个平面的原理,找出相邻块区重合部分数据中对应的三点,通过这三点的位置关系来将不同块区进行拼合。

为实现上述过程,首先将所有的坐标系经过坐标变换统一变换到PRCS下,这种坐标变换关系可以用一个平移矩阵T和一个3x3的旋转矩阵P来表示。假设两个相邻的块区点云数据集合为U和V且U已经变换到PRCS下,U中的数据用(x,Y,Z)来表示,现在只需对V进行坐标变换,找到V中与(x,Y,Z)对应的点(x,y,z),这样一种对应关系可以用下式来表示:

(X,Y,Z)T=X'P(a, β,y)'(x,y,z)T+T

式中:λ为旋转尺度参数;(a,β,γ)为P的旋转参数,计算如P(a,β,γ)下公式(1)。

所以只要能够求解出λ,a,β,γ和T五个参数,就可以解出V在PRCS下对应(x,Y,Z)的坐标(x,y,z),这样可以确定不同块区的空间位置,从而实现点云数据的拼合。

3 结论

三维扫描技术中海量点云数据的预处理是对被测物体进行三维重建的一个很重要的环节,主要处理技术包括数据的去噪去失真、数据平滑、数据精简和数据拼合对齐四部分。在数据处理过程中还要注意避免过度处理,防止丢失被测物体表面原始信息。特别是在曲率变化较大的位置,保留尽可能多的点,确保有效信息不丢失。本文介绍了数据预处理技术各环节常用的方法,每种方法各有缺点,在以后的发展中,需要取各方法之利,避其弊,不断优化,在尽可能不损失有效信息的前提下,有效提高处理效率与质量。

参考文献

[1]刘尚蔚,朱小超,张永光等,多片点云数据拼接处理技术的研究[J].水利与建筑工程学报,2014,12 (01):121-124.

[2]孙晶晶,王金变,管玉.基于三维扫描技术的人体测量[J].天津工业大学学报,2012,31(05):30-33.

[3]刘宏,陶有丽,付家武.自由曲面扫描线测量点云数据处理技术[J].组合机床与自动化加工技术,2011(05):77-80.

[4]程杰锋,焦美.对逆向工程技术的点云数据处理的研究[J].科协论坛,2012 (05):8—9.

[5] Clarenz U,Droske D,Henn S.Computational Methods for NonlinearImage Regis tration[C]. MathematicalModels for Registration andApplications to Medcal ImagingMathematics in Industry, 2006: 81-101.

[6]LinsenL.PointCloudRepresentation [R]. Karlsruhe: Facultyof Computer Science,University ofKarlsruhe.2001.

[7]Choudhury P,Tumblin J.The TrilateralFilter for High Contrast Images andMeshes [C].Eurographics Symposium onRendering, 2003: 186-196.

[8]张鑫,王章野,范涵奇等.保特征的三维模型的三边滤波去噪算法[J].计算机辅助设计与图形学学报,2009,21(07): 936-942.

[9]邹学州,逆向工程点云数据预处理技术研究[D].哈尔滨:哈尔滨理工大学自动化学院,2017.

[10]何耀华,荣辉,非接触三维扫描测量数据的处理研究[J],重庆工学院学报,2006,20 (05):33-35.

[11]李凤霞,饶永辉,刘陈等,基于法向夹角的点云数据精简算法[J].系统仿真学报,2012, 24 (09):1980-1987.

[12]Sun W,Bradley C,Zhang Y F,et al.Cloud data modeling employing aunified non-redundant triangularmesh[J]. Computer-Aided Design(S0 010-4485),2001, 33 (02): 183-193.

[13]Martin R R,Strond I A,MarshalA D. Data reduction for reverseengineering. RECCAD, DeliverableDocument COPERUNICUS Project, NO.1608 [M]. Computer and AutomationInstitute of Hungarian Academy ofScience,January 1996.

[14]张永光,刘豪杰,尹小磊等,点云数据多站拼接在水利工程测绘中的应用[J].华北水利水電学院学报,2013,34 (03):74-77.

[15]朱凌.地面三维激光扫描标靶研究[J].激光杂志,2008,29 (01): 33-35.

[16]袁夏,三维激光扫描点云数据处理及应用技术[D],南京:南京理工大学,2006.

[17]官云兰,地面激光扫描数据处理中若干问题研究[D].上海:同济大学,2008.

[18]张舜德,卢秉恒,丁玉成,光学三雏形面分区域测量数据的拼接研究[J].中国激光,2001,28 (06):533-536.

[19]盛业华,张卡,张凯等.地面三维激光扫描点云的多站数据无缝拼接[J].中国矿业大学学报,2010,39 (02):233-237.