estimate_covariances — 3D 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)

gicp


*Provenance: gicp.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.