# Question Decomposition — Solution Assessment (Mode B, Draft02)

## Original Question
Assess solution_draft02.md for weak points, security vulnerabilities, and performance bottlenecks, then produce a revised solution draft03.

## Active Mode
Mode B: Solution Assessment — `solution_draft02.md` is the highest-numbered draft.

## Question Type Classification
- **Primary**: Problem Diagnosis — identify weak points, vulnerabilities, bottlenecks in draft02
- **Secondary**: Decision Support — evaluate alternatives for identified issues

## Research Subject Boundary Definition

| Dimension | Boundary |
|-----------|----------|
| **Domain** | GPS-denied UAV visual navigation, aerial geo-referencing |
| **Geography** | Eastern/southern Ukraine (left of Dnipro River) — steppe terrain |
| **Hardware** | Desktop/laptop with NVIDIA RTX 2060+, 16GB RAM, 6GB VRAM |
| **Software** | Python ecosystem, GPU-accelerated CV/ML |
| **Timeframe** | Current state-of-the-art (2024-2026), production-ready tools |
| **Scale** | 500-3000 images per flight, up to 6252×4168 resolution |

## Problem Context Summary
- UAV aerial photos taken consecutively ~100m apart, downward non-stabilized camera
- Only starting GPS known — must determine GPS for all subsequent images
- Must handle: sharp turns, outlier photos (up to 350m gap), disconnected route segments
- Processing <5s/image, real-time SSE streaming, REST API service
- No IMU data available
- Camera: 26MP (6252×4168), 25mm focal length, 23.5mm sensor width, 400m altitude

## Decomposed Sub-Questions

### A: DINOv2 Cross-View Retrieval Viability
"Is DINOv2 proven for UAV-to-satellite coarse retrieval? What are real-world performance numbers? What search radius is realistic?"

### B: XFeat Reliability for Aerial VO
"Is XFeat proven for aerial visual odometry? How does it compare to SuperPoint in aerial scenes specifically? What are known failure modes?"

### C: LightGlue ONNX on RTX 2060 (Turing)
"Does LightGlue-ONNX work reliably on Turing architecture? What precision (FP16/FP32)? What are actual benchmarks?"

### D: GTSAM iSAM2 Factor Graph Design
"Is the proposed factor graph structure sound? Are the noise models appropriate? Are custom factors (DEM, drift limit) well-specified?"

### E: Copernicus DEM Integration
"How is Copernicus DEM accessed programmatically? Is it truly free? What are the actual API requirements?"

### F: Homography Decomposition Robustness
"How reliable is cv2.decomposeHomographyMat selection heuristic when UAV changes direction? What are failure modes?"

### G: Image Rotation Handling Completeness
"Is heading-based rotation normalization sufficient? What if heading estimate is wrong early in a segment?"

### H: Memory Model Under Load
"Can DINOv2 embeddings + SuperPoint features + GTSAM factor graph + satellite cache fit within 16GB RAM and 6GB VRAM during a 3000-image flight?"

### I: Satellite Match Failure Cascading
"What happens when satellite matching fails for 50+ consecutive frames? How does the 100m drift limit interact with extended VO-only sections?"

### J: Multi-Provider Tile Schema Compatibility
"Do Google Maps and Mapbox use the same tile coordinate system? What are the practical differences in switching providers?"

### K: Security Attack Surface
"What are the remaining security vulnerabilities beyond JWT auth? SSE connection abuse? Image processing exploits?"

### L: Recent Advances (2025-2026)
"Are there newer models or approaches published since draft02 that could improve accuracy or performance?"

### M: End-to-End Processing Time Budget
"Is the total per-frame time budget realistic when all components run together? What is the critical path?"

---

## Timeliness Sensitivity Assessment

- **Research Topic**: GPS-denied UAV visual navigation — assessment of solution_draft02 architecture and component choices
- **Sensitivity Level**: 🟠 High
- **Rationale**: CV feature matching models (SuperPoint, LightGlue, XFeat, DINOv2) evolve rapidly with new versions and competitors. GTSAM is stable. Satellite tile API pricing/limits change. Core algorithms (homography, VO) are stable.
- **Source Time Window**: 12 months (2025-2026)
- **Priority official sources to consult**:
  1. GTSAM official documentation and PyPI (factor type compatibility)
  2. LightGlue-ONNX GitHub (Turing GPU compatibility)
  3. Google Maps Tiles API documentation (pricing, session tokens)
  4. DINOv2 official repo (model variants, VRAM)
  5. faiss wiki (GPU memory allocation)
- **Key version information to verify**:
  - GTSAM: 4.2 stable, 4.3 alpha (breaking changes)
  - LightGlue-ONNX: FP16 on Turing, FP8 requires Ada Lovelace
  - Pillow: ≥11.3.0 required (CVE-2025-48379)
  - FastAPI: ≥0.135.0 (SSE support)
