featmatch optable → tableimport fullseye as fs; fs.ledger.ransac_fundamental(matches, thresh=1.0, confidence=0.999, max_iters=5000, score='msac', local_optimization=True, min_inliers=15, seed=0) (実装を直接呼ぶなら import featmatch; featmatch.ransac_fundamental(matches, thresh=1.0, confidence=0.999, max_iters=5000, score='msac', local_optimization=True, min_inliers=15, seed=0)、台帳から引くなら opsmatchreg.get("ransac_fundamental"))照合の組から頑健に基礎行列 F(x2ᵀ F x1 = 0)を推定する。→ table(kind="fundamental")。
8 点の最小標本を正規化 8 点法(:func:twoview.fundamental_8point、rank 2 を強制)で当てはめ、
Sampson 距離(エピポーラ線までの幾何距離の 1 次近似)で採点する。採点・適応回数・局所最適化は
:func:ransac_homography と同じ。
限界: 平面の場面や純回転では F は一意に決まらない(ホモグラフィ 1 つで説明できる退化)。
その判定はしない —— 姿勢まで欲しいなら :func:twoview.recover_pose(平面を拒む)へ。
7 点法は使わない(最小標本は 8)。
Args:
matches: :func:features_match の表。
thresh: 内れ値の Sampson 距離の上限 [px]。
confidence, max_iters, score, local_optimization, seed: :func:ransac_homography と同じ。
min_inliers: これ未満なら失敗(ValueError)。
Returns:
dict(kind="fundamental")。F (3,3)(フロベニウスノルム 1、符号は F[2,2] >= 0)/
inliers / n_inliers / inlier_ratio / rms_px(内れ値の Sampson 距離の rms)/
iterations / score / thresh。
Raises:
ValueError: 表の種類が違う / 8 組未満 / 非有限 / 引数が値域外 / 内れ値が min_inliers 未満。
table を入力に取れる)features_match · ransac_homography · registration_to_flow2d
featmatch)features_sift · features_orb · features_match · ransac_homography · features_accuracy_table
Provenance: featmatch.py — MATCHREG operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.