featmatch op• 데이터 종류: table × table → table
• 호출: import fullseye as fs; fs.ledger.features_match(features1, features2, ratio=0.8, mutual=True, max_distance=None)(구현을 직접 호출하려면 import featmatch; featmatch.features_match(features1, features2, ratio=0.8, mutual=True, max_distance=None), 원장에서 가져오려면 opsmatchreg.get("features_match"))
• GPU: 없음(CPU 참조 구현만)
두 특징 표를 최근접 이웃 + 비율 검정(+ 상호 최근접)으로 대응시킨다. → table(kind="feature_matches").
> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.
記述子が実数(SIFT)なら L2、2 値(ORB)なら Hamming。1 番目に近い相手が 2 番目より明らかに近い(L2 は d1 < ratio · d2、2 乗距離では ratio² で比べる。Hamming は d1 < ratio · d2) ときだけ残し、mutual=True なら相手の側から見ても最近傍であることを求める。
実数の記述子での規則は features.match_descriptors と同じ(同じ入力で同じ組が返ることを tests/test_featmatch.py が固定している)。違いは距離行列を一括で作ること(GPU の影の経路に乗る形)と、2 値の記述子を受けること。
Args:
features1, features2: features_sift / features_orb の表。記述子の種類が同じであること。
ratio: 比の検定のしきい値(0 < ratio <= 1、既定 0.8)。
mutual: 相互最近傍を求めるか。
max_distance: 距離の上限(L2 は距離そのもの、Hamming はビット数)。None なら無し。
Returns:
dict(kind="feature_matches")。idx (M,2) / pts1 / pts2 (M,2) の (x, y) /
distance (M,)(L2 は距離、Hamming はビット数)/ ratio_value (M,)(d1/d2)/ metric /
n1 / n2 / image_shape1 / image_shape2。
Raises:
ValueError: 表の種類が違う / 記述子の種類か次元が違う / 引数が値域外。
• matching_registration 패밀리 가이드
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• poc_part_locate_features — py -3.11 examples/poc_part_locate_features.py
table 를 입력으로 받는 것)ransac_homography · ransac_fundamental · registration_to_flow2d
featmatch)features_sift · features_orb · ransac_homography · ransac_fundamental · features_accuracy_table
*Provenance: featmatch.py — MATCHREG 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.