rmse_correspondence — 3D metrics op

• Data kinds: points × points → measurement

• Call: import fullseye as fs; fs.ledger.rmse_correspondence(a, b) (implementation को सीधे call करना हो तो import metrics3d; metrics3d.rmse_correspondence(a, b), registry से लेना हो तो ops3d.get("rmse_correspondence"))

उपयोग

ज्ञात correspondence (समान index) का RMSE = sqrt(mean |a_i - b_i|^2)। → scalar। registration residual का मूल्यांकन।

गणना: a, b को float array बनाकर, हर row की Euclidean दूरी की 2 घात sum((a - b)**2, axis=1) का mean लेकर उसका वर्गमूल लिया जाता है। nearest neighbour खोज नहीं की जाती — caller यह सुनिश्चित करता है कि a[i] और b[i] एक ही point के correspondence हैं (registration से रूपांतरित src @ R.T + t और संगत dst points की सूची, synthetic data का GT correspondence आदि)।

arguments और सत्यापन: a.shape != b.shape हो तो ValueError। इसके अलावा कोई जाँच नहीं:

दो खाली (0, 3) पर mean खाली होने से NaN (warning के साथ) लौटता है, और (N, 3) के अलावा भी जो shape axis=1 से जोड़ा जा सके उस पर मान लौटता है। 3 columns वाला point cloud दें।

return value: Python float, इकाई coordinate की इकाई, [0, inf)। एक जैसे हों तो 0।

ध्यान दें: जिन clouds का correspondence खिसका हुआ हो (index का क्रम बदला हुआ) उन पर उपयोग करने से, pose सही होने पर भी बड़ा मान आता है। correspondence अज्ञात हो तो chamfer_distance / fscore, और pose को ही GT से तुलना करनी हो तो pose_error।

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)

• measurement_uncertainty — Measurement uncertainty और calibration — 'हम माप रहे हैं' कहने के लिए क्या चाहिए

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• metrics_eval — py -3.11 examples_3d/metrics_eval.py

वे अगले ops जिनसे type जुड़ता है (measurement को input के रूप में लेते हैं)

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

इसी category के (metrics)

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


*Provenance: metrics3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.