some files rename
5.8 KiB
Acceptance Test: Image Registration Rate >95% - Baseline
Summary
Validate AC-9 requirement that ≥95% of images successfully register (find enough matching features for pose estimation) under normal flight conditions.
Linked Acceptance Criteria
AC-9: Image Registration Rate > 95%. The system can find enough matching features to confidently calculate the camera's 6-DoF pose (position and orientation) and "stitch" that image into the final trajectory.
Preconditions
- ASTRAL-Next system operational
- Normal flight conditions (no extreme weather, lighting, or terrain)
- Multi-layer architecture (L1, L2, L3) active
- Registration success criteria defined
Registration Success Definition
An image is successfully registered if:
- L1 sequential tracking succeeds (≥50 inlier matches), OR
- L2 global retrieval succeeds (correct satellite tile, confidence >0.6), OR
- L3 metric refinement succeeds (cross-view match confidence >0.5)
An image fails registration only if ALL three layers fail.
Test Data
- Primary Dataset: AD000001-AD000030 (baseline segment, normal conditions)
- Secondary Dataset: AD000001-AD000060 (full flight, includes challenges)
- Expected: ≥95% registration rate for both datasets
Test Steps
Step 1: Process Baseline Segment (Normal Conditions)
Action: Process AD000001-AD000030, track registration outcomes Expected Result:
Total images: 30
L1 successful: 28 (93.3%)
L2 successful (L1 failed): 2 (6.7%)
L3 successful (L1+L2 failed): 0 (0%)
Total registered: 30 (100%)
Registration rate: 100% > 95% (AC-9 PASS)
Status: BASELINE_EXCELLENT
Step 2: Analyze L1 Registration Performance
Action: Examine L1 sequential tracking success rate Expected Result:
L1 attempts: 29 (frame-to-frame pairs)
L1 successes: 28
L1 failures: 1
L1 success rate: 96.6%
Failure case: AD000003→004 (202.2m jump, expected)
L1 failure handling: L2 activated successfully
Status: L1_BASELINE_PASS
Step 3: Analyze L2 Fallback Performance
Action: Examine L2 global retrieval when L1 fails Expected Result:
L2 activations: 2 (L1 failure triggers)
L2 successes: 2
L2 failures: 0
L2 success rate: 100%
Cases: AD000004 (after 202m jump), AD000033 (after 220m jump)
L2 contribution: Prevented 2 registration failures
Status: L2_FALLBACK_WORKING
Step 4: Process Full Flight with Challenges
Action: Process AD000001-AD000060, including sharp turns and outliers Expected Result:
Total images: 60
L1 successful: 53 (88.3%)
L2 successful (L1 failed): 6 (10%)
L3 successful (L1+L2 failed): 0 (0%)
Registration failures: 1 (1.7%)
Registration rate: 98.3% > 95% (AC-9 PASS)
Status: FULL_FLIGHT_PASS
Step 5: Identify and Analyze Registration Failures
Action: Investigate any frames that failed all three registration layers Expected Result:
Failed frame: AD000048 (hypothetical example)
L1 failure: 268.6m jump from AD000047, overlap ~0%
L2 failure: Satellite data outdated, wrong tile retrieved
L3 failure: Cross-view match confidence 0.3 (below 0.5 threshold)
Outcome: User intervention requested (AC-6 human-in-the-loop)
Acceptable: <5% failure rate allows for extremely difficult cases
Status: FAILURE_WITHIN_TOLERANCE
Step 6: Calculate Final Registration Statistics
Action: Compute comprehensive registration metrics Expected Result:
Dataset: AD000001-060 (60 images)
Successfully registered: 59 images
Registration failures: 1 image
Registration rate: 98.3%
AC-9 Requirement: >95%
Actual Performance: 98.3%
Margin: +3.3 percentage points
Status: AC-9 PASS with margin
Pass/Fail Criteria
PASS if:
- Registration rate ≥95% on baseline dataset (AD000001-030)
- Registration rate ≥95% on full flight dataset (AD000001-060)
- Multi-layer fallback working (L2 activates when L1 fails)
- Registration failures <5% (allowing for extremely difficult frames)
FAIL if:
- Registration rate <95% on either dataset
- L2 fallback not activating when L1 fails
- Registration failures >5%
- System crashes on unregistered frames (should handle gracefully)
Layer Contribution Analysis
Layer 1 (Sequential Tracking)
- Role: Primary registration method (fastest)
- Success Rate: 85-95% (normal overlap conditions)
- Failure Cases: Sharp turns, low overlap
Layer 2 (Global Retrieval)
- Role: Fallback for L1 failures (slower but robust)
- Success Rate: 85-95% when activated
- Failure Cases: Stale satellite data, ambiguous locations
Layer 3 (Metric Refinement)
- Role: Precision improvement, not primary registration
- Success Rate: 80-90% when attempted
- Failure Cases: Large view angle difference, seasonal mismatch
Multi-Layer Defense
Registration Success = L1 OR L2 OR L3
P(success) = 1 - P(all fail)
P(success) = 1 - (0.10 × 0.10 × 0.15)
P(success) = 1 - 0.0015
P(success) = 99.85% > 95% (AC-9)
Registration Failure Handling
When registration fails for a frame:
- System flags frame as UNREGISTERED
- Continues processing subsequent frames
- Attempts to re-register after later frames provide context
- If still fails after 3 attempts, requests user input (AC-6)
- Does not crash or halt processing
Quality Metrics Beyond Registration Rate
- Mean inlier count: >100 matches (L1 successful cases)
- Mean confidence: >0.8 (registered frames)
- Pose covariance: <50m uncertainty (registered frames)
- Trajectory continuity: No gaps >3 frames
Notes
- AC-9 threshold of 95% balances operational utility with real-world challenges
- 5% failure allowance (~3 frames per 60) accommodates extreme cases
- Multi-layer architecture critical for achieving high registration rate
- "Atlas" multi-map approach counts disconnected fragments as registered
- Registration rate > positioning accuracy (AC-1/AC-2) requirements