feat: implement ICP registration for ground plane refinement and add tests
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
## Notes
|
||||
- Used `scipy.spatial.transform.Rotation` with `xyz` Euler convention for gravity regularization to ensure consistent blending of pitch/roll.
|
||||
- `extract_near_floor_band` uses dot product with floor normal to handle arbitrary floor orientations (not just Y-up).
|
||||
- `refine_with_icp` uses a BFS-based connectivity check to ensure only cameras reachable from the reference camera are optimized.
|
||||
@@ -14,3 +14,9 @@
|
||||
- When monkeypatching for tests, ensure all internal calls are accounted for, especially when production code has bugs that need to be worked around or highlighted.
|
||||
- Integrated ICP refinement into `refine_ground_plane.py` CLI, enabling optional global registration after ground plane alignment.
|
||||
- Added `_meta.icp_refined` block to output JSON to track ICP configuration and success metrics.
|
||||
## ICP Registration
|
||||
- GICP method in requires normals, which are estimated internally if not provided.
|
||||
- Synthetic tests for ICP should use deterministic seeds for point cloud generation to ensure stability.
|
||||
## ICP Registration
|
||||
- GICP method in `pairwise_icp` requires normals, which are estimated internally if not provided.
|
||||
- Synthetic tests for ICP should use deterministic seeds for point cloud generation to ensure stability.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
## Notes
|
||||
Reference in New Issue
Block a user