画像の特徴点を見つける仕組みを学びます
コーナーは、画像の中で2つ以上のエッジが交わる点です。 物体の角や特徴的な点として、画像認識において重要な役割を果たします。
コーナーは、どの方向に動かしても明るさが大きく変化する点です。
どの方向も変化なし
一方向のみ変化
すべての方向で変化
Harris Corner Detectorは、最も広く使われているコーナー検出手法です。 各ピクセル周辺の勾配情報から、コーナーらしさを計算します。
基本的な考え方:小さなウィンドウを動かしたとき、明るさの変化が大きい点がコーナーです。
各ピクセルで、X方向とY方向の勾配から構造テンソルMを計算します。
$I_x$: X方向の勾配 $I_y$: Y方向の勾配
この行列の固有値($\lambda_1, \lambda_2$)がコーナーの判定に使われます。
$\lambda_1 \approx 0, \lambda_2 \approx 0$
両方の固有値が小さい
$\lambda_1 \gg \lambda_2$
一方の固有値のみ大きい
$\lambda_1 \approx \lambda_2 \gg 0$
両方の固有値が大きい
Harrisでは、固有値を直接計算せず、コーナー応答関数Rを使います。
各項の意味:
$\det(M) = \lambda_1 \cdot \lambda_2$ (行列式:固有値の積)
$\mathrm{trace}(M) = \lambda_1 + \lambda_2$ (トレース:固有値の和)
$k \approx 0.04 \sim 0.06$ (経験的な定数)
$R$の値が大きい点がコーナーと判定されます。固有値を直接計算するよりも高速に判定できます。
明るいほどコーナーらしい
コーナー検出は、物体認識やトラッキングの基礎となる重要な技術です。