match_pca — 3D match_pose op

데이터 종류: points × pointspose

호출: 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 候補の選択が当てにならない(その場合は `icp_point2point_3dinit_R/init_t`

として渡して精緻化する)。主軸が縮退している(球・円柱など固有値が等しい)雲では軸が不定で

結果は安定しない。点数は両雲で違ってよい。入力は (N,3)(検証は `moment_axes` 任せで無い)。

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

shape_desc_posepy -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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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