Title: Airborne Camera Calibration for TerraPhoto
1Airborne Camera Calibration for TerraPhoto
- Arttu Soininen
- Software developer
- Terrasolid Ltd
2Why Airborne Calibration?
- Camera works in similar conditions as when
collecting project data - Airborne calibration is a true measure of how
accurately the system works - Derive parameters with TerraPhoto itself to
- Avoid hassle of converting values from a
laboratory calibration document - Derive values that work best for TerraPhoto
3Calibration Result
- TerraPhoto camera calibration which works from
one project to another - We will still need to fine tune camera
misalignment angles heading, roll and pitch for
each flight session (IMU initialization offset) - Rest of calibration stays constant
4Calibration Site
- Site with easily identifiable features on the
ground - Paint markings on asphalt work nicely
- Site where most of the area is not covered by
vegetation with significant height (trees,
shrubs, tall grass) - (Optional) Some control measurements on the
ground to fix LIDAR ground model to be at the
correct elevation - Parking lots, airports, ...
5Flight Pattern
- At least 4 flightlines at low altitude
- At least 2 flightlines at medium altitude (gt 2.0
low) - (Optional) 1 or 2 flightlines at high altitude (gt
3.0 low) - At least 20 images in total
Top view, low and medium flightlines
3d view, low and medium flightlines
6Input Data for Calibration
- Laser model keypoints defining ground
- Trajectory (sbet.out, IPAS .pos, .lpo, .cte, ...)
- Image timing file
- Raw images
- Lever arm vector
- Timing offset (often 0.0)
7Lever Arm Vector
- Defines a vector from input trajectory positions
to camera focal point - If input trajectory computed for GPS receiver,
lever arm is from GPS receiver to camera - If input trajectory computed for laser scanner,
lever arm is from laser scanner to camera - If input trajectory computed for camera, lever
arm is 0.0, 0.0, 0.0 - Must be known beforehand
- 1 cm accuracy level
- Solving misalignment for each flight session
compensates for small inaccuracy
8Starting Values Calibration Document
- Use outside calibration document if TerraPhoto
has a builtin conversion for it - Leica RCD
- Rollei
- US / Applanix
9Starting Values No Document
- If no calibration to convert, enter values for
- Image width
- Image height
- Plate width (image width)
- Plate height (image height)
- Timing offset (usually 0.0)
- Lever arm
- Orientation
- Principal point z
- Zero radius
- Leave all other fields as zero
10Starting Values Principal Point Z
- Use pixels as the unit for principal point
- Usually the approximate focal length is known in
millimeters and CCD pixel size is known - Compute starting value as
- Value -Focal length (mm) / Pixel size (mm)
- Example
- Focal length is 50 mm
- Pixel size is 0.0068 mm
- Value -50 / 0.0068 -7353
11Starting Values Zero radius
- Zero radius functions is the preferable model for
radial lens distortion - Choose a radius which fits inside the image
- Slightly less than half of the smaller dimension
(width or height) - Examples
- Image size is 7228 5428 pixels, use 2500
- Image size 3056 2032 pixels, use 1000
R
12Calibration Workflow Phase 1
- Compare images and laser data in a camera view to
make sure images fall roughly in the right
location
13Calibration Workflow Phase 2
- 1. Enter tie points, enter more tie points or fix
bad tie points - 2. Solve and apply misalignment angles using
Output report command in Tie points window - 3. Solve principal point z using Solve parameters
command in Define Camera window and apply - 4. Go back to step 1 until images have a good
number of tie points (10 or more per image)
14Calibration Workflow Phase 3
- 1. Solve and apply misalignment angles using
Output report command in Tie points window - 2. Solve all other solvable parameters using
Solve parameters command in Define Camera window
and apply - 3. Go back to step 1 until there is no more
improvement in the average mismatch distance
15Timing Offset
- When flying is steady and straight, timing offset
correlates with lever arm y component - To verify timing offset, it may be beneficial to
add one or two low altitude flight passes with
unstable flying (changing roll all the time on
purpose) - TerraPhoto currently has no automatic solution
for timing offset - User has to try different values manually to find
the one which gives the best results
16Example Calibration Optech / Rollei
- Rollei 7228 5428 pixel camera
- Four flight passes at 600 m altitude
- 24 images, 8 cm pixel size
- Two flight passes at 1500 m altitude
- 6 images, 20 cm pixel size
- One flight pass at 2500 m altitude
- 3 images, 33 cm pixel size
17Example - Passes Image Footprints
18Example Site
19Example Results in Tie Points
- Mixture of 8 cm, 20 cm and 33 cm pixel size
images average tie point pixel size about 20 cm - Starting average mismatch 9.07 cm
- Adjust positions statististics
- Final average mismatch 7.05 cm
- Avg heading change magnitude 0.005 deg
- Avg roll change magnitude 0.002 deg
- Avg pitch change magnitude 0.003 deg
- Avg elevation change magnitude 5.5 cm