essential_8point — 3D two_view op

• Datenarten: image2d × image2d → matrix

• Aufruf: import fullseye as fs; fs.ledger.essential_8point(pts1, pts2, K1, K2=None) (die Implementierung direkt: import twoview; twoview.essential_8point(pts1, pts2, K1, K2=None); aus dem Register: ops3d.get("essential_8point"))

Verwendung

Die Essentialmatrix E direkt aus Korrespondenzen und K. → E (3,3).

Ablauf: F mit fundamental_8point(pts1, pts2) schätzen, E = K2ᵀ F K1 bilden und dann per SVD die Singulärwerte durch (1, 1, 0) ersetzen (Eigenschaft der Essential-Matrix; die Frobenius-Norm des Ergebnisses ist auf √2 fixiert).

• K1 (3,3) ist die intrinsische Matrix von Bild 1; wird K2 weggelassen, wird K1 für beide Bilder verwendet (Annahme: dieselbe Kamera).

• Korrespondenzen sind (N,2) in Pixelkoordinaten. Prüfung und Ausnahmen wie bei fundamental_8point (weniger als 8 Punkte, abweichende Punktzahlen, nicht endliche Werte oder Eingaben, die nicht (N,2) sind, ergeben ValueError).

• Das Vorzeichen von E ist unbestimmt, und (R, t) zerfällt in 4 Kandidaten. Die Zerlegung samt Eindeutigmachung per cheirality erledigt recover_pose in einem Schritt.

• Gegen Ausreißer schutzlos. Auch die Degeneration bei ebener Szene oder reiner Rotation erkennt dieser Op nicht (recover_pose erkennt sie). Deterministisch.

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)

• sfm_recon — py -3.11 examples_3d/sfm_recon.py

Typkompatible Folge-Operatoren (nehmen matrix als Eingabe)

fuse_to_voxel

Gleiche Kategorie (two_view)

fundamental_8point · recover_pose · triangulate · sampson_distance


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