I've been working for a while on 3D building reconstruction from old photos (c. 1904). In all of these cases, the cameras and buildings are long gone, making standard camera calibration impossible. To even get an affine reconstruction, the only thing I have to rely on (that I know of) is vanishing points.

Even ignoring image measurement error, vanishing points have a few problems:

  1. I'm at the mercy of the craftspeople who built the buildings. In many cases, the allegedly parallel lines don't converge very well to a single point. And the actual orthogonality of the vanishing points is unknown.
  2. I'm at the mercy of the photographer. In most cases, the photos are nearly 2-point perspectives. There is usually enough tilt that I can estimate the third vanishing point, but it's a poor estimate, and it's often a couple of orders of magnitude further away than the other two, which I assume further degrades the estimate.

Initially, I had hoped that I could get a rough reconstruction and improve it by manually "tweaking" the vanishing points. Unfortunately, there's no clear relationship between the reconstruction error and the vanishing point error. I've looked some at bundle adjustment, but in most cases I only have a few photos that include any particular feature.

Does anyone have any suggestions of how to improve or supplement the vanishing point accuracy? Here are a couple of things I've tried:

  1. Calculate the trifocal tensor from three images, and use it to check the accuracy of a vanishing point by transferring the same vanishing point from the other two images.
  2. Manually correct the reconstruction, find the (3D) homography between it and the original reconstruction, and use this to correct the cameras.

Do these seem reasonable? Does anyone have any other/better suggestions?

  • $\begingroup$ I think you're on the right track with your combination of using more images and doing manual reconstruction. I wouldn't stop at three images, though -- I'm sure it'd dramatically increase both the computational burden and even introduce conflicting data, but I'd use as many images as I could get. Possibly back it up with old maps, building plans if available, and any available archeology. $\endgroup$
    – TimWescott
    Dec 27 '20 at 0:55
  • $\begingroup$ @TimWescott, I don't know a way to do more than three images at once (I've read about a quadrifocal tensor, but I'm not sure it's worth the effort for one more image). Unless I could do a sort of bundle-adjustment of just the vanishing points over multiple images... $\endgroup$
    – Jabberwock
    Dec 29 '20 at 2:00
  • $\begingroup$ You'd end up with an overconstrained problem, and having to do some sort of best fit. Whatever else it would be, it would be mathematically nasty. $\endgroup$
    – TimWescott
    Dec 29 '20 at 3:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.