顔認識の基礎(2): 固有顔フィルターの利用

目標

固有顔とRubyプログラムを利用して、実際の画像で顔認識問題に取り組む

固有顔(eigenfaces)


元の顔画像(左)と抽出された固有顔(右)の例
Source: Sheng Zhang and Matthew Turk (2008) Eigenfaces. Scholarpedia, 3(9):4244.

練習(1): データのダウンロードと固有顔の確認

  1. ITC-LMSにてeigenfacesをクリックすると、画面右下の「ダウンロード」フォルダにダウンロードされるので、ドラッグしてデスクトップに移動
  2. ターミナルを起動し「$ cd Desktop」によりデスクトップフォルダに移動
  3. 「$ cd eigenfaces」「$ ls」により下記の中身を確認
  4. fig-eigenfaces.png(このクラスの固有顔群)を各自開いて眺めてみること

固有顔フィルター

固有顔フィルターの適用例 (上: 元画像、下: フィルター処理された画像)
Source: Sheng Zhang and Matthew Turk (2008) Eigenfaces. Scholarpedia, 3(9):4244.

練習(2): 固有顔フィルターの利用

  1. ターミナルで「eigenfaces」フォルダに居ることを確認(異なる場合は「eigenfaces」フォルダに移動)
  2. 「$ ruby eigenfilter.rb face-sample.pgm」を実行して、フィルタリングされた画像(face-sample-filter.pgm)が作成されることを確認
  3. 他のサンプル画像(mandrill.pgm, tree.pgm)をフィルタリングしてみること
  4. mi等で、プログラムファイル「eigenfilter.rb」を開き、注釈を読んで、動作の流れをある程度理解すること 参考(Rubyプログラムの条件分岐とループ)
  5. 前回作成した自分の顔画像(face1.pgm, face2.pgm, face3.pgm, face4.pgm)をeigenfacesフォルダにコピーし、フィルタリングしてみること

固有顔フィルターによる顔認識(face detection)

実習: 画像間距離を計算するRubyプログラムの作成

総合実習レポートの作成