论文部分内容阅读
三维模型处理技术广泛应用于计算机辅助设计、虚拟现实等众多领域。随着计算机软硬件技术的高速发展以及精密测量技术的出现,三维模型处理技术得到了快速地发展,同时也面临着新的挑战。许多之前的算法受到计算机存储空间大小,运算能力或网络带宽等限制而不能很好地达到预期效果。近年来图形处理器(GPU)发展迅速,统一计算设备架构(CUDA)的出现给基于GPU的众核高性能计算带来了革命性的进步。遗憾的是,现有的三维模型处理算法大多并不能直接应用到众核处理系统上,这是由于其计算并行性和存储访问并行性并不明显,不能充分发挥众核系统的性能。针对这一问题,本文在CUDA架构下,对众核环境下的若干三维模型处理技术进行了研究,取得的成果可以概括为如下几个方面:
介绍了GPU通用计算及其应用,对CUDA的软件结构,线程结构,存储器结构等进行了介绍,并总结了CUDA程序性能提升的技巧。
提出了一种基于CUDA的点云双边滤波光顺去噪算法。将双边滤波去噪算法细分成点云空间划分,K邻近搜索,法矢估算以及光顺四个独立的且并行程度非常高的步骤。设计了基于CUDA的点云空间平均单元格划分算法及数据结构有效提升点云的划分效率,设计了基于CUDA的空间K邻近搜索算法,改进了点云法矢估算方法提出了高斯加权迭代的法矢计算方法能够有效改善法矢估算效果,并在光顺过程中加入了邻近点的面积影响因子能够缓和过光顺,最后通过实验验证了算法的有效性。
提出了一种基于CUDA的三角网格模型相似度计算算法。设计了基于CUDA的三角网格模型空间平均单元格划分的数据结构及算法,首先通过一次遍历来确定模型划分所占的空间大小,第二次遍历执行模型的划分。在模型划分的基础上对模型进行采样,并设计了Hausdorff距离计算的核函数,最后通过颜色映射返回计算结果,实验表明该算法能够取得较好的性能。
提出了一种基于CUDA的三角网格模型求交算法。在网格模型空间平均单元格划分的基础上,设计了基于CUDA的碰撞检测与交点计算算法,该算法充分利用了CUDA的共享存储空间,并通过线程同步操作来完成重复点的剔除及交点的返回。