mean_edge_error — 3D pose_graph op

• Data kinds: pose → measurement

• Call: import fullseye as fs; fs.ledger.mean_edge_error(poses, edges) (implementation को सीधे call करना हो तो import pose_graph; pose_graph.mean_edge_error(poses, edges), registry से लेना हो तो ops3d.get("mean_edge_error"))

उपयोग

edge residuals का RMS (pose graph की संगति)। → scalar।

हर edge (i, j, rvec_meas, t_meas[, w_rot, w_trans]) के लिए, predicted relative pose T_i⁻¹ ∘ T_j और measurement (rvec_meas, t_meas) के अंतर measured⁻¹ ∘ predicted को rotation vector के 3 घटक + translation के 3 घटक वाले 6-dimensional residual में बदलता है (क्रमशः sqrt(w_rot) और sqrt(w_trans) से गुणा; weights न देने पर 1), और सभी edges और सभी घटकों को मिलाकर 2 घात के औसत का वर्गमूल लौटाता है। optimize_pose_graph के return value rmse जैसी ही राशि है, optimisation से पहले और बाद की तुलना के लिए इस्तेमाल होती है।

• poses: (N,6) में reshape हो सकने वाला [rvec | t] (world←body)।

• edges: ऊपर की tuples की list। खाली हो तो 0.0 लौटाता है।

ध्यान दें: rotation घटक (rad) और translation घटक (coordinate की इकाई) एक ही array में औसत किए जाते हैं, इसलिए मान के dimensions मिश्रित होते हैं। बड़े translation scale वाले दृश्यों में translation पद हावी हो जाते हैं, इसलिए इकाइयाँ बराबर करनी हों तो w_rot / w_trans से weight दें। यह function edge index की सीमा की जाँच नहीं करता (negative index numpy के wrap-around से चुपचाप दूसरे node को संदर्भित करता है; optimize_pose_graph जाँच करता है)।

संदर्भ (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 करते हैं)

• sfm_recon — py -3.11 examples_3d/sfm_recon.py

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

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

इसी category के (pose_graph)

optimize_pose_graph · relative_pose


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

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