UAS Imagery Processing

Center for Geospatial Analytics at North Carolina State University

Corey White adapted from Justyna Jeziorska and Helena Mitasova

Objectives

  • Describe photogrammetric processing as a multistep pipeline and name what each step consumes and produces
  • List the data needed to generate an orthomosaic and a DSM from UAS imagery
  • Distinguish interior from exterior orientation and explain where each comes from
  • Run the full workflow in Agisoft Metashape and choose sensible parameters
  • Read a processing report and say which numbers describe the accuracy of the products

From flight to products

The photogrammetric pipeline

flowchart LR
  subgraph A["Pre-processing"]
    IMAGES["UAS images"]
    LOG["Flight log / EXIF"]
    GCP["GCPs"]
  end
  subgraph B["Data processing"]
    MATCH["Feature matching"]
    SOLVE["Camera solving<br/>(bundle adjustment)"]
    DENSE["Point cloud"]
    MESH["Model / surface"]
  end
  subgraph C["Analysis and export"]
    ORTHO["Orthomosaic"]
    DSM["DSM / DTM"]
    PCLOUD["Classified point cloud"]
    TEXMODEL["Textured 3D model"]
    REPORT["Processing report"]
  end
  IMAGES --> MATCH --> SOLVE --> DENSE --> MESH
  SOLVE -. re-optimize .-> IMAGES
  LOG --> SOLVE
  GCP --> SOLVE
  DENSE --> ORTHO
  DENSE --> DSM
  DENSE --> PCLOUD
  MESH --> TEXMODEL
  SOLVE --> REPORT
  GCP --> REPORT

What comes home from the field

Three inputs from a flight: photographs, a flight log, and ground control point coordinates

Three things: images, a flight log or EXIF positions, and ground control coordinates. Everything else is computed

Digital imagery

Five overlapping nadir drone photographs from one flight line
  • Usually on the camera’s SD card
  • Often geotagged: the camera position is written into each photo’s EXIF header
  • Geotags are the position of the camera, not of anything in the picture, and are accurate to meters unless the aircraft has RTK or PPK
  • Look through them before processing: blurred, over-exposed, and takeoff frames go

Focal length and perspective

Diagram comparing full perspective projection with a short focal length to weak perspective with a long focal length

Camera sensor and lens geometry

Flight log

Text flight log listing image names with latitude, longitude, altitude, yaw, pitch, and roll

  • The onboard IMU and GNSS receiver log position and attitude for every photo
  • Written to a text file, or straight into the photos’ EXIF (most DJI aircraft)
  • Contains the elements of exterior orientation
  • Describes the camera, not the ground: the model still needs tie points and control to fit the world

Flight attitude: the aircraft’s orientation in space, yaw, pitch, and roll

GCP coordinates

  • Surveyed coordinates of targets placed before the flight, or of photo-identifiable points surveyed later
  • Anchor the model to a coordinate system and let you measure its accuracy
  • Record the coordinate reference system you surveyed in, every time

Ground control targets laid out across a field

Coordinate reference systems

Geographic (GCS) Projected (PCS)
Units degrees meters or feet
Example WGS 84 (EPSG:4326) NC State Plane, NAD83(2011): EPSG:6543 in feet, EPSG:3358 in meters
Use geotags, raw GNSS measurement, DEMs, GIS analysis

Globe projected onto a flat map surface

Vertical datum: GNSS heights are ellipsoidal; maps use orthometric heights above the geoid. In North Carolina the two differ by about 30 m

Products

What comes out of processing

Processing outputs: orthomosaic, digital surface model, point cloud, textured 3D model, and report

Orthomosaic

  • Aerial imagery corrected for perspective and terrain so that scale is uniform
  • A raster with red, green, and blue bands, georeferenced like any other
  • Metashape calls it an orthomosaic; orthophoto is the generic term

Orthomosaic of fields and a road

Digital surface model

  • DSM, digital surface model: the visible surface, including trees, buildings, and cars
  • DTM or DEM, digital terrain model: bare earth
  • SfM produces a DSM by default; a DTM needs ground classification and filtering
Cross-section comparing a surface model over trees and buildings with the bare-earth terrain model beneath

Point cloud

  • A set of points with x, y, z, usually color, sometimes a class
  • Represents the external surface of everything the cameras saw
  • Vector or raster? Neither quite: “a point cloud is a badly behaved raster” (Dale Lutz)

Colored point cloud of a landscape

