docs: update README and finalize ground plane refinement integration

This commit is contained in:
2026-02-09 08:30:50 +00:00
parent 9d9e95de81
commit ae3c9eba76
4 changed files with 221 additions and 0 deletions
@@ -5,3 +5,28 @@
- Verified imports:
- open3d: 0.19.0
- h5py: 3.15.1
## [2026-02-09] Ground Plane Detection Implementation
- Implemented `unproject_depth_to_points` using vectorized NumPy operations for efficiency.
- Implemented `detect_floor_plane` using Open3D's `segment_plane` (RANSAC) with deterministic seeding.
- Implemented `compute_consensus_plane` with weighted averaging and normal alignment to handle flipped normals.
- Implemented `compute_floor_correction` using `rotation_align_vectors` for minimal rotation (preserving yaw) and vertical translation.
- Added comprehensive tests covering edge cases (outliers, bounds, identity transforms).
- Refactored to use `FloorPlane` and `FloorCorrection` dataclasses for structured outputs.
- Fixed test logic for `compute_consensus_plane` to correctly account for normal normalization effects on `d`.
- Verified type safety with `basedpyright` (0 errors, only expected warnings).
## [2026-02-09] Ground Plane Diagnostic Visualization
- Implemented `create_ground_diagnostic_plot` using Plotly `go.Figure`.
- Visualization includes:
- World origin axes (RGB triad).
- Consensus plane surface (semi-transparent gray).
- Per-camera floor points (scatter3d).
- Camera positions before (red) and after (green) refinement.
- Added `save_diagnostic_plot` for HTML export.
- Verified with smoke tests in `tests/test_ground_plane.py`.
## [2026-02-09] Final Integration
- Full test suite (90 tests) passed successfully.
- basedpyright verified on new modules (depth_save.py, ground_plane.py, refine_ground_plane.py).
- README updated with Ground Plane Refinement workflow.