I am trying to understand the basic principles of 3D reconstruction, and have chosen to play around with OpenMVG. However, I have seen evidence that the following concepts I'm asking about apply to all/most SfM/MVS tools, not just OpenMVG. As such, I suspect any Computer Vision engineer should be able to answer these questions, even if they have no direct OpenMVG experience.
I'm trying to fully understand intrinsic camera parameters, or as they seem to be called, "camera instrinsics", or "intrinsic parameters". According to OpenMVG's documentation, camera intrinsics depend on the type of camera that is used to take the pictures (e.g., the camera model), of which, OpenMVG supports five models:
- Pinhole: 3 intrinsic parameters (focal, principal point x, principal point y)
- Pinhole Radial 1: 4 intrinsic params (focal, principal point x, principal point y, one radial distortion factor)
- Pinhole Radial 3: 6 params (focal, principal point x, principal point y, 3 radial distortion factors)
- Pinhole Brown: 8 params (focal, principal point x, principal point y, 5 distortion factors (3radial+2 tangential))
- Pinhole w/ Fish-Eye Distortion: 7 params (focal, principal point x, principal point y, 4 distortion factors)
This is all explained on their wiki page that explains their camera model, which is the subject of my question.
On that page there are several core concepts that I need clarification on:
- focal plane: What it is and how does it differ from the image plane (as shown in the diagram at the top of that page)?
- focal distance/length: What is it?
- principal point: What is it, and why should it ideally be the center of the image?
- scale factor: Is this just an estimate of how far the camera is from the image plane?
- distortion: What is it and what's the difference between its various subtypes:
- radial
- tangential
- fish-eye
Thanks in advance for any clarification/correction here!