Orientation and control

What the software needs

Input Where it comes from Required?
Digital images with overlap The flight Yes
Exterior orientation (camera position and attitude) Flight log or EXIF as a first guess, refined by bundle adjustment Yes, at least approximately
Interior orientation (camera model) Self-calibration during alignment, or a calibration file Solved automatically
Ground control points Field survey For survey-grade products and for accuracy reporting
Elevation model Once a prerequisite; now a by-product of SfM No
Software implementing the collinearity equations Metashape, WebODM, and others Yes

Exterior orientation

Six elements for every photo: the camera position (X, Y, Z) and its angular orientation:

Photogrammetry Aviation Axis Motion
omega Roll x, flight direction wing tilt side to side
phi Pitch y nose tilt forward and back
kappa Yaw z rotation about the vertical

Aircraft with the omega, phi, and kappa rotation axes

Interior orientation

  • The camera model: focal length, principal point, and lens distortion coefficients
  • In the past: a laboratory calibration report for a metric camera
  • Now: self-calibration, estimated from the images during alignment

Diagram of focal length, principal point, and image plane inside a camera

Ground control points in processing

  • A marker in Metashape is a GCP: known X, Y, Z plus its projections placed on the photos
  • Used to set the coordinate system, to optimize the alignment, and to measure error
  • Checkpoints are markers left unchecked in the reference pane: they are measured, not fitted

Two students holding ground control targets in a field

Placing targets at Lake Wheeler

Processing in Metashape

Where to process

Option Examples Trade-off
Desktop, commercial Agisoft Metashape, Pix4Dmatic, DJI Terra Control and transparency; needs a capable machine and a license
Desktop, open source WebODM (Assignment 2C) Free, scriptable, same pipeline; fewer guardrails
Cloud DroneDeploy, Pix4Dcloud, WebODM Lightning, Drone2Map No local compute; recurring cost and less control over settings

The real questions: budget and equipment, how often you fly, whether you have the training to process, and whether you have the time

Agisoft Metashape

Agisoft Metashape logo

The Metashape workflow

Step (Workflow menu) Produces
Add Photos, import positions Cameras with initial exterior orientation
Align Photos Tie points, camera poses, camera model
Place markers, Optimize Cameras Georeferenced, refined alignment
Build Point Cloud (formerly Dense Cloud) Dense point cloud from depth maps
Build Model (formerly Mesh), Build Texture Textured 3D model; optional for mapping
Build DEM DSM, or DTM from classified ground points
Build Orthomosaic Orthomosaic
Export, Generate Report GeoTIFF, LAS, OBJ, PDF

Loading photos and positions

Metashape model view with camera positions arranged in flight lines above the site
  • Add Photos, then check the reference pane: positions from EXIF load automatically
  • Import a flight log when positions are not in EXIF: set the column order, coordinate system, and time offset
  • Set camera accuracy (meters and degrees) to what the aircraft’s GNSS can actually deliver

Align photos

  • Detects features in every image and matches them across overlapping images
  • Solves camera positions, orientations, and the camera model together (bundle adjustment)
  • Output: tie points (the sparse cloud) and camera poses

Cartoon of aligning photographs

Accuracy Highest High Medium Low, Lowest
Images upscaled 2x full resolution downscaled 4x 16x, 64x
Use small, high-quality sets the usual choice large projects triage

Bundle adjustment

  • Non-linear least squares over every camera and every tie point
  • Minimizes reprojection error: the distance between where a 3D point projects and where the feature was detected
  • Refines exterior and interior orientation at the same time
  • Markers with known coordinates strengthen and georeference the solution

Diagram of rays from several camera stations converging on tie points on the ground

Build point cloud

Sparse tie point cloud

Tie points

Dense point cloud of the same site

Point cloud
Quality Ultra high High Medium Low, Lowest
Image scale full, a point per pixel 1/2 1/4 1/8, 1/16
Cost days on a laptop hours; most real work under an hour; the class setting quick previews

Depth filtering and editing

Depth filtering Use when
Mild Complex geometry with many small foreground details you want to keep
Moderate In between
Aggressive Aerial mapping; removes most outliers. The Assignment 2B setting
Disabled Only for very clean, high-quality imagery
  • Edit the point cloud afterwards if needed: select and delete stray points, or classify ground points for a DTM
  • Filter the tie points by reprojection error, reconstruction uncertainty, and image count, then optimize again

Build model

