sampson_distance — 3D two_view op

• Datenarten: image2d × image2d → signal

• Aufruf: import fullseye as fs; fs.ledger.sampson_distance(F, pts1, pts2) (die Implementierung direkt: import twoview; twoview.sampson_distance(F, pts1, pts2); aus dem Register: ops3d.get("sampson_distance"))

Verwendung

Die Sampson-Distanz der Epipolarbedingung (der geometrische Fehler erster Ordnung, je Korrespondenz). → (N,).

Raises ValueError: Punkte sind nicht (N,2) / nicht endlich / Anzahl der Korrespondenzen stimmt nicht überein.

Berechnung: mit homogenen Koordinaten x1=(u1,v1,1), x2=(u2,v2,1) (x2ᵀ F x1)² / ((F x1)_0² + (F x1)_1² + (Fᵀ x2)_0² + (Fᵀ x2)_1² + 1e-12).

• Die Einheit ist die 2. Potenz von Pixeln (die 2. Potenz der Distanz). Um in Pixeln zu schwellen, sqrt ziehen oder den Schwellwert in die 2. Potenz erheben.

• F folgt der Konvention von fundamental_8point, x2ᵀ F x1 = 0 (pts1 → x1, pts2 → x2). Bei vertauschter Reihenfolge F transponieren.

• Da 1e-12 zum Nenner addiert wird, löst selbst F=0 keine Ausnahme aus und liefert 0 (F wird nicht geprüft).

• Der Rückgabewert ist float64 (N,). Deterministisch. Nicht (N,2), nicht endlich oder abweichende Punktzahlen ergeben ValueError.

• Typisch: Prüfen der Anpassung von fundamental_8point, Aussortieren von Fehlzuordnungen (große Werte), Vorverarbeitung vor recover_pose.

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• depth_sensors — Tiefensensoren — Messprinzipien, Werte realer Geräte, wie Messlücken entstehen

Referenzen (Beispieldaten, Literatur)

• 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.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• two_view_pose — py -3.11 examples_3d/two_view_pose.py

Typkompatible Folge-Operatoren (nehmen signal als Eingabe)

fuse_to_voxel

Gleiche Kategorie (two_view)

fundamental_8point · essential_8point · recover_pose · triangulate


*Provenance: twoview.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.