セミナーレポート
ロボットに使える最新画像処理技術 ~物体認識のための画像局所特微量~中部大学 藤吉 弘亘
本記事は、画像センシング展2010にて開催された特別招待講演を記事化したものになります。
SIFTの仕組み
SIFTを使ってできることを示したのが図2(Webに動画像あり)です。全体のテンプレート画像は1 枚の大きな画像になっていて,右上の小さい画像は入力画像です。テンプレート画像のどの部分と入力画像が同じであるか,SIFTを使って高速に探しています。入力画像は,紙に印刷したテンプレート画像を細かく破って,適当な角度で置いてあるだけです。それでも,ほとんど間違わずに入力画像がどこにあるか認識してくれます。SIFTによって,回転や大きさの違いに関わらず,同じものがどこにあるか探し出すことができます。SIFTではまず最初に,キーポイントという特徴点を検出します。検出の方法は,平滑化度合いを決定するσというスケールパラメーターを少しずつ大きくして,それぞれの平滑化画像を作ります。そして,その平滑化画像間の差分を取り,そこからDoG(Difference of Gaussian)画像を作ります。この画像の中から近傍と比較して極値を取るところが特徴点の位置,σがスケール(特徴量の範囲)になります。
次に,各ピクセルに対して検出した特徴点の領域内の勾配を算出します。そこから,勾配の方向ごとに勾配の強さがどれぐらいあるかまとめた勾配方向ヒストグラムを計算します。ヒストグラムで一番大きな値(ピーク)となるところが,その特徴点の代表的なオリエンテーションになります。 図3で矢印のオリエンテーションが検出されたとすると,特徴量を記述する時には矢印の方向に回転して正規化し,特徴量を左上から順番に4分割して,1つの領域に対して8方向の勾配方向ヒストグラムを求めます。16ブロックごとに8つの特徴量となるため,128次元の特徴量が算出されます。
これらの処理によって,スケール変化と回転変化に対する不変性が得られます。
低解像度でも認識精度を向上
応用例として,交通標識の認識をSIFTで実現してみました。図4のようなテンプレート画像からSIFT特徴点を抽出し,同じように入力画像からも特徴点を抽出します。SIFTを使ったマッチングでこうしたテンプレート画像が入力画像のどこにあるか見つけるためには「投票」という考え方を使います。 入力画像の3点とテンプレート画像の3点がちゃんとマッチングできたら,テンプレート画像の重心位置を画像中に投票できます。投票数が多ければ多いほど,そのパターンに当てはまるといえるのですが,車載カメラで見た場合,残念ながら標識の解像度は,例えば30×30 画素とよくありません。3点マッチングして1点しか投票できないのでは,投票点数が非常に少なくなってしまいます。そこで,SIFTの特性を生かしてスケールとオリエンテーションを利用し,1点マッチングしたら1点投票できる方法を採用しました。これにより,標識画像が小さくても投票数を稼ぐことができるため,有効な認識ができるようになりました。SIFTの問題点としては,非常に長い計算時間が挙げられます。高速化のためにGPUを使う方法もありますが,最近は次に紹介するRandomized Treesという方法が提案されています。
<次ページへ続く>
中部大学 藤吉 弘亘
1997年,中部大学 大学院博士後期課程修了。1997年~2000年,米カーネギーメロン大学ロボット工学研究所Postdoctoral Fellow。
2000年より中部大学講師。
2004年,同大准教授。2006年,米カーネギーメロン大学ロボット工学研究所客員研究員。