论文部分内容阅读
随着信息技术的迅猛发展以及计算机性能的逐步提高,人们对于计算机的要求也越来越高,处理器也朝着专用化和通用化两个方向发展。在科学计算等领域,随着研究内容的扩展和算法复杂度的提高,人们对计算的资源和耗时都提出了更高的要求,给相关领域的研究带来很大的挑战。此时,作为高性能计算的图形处理器GPU应运而生,并由NVIDIA公司于2007年推出统一计算设备架构CUDA,能充分利用GPU强大的并行计算能力和存储器带宽,为科学研究带来了很大的方便。另一方面,三维重建一直是计算机科学领域当中一个非常活跃的课题,凭借其在计算机视觉和计算机图形学、以及三维动画等领域中广泛和深入的研究,已经成为了近几年来国际上的研究热点。其中,人脸是情感表达和身份识别的重要载体,因而凭借其特有的普遍性和易用性成为众多专家学者进行三维建模的研究对象。
本文首先介绍了GPU体系结构的演变和CUDA编程的相关理论知识,对CPU架构和GPU架构的不同进行了讨论,对CUDA的编程模式和CUDA的存储模型进行了简单分析,随后介绍了GPU并行计算在三维重建中的两个重要应用。接着对三维重建的过程进行了详细分析,通过对目前现存的主流特征点检测算法的研究,以人脸为研究对象,提出了基于ASM模型的三维人脸重建算法。通过对当前存在的各种网格细化方式的分析,本文采用了LOOP网格细化方法对初步形成的三维人脸进行了改进,通过细化,将原本非常粗略的网格细化为辨识度较高并且比较接近真实模型的网格。最后在LOOP细化的基础上,对在CUDA平台上实现三维人脸重建的可行性进行了分析。
在经过验证后,本文设计了基于CUDA平台的LOOP细化算法,并对实验结果进行了分析和研究。实验结果表明,在计算量不是很大的情况下,单独用CPU开发和在CUDA平台上开发的效率相差不大,而随着细化的次数增加,对计算量的要求越来越大,GPU强大的并行处理能力开始得到体现,细化次数越多,GPU的加速比越大。