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 을 반대칭부, cos 을 trace 에서 취하는 atan2. arccos 는 1 근처에서 √ε 의 바닥을 가져 1e-6° 이하를 0 으로 답하고 있었다 —— 2026-10-07 수정). rte 는 병진 열 차이의노름으로 좌표 단위. 병진 열은 회전의 원점에 의존하므로, 같은 자세 오차라도 원점이 물체에서 멀수록 RTE 는 크게 나온다(비교는 같은 프레임 규약의 변환끼리 한다).
• 회전 행렬이 직교가 아니어도 검사하지 않으므로, gicp 등의 출력 (R,t) 를 같은 모듈의 make_transform 으로 조립한 올바른 변환을 넘긴다. inlier_ratio / registration_recall 이 점군 위의 잔차로 재는 것에 비해, 이쪽은 변환 파라미터 자체의 차이를 잰다.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.