论文部分内容阅读
三维激光扫描技术已经得到了长足的发展,虽然其在硬件方面发展迅速,但是也不可避免的存在一些问题:在采集点云数据时,往往会因为仪器自身的设计特性,往往导致点云数据分布不均匀,并且在实际的扫描环境中,可能由于视线遮挡或工作人员操作不当,孔洞问题时常出现;海量点云数据给数据的显示、处理、存储带来较大困扰。针对当下孔洞修复算法或效率不高或效果不好的问题,本课题提出一种较为高效且修复效果较好的算法;目前已有的基于法线的精简算法虽然能对点云数据进行较大程度的精简,且能较好的保留点云的局部细节,但是该方法对数据点特征值的求解不够准确且精简效率也不足够高,基于此,本课题在此基础上对该方法特征值的求解过程进行了改进并提出一种自适应的空间划分方法。为了方便展示本课题算法处理的结果,本课题基于Qt、OpenGL、PCL构建了点云数据处理平台,并选用曲面特征较为复杂的多组实验数据进行了实验且达到了预期的效果。本课题的主要工作如下:(1)点云数据均匀化。针对三维激光扫描仪采集数据不均匀的问题,在已有均匀精简算法的基础上,论文先采用一种基于邻域分析的去噪算法对数据进行去噪,再根据均匀精简法算法的流程先求解数据的最小外包盒,最后通过设置步长来进行体素划分,对每一个体素仅保留其重心。(2)提出了一种基于移动最小二乘的点云孔洞修补算法。本课题采用对数据点的邻近域进行分析的方法来对边界点进行提取;对于边界点中的噪声点采用前文提及的去噪算法进行去噪,针对目前已有的根据边界点走向的方法来区分孔洞内外边界效率不高的问题,本研究采用欧式聚类来区分孔洞的内外边界;为了使孔洞填充区域待插入的数据点密度与点云数据的密度保持一致,本课题基于移动最小二乘原理通过自适应的设置步长来对孔洞区域进行填充。(3)提出了一种改进的基于点云法线的精简算法。针对现有的基于法向的精简算法估算特征值不够准确的问题,本课题首先对数据点的法向进行估计;再分别求解该点的法向量与其邻近域内各点的法向量的点积(即两向量间夹角的余弦值)。为了考虑数据点局部邻近域内的法线朝向的复杂程度,继续对以上的值作相关计算,并把最终的解算结果作为该数据点的特征值,根据该特征值把数据点按照由低到高的秩序划分到对应的区间内,为了最大程度的提升算法的处理效率,本课题提出一种自适应的空间划分方法,即曲面特征不同的点云数据其对应的空间划分块数也不同。并且针对该算法整体精简比例的不灵活性,本课题通过设计相关的精简策略能对点云数据进行任意百分比的精简。(4)点云数据处理平台构建。本课题基于Qt、OpenGL、PCL构建了点云数据处理平台以期对实验结果进行合理的展示。并且基于此平台,本课题做了大量实验且多次的实验结果表明本课题算法具备较强的可行性与鲁棒性。原始点云数据经过均匀化处理后确实对局部冗余的数据点进行了较好的过滤,点云数据量在一定程度上得到降低;经过孔洞修复处理后的点云数据几乎能与被测物体保持一致,且其处理效率更高;本课题精简方法能精简掉大部分特征不够明显的数据点,但是对点云数据的特征保留效果较好;点云处理平台在实际的算例实现过程中表现也较为稳定。