特徴点検出 — 画像の「目印」を見つける

パノラマ合成も物体追跡も AR も、出発点は「2枚の画像の間で同じ場所を対応づけること」。そのためには、画像の中から追いかけやすい目印=特徴点を選ぶ必要があります。なぜコーナー(角)が特別なのかを誤差の「地形」で体感し、Harris 検出器からマッチング、SIFT への道筋までを追います。

1. 追跡できる点、できない点 — 誤差の地形で見る

ある場所が「良い目印」かどうかは、こうテストできます。その場所に小窓を置き、窓を少しだけ (u, v) ズラしたときに見え方がどれだけ変わるか(SSD 誤差)を測るのです。

E(u, v) = Σ(x,y)∈窓 [ I(x+u, y+v) − I(x, y) ]² 窓を (u, v) だけズラしたときの画素値の差の2乗和。この E の「地形」が場所の性格を暴く

E(u, v) を高さとみなした地形は、場所によって形が激変します。

コーナーはなぜ特別か — 平坦・エッジ・コーナーの誤差地形
左の画像上を直接ドラッグしても窓を動かせます
左=画像とテスト窓(橙)、中央=誤差 E(u,v) を真上から見た等高線マップ(白枠=ズレなし)、右=同じ地形の3D風表示。平坦部では地形が消え、エッジでは一方向だけ低い「溝」、コーナーでは全方向が持ち上がる「お椀」になります。ビルの窓の四隅などを自分でドラッグして探してみてください。
POINT — 開口問題(aperture problem) 小窓からエッジを覗いても、エッジに沿った動きは検出できない — 溝の底をどこへ滑っても E が変わらないからだ。動画のオプティカルフロー推定でも同じ理由でエッジ上の点は追跡が破綻する。追跡してよいのは「お椀」の点=コーナーだけ。これが特徴点検出の出発点である。

2. Harris コーナー検出 — 「お椀」を数式で測る

地形を毎回全方向に掘って調べるのは大変です。Harris らは、E(u, v) を微小なズレでテイラー近似すると、窓内の画像勾配 (Ix, Iy) だけから作れる 2×2 行列 M(構造テンソル)で地形の形が決まることを示しました。

M = Σ窓 w(x,y) [ Ix² IxIy ; IxIy Iy² ],  E(u,v) ≈ (u, v) M (u, v)T w はガウス窓。M の固有値 λ₁, λ₂ が「お椀の2方向の急峻さ」を表す

固有値 λ₁, λ₂ は地形の主軸2方向の曲がり具合そのものです。

λ₁λ₂地形場所の性格
小小まっ平ら平坦 — 手がかりなし
大小溝エッジ — 1方向に曖昧
大大お椀コーナー — 特徴点!

固有値分解を毎画素やる代わりに、行列式とトレースだけで済む応答関数 R を使うのが Harris 流です。

R = det M − k (tr M)² = λ₁λ₂ − k (λ₁ + λ₂)² R が大きく正 → コーナー、負 → エッジ、≈0 → 平坦。k は経験定数(通常 0.04〜0.06)
Harris 応答マップ — 閾値と k でコーナーが増減する
検出数: –
左=検出されたコーナー(緑丸、5×5 の非極大抑制つき)、右=Harris 応答 R のヒートマップ。ビルの窓の四隅が赤く光り、輪郭線は青(R<0)、空や壁は黒(R≈0)。閾値を下げるほど弱いコーナーまで拾い、k を上げるとエッジ寄りの点が振り落とされて検出が厳しくなります。

3. 見つけた点を照合する — テンプレートマッチング

特徴点が見つかったら、次は別の画像の中から同じ場所を探す番です。最も素朴な方法がテンプレートマッチング。目印の周りの小画像(テンプレート)を、相手画像の全位置にあてがって SSD を計算し、いちばん似ている場所を選びます。

テンプレートマッチング — 画像を変えると何が起きるか
テンプレート(水色枠)を対象画像の左上から右下まで走査し、類似度マップ(明るい=一致)が埋まっていきます。「そのまま」では正解位置に鋭いピークが立ちますが、12°回転や明るさ変化を与えただけで検出が崩れることをボタンで確かめてください(白破線=本来の位置)。同じボタンをもう一度押すと再スキャンします。
注意 — 素朴なマッチングの弱点 SSD は明るさが一様に変わるだけで破綻する(正規化相互相関 NCC を使えば明るさには耐えられる)。しかし回転・拡大縮小・視点変化には NCC でも歯が立たない。「テンプレートの見た目そのもの」を比べている限り、見た目が変わる変換には勝てないのだ。

4. SIFT へ — 変形に負けない特徴記述

この弱点を正面から解決したのが SIFT(Scale-Invariant Feature Transform)です。アイデアは「見た目を直接比べない」こと。

対応点のペアが集まれば、応用は一気に広がります。パノラマ合成(対応点から RANSAC で射影変換を推定して貼り合わせる)、物体トラッキング、SLAM・AR(特徴点の動きからカメラの自己位置を推定する)— どれも本章の「コーナーを見つけて対応づける」の延長線上にあります。

一歩先へ — 学習ベースの特徴点 現在は特徴点の検出・記述自体をニューラルネットで学習する SuperPoint や、検出を介さず密に対応づける LoFTR などが SIFT を超える精度を出している。それでも「全方向に変化がある場所ほど対応づけしやすい」という Harris 以来の原理は、学習された特徴マップの中に今も生きている。

5. まとめ