论文部分内容阅读
计算机三维重建技术是计算机辅助设计与计算机图形学中的一个重要的研究领域,它是指对三维物体建立适合计算机表示和处理的数学模型,是在计算机环境下对其进行处理、操作和分析其性质的基础,也是在计算机中建立表达客观世界的虚拟现实的关键技术,包括数据获取、预处理、点云拼接和特征分析等步骤。对于逆向工程中的三维重建,其数据主要来源于三维扫描仪。用三维扫描仪获取物体表面的坐标点数据,然后将这些数据交给建模软件来进行网格化渲染等操作,以实现三维重建。其中,点云数据的网格化是一个比较耗时的过程,对于百万级数量的点云,网格化需要数分钟才能完成。而且,扫描操作相对是一个比较慢速的过程,用户不能交互式的观察扫描结果。因此,提高点云数据的网格化速度对于三维重建效率的提升显得尤为重要。随着GPU的发展,其并行数据处理能力已经大大超出同价位的CPU。本文针对GPU的特性进行了分析,提出了GPU的并行网格化算法,相对于CPU的网格化算法,速度提升了一个数量级。我们将其应用于三维扫描仪,对于扫描后的点云数据网格化,速度有了大幅提升,而且使得在扫描三维物体时,能实时的对已扫描数据进行网格化重构,实现了扫描过程中的交互显示。在数据处理阶段,提出了一种利用GPU快速创建八叉树的算法,它具有两个非常新颖的特征:第一,充分利用GPU的细粒度并行特性实现实时构建八叉树。不同于传统方法的是,GPU创建八叉树时按照层次顺序遍历:每次运算时,并行处理同一深度的八叉树节点,最大化GPU的并行性能。第二,为了实现树节点的快速访问,本文在八叉树数据结构中添加了指向邻域的指针并建立查找表,使得GPU重建算法效率高于CPU算法。文章最后对上述方法进行了实验验证,结果表明,本文提出的方法能够明显的加速网格化重建过程。实现这些并不需要提高硬件成本,普及了三维扫描仪以及三维重构的应用。本文研发的基于GPU加速的三维扫描重建系统已经在山东、陕西、浙江、江苏等多家企业得到应用,用户的实际应用结果说明了本文提出的方案具有可行性。