rotation_translation_error — 3D registration_metrics op

• 数据种类:pose × pose → measurement

• 调用: import fullseye as fs; fs.ledger.rotation_translation_error(gt, est)(要直接调用实现,import registration_eval; registration_eval.rotation_translation_error(gt, est);从台账取用则 ops3d.get("rotation_translation_error"))

用法

两个 4×4 变换之间的相对旋转误差(测地角[度], RRE)与相对平移误差(RTE)。

RRE = 角度(gt_R^T · est_R) = atan2(|axial(dR − dRᵀ)|/2, (tr−1)/2),以度为单位。绕任意轴转角 θ 的旋转差则 RRE=θ。RTE = ‖gt_t − est_t‖。→ (rre_deg, rte)。非 4×4 时抛出 ValueError(fail-closed)。

• gt / est:4×4 齐次变换(左上 3×3 为旋转,右列为平移)。含非有限值时抛出 ValueError。

• rre_deg 为 [0, 180] 的度(由反对称部分取 sin、由 trace 取 cos 的 atan2。arccos 在 1 附近有 √ε 的下限,曾把 1e-6° 以下回答为 0 —— 2026-10-07 修正)。rte 是平移列之差的范数,单位为坐标单位。平移列依赖于旋转的原点,因此即使位姿误差相同,原点离物体越远 RTE 越大(比较应在相同坐标系约定的变换之间进行)。

• 即使旋转矩阵不正交也不检查,因此请传入用同一模块的 make_transform 由 gicp 等输出的 (R,t) 组装的正确变换。inlier_ratio / registration_recall 以点云上的残差衡量,而本函数衡量变换参数本身的差。

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

可运行的示例(实际调用该算子并已验证的样例)

• reg_eval — py -3.11 examples_3d/reg_eval.py

类型可衔接的下一个算子(可接受 measurement 作为输入)

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

同类别(registration_metrics)

inlier_ratio · rmse_inliers · registration_recall


*Provenance: registration_eval.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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