moment_axes — 3D match_pose op

• 資料種類:points → axes

• 呼叫: import fullseye as fs; fs.ledger.moment_axes(points, weights=None)(要直接呼叫實作,import match3d; match3d.moment_axes(points, weights=None);從台帳取用則 ops3d.get("moment_axes"))

• GPU:無(僅 CPU 參考實作)

用法

點群/加權點的 重心 + 主軸(慣性張量的特徵向量)。姿態估計的基礎。

傳回值(質心(3,),軸(3,3)列=主軸,eigvals(3,))。特徵值降序排列。用於旋轉標準化。

定義:將w標準化為總和1,質心c = Σ w p,散點矩陣C = Σ w (p−c)(p−c)ᵀ (協方差。慣性張量tr(C)I − C和特徵向量是通用的,但特徵值的順序相反)透過eigh。拆卸。 axes[:, i] 是第 i 個最大特徵值的主軸(依降序排列)。特徵值是變異數(長度²)。

• 特徵向量的符號是任意的,並且“axes”可以是左手的(det=−1)(“match_pca”設定第三個軸

(顛倒過來使其成為右手)。

• weights 的長度為 N。 0 的和除以 0 時為 NaN(無例外)。 0 分顯然是一個 ValueError。

• 如果主軸是退化的(例如球體),則軸的方向是不確定的。

後來:match_pca,obb(定向 bbox),旋轉到規範態度。

空輸入(0 個元素的“points”)會導致 ValueError。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• itokawa_pose_canonical — py -3.11 examples_3d/itokawa_pose_canonical.py

型別可銜接的下一個運算子(可接受 axes 作為輸入)

fuse_to_voxel

同類別(match_pose)

match_phase_3d · match_pca · find_surface_pose · match_logpolar_z


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

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