Automated Camera Calibration

Repost from

In a previous post on camera calibration, we discussed the possibility of setting up calibration flights that have the following characteristics: non-parallel (converging) flightlines of 20° with a 5° forward facing camera (assuming 0° is nadir). With OpenDroneMap’s --camera parameter, we can thus import camera models from a calibration flight and use that in a more efficiently flown “traditional” flight plan.

The underlying challenge becomes what is the cadence of such calibration flights? If I fly a calibration flight in the AM at one temperature, and the afternoon is substantially warmer or cooler, when do I need to repeat the calibration flight? Equally, what is the longer term cadence for changes such as drift in camera calibration parameters from long-term changes to the camera induced by aging, vibration and other factors.

So, I have been thinking through a thought experiment for the last few days: how with existing flight planners can we plan a flight that is both efficient and contains converging flight lines needed for automated calibration? Here’s what I propose:

Fly with much lower overlap than normal, but using two crossgrid flights (sometimes called crosshatch) separated by 20° with a 5° forward facing camera.

  • Crossgrid overlap percentages can be lower than parallel flights. To get good 3D results, you will require 68% overlap and sidelap for an equivalent 83% overlap and sidelap.
  • To get good 2D and 2.5D (orthophotos and digital elevation model) results, you will require 42% overlap and sidelap for an equivalent 70% overlap and sidelap.

animation showing experimental optimum

The one concern I have with this approach is that it is difficult with existing planners to ensure the even distribution of images across the pairs of cross flights. This is probably OK for larger values of overlap, but could be problematic when targeting 2 and 2.5D datasets.

I am hoping we can do some testing of this approach this week, but interested in seeing the idea out in the wild for others to try too.

1 Like

I would definitely be interesting in seeing other folks experiments in this space.

Hey. This weekend I collected a dataset over a small area to try and calibrate my Mavic Pro.
I did 6 flights total; 3 altitudes, 30, 40 and 60m, with orientations of 80 and 100 degrees for each altitude. (Unfortunately all nadir images as I couldn’t get drone deploy to set a consistent 5 degree pitch).
I’m still playing around with the data myself, but if you’d like me to try and upload the images somewhere, or if you’ve got any suggestions on what test routines or outputs I should be looking at, let me know!

My initial reaction is that this will likely require a good amount of overflight around the boundaries of the survey area to ensure sufficient tie points at edges/corners for stitching. I’ve over-optimized myself in the past and dropped corners of fields I was surveying…

Try using Map Pilot, I use it instead of drone deploy. Map Pilot Pro

What if you fly with the camera at 5 degrees from nadir all the time?

It certainly helps reduce overly aggressive self-calibration of the lens model.