sampson_distance — 3D two_view op

Datenarten: image2d × image2dsignal

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

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

Raises ValueError: 点が (N,2) でない/非有限/対応数不一致。

計算: 同次座標 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)`。

単位は画素の 2 乗(距離の 2 乗)。画素で閾値を切るなら `sqrt` を取るか、閾値側を 2 乗する。

• F は `fundamental_8point の規約 x2ᵀ F x1 = 0`(pts1 → x1、pts2 → x2)。順序を入れ替えるなら F を転置する。

• 分母に 1e-12 を足しているので F=0 でも例外にはならず 0 を返す(F の検査は行わない)。

• 返り値は float64 (N,)。決定論的。(N,2) でない・非有限・点数不一致は `ValueError`。

• 典型: `fundamental_8point の当てはまり確認、誤対応(大きい値)の選別、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)

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