目次 — 知りたいところから読む
入力を変えて確かめる
実験パネルを開き、実行を押すとPythonを読み込みます。停止と初期値へのリセットができます。結果はこの端末内で計算します。Pythonのインストールは不要です。
下にあるローカル実行の手順は、配布ソースを再現するための任意の手順です。ブラウザ実験には不要です。
対応線を比較する
基準を実行してAに保存し、絞り込みなし・回転・縮小・繰り返し模様などをBとして比べます。青い丸と実線は採用・真値一致、紫の×印と実線は採用・真値不一致です。灰点線は記述子での除外、橙破線は幾何段階での除外を示します。スマートフォンでは画像を縦に並べます。リセットで初期値に戻り、共有では保存したAではなく現在の入力条件を再現します。
特徴点から記述子へ
共通のShi–Tomasi検出器で各画像から最大80点を抽出します。記述子は有効な9×9画素のグレーパッチです。生の値、または平均を引いてL2正規化した値を選び、ユークリッドL2距離で比較します。距離比フィルタには近傍が2つ必要で、d1 < 上限 × d2を厳密に満たすものだけを通します。第2距離がゼロなら通しません。相互最近傍では互いが最近傍であることを要求します。正規化はクリップしない明るさの倍率変化に対応できますが、回転・スケール不変性はありません。ORBやSIFTではありません。
幾何モデルと真値
幾何検証をONにすると、平行移動・回転・一様拡大縮小からなる相似変換を推定します。せん断や透視変換は含みません。2組から作る仮説を全探索し、3組以上の支持を要求して1回再推定し、変換後の画素単位で残差を判定します。候補が3組未満、またはモデルを作れない場合は何も採用しません。OFFでは記述子で絞った候補を採用し、モデルの指標は未定義です。
モデル内点比は、内点数を記述子で絞った候補数で割ります。一方、採用中の真値一致率は既知の変換と固定3画素の許容誤差で判定します。真値誤差RMSは採用した対応の位置誤差、モデル残差RMSは推定モデルへの残差です。格子RMSは画面内に見える固定格子で推定と真の変換を比較します。分母が空なら—です。誤ったモデルでも残差が小さい場合があり、30°回転プリセットで観察できます。繰り返し模様で対象の同一性を保証することはできません。
保存した計算例
配布したプリセットを実際に計算した値です。画像・マスク・変換は抽出Labを再利用し、双線形補間、平均ぼかし、倍率、固定一様ノイズ、クリップの順です。グレー値は物理的な輝度ではなく、縮小前のアンチエイリアス処理もありません。正確なしきい値・同点処理・有効領域・評価格子はソース内のモデル定義に記載し、JSONには画素と全対応候補を含めます。
| プリセット | 最近傍 | 絞り込み後 | 採用 | モデル内点比 | 採用中の真値一致率 |
|---|---|---|---|---|---|
| 基準 | 22 | 11 | 11 | 100.0% | 100.0% |
| 30°回転 | 22 | 6 | 3 | 50.0% | 0.0% |
| 30°・しきい値6px | 22 | 6 | 5 | 83.3% | 0.0% |
| 繰り返し・絞り込みなし | 80 | 80 | 80 | — | 7.5% |
| 繰り返し・絞り込みあり | 80 | 1 | 0 | — | — |
| テクスチャなし | 0 | 0 | 0 | — | — |
コメント
コメントの投稿にはログインが必要です
まだコメントはありません。