rmse_correspondence — 3D metrics op

• Datenarten: points × points → measurement

• Aufruf: import fullseye as fs; fs.ledger.rmse_correspondence(a, b) (die Implementierung direkt: import metrics3d; metrics3d.rmse_correspondence(a, b); aus dem Register: ops3d.get("rmse_correspondence"))

Verwendung

RMSE über bekannte Korrespondenzen (gleicher Index) = sqrt(mean |a_i − b_i|²). → Skalar. Zur Beurteilung des Registrierungsresiduums.

Berechnung: a, b in float-Arrays umwandeln, die 2. Potenz der zeilenweisen euklidischen Distanz sum((a - b)**2, axis=1) mitteln und die Quadratwurzel ziehen. Es findet keine Nächster-Nachbar-Suche statt — der Aufrufer garantiert, dass a[i] und b[i] demselben Punkt entsprechen (z. B. das durch Registrierung transformierte src @ R.T + t und die entsprechende dst-Punktfolge, oder die GT-Korrespondenz synthetischer Daten).

Argumente und Prüfung: ValueError bei a.shape != b.shape. Sonst gibt es keine Prüfung:

zwei leere (0, 3) liefern NaN (mit Warnung), weil mean leer ist, und auch Formen außer (N, 3) liefern einen Wert, sofern sie sich mit axis=1 summieren lassen. Punktwolken mit 3 Spalten übergeben.

Rückgabewert: Python float, Einheit = Koordinateneinheit, [0, inf). 0 bei Gleichheit.

Hinweis: Auf Wolken mit verschobener Korrespondenz (umsortierter index) angewendet, ergibt sich selbst bei korrekter Pose ein großer Wert. Ist die Korrespondenz unbekannt, chamfer_distance / fscore; um die Pose selbst mit GT zu vergleichen, pose_error.

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• blender_interop — Zusammen mit Blender — Form bauen, mit fullseye messen (Fallstricke: Achsen, Einheiten, Referenzdaten)

• measurement_uncertainty — Messunsicherheit und Kalibrierung — was nötig ist, um zu behaupten, dass man misst

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)

• metrics_eval — py -3.11 examples_3d/metrics_eval.py

Typkompatible Folge-Operatoren (nehmen measurement als Eingabe)

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

Gleiche Kategorie (metrics)

chamfer_distance · hausdorff_distance · m3c2_distance · fscore · normal_consistency · voxel_iou · pose_error


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