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 との併用 — 形を作って fullseye で測る(軸・単位・正解データの罠)
• measurement_uncertainty — 計測の不確かさと校正の知識 — 「測れている」を主張するために
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.