ransac_homography — MATCHREG featmatch op

• Data kinds: table → table

• Call: import fullseye as fs; fs.ledger.ransac_homography(matches, thresh=2.0, confidence=0.999, max_iters=5000, score='msac', local_optimization=True, min_inliers=8, seed=0, model='projective') (implementation को सीधे call करना हो तो import featmatch; featmatch.ransac_homography(matches, thresh=2.0, confidence=0.999, max_iters=5000, score='msac', local_optimization=True, min_inliers=8, seed=0, model='projective'), registry से लेना हो तो opsmatchreg.get("ransac_homography"))

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

उपयोग

मिलाए गए जोड़ों से homography (pts1 → pts2, (x, y) के homogeneous निर्देशांक) का robust अनुमान लगाता है। → table (kind="homography")।

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

4 点の最小標本を引き、前向きの転送誤差 |H p1 - p2| で採点する。既定の採点は MSAC (打ち切り二乗 min(r², thresh²) の和、Torr & Zisserman 2000)で、内れ値の数だけ数える素の RANSAC(score="ransac")より閾値の近くの点の扱いが滑らか。必要な試行回数は内れ値の割合から都度見積もり(confidence)、良い仮説が出るたびに内れ値で当てはめ直す(local_optimization、LO-RANSAC)。行列の当てはめは正規化 DLT(twoview._homography_dlt、Hartley の正規化)を再利用し、退化した標本(3 点が一直線)は捨てる。

★既存の mosaic.proj_match_points_ransac は (row, col) の点・正規化なしの DLT・固定回数で、これは (x, y)・正規化 DLT・適応回数・MSAC・LO。座標の順が逆なので混ぜないこと。

★自由度の少ない模型(model="translation" 1 点 / "similarity" 2 点 / "affine" 3 点)を選べる。返りはどれも 3×3。正しい組が狭い帯にしか無い(貼り合わせの重なりが細い)とき、8 自由度の射影はその帯の組には合うのに帯の外へ大きく外挿を外す(examples/poc_part_locate_features.py の 5 節: 重なり 80 px・正しい組 9 で、射影は原点の並進を 15 px 外し、相似は 0.1 px 以内)。

Args:

matches: features_match の表。

thresh: 内れ値の転送誤差の上限 [px]。

confidence: 外れ値を含まない標本を少なくとも 1 回引く確率(< 1)。

max_iters: 試行回数の上限。

score: "msac" / "ransac"。

local_optimization: 内れ値で当てはめ直すか。

min_inliers: これ未満の内れ値しか集まらなければ失敗(ValueError)。

seed: 標本の乱数の種(同じ種で同じ結果)。

model: "projective"(既定、8 自由度)/ "affine" / "similarity" / "translation"。

Returns:

dict(kind="homography")。H (3,3)(H[2,2] = 1)/ model / inliers (M,) bool /

n_inliers / inlier_ratio / rms_px(内れ値の転送誤差の rms)/ iterations /

score / thresh / image_shape1 / image_shape2。

Raises:

ValueError: 表の種類が違う / 模型の最小標本より少ない / 非有限 / 引数が値域外 / 内れ値が min_inliers 未満

(「いちばんましな H」を成功として返さない)。

उपयोग की विस्तृत 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 के रूप में लेते हैं)

features_match · ransac_fundamental · registration_to_flow2d

इसी category के (featmatch)

features_sift · features_orb · features_match · 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.