Wiki

Clone wiki

BaristaSource / GettingStarted / TestData_Affine

Affine

To run an affine bundle adjustment, ensure the project contains images, 3D ground control points in UTM coordinates and their corresponding 2D positions in the images. All these elements should be set active (highlighted green). Check your sigma values before commencing any processing.

1. Transform ground control points into UTM coordinates

Sensor Orientation with the affine model requires ground control points to be in UTM coordinates. Right-Click on the XYZPoints node 'GCP_WGS84Geographic' > Transform 3D Points > to UTM. The transformed coordinates will appear as a new XYZPoint node '3DtoUTM'. Change the sigma values and make them active by Right-Click on the XYZPoint node > Control > Set Active.

2. Compute Forward Affine for each Image

A forward affine must be computed for each image used in the bundle adjustment. The image measurements of the control points must be set active. Check the sigma values. Right-click the Image thumbnail > Compute Forward Affine.

A dialog box should notify you of Adjustment success or failure. On success, a node labelled ‘ForwardAffine’ will be added in the Items window under the corresponding image thumbnail. Double- Click on the ForwardAffine node will display the affine parameters A1- A8.

Repeat this for all images.

3. Affine bundle adjustment

Adjustments > Affine Bundle

A dialog box should notify you of Adjustment success or failure. On success, a XYZ node labelled ‘AffineBundle’ will be added in the Items window. Double-Click on the AffineBundle node will display the adjustment results.

4. Check your results

Image residuals can be viewed on any image used in the bundle adjustment. They appear as pink vectors originating from the point’s origin. If they are not visible, they may be too small. Pressing the + and - keys on the keyboard will scale the residuals. The scale factor can be found on the bottom edge of the display.

To compare the Adjustment calculated positions to the ground control points, Right-Click on the AffineBundle node > Difference by label. Select the UTM control points and select the units for coordinate differences (metres). A XYZdiff node will appear in the Items menu, storing the calculated differences between the adjustment results and the ground control results for each point and a corresponding RMS value. With this dataset, the RMS should be to the order of half a pixel (0.35 m).

5. Export Affine Parameters

Right-Click on the AffineBundle node under its corresponding Image thumbnail > Export Affine parameters. This allows easy import into another Barista project or into another software package.

Now the project has accurate sensor orientation, we can generate accurate 3D products, including monoplotting, orthoimage generation and pansharpening.

To Sample RPC-bias correction

A. Project setup
B. Image measurement
D. Monoplotting
E. Orthoimage generation
F. Pansharpening

Back to Sample Project Menu

Updated