gicp op• 数据种类:points → descriptor
• 调用: import fullseye as fs; fs.ledger.estimate_covariances(points, k: 'int' = 20, epsilon: 'float' = 0.001) -> 'np.ndarray'(要直接调用实现,import gicp; gicp.estimate_covariances(points, k: 'int' = 20, epsilon: 'float' = 0.001) -> 'np.ndarray';从台账取用则 ops3d.get("estimate_covariances"))
把每点局部协方差的特征值替换为 (ε,1,1) 的 plane-to-plane 协方差 (N,3,3)。
对 k 近邻(包含自身)的样本协方差做特征分解,将特征值在切平面内替换为 1、在表面法线方向(最小特征值方向)替换为 ε 后重构。协方差的大小与邻域的分布范围无关,恒为 (ε,1,1),成为尺度不变的“面状可信度”模型(GICP 的核心)。
参数:
points (N,3): 点云。
k: 邻域点数(包含自身)。协方差估计在 k≥4 左右时稳定。
epsilon: 分配给法线方向的小方差(0<ε<1)。越小越强地
约束到切平面。尺度不变(无量纲比)。
返回值:
(N,3,3) 对称正定协方差的集合。各协方差的特征值为 {ε,1,1},与 ε
对应的特征向量为局部表面法线方向。
异常:
ValueError: points 不是 (N,3) / N<3(法线无法确定而退化)/
epsilon 在 (0,1) 之外(fail-closed(失败即拒绝))。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• gicp_register — py -3.11 examples_3d/gicp_register.py
descriptor 作为输入)fuse_to_voxel · shape_distance
gicp)*Provenance: gicp.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.