essential_8point — 3D two_view op

Datenarten: image2d × image2dmatrix

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

> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.

手順: `fundamental_8point(pts1, pts2) で F を推定し、E = K2ᵀ F K1` を作ってから SVD で特異値を (1, 1, 0) に置き換える(本質行列の性質。結果の Frobenius ノルムは √2 に固定される)。

• `K1 (3,3) は画像 1 の内部行列、K2 を省略すると K1` を両画像に使う(同一カメラの前提)。

• 対応点は画素座標 (N,2)。検証と例外は `fundamental_8point と同じ(8 点未満・点数不一致・非有限・(N,2) でない入力は ValueError`)。

• E の符号は不定で、(R, t) は 4 候補に分かれる。分解と cheirality による一意化までまとめて行うのが `recover_pose`。

• 外れ値に無防備。平面・純回転の退化も本 op では検出しない(`recover_pose` が検出する)。決定論的。

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

depth_sensors — 深度センサの知識 — 測距原理・実機の値・欠測の出方

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