I'm currently developing a multi-view stereo system but I'm confused as to how all the standard equations in Structure from Motion are affected in the presence of radial and decentering distortion. For example, the standard imaging model is that of

a) World to Camera Coordinates --> translate to camera center and rotate to match orientation of camera (R,t)

b) Perspective Projection --> x = fX/Z and y = fY/Z

c) Conversion to Pixel Coordinates --> scale by no. of pixels/m and add principal point (b and c can be combined into matrix K)

As a result, we can build a projection matrix P = K[R|t]. Thus a point X in world coordinates can be represented in pixel coordinates as u = PX.

We can also create a fundamental matrix F between two images such that a pair of corresponding point (f on image I1 and f' on image I2) satisfy the epipolar constraint;

x'Fx = 0.

The matrix F depends upon the matrix P. But, my question is that if we incorporate radial and decentering distortion, the matrix P can no longer represent the imaging model. How do we get an epipolar "curve" representation ?

Moreover, for things like triagulation back to 3D coordinates from 2D point.. how do we do it ?

  • $\begingroup$ I am currently involved in a project related to structure from motion. and i have a problem using VisualSfM. I could not understand the following terminologies: 1)NOTE: inlier ratio 62%, 62% 2)Radial Distortion : [0.138 -> 13] 3)#unstable points removed: 4) too few projection inliers I am keen to know the meaning of these terminologies, what they mean to say? $\endgroup$
    – user8529
    Apr 9, 2014 at 8:18
  • $\begingroup$ @shangharshathapa: Please do not post questions as answers. If you have a question, please ask it as a question. I have converted your "answer" (which is NOT an answer) to a comment. $\endgroup$
    – Peter K.
    Apr 9, 2014 at 15:11

1 Answer 1


If you know the radial distortion parameters (e. g. by calibrating the cameras), then you should simply compensate for the distortion before you do structure from motion. You can either undistort the images before you do anything else, or you can undistort the coordinates of the points that you are trying to match.

  • $\begingroup$ I'm doing this right now.. but don't you think its an expensive operation to remove radial distortion for all the images in the set of images that I'm going to process? For example, when triangulating from two corresponding features (x,x'), I find two other points (u,u') that are close to (x,x') respectively in their images such that d(x,u) and d(x',u') is minimized. But I include the constraint that u'Fu = 0 (to ensure the backprojected rays intersect). I don't know how to include the epipolar constraint if radial distortion still exists. $\endgroup$
    – Mustafa
    Oct 26, 2012 at 21:06

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.