论文部分内容阅读
逆向工程中的点云孔洞修补作为计算机视觉中三维重建领域重要的研究方向之一,近些年呈快速发展趋势,受到人们的广泛关注。一般情况下,利用激光扫描仪可快速并准确地获取物体模型的点云数据,获得的点云数据密度和精度较高。但是在获取物体模型的点云数据时,物体模型因为遮挡、模型本身的不完整等因素,造成点云数据的缺失,对物体的三维重建过程造成一定的影响。在物体模型的修复过程中,国内外学者也尝试过多种修补方法,均有较好的效果。鉴于近些年深度学习在图像的识别、目标的检测等方面的良好效果和广泛应用,本文引入深度学习的图像目标检测方法。本文针对采集的散乱点云数据采用八叉树的数据结构对点云数据完成从整体到局部的分解,进而完成点云模型的分层运算。通过空间映射获得3个方向的二维坐标,采用CNN卷积神经网络提取点云模型的孔洞特征,根据提取的孔洞特征,构造相应的稀疏表示分类模型,并计算各类别的残差,生成点云孔洞的边界,获得纯净的孔洞区域,进而完成多边形孔洞的填充。当使用多隐层CNN卷积神经网络对点云孔洞修补时,由于网络规模较大、运算过程复杂等因素造成算法的运行效率较低。针对大量散乱点云数据的计算问题,结合现今常用的并行计算技术,如CPU加速、GPU加速和CPU+GPU混合并行技术对点云孔洞修补算法进行优化,从而快速降低算法的运行时间,提高算法的运行效率。论文的主要工作如下:1、针对散乱点云模型,采用基于八叉树的数据结构,将散乱点云数据模型的空间进行划分并存储到八叉树数据结构中。2、针对一般的点云孔洞修补算法,本文给出一种基于八叉树结构的CNN卷积神经网络的点云孔洞修补算法,该点云孔洞修补算法可有效提取模型特征,采用多边形孔洞填补算法对提取的点云孔洞进行相应地填充。3、针对基于CNN卷积神经网络的点云孔洞修补算法中存在的热点部分,结合多核CPU和GPU技术进行优化,本文主要采用三种优化方法:基于OpenMP的算法优化、基于CUDA的算法优化和基于OpenMP+CUDA的混合并行算法优化。4、分析比较算法优化前和优化后的性能变化,本文主要分析比较算法的运行时间,算法的运行效率、算法的加速比和算法的准确性。实验表明,本文给出的基于多隐层CNN卷积神经网络的点云孔洞修补算法能很好地修补点云模型表面残缺的孔洞,采用基于OpenMP和CUDA的并行计算技术,优化后算法性能有了明显地提升。