match_localize op• 데이터 종류: voxel × voxel → position
• 호출: import fullseye as fs; fs.ledger.match_mip_2d(scene_vol, model_vol, device='cpu')(구현을 직접 호출하려면 import match3d; match3d.match_mip_2d(scene_vol, model_vol, device='cpu'), 원장에서 가져오려면 ops3d.get("match_mip_2d"))
• GPU: 이 연산자는 GPU 경로가 있습니다(device="cuda")
MIP 투영 → 2D NCC(구조=voxel → 2D, 기법=NCC, 변환=직교 MIP).
3 직교 방향의 최댓값 투영으로 3 장의 2D 문제로 떨어뜨리고, 기존 2D NCC 로 위치 추정 → 3 장에서 3D 좌표를중복 추정. 전체 3D NCC 보다 싸게 coarse alignment 에. 회전이 없는 평행 이동 탐색용.
절차: voxel_to_mips 로 scene·model 모두 3 장의 MIP 를 만들고, 각 투영에서 model MIP 의 > 5%·max 의 bbox 를 잘라내어 템플릿으로 하고, accel_match.ncc_locate_batch(2D NCC, 템플릿 중심 규약)로 위치를 얻는다. 축 0 을 눌러 없앤 투영은 (y,x), 축 1 은 (z,x), 축 2 는 (z,y) 를주므로 각 좌표는 2 장에서 얻어지며, 그 평균을 반환한다. 반환값 (3,) float64 의 [z, y, x](정수 NCC 위치의 평균이므로 .5 스텝). score 는 반환하지 않는다.
• 위치는 잘라낸 bbox 템플릿의 중심 이 scene MIP 의 어디에 놓이는가. model volume 의
중심이 아니다.
• model MIP 가 전부 0 인 투영은 건너뛰고, 어떤 좌표가 1 장에서도 얻어지지 않으면 0.0 이 된다(예외는
나지 않는다).
• MIP 는 겹침으로 깊이 정보를 잃으므로, 복수 물체·클러터에는 약하다.
후단: 이 대략적 위치를 refine_translation_lk / refine_lm 에 넘긴다.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• matching_localize — py -3.11 examples_3d/matching_localize.py
position 를 입력으로 받는 것)refine_peak_newton · refine_translation_lk · refine_lm · fuse_to_voxel
match_localize)match_shape_3d · match_chamfer_3d · match_curvature_3d · match_hough_3d · match_points_ncc
*Provenance: match3d.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.