UAV Image Intake QA

Purpose

UAV Image Intake QA provides a structured process for integrating high-resolution drone (UAV) imagery into Whitebox analysis workflows. Includes georeferencing, radiometric calibration, tie-point generation, and alignment with existing reference data.

Typical Questions This Tool Helps Answer

  • Does this UAV flight have sufficient overlap, exposure stability, and geotag integrity to produce a reliable orthomosaic and surface model?
  • Which images have camera model inconsistencies or geotag errors that will cause bundle-adjustment failures downstream?
  • Is the dataset ready to proceed to photogrammetric processing, or does it require a remediation step or re-flight?

Background

Background sections in this workflow family should make explicit how signal change can be confounded by acquisition geometry, atmosphere, calibration drift, and georegistration error. A reliable interpretation pipeline therefore separates physical signal change from acquisition artifacts through normalization, alignment, and uncertainty-aware thresholds.

Operationally, users should treat these tools as evidence-weighting systems rather than single-threshold detectors. The most robust workflows combine pre-processing diagnostics, method-specific quality indicators, and post-run plausibility checks before decisions are escalated.

UAV intake quality is dominated by overlap geometry, exposure stability, geotag integrity, and camera model consistency. Intake-stage controls reduce downstream bundle-adjustment failure modes and improve reproducibility for orthomosaic and surface products.

Methodological Considerations

  • Ensure geometric alignment is within the tolerance required by the downstream metric (pixel-level for many raster differences, sub-pixel for interferometric phase workflows).
  • Separate radiometric normalization from change inference so threshold choices reflect physical behavior rather than acquisition artifacts.
  • Prefer multi-run sensitivity checks on normalization and detection thresholds when decisions depend on marginal signal differences.

Practical Interpretation Pitfalls

Common failure modes include treating sensor noise as change signal, over-trusting single-date anomalies, and ignoring confidence/context layers when operational prioritization is made.

Inputs

ParameterTypeRequiredDescription
images_dirDirectory pathYesUAV image folder. Supported formats: jpg, jpeg, tif, tiff, png.
profileEnumNofast, balanced, strict (default balanced).
recursiveBooleanNoScan nested folders (default true).
output_prefixStringNoOutput artifact prefix (default uav_intake).
blur_modeEnumNooff, fast, full blur scoring mode.

Parameters

Profile behavior summary:

  • fast: permissive thresholds for rapid triage
  • balanced: standard mission QA
  • strict: conservative acceptance thresholds

Sidecar GPS support:

  • Optional sidecar files can backfill missing EXIF GPS.
  • Delimited and whitespace sidecar formats are supported.

Outputs

Output artifact keys below are runtime outputs, not input parameters.

ArtifactRuntime Output KeyTypeDescription
Image inventory fileimage_inventoryCSVPer-image metadata and quality fields.
QA report fileqa_reportJSONStructured QA checks and warning diagnostics.
Summary contractsummaryJSONIntake status and mission summary metrics.
Image centers layerimage_centersGeoJSONPoint locations of GPS-tagged images.
Flight path lines layerflight_path_linesGeoJSONOrdered flight path line from image centers.
Optional reporthtml_reportHTMLOptional mission intake report.

image_inventory schema

image_path,bytes,has_exif,has_gps,gps_source,latitude,longitude,altitude_m,focal_length_mm,blur_score,gimbal_yaw_deg,gimbal_pitch_deg,gimbal_roll_deg,flight_yaw_deg,rtk_fix,timestamp

Intake status values

  • pass: ready for downstream workflows
  • review: usable with QA follow-up
  • fail: major intake issues detected

Example

import whitebox_workflows as wbw

env = wbw.WbEnvironment()
env.guided_uav_image_intake_workflow(
        images_dir="/data/uav_flight_20240515",
        profile="balanced",
        recursive=True,
        blur_mode="fast",
        output_prefix="outputs/uav_intake"
)

References

  • Lowe, D. G. (2004). "Distinctive Image Features from Scale-Invariant Keypoints." IJCV 60(2), 91–110.

Parameter Interaction Notes

Results are most sensitive to profile thresholds, GPS completeness, and blur/overlap evidence.

  • Stricter profile settings improve quality assurance but can increase review/fail rates.
  • Sidecar GPS can materially improve readiness when EXIF GPS is incomplete.
  • Blur mode selection influences quality coverage and runtime.

QA and Acceptance Criteria

Use a staged acceptance approach for UAV Image Intake QA:

  1. Confirm image discovery and supported file coverage.
  2. Confirm inventory and QA outputs were generated.
  3. Verify summary status aligns with mission QA policy.
  4. Validate warning list before approving downstream processing.

Recommended acceptance checks:

  • Summary workflow ID is correct.
  • Image totals match inventory expectations.
  • GPS and blur coverage metrics are plausible for mission type.

Advanced Operational Guidance

For production deployment of UAV Image Intake QA:

  • Standardize profile selection by mission class and contractor.
  • Keep sidecar metadata packaged with source images.
  • Require strict-profile pass before high-cost processing pipelines.

Implementation Patterns

Common implementation patterns with UAV Image Intake QA:

  • Fast triage run for same-day checks.
  • Standard intake gate run for daily operations.
  • Strict pre-production acceptance run.

Use UAV Image Intake QA together with upstream conditioning and downstream validation tools in the same bundle to ensure end-to-end consistency and stronger decision confidence.

When To Use This Workflow

Use this workflow at mission-ingest time to catch metadata and quality issues before committing resources to full processing.

Results Delivery Checklist

  1. Deliver inventory CSV, summary JSON, and QA report JSON.
  2. Include image center and flight-path GeoJSON outputs.
  3. Include optional HTML report for stakeholder review.
  4. Document chosen profile and blur mode.
  5. Escalate any warning-driven review or fail outcomes.

Common Questions

Q: What is the first file to check after a run?
A: Start with summary JSON status and warnings, then inspect inventory CSV details.

Q: Why do we get review despite high image count?
A: Missing GPS, low overlap, blur quality issues, or orientation gaps can still trigger review.

Q: How can sidecar files help?
A: Sidecars can restore GPS coverage when EXIF GPS is missing, improving overlap and readiness metrics.

Q: Why is overlap basis shown as assumed FOV?
A: That appears when focal length metadata is unavailable and the tool falls back to an assumed field-of-view model.

Q: Why might blur metrics be missing?
A: Blur mode may be off, or certain image files may not decode for blur scoring.

Q: What does GPS outlier warning imply?
A: One or more image positions are isolated from the main cluster and should be inspected for metadata errors.

Q: Does this tool produce orthomosaics?
A: No. It is an intake QA gate that prepares readiness evidence.

Q: How should strict profile be used?
A: Use strict mode for high-stakes campaigns where downstream processing cost is high and quality tolerance is low.

Q: Can we run this recursively across mission subfolders?
A: Yes, set recursive=true.

Q: What does RTK coverage indicate?
A: It reports how many images include RTK fix hints, which helps assess positional reliability.