features_match — MATCHREG featmatch op

• Data kinds: table × table → table

• Call: import fullseye as fs; fs.ledger.features_match(features1, features2, ratio=0.8, mutual=True, max_distance=None) (implementation को सीधे call करना हो तो import featmatch; featmatch.features_match(features1, features2, ratio=0.8, mutual=True, max_distance=None), registry से लेना हो तो opsmatchreg.get("features_match"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

दो feature tables को nearest neighbour + ratio test (+ mutual nearest neighbour) से मिलाता है। → table (kind="feature_matches")।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

記述子が実数(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: 表の種類が違う / 記述子の種類か次元が違う / 引数が値域外。

उपयोग की विस्तृत guide

• matching_registration family guide

संदर्भ (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 के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_part_locate_features — py -3.11 examples/poc_part_locate_features.py

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

ransac_homography · ransac_fundamental · registration_to_flow2d

इसी category के (featmatch)

features_sift · features_orb · ransac_homography · ransac_fundamental · features_accuracy_table


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

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