metrics op• 数据种类:points × points → measurement
• 调用: import fullseye as fs; fs.ledger.rmse_correspondence(a, b)(要直接调用实现,import metrics3d; metrics3d.rmse_correspondence(a, b);从台账取用则 ops3d.get("rmse_correspondence"))
对应已知(同 index)的 RMSE = sqrt(mean |a_i - b_i|^2)。→ scalar。评估配准残差。
计算:将 a、b 转为 float 数组,把逐行欧几里得距离的 2 次方 sum((a - b)**2, axis=1) 取平均后开平方根。不做最近邻搜索 —— 由调用方保证 a[i] 与 b[i] 是同一点的对应(经配准变换的 src @ R.T + t 与对应的 dst 点列、合成数据的 GT 对应等)。
参数与验证:a.shape != b.shape 时为 ValueError。除此之外没有检查:两个空的 (0, 3) 因 mean 为空而返回 NaN(带警告),不是 (N, 3) 时只要是能以 axis=1 求和的形状也会返回值。请传入 3 列的点云。
返回值:Python float,单位为坐标的单位,[0, inf)。相同则为 0。
注意:用于对应错位(index 被重新排列)的点云时,即使位姿正确也会得到很大的值。对应未知时用 chamfer_distance / fscore,要把位姿本身与 GT 比较时用 pose_error。
• blender_interop — 与 Blender 配合使用 —— 在 Blender 中建形、用 fullseye 测量(坐标轴、单位、真值数据的陷阱)
• measurement_uncertainty — 测量不确定度与校准知识 —— 为了能主张“测得准”
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• metrics_eval — py -3.11 examples_3d/metrics_eval.py
measurement 作为输入)vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle
metrics)chamfer_distance · hausdorff_distance · m3c2_distance · fscore · normal_consistency · voxel_iou · pose_error
*Provenance: metrics3d.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.