43 lines
2.3 KiB
Markdown
43 lines
2.3 KiB
Markdown
|
|
## [2026-02-09] Dependency Update
|
|
- Added `open3d` and `h5py` to `pyproject.toml`.
|
|
- Successfully synced with `uv sync`.
|
|
- 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.
|
|
|
|
## [2026-02-09] Documentation Hardening
|
|
- Updated `docs/calibrate-extrinsics-workflow.md` with detailed implementation notes.
|
|
- Documented the HDF5 depth data schema for reproducibility.
|
|
- Clarified the "Consensus-Relative Correction" strategy vs. absolute alignment.
|
|
- Added explicit tuning guidance for `stride`, `ransac-dist-thresh`, and `max-rotation-deg` based on implementation constraints.
|
|
|
|
## Schema Compatibility Fix
|
|
- Moved per-camera ground refinement diagnostics to `_meta.ground_refined.per_camera` to maintain compatibility with consumers expecting only `pose` in camera nodes.
|
|
- Preserved `<camera_sn>.pose` contract.
|