mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-22 20:56:36 +00:00
@@ -114,12 +114,21 @@ covariance: np.ndarray # (6, 6) - uncertainty
|
||||
**Scale Resolution**:
|
||||
F07 returns unit translation vectors due to monocular scale ambiguity. F10 resolves scale by:
|
||||
1. Using altitude prior to constrain Z-axis
|
||||
2. Computing expected displacement from H02 GSD Calculator:
|
||||
2. **Computing expected displacement**: Call H02 GSD Calculator.compute_gsd() to get GSD
|
||||
- GSD = (sensor_width × altitude) / (focal_length × resolution_width)
|
||||
- expected_displacement ≈ frame_spacing × GSD (typically ~100m)
|
||||
3. Scaling: scaled_translation = unit_translation × expected_displacement
|
||||
4. Global refinement using absolute GPS factors from F09 LiteSAM
|
||||
|
||||
**Explicit Flow**:
|
||||
```python
|
||||
# In add_relative_factor():
|
||||
gsd = H02.compute_gsd(altitude, focal_length, sensor_width, image_width)
|
||||
expected_displacement = frame_spacing * gsd # ~100m
|
||||
scaled_translation = relative_pose.translation * expected_displacement
|
||||
# Add scaled_translation to factor graph
|
||||
```
|
||||
|
||||
**Output**:
|
||||
```python
|
||||
bool: True if factor added successfully
|
||||
@@ -689,7 +698,7 @@ OptimizationResult:
|
||||
|
||||
### Internal Components
|
||||
- **H03 Robust Kernels**: For Huber/Cauchy loss functions
|
||||
- **H02 GSD Calculator**: For coordinate conversions
|
||||
- **H02 GSD Calculator**: For GSD computation and scale resolution
|
||||
|
||||
### External Dependencies
|
||||
- **GTSAM**: Graph optimization library
|
||||
|
||||
Reference in New Issue
Block a user