Forum

Author Topic: A better way to calibrate cameras  (Read 7580 times)

tksharpless

  • Newbie
  • *
  • Posts: 5
    • View Profile
A better way to calibrate cameras
« on: February 02, 2024, 08:52:50 PM »
Many panoramic photographers now use motorized robot rotators that can position a camera with milli-degree accuracy. These devices turn the camera around a fixed point, so are not suitable for acquiring images for photogrammetry. However they do make possible a new way of calibrating cameras and lenses, that is both more convenient and more accurate than traditional methods based on special targets. In brief, one takes a series of photos of any suitably detailed large subject, turning the camera by a small angle between shots, and processes them with a panorama stitcher set up to estimate just the camera parameters, the pointing angles being given.
Suitable tools for this are the Fanotec Nodal Ninja Mecha robots and PTGui, the professional stitching software. Mechas cost little and are accurate enough.  PTGui works similarly to a sfm tool, identifying matching keypoints and aligning them by a kind of bundle adjustment. The estimation problem is simpler because the photos all have the same viewpoint; consequently the camera parameters are usually very accurate -- especially so when accurate view directions are provided a priori.
Unfortunately PTGui's lens model differs considerably from any of the ones supported by MetaShape, so there is no possibility of a direct transfer of parameters. However, I think it would be worthwhile to explore possible ways to overcome this barrier, as the robot calibration method really is superior.

ilia

  • Jr. Member
  • **
  • Posts: 79
    • View Profile
Re: A better way to calibrate cameras
« Reply #1 on: February 04, 2024, 04:22:57 PM »
PTGui for an examle do not estimate lever arm between optical centers, which is usual case for many panoramic cameras or rig setups.
But maybe I'm missing the idea here. May I ask you to rephrase it? Like what is the idea and why it would be better than any other calibrations setups using targets?

tksharpless

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: A better way to calibrate cameras
« Reply #2 on: February 05, 2024, 11:13:31 PM »
My suggestion is not about finding camera poses, but rather establishing the internal camera parameters that determine the mapping between incoming rays and image positions; specifically the principal point, focal length and distortion parameters.  These are critical to accurate modeling, and best practice is to estimate them by a calibration procedure that is independent of the model data set .

The traditional calibration method relies on photos of charts having known structure, usually a planar chess board pattern. This is the method supported by MetaShape software.  It works well for rectilinear lenses of long focal length, but not well for wide-angle and fish-eye lenses, which are actually more useful for large scale modeling.  The main problem is that a chart of practical size, presented at a realistic working distance, covers only a small part of the field of view of such a lens.  Placing the chart close to the lens is not a good solution, because at that distance the distortion function can be quite different from the one for a subject at normal working distance.

The robot panohead method uses photos taken at normal working distance, and substitutes known camera pointing angles for known subject structure. I know from experience that it finds very accurate and repeatable lens parameters.  That includes the principal point, which is fundamental to accurate distortion correction but is so difficult to estimate from model data that the default in MetaShape is to not even try.  This is unfortunate, because the principal point depends on mechanical factors that can change from one shoot to the next, namely play in the lens mount and temperature.  Best practice with a removable lens camera is to shoot a calibration series at the same time as the model images, with the lens held firmly in position for example by an elastic cord. 

tazzo

  • Full Member
  • ***
  • Posts: 162
    • View Profile
Re: A better way to calibrate cameras
« Reply #3 on: February 06, 2024, 02:18:40 AM »
You can't have an absolute fixed calibration because every time will be slightly different. Metashape calculate from images the calibration parameters, chessboard calibration can be useful as a starting point only. Main issue is that focus change the focal lenght, then bringing lens around the world may decenter glass inside and other issues..

ilia

  • Jr. Member
  • **
  • Posts: 79
    • View Profile
Re: A better way to calibrate cameras
« Reply #4 on: February 09, 2024, 09:15:56 PM »
Potential solution would be to place markers and in a room, if needed -- measure distances between them. And shot several images covering as much as possible.

tazzo

  • Full Member
  • ***
  • Posts: 162
    • View Profile
Re: A better way to calibrate cameras
« Reply #5 on: February 12, 2024, 03:14:43 AM »
This is done by scale bars, you have two markers with a fixed distance