Setting Options
Surface type Height field: aerial and terrain, 2.5D, low memory. Arbitrary: closed objects, 3D, high memory
Source data Depth maps or point cloud; tie points for a quick preview
Face count High, Medium, Low, or custom

Optional for mapping: DEM and orthomosaic can be built without a model; build one for a textured 3D product

Triangulated mesh surface of terrain

Editing the model

  • Close holes: fills gaps left by insufficient overlap; required before any volume calculation, otherwise the volume is meaningless
  • Decimate: replaces a dense mesh with a lighter one
  • Filter by connected component size and polygon size to drop floating fragments
  • Export to an external editor for heavy repairs and import the result

Metashape close holes dialog

Build texture

Mapping mode Use
Generic Any object; as uniform a texture as possible
Adaptive orthophoto Terrain with buildings: flat areas textured orthographically, vertical faces separately
Orthophoto Terrain only; most compact, weaker on vertical faces
Spherical, Single camera, Keep uv Special cases: ball-shaped objects, one photo, existing parameterization

Blending: Mosaic (default) picks the most nadir view per pixel; Average blends all views

Textured 3D model

Build DEM

Metashape build DEM dialog

  • Projection: set the output CRS here; the assignment uses NC State Plane, EPSG:3358
  • Source data: point cloud (all points for a DSM, ground class for a DTM), depth maps, or model
  • Interpolation: Enabled (default) fills gaps visible in at least one image; Disabled keeps only observed cells and is the honest choice for accuracy checks
  • Resolution: leave the default, which follows the ground sampling distance

Build orthomosaic

Metashape build orthomosaic dialog

  • Surface: DEM (the usual choice for mapping) or Model (true orthophoto with building facades handled)
  • Blending mode: Mosaic (default) divides the imagery into frequency bands and blends each; Average uses a weighted mean of all photos; Disabled takes the most nadir photo per pixel and shows seams
  • Refine seamlines and the ghosting filter help with moving objects and canopy
  • Same CRS as the DEM; the orthomosaic can only be built in the DEM’s projection

Exports and quality control

Export formats

Product (File, Export) Formats Notes
Orthomosaic GeoTIFF, COG, JPEG, PNG, KMZ Check the CRS; write overviews
DEM GeoTIFF, COG, XYZ Verify units and vertical datum
Point cloud LAS, LAZ, COPC, PLY, E57 Keep RGB and classes; COPC streams into GRASS
Model OBJ, PLY, GLB, FBX, 3D PDF OBJ writes textures as separate files; GLB is one file
Report PDF Always

The processing report

Always generate it. It contains:

  • Survey data: image count, flying altitude, ground resolution, coverage area, camera model
  • Camera calibration with residual plots
  • Camera locations and error estimates
  • Ground control point and checkpoint errors, listed separately
  • Overlap map, DEM and orthomosaic previews, processing parameters

Pages of a Metashape processing report with the orthomosaic, DEM, overlap map, and camera calibration residuals

Quote the checkpoint RMSE: control point error is circular, the adjustment was told to fit those points

Optimizing with markers

  1. Import marker coordinates and set their coordinate system
  2. Place each marker on several photos (filter photos by marker)
  3. Set marker accuracy (0.005 to 0.05 m) and camera accuracy to realistic values
  4. Optimize Cameras: the adjustment now fits the control
  5. Rebuild the point cloud, DEM, and orthomosaic; the geometry has moved

Metashape batch process dialog listing queued workflow steps

Batch process: queue the steps with their parameters and let them run unattended; the same steps are available from the Python API for repeatable projects

Wrap-up

Assignment 2B: Geoprocessing UAS imagery in Agisoft Metashape, from the Lake Wheeler photos to an orthomosaic, a DSM, and a report you can explain

Next topic: UAS flight planning, and the Lake Wheeler field flight where the next dataset gets collected

References

The Metashape settings on these slides follow the user manual (Agisoft LLC 2025); the mathematics of dense matching are in Furukawa and Hernández (2015), and Lecture 2A’s concepts are the background for every step here.

Agisoft LLC. 2025. Agisoft Metashape User Manual: Professional Edition, Version 2.3. https://www.agisoft.com/pdf/metashape-pro_2_3_en.pdf.
Furukawa, Yasutaka, and Carlos Hernández. 2015. “Multi-View Stereo: A Tutorial.” Foundations and Trends in Computer Graphics and Vision 9 (1-2): 1–148. https://doi.org/10.1561/0600000052.