General approach for lens distortion correction, is to take a picture of a checker board from the desired camera. Then import the image in lens correction software and let it figure out how much the straight edges of the checker board got distorted, then the lens correction software finds out necessary correction to straighten distorted edges and finally give a lens distortion equation.
Since a regular checker board printout will have same temperatures for the entire surface, it will be difficult to capture a checker board image with this approach.
Another option is to make checker board of high reflective material(silver foil etc.), this will result in much darker alternate (metallic) checkers. But this approach requires a lot of design work.
I devised another approach as follows:-
I review the frames and find out several images with following properties:-
- Very flat surface.
- Lots of details e.g. intersection, roads, sharp edged features etc.
- Close to zero pitch & roll values from orientation data.
Note: I have to do this only once for a particular lens.
- Then select one of the image that fits best to the above criteria. And rectify it to the ortho rectified MS mosaic or recent NAIP.
- Then rectify (at polynomial order 1) the above (step 1) image to original un-rectified image. This will strip off the geo-referencing information. This leaves us with an image which is corrected for lens distortion and have same co-ordinate system as raw (input) image.
- Use this jpg as a basemap for the raw (distorted) images and rectify it by putting several tie points in ArcMap and save the tie point file. This tie point file is your lens calibration model.
- Now all the 16 bit tiff’s can be corrected in batch mode by using the tie point file generated above.