mean_reprojection_error — 3D bundle_adjust op

• Datenarten: pose × points → measurement

• Aufruf: import fullseye as fs; fs.ledger.mean_reprojection_error(cameras, points, obs_cam, obs_pt, obs_uv, K) (die Implementierung direkt: import bundle3d; bundle3d.mean_reprojection_error(cameras, points, obs_cam, obs_pt, obs_uv, K); aus dem Register: ops3d.get("mean_reprojection_error"))

Verwendung

Der RMS-Reprojektionsfehler (in Pixeln).

Bildet für jede Beobachtung k die Differenz (du, dv) zwischen project(points[obs_pt[k]], cameras[obs_cam[k]]) und obs_uv[k] und gibt sqrt(mean_k(du² + dv²)) = die Wurzel aus dem Mittelwert der 2. Potenzen des Reprojektionsabstands pro Beobachtung als float zurück (die Implementierung ist die Wurzel aus dem Mittelwert von r.reshape(-1,2)**2 * 2, dieselbe Größe). Die Einheit folgt obs_uv und K, also Pixel.

• cameras: (nc,6) [rvec(3) | t(3)] (X_cam = R X + t).

• points: (m,3) 3D-Punkte.

• obs_cam / obs_pt: Kamera- und Punktindex jeder Beobachtung (int). obs_uv: (K,2) beobachtete Pixel.

• K: (3,3) intrinsische Matrix, gemeinsam für alle Kameras.

Dieselbe Berechnung wie rmse im Rückgabewert von bundle_adjust; dient zum Vergleich vor und nach der Optimierung. Bei 0 Beobachtungen ergibt der Mittelwert eines leeren Arrays NaN (die Längenprüfung liegt in bundle_adjust; diese Funktion allein führt sie nicht durch). Auch Punkte hinter der Kamera werden von project unverändert projiziert, daher muss der Aufrufer die Sichtbarkeit garantieren.

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)

• bundle_adjust — py -3.11 examples_3d/bundle_adjust.py

Typkompatible Folge-Operatoren (nehmen measurement als Eingabe)

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

Gleiche Kategorie (bundle_adjust)

bundle_adjust · project


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