论文部分内容阅读
近年来,随着图形处理器(GraphicProcessingUnit,GPU)通用计算框架的普及,GPU被越来越多地用于计算机视觉领域的快速算法实现。本文旨在探索基于GPU的三维快速重建方法,包括特征提取、特征匹配和捆绑调整等。本文的主要工作有:
①基于GPU的特征点提取与匹配。针对高分辨率图像,实现了一种基于GPU的SIFT(Scale-invariantfeaturetransform,SIFT)特征点提取和匹配算法(KD树搜索),并与对应的CPU实现进行了系统比较。比较实验使用Oxford的经典图像数据库和我们自采集的高分辨率图像数据库。实验结果表明,基于GPU的实现和CPU的实现能提取出95%左右的相似特征点。对于视角变换、尺度变换、旋转、模糊和光照变换等各种图像变换,两种算法实现的特征点重复率和匹配率相当,但GPU实现可获得高达13倍(特征提取)和43倍(特征匹配)的加速比。上述结果表明,基于GPU的实现与基于CPU的实现一样可靠,在具体应用中完全可以安全使用。
②基于多GPU和多核CPU的并行捆绑调整算法。为了有效地解决每幅图像中存在大量特征点的捆绑调整问题-MPBA(Massive-PointsBundleAdjustment,MPBA)问题,提出了一种基于多GPU和多核CPU的并行捆绑调整算法。算法不需要消耗大量显存,有利于在大规模捆绑调整问题上使用。使用高分辨率图像数据库,我们生成了若干MPBA问题,并对几种捆绑调整算法进行了系统评估。与经典稀疏捆绑调整算法(SparseBundleAdjustment,SBA)相比,本文算法在保持算法精度的前提下获得了计算效率的显著提升。针对MPBA问题,本文还研究了几种捆绑调整的加速策略。
③基于集群的分布式捆绑调整算法。针对大规模的MPBA问题,提出了一种分布式的捆绑调整算法。为了分解大规模MPBA问题,提出了一种基于三维点集划分的分解方法。该分解方法不依赖于输入参数的内在联系,因而分解结果与具体捆绑调整问题无关。针对不同的集群配置,提出了两种分布式的线性方程求解方法。为了测试本文方法的有效性,将算法映射到两个集群上,一个集群有5台计算机,另一个集群有3台计算机,其中每台机器都配置一块GPU。与单机版经典捆绑调整算法SBA相比,本文算法在保持算法精度的前提下获得了计算效率的显著提升,且本文算法的单机内存消耗显著减少,具有良好的可扩展性。
④基于GPU和Kincct的快速物体建模及精度评估。本文提出了一种基于GPU和多个Kinect传感器的快速物体建模方法,以及对该方法的精度评估。本文方法主要分为两步:一是系统的初始标定,二是全自动的物体建模。对于系统初始标定,提出了一种简单易用的粗标定方法。对于物体建模,提出一种全自动的快速物体建模方法。针对Loop-Closure问题,提出了一种全局的点云配准方法。针对模型融合问题,提出一种对多个点云进行快速融合的方法。本文方法鲁棒性高,在出现点云配准错误时仍然能够稳定地得到较理想的重建模型。我们将本文的物体重建结果与三维激光扫描仪获得的真实物体模型进行了系统比较。实验结果表明,基于Kinect重建的物体模型不仅具有较好的视觉效果,而且其平均残留误差与激光扫描仪重建的物体模型相似(在0.763mm-2.473mm之间),相对误差小于2.0%,能够满足一般应用的需要。将本文方法应用于有遮挡物体的重建,也取得了较好的重建效果。此外,本文还提出一种基于Kinect的人体建模方法。该方法能够重建出较完整的人体头部模型。