fbpx
  1. HOME
  2. ブログ
  3. IT技術
  4. OpenCVによる非ディープラーニングの顔認識でどこまでできるのか試してみた!

OpenCVによる非ディープラーニングの顔認識でどこまでできるのか試してみた!

ディープラーニングを使わない顔認識

Githubで公開されている「Face-Detection-OpenCV」を実行し、OpenCVでの顔認識の限界を探ってみました。

このコードには、OpenCV(オープンシーヴィ)による、「非ディープラーニングの顔認識のテスト用コード」がまとまっています。

  1. 赤ちゃんのグレイ表示/顔認識テスト
  2. 3人の赤ちゃんの顔認識テスト
  3. 顔認識精度をパラメータ調整で向上させた例
  4. LBP方式の顔認識テスト
  5. Haar方式とLBP方式の比較

最終的にHaar方式LBP方式という2種類の顔認識を比較しています。

Haar方式については、認識速度が遅く、壁に貼ったポスターの顔まで「顔」と認識してしまいました。

しかし、LBP方式は、実際の人間の顔のみキレイに認識出来た上、認識にかかる時間が1/3以下

ここだけ見ると、「ああ、Haar方式って良いところないんだな。使わないようにしよう…」と思ってしまいます。

でも、念のため、別の画像で確認してみたいと思いました。

今回は、Haar方式とLBP方式の顔認識の違いで遊んでみたいと思います!

【関連記事】
OpenCVインストール方法や環境構築に関してはこちらの記事をご覧ください

ドキュメント内の指定箇所のみ繰り返し実行する

今回は、毎回全コード実行するのは時間がかかるため、以下の方法で実行しました。

ドキュメント内の「Haar and LBP Results Analysis」の部分のコードが、test5.jpgを読み込む箇所です。

具体的には、C:\Users\<ユーザ名>\gitlocal\Face-Detection-OpenCV\dataのデータのうち、test5.jpgを差し替えています。

画像差し替え後、この部分から処理を再実行しました。

具体的には、該当箇所をクリックして選択状態にしてから、「Runボタン」をクリックです。

このあと、顔認識結果が表示される箇所までRunボタン連打で進めて、別の画像に差し替えて実験しています。

5人の人物の顔認識

緑の枠が表示されている箇所が、「顔がある」と認識されている部分です。

こちらの画像に関しては、きれいに認識できていますね。

多少斜めになっていても、メガネをかけていても、顔と顔がくっついていても問題なく認識しているようです。

サングラス、メガネ着用の人物の顔認識

サングラスは認識出来ているのに、LBP方式ではメガネの女性の顔認識ができませんでした。

…なぜ!?

手が顔にかかっているからでしょうか?

横顔の人物の顔認識

んー、残念!

Haar方式とLBP方式どちらも、横顔の人物は認識できませんでした。

斜めや逆さの人物の顔認識

Haar方式とLBP方式どちらも、斜めの人物の認識はできませんでした。

一定角度以上傾くと認識できないのかもしれません。

画像を回転させて複数認識処理するなどの工夫が必要なのかも知れません。

デフォルメ顔の認識

・・・これもダメか。

Haar方式とLBP方式どちらも、デフォルメされた顔は認識できませんでした。

「目鼻口がついていれば良い」というわけではなさそうです。

動物の顔認識

Haar方式とLBP方式どちらも、プレーリードッグの顔認識はできませんでした。

ここで1つの疑問。

では、猿など、人間に近い顔なら認識できるのでしょうか?

ゴリラでやってみましょう。

Haar方式だと、ゴリラの顔が認識出来ました。

木目の顔認識

木目や、天井のシミなど、なんとなく顔に見えることはありませんか?

そうなると、もし、そのような認識が可能であれば、「自動心霊写真検出システム」ができるのでは?

・・・などと、ウキウキして待っていましたが、認識できませんでした。

顔認識できなかったケースまとめ

  1. 一定以上傾いた顔
  2. 横顔
  3. 重なりあった顔
  4. 動物の顔(類人猿は一部認識)
  5. デフォルメされた(イラスト等)顔

このあたりを解決するには、「やはりディープラーニングを使おう」ということになるのでしょうね。

今回は、OpenCVを使ったHaar方式とLBP方式による顔認証についてご紹介しました。

ディープラーニングについての記事も、ぜひご覧くださいね!

【関連記事】
ディープラーニングってなに?その仕組みや活用分野、関連資格までを紹介

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

関連記事