  3D reconstruction has been developing all these two decades, from moderate to
medium size and to large scale. It's well known that bundle adjustment plays an
important role in 3D reconstruction, mainly in Structure from Motion(SfM) and
Simultaneously Localization and Mapping(SLAM). While bundle adjustment
optimizes camera parameters and 3D points as a non-negligible final step, it
suffers from memory and efficiency requirements in very large scale
reconstruction. In this paper, we study the development of bundle adjustment
elaborately in both conventional and distributed approaches. The detailed
derivation and pseudo code are also given in this paper.
