match_pca — 3D match_pose op

• 資料種類:points × points → pose

• 呼叫: import fullseye as fs; fs.ledger.match_pca(pts_scene, pts_model)(要直接呼叫實作,import match3d; match3d.match_pca(pts_scene, pts_model);從台帳取用則 ops3d.get("match_pca"))

用法

PCA 姿態匹配(結構=point cloud × 方法=主軸對齊)。

回傳使兩點雲主軸對齊的粗略剛體變換(旋轉 R + 平移 t)。在此負責 NCC/相位相關無法處理的 旋轉(正負號的 4 種歧義以最小平方消解。該殘差是假定兩點雲的點以相同順序對應的粗略基準 — 對無對應關係的實測點雲,請在後段以 ICP 等精細化)。回傳值 (R(3,3), t(3,))。

回傳值的意義:pts_scene ≈ (R @ pts_model.T).T + t(t = c_scene − R·c_model)。R 必定是 det=+1 的旋轉(不產生鏡射)。殘差以 index 順序對應點來量測,因此對無對應關係的點雲,4 個候選的選擇不可靠(此時將其作為 init_R/init_t 傳給 icp_point2point_3d 進行精細化)。主軸退化(球、圓柱等特徵值相等)的點雲,軸不確定, 結果不穩定。兩點雲的點數可以不同。輸入為 (N,3)(驗證交給 moment_axes,本身沒有)。

參考(範例資料、文獻)

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

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

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

• shape_desc_pose — py -3.11 examples_3d/shape_desc_pose.py

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

fuse_to_voxel · pose_error · bundle_adjust · mean_reprojection_error · optimize_pose_graph · relative_pose · mean_edge_error · rotation_translation_error

同類別(match_pose)

match_phase_3d · moment_axes · match_logpolar_z


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

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