Photogrammetry is extremely compute-intensive, but it is embarassingly parallel. You need to compute feature points in all your images (which is generally fairly fast, even if you use something like SIFT). Then you have to match features which, in the worst case (non sequential images) is a brute-force N^2 problem where each N (images) might have several thousand potential keypoints. Once you've done that, you do some non-linear optimisation (typically Levenberg Marquadt or some variant) to solve for pairwise camera parameters, orientations and feature point locations. The joint problem is called bundle adjustment and you might have millions of points to solve for. Finally you have to mesh all these points together using I guess something like Delanuey triangulation.
Even on a good desktop processor, it can take hours for a small scene. You really want a GPU for it.
Comments
Photogrammetry is extremely compute-intensive, but it is embarassingly parallel. You need to compute feature points in all your images (which is generally fairly fast, even if you use something like SIFT). Then you have to match features which, in the worst case (non sequential images) is a brute-force N^2 problem where each N (images) might have several thousand potential keypoints. Once you've done that, you do some non-linear optimisation (typically Levenberg Marquadt or some variant) to solve for pairwise camera parameters, orientations and feature point locations. The joint problem is called bundle adjustment and you might have millions of points to solve for. Finally you have to mesh all these points together using I guess something like Delanuey triangulation.
Even on a good desktop processor, it can take hours for a small scene. You really want a GPU for it.