|
Multicore Bundle Adjustment
|
|
The emergence of multi-core computers represents a fundamental shift, with major implications for the design of computer vision algorithms. Most computers sold today have a multicore CPU with 2-16 cores and a GPU with anywhere from 4 to 128 cores. Exploiting this hardware parallelism will be key to the success and scalability of computer vision algorithms in the future. In this project, we consider the design and implementation of new inexact Newton type Bundle Adjustment algorithms that exploit hardware parallelism for efficiently solving large scale 3D scene reconstruction problems. We explore the use of multicore CPU as well as multicore GPUs for this purpose. We show that overcoming the severe memory and bandwidth limitations of current generation GPUs not only leads to more space efficient algorithms, but also to surprising savings in runtime. Our CPU based system is up to ten times and our GPU based system is up to thirty times faster than the current state of the art methods, while maintaining comparable convergence behavior.
|
| Paper |
|
Changchang Wu,
Sameer Agarwal,
Brian Curless, and
Steven M. Seitz,
|
| Software (written and maintained by Changchang Wu) |
|
pba(v1.0.4) (1MB, code and win32
binary, updated on 12/05/2011) The software is distributed under the
GNU General Public License V3.
|
| Recent changes (complete changelist, previous versions) |
|
12/05/2011
|
| Performance tuning for CPU implementation |
|
The thread number settings are coded
in function:
|
| Data |
|
The data used in the paper are from the Bundle Adjustment in the Large project. The only exception is the slightly larger Venice Final model. Some additional test data from UNC Landmark image reconstruction projects can be found here. |
| Documentation |
|
A short manual is available here, and more will
come ... |
|
|