# Validation Log ## Validation Scenario 1: Normal Flight (500 images, 60-80% overlap, mild turns) ### Expected Based on Conclusions - XFeat VO: ~15ms/frame → total VO time for 500 images: ~7.5s - LiteSAM satellite matching (overlapped): ~200ms/frame - Total processing: ~100s (under 5s/image budget) - Most images get satellite anchors → HIGH confidence - VRAM peak: ~900MB (XFeat 200 + DINOv2 300 + LiteSAM 400) ### Actual Validation Results Consistent with SatLoc-Fusion results on similar setup. XFeat handles consecutive frames well. Time budget is well within 5s AC. ### Counterexamples None for normal flight. --- ## Validation Scenario 2: Flight over outdated satellite imagery area (eastern Ukraine conflict zone) ### Expected Based on Conclusions - DINOv2 coarse retrieval: semantic matching should still identify approximate area despite 1-3 year imagery age - LiteSAM fine matching: likely degraded if buildings destroyed/rebuilt. Hit rate could drop 10-20pp from baseline. - Many frames may be VO-only → drift accumulates - Drift monitoring triggers warnings at 100m, user input at 200m ### Actual Validation Results System degrades gracefully. VO chain continues providing relative positioning. Satellite anchors become sparse. Confidence reporting reflects this via exponential decay formula. ### Counterexamples If entire flight is over heavily changed terrain, ALL satellite matches may fail. System falls back to pure VO + user manual anchoring. This is handled by the segment manager but accuracy degrades significantly. --- ## Validation Scenario 3: LiteSAM startup failure (weights corrupted or unavailable) ### Expected Based on Conclusions - SHA256 checksum verification catches corruption at startup - System falls back to EfficientLoFTR (or SP+LG) for satellite fine matching - Warning logged, system continues ### Actual Validation Results Fallback mechanism ensures system availability. EfficientLoFTR has proven quality (CVPR 2024). ### Counterexamples If BOTH LiteSAM and fallback fail to load → system should still start but without satellite matching (VO-only mode). Not currently handled — SHOULD add this graceful degradation. --- ## Validation Scenario 4: Sharp turn with 5+ disconnected segments ### Expected Based on Conclusions - Each segment tracks independently with VO - Satellite anchoring attempts run for each segment - ANCHORED segments check for nearby FLOATING segments - With XFeat VO at 15ms, segment transitions are detected quickly ### Actual Validation Results Strategy works for 2-3 segments. With 5+ segments, reconnection order matters. Should process segments in proximity order. If satellite imagery is outdated for the area, many segments remain FLOATING. ### Counterexamples All segments FLOATING in a poor satellite imagery area. User must manually anchor at least one image per segment. Current system handles this but UX could be improved — suggest a "batch anchor" endpoint. --- ## Validation Scenario 5: iSAM2 exception during optimization ### Expected Based on Conclusions - IndeterminantLinearSystemException caught - Skip problematic factor, retry with relaxed noise - Pipeline continues ### Actual Validation Results Error handling prevents crash. Position for affected frame derived from VO only. ### Counterexamples If exception happens on first frame's prior factor → entire optimization fails. Need special handling for initial factor. --- ## Review Checklist - [x] Draft conclusions consistent with fact cards - [x] No important dimensions missed - [x] No over-extrapolation - [x] Conclusions actionable/verifiable - [x] LiteSAM hit rate correctly attributed to proper dataset - [x] VO regression identified and fix proposed - [x] Security CVEs addressed with version pinning - [ ] Issue: Need to add EfficientLoFTR fallback and graceful degradation for model loading failures - [ ] Issue: Need to add iSAM2 error handling for initial factor edge case ## Conclusions Requiring Revision 1. Add graceful degradation when ALL matchers fail to load (VO-only mode) 2. Add special iSAM2 error handling for initial prior factor 3. Consider "batch anchor" API endpoint for multi-segment manual anchoring UX