match_pose op• Datenarten: points × points → pose
• Aufruf: import fullseye as fs; fs.ledger.match_pca(pts_scene, pts_model) (die Implementierung direkt: import match3d; match3d.match_pca(pts_scene, pts_model); aus dem Register: ops3d.get("match_pca"))
PCA-Posen-Matching (Struktur = Punktwolke × Methode = Hauptachsenausrichtung).
Liefert eine grobe Starrkörpertransformation (Rotation R + Translation t), die die Hauptachsen beider Wolken ausrichtet. Sie übernimmt hier die Rotation, die NCC/Phasenkorrelation nicht behandeln können (die 4-fache Vorzeichenmehrdeutigkeit wird per kleinste Quadrate aufgelöst. Dieses Residuum ist ein grobes Kriterium unter der Annahme, dass die Punkte beider Wolken in derselben Reihenfolge korrespondieren — gemessene Wolken ohne Korrespondenz nachgelagert mit ICP o. ä. verfeinern). Rückgabewert (R(3,3), t(3,)).
Bedeutung des Rückgabewerts: pts_scene ≈ (R @ pts_model.T).T + t (t = c_scene − R·c_model). R ist immer eine Rotation mit det=+1 (keine Spiegelungen). Das Residuum wird mit Punkten in Indexreihenfolge gemessen, daher ist bei Wolken ohne Korrespondenz die Wahl unter den 4 Kandidaten unzuverlässig (dann als init_R/init_t an icp_point2point_3d übergeben und verfeinern). Bei Wolken mit entarteten Hauptachsen (gleiche Eigenwerte, etwa Kugel oder Zylinder) sind die Achsen unbestimmt und das Ergebnis instabil. Die Punktzahlen der beiden Wolken dürfen verschieden sein. Eingabe ist (N,3) (Validierung bleibt moment_axes überlassen, es gibt keine).
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• shape_desc_pose — py -3.11 examples_3d/shape_desc_pose.py
pose als Eingabe)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 Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.