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"))
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.
• 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.
• bundle_adjust — py -3.11 examples_3d/bundle_adjust.py
measurement als Eingabe)vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle
bundle_adjust)*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.