摘要:
捆绑调整(Bundle adjustment, BA)是三维重建中的关键步骤,它需要消耗大量的计算时间和内存存储空间.本 文旨在处理三维点数比相机模型数多很多的捆绑调整问题,我们称之为针对大规模三维点集的捆 绑调整(Massive-points bundle adjustment, MPBA)问题.此类问题在对高分辨率图像进行三 维重建时会经常出现.为了高效地解决MPBA问题,本文提出一种分布式的捆绑调整算法.通过基 于三维点集划分的分解方法,原MPBA问题被分成若干子问题.该分解方法不依赖于输入参数的内在 联系,因而分解结果与具体BA问题无关.算法被映射于两个集群上,一个集群有5台计算机,另一个集 群有3台计算机,其中每台机器都配置一块图形处理器(Graphic processing unit, GPU).通过对若 干MPBA问题的实验,与经典捆绑调整算法SBA (Sparse bundle adjustment)相比,本文算法获得了 最高达75倍的加速比,并保持了算法的高精确度.而且,本文算法的两个实现所消耗的单机内存存储 空间,仅为SBA实现的1/7和1/4.
Abstract:
Bundle adjustment (BA) is a crucial step in 3D scene reconstruction but time and memory consuming. In this paper, we try to tackle a frequently encountered BA problem where the reconstructed 3D points are more numerous than the camera parameters, namely massive-points BA problem. This is often the case when high-resolution images are used. We present a novel distributed bundle adjustment (DBA) algorithm for efficiently solving the massive-points BA problem, where the original BA problem is divided into sub-problems by partitioning the 3D reconstructed points. Such a partition scheme is in dependent of the input parameters, it could be applied to various BA problems. Two specific implementations, one on a shared memory cluster of 5 computers and the other on a cluster of 3 GPU (Graphic processing unit)-integrated computers, are developed. These implementations are experimentally compared with the classical single-thread sparse bundle adjustment (SBA). Experimental results show that our algorithm is up to 75 times faster than SBA, while maintaining comparable precision. And the one-computer memory requirements of these two implementations are just 1/7 and 1/4 of the original SBA.