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.