Files
gps-denied-desktop/docs/03_tests/32_accuracy_50m_varied_terrain_spec.md
T
Oleksandr Bezdieniezhnykh 4f8c18a066 add tests
gen_tests updated
solution.md updated
2025-11-24 22:57:46 +02:00

3.7 KiB

Acceptance Test: 80% Photos <50m Error - Varied Terrain

Summary

Validate AC-1 accuracy requirement (80% of photos within 50m error) across different terrain types including agricultural fields, mixed vegetation, and urban edges.

Linked Acceptance Criteria

AC-1: The system should find out the GPS of centers of 80% of the photos from the flight within an error of no more than 50 meters in comparison to the real GPS.

Preconditions

  • ASTRAL-Next system fully deployed and operational
  • Satellite reference data downloaded for test region
  • TensorRT models loaded (SuperPoint, LightGlue, AnyLoc, LiteSAM)
  • Ground truth GPS coordinates available for validation
  • Test datasets covering varied terrain types

Test Data

  • Primary Dataset: AD000001-AD000060 (varied terrain across 60 images)
  • Terrain Types: Agricultural fields, tree lines, mixed vegetation, roads
  • Ground Truth: coordinates.csv
  • Camera Parameters: 400m altitude, 25mm focal length, 26MP resolution

Test Steps

Step 1: Initialize System with Starting GPS

Action: Start flight processing with first image GPS coordinate (48.275292, 37.385220) Expected Result:

  • System initializes successfully
  • Satellite tiles downloaded for operational area
  • L1, L2, L3 layers ready
  • Status: INITIALIZED

Step 2: Process Agricultural Field Segment (AD000001-015)

Action: Process images over predominantly agricultural terrain Expected Result:

  • L1 sequential tracking maintains continuity
  • SuperPoint detects field boundaries and crop variations
  • LiteSAM achieves cross-view matching despite seasonal differences
  • Mean error <40m for this segment
  • Status: PROCESSING

Step 3: Process Mixed Vegetation Segment (AD000016-030)

Action: Process images with mixed terrain features Expected Result:

  • L2 global place recognition active during transitions
  • AnyLoc retrieval successful using DINOv2 features
  • Factor graph optimization smooths trajectory
  • Mean error <45m for this segment
  • Status: PROCESSING

Step 4: Process Complex Terrain with Sharp Turns (AD000031-060)

Action: Process remaining images including sharp turns and outliers Expected Result:

  • L2 recovers from sharp turns (AD000042-043, AD000032-033)
  • Robust cost functions handle AD000047-048 outlier (268.6m)
  • Multiple map fragments merged successfully
  • Mean error <50m for challenging segments
  • Status: PROCESSING

Step 5: Calculate Accuracy Metrics

Action: Compare estimated GPS coordinates with ground truth Expected Result:

Total images: 60
Error <50m: ≥48 images (80%)
Error <20m: ≥36 images (60%)
Mean error: <40m
Median error: <35m
Max error: <150m (excluding known outliers)

Step 6: Validate Terrain-Specific Performance

Action: Analyze accuracy by terrain type Expected Result:

  • Agricultural fields: 75-85% <50m
  • Mixed vegetation: 80-90% <50m
  • Road intersections: 85-95% <50m
  • Overall: ≥80% <50m
  • Status: COMPLETED

Pass/Fail Criteria

PASS if:

  • ≥80% of images (48/60) have error <50m
  • No systematic bias across terrain types
  • System completes without fatal errors
  • Factor graph converges (final MRE <1.5px)

FAIL if:

  • <80% of images meet 50m threshold
  • 3 terrain types show <70% accuracy

  • System crashes or hangs
  • Catastrophic tracking loss without recovery

Performance Requirements

  • Processing time: <5 seconds per image average
  • Total flight time: <5 minutes for 60 images
  • Memory usage: <8GB on RTX 3070
  • CPU usage: <80% average

Notes

  • Varied terrain test provides more comprehensive validation than baseline
  • Different terrain types stress different system components
  • AC-1 threshold of 80% allows for difficult scenarios while maintaining operational utility