You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# With per-point features (e.g. RGB colour or LiDAR intensity)
69
+
# Features break geometric degeneracy for symmetric shapes (spheres, cubes)
70
+
src_rgb = np.random.rand(1000, 3) # RGB colour per point
71
+
dst_rgb = np.random.rand(1000, 3)
72
+
T = register_ellipsoid(
73
+
src_points, dst_points,
74
+
src_features=src_rgb,
75
+
dst_features=dst_rgb,
76
+
feature_weight=1.0# 0.0 = geometry only; typical range 0.1–1.0
77
+
)
66
78
```
67
79
68
80
## Installation
@@ -109,13 +121,21 @@ Real-world performance on test datasets:
109
121
The algorithm works by:
110
122
111
123
1.**Centering** point clouds at their centroids
112
-
2.**Computing** ellipsoids of inertia via eigendecomposition
124
+
2.**Computing** ellipsoids of inertia via eigendecomposition (optionally augmented with per-point features)
113
125
3.**Searching** through 8 reflection combinations using KD-tree correspondence recovery
114
126
4.**Filtering** correspondences by distance and inlier fraction
115
127
5.**Returning** a 4×4 transformation matrix
116
128
117
129
KD-tree correspondence recovery makes the algorithm robust to point cloud permutations, partial overlaps, and outliers without assuming that points at the same array indices correspond to each other.
118
130
131
+
When per-point features are supplied (`src_features`, `dst_features`, `feature_weight > 0`), the spatial covariance is augmented by a spatial-feature cross-covariance term:
This biases the principal axes toward directions where features vary most, breaking eigenvalue degeneracy for symmetric shapes (spheres, cubes, cylinders). The KD-tree step also runs in feature-augmented space so that feature similarity guides nearest-neighbour selection. Features are normalised to keep `feature_weight` dimensionless and dataset-independent.
0 commit comments