scene_flow3d op• Datenarten: points × points → pose
• Aufruf: import fullseye as fs; fs.ledger.rigid_flow(pts0, pts1, max_iter: 'int' = 20) -> 'dict' (die Implementierung direkt: import scene_flow3d; scene_flow3d.rigid_flow(pts0, pts1, max_iter: 'int' = 20) -> 'dict'; aus dem Register: ops3d.get("rigid_flow"))
• Rückgabewert über das Register: fullseye.ledger.rigid_flow(...) liefert nur den Wert des deklarierten Out-Typs pose (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.rigid_flow.raw(...) oder rufe scene_flow3d.rigid_flow direkt auf.
Schätzt die eine Starrkörperbewegung, die pts0 -> pts1 erklärt, über Nächste-Nachbar-Korrespondenzen und Kabsch (ICP-ähnlich).
Beginnt bei der Identitätstransformation, bildet in jeder Iteration Korrespondenzen über den nächsten Nachbarn von der Punktwolke in der aktuellen Pose zu pts1, löst (R, t) in geschlossener Form mit registration.kabsch und akkumuliert. Hält an, wenn die Korrespondenzindizes mit der vorherigen Iteration übereinstimmen (= Konvergenz) oder bei max_iter. Das Konvergenzkriterium hängt nur von der Stabilität der Indizes ab und ist daher skaleninvariant (es wird kein absolutes epsilon verwendet).
Args:
pts0: (N, 3)-Punktwolke zum Zeitpunkt 0 (N >= 3, um die Rotation eindeutig zu bestimmen).
pts1: (M, 3)-Punktwolke zum Zeitpunkt 1 (M >= 1, muss nicht mit N übereinstimmen).
max_iter: Obergrenze der ICP-Iterationen.
Returns:
dict: {"R": (3,3) Rotation, "t": (3,) Translation, "rmse": RMS-Abstand Punkt-nächster-Nachbar nach der Ausrichtung}. R ist eine echte Rotation (det=+1). rmse ist der gemessene Wert (nichts geschönt).
Raises:
ValueError: ungültige Form, pts0 < 3 Punkte, oder pts1 ist leer.
• 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.
• scene_flow_rigid — py -3.11 examples_3d/scene_flow_rigid.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
scene_flow3d)nearest_neighbor_flow · smooth_flow
*Provenance: scene_flow3d.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.