先端技術研究会2019②

先端技術研究会2回目は、各社の研究課題の発表と情報交換会が行われました。

各社、嗜好を凝らした面白いテーマを考えていました。

各社のテーマ

  • 居眠り判定アプリ(カメラ画像から居眠りを判定して注意を促す)
  • 手書きの譜面を読み取って演奏するアプリ
  • 歩きたばこ、ポイ捨てを注意するアプリ
  • 横断歩道の道路標識を認識するアプリ

など

自社の研究課題

ペットと飼い主の顔認証アプリ(ペットは飼い主に似るのか)

飼い主の顔を学習し、ペットがどれくらい似ているか判定するアプリを作ります。

①飼い主の画像を複数枚準備
Yalefaces(顔データベース)から訓練用画像を準備。

 

②飼い主の画像からHaar-like特徴分類器で顔部分を認識
⇒OpenCVのカスケードファイルを使用(haarcascade_frontalface_default.xml)

③検出した顔画像を切り出しリサイズしてグレースケールに変換

 

④顔推定器( Eigenface, Fisherface, LBPH )で学習
⇒どの顔測定器が精度が良いか検証する。

・ Eigenface(固有顔)
顔画像を固有顔に変換する。訓練画像の平均を求め、平均画像を各画像から減算する。減算した画像から共分散行列を求める。そこから固有ベクトルと固有値を計算する。

・ Fisherface
Eigenfaceの改良版。Eigenfaceと比較し、照明や角度の違いに影響されにくい。

・ Local Binary Patterns Histogram(LBPH)
顔を小さなセルに分割し、それぞれのエリアのヒストグラムを比較します。このアルゴリズムはEigenface, Fisherfaceと比べ、サンプルの顔のサイズや形が異なっていても精度よく検出できる。

 

⑤ペットの画像からHaar-like特徴分類器で顔部分を認識
⇒OpenCVのカスケードファイルを使用(haarcascade_frontalcatface.xml)

⑥検出した顔画像を切り出しリサイズしてグレースケールに変換

⇒猫顔のおじさんも、猫の顔として認識してしまう。。

⑦ペットの画像に対して学習モデルから予測値を取得

⇒Confidence(信頼)は0%に近いほど学習したモデルと一致している確率が高い。
猫顔のおじさんの信頼度が一番高い。。
顔全体の特徴点だけを使って推定すると、やっぱり人間が一番似ているという結果に。
目や、鼻、口などを検出して、それぞれの特徴を比較して総合的にどれくらい似ているか検証するなど改良が必要。