Smile Engineering blog ( スマイルエンジニアリング・ブログ )

ジェイエスピーからTipsや技術特集、プロジェクト物語を発信します

広告

※このエリアは、60日間投稿が無い場合に表示されます。記事を投稿すると、表示されなくなります。

第2回 OpenFaceのご紹介

2017-03-06 09:30:00 | 最新技術動向展開
前回は「AIの歴史」を前後編でお送りしました。
今回はディープラーニングを使った手書き文字の認識にトライする予定でしたが、予定を変更しまして別テーマにてお送りします。


--------


皆さんは『ディープラーニング』と聞いた時、どんなイメージをお持ちでしょうか。私は一応IT業界の人間ですので、「とても高性能なPCが使われているのだろうな」とか、「たとえグラフィックボードを積んだPCでも学習にはとても長い時間がかかるのだろうな」とか、そんなイメージを持っていました。

ところが、そんなイメージに当てはまらないディープラーニングがある!ということを知りまして、記事にさせていただきました。


というわけで、今回はディープラーニングライブラリ『OpenFace』をご紹介します。

『OpenFace』は顔認識に特化したディープラーニングライブラリです。米カーネギーメロン大学(Carnegie Mellon University:CMU)にて開発されました。CMUはマサチューセッツ工科大学やカリフォルニア工科大学に並ぶ名門大学の1つだそうです。

そんな名門校で生まれたOpenFaceですが、いくつかデモプログラムが入っているため、インストールするだけですぐにディープラーニングを試すことができます。
ものは試し、と、「リアルタイムな顔の学習・認識」ができるデモを実際に動かしてみました。



てっきり重過ぎてまともに動かないと思っていたのですが、まさかまさかの、ノートPCでも動きました!ごくごく一般的なノートPCです。グラフィックボードなんて積んでいませんよ。すごいですね!
Webカメラから640x480ピクセル(30万画素)の写真を撮影して、だいたい1秒に1枚くらいのペースで学習・認識しているようです。
冒頭にも書きましたが、ディープラーニングは処理にとても時間のかかるものだと思っていたので、何だか時代に置いていかれた気分です。IT業界の人間なのに大丈夫か自分・・・?

太っ腹なことに、ソースコードはApache2.0というライセンスの元に公開されています。どうやって認識しているのか詳しくはわかりませんが、OpenFaceの公式HPの解説によるとこんな流れで処理しているようです。

  1. dlibまたはOpenCVで顔を検出する。

  2. dlibとOpenCVを使って顔部分だけを切り抜き、目と下唇が画像の同じ位置になるよう歪める。

  3. ディープニューラルネットワークを使用して顔を128次元の超球面上に配置する。
    この時に近くに配置されると同じ人の顔、遠くだと違う人の顔、となる。

うーん、1と2はまあ、雰囲気でわかる?として、3はもう何を言っているのだかさっぱりですね。超球面って何ですか?128次元ってどんなですか?

そんな謎だらけなOpenFaceですが、次回はOpenFaceのインストールと、リアルタイムに学習・認識するデモを動かすまでの流れを解説したいと思います。
きっとすぐに記事を書きます。きっとね・・・。


OpenFace公式HP
https://cmusatyalab.github.io/openface/

GitHub
https://github.com/cmusatyalab/openface


--------


monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

ASSE/CORPA
  センサー、IoT、ビッグデータを活用して新たな価値を創造
  「できたらいいな」を「できる」に

OSGi対応 ECHONET Lite ミドルウェア
  短納期HEMS開発をサポート!

GuruPlug
  カードサイズ スマートサーバ

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(monipet)、それに農業も手がけるIT企業
ジャンル:
ウェブログ
コメント   この記事についてブログを書く
この記事をはてなブックマークに追加
« 第1回 AIの歴史 後編 | トップ | 第3回 OpenFaceを動かすまで »
最近の画像もっと見る

コメントを投稿


コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。

あわせて読む

トラックバック

この記事のトラックバック  Ping-URL
  • 30日以上前の記事に対するトラックバックは受け取らないよう設定されております。
  • 送信元の記事内容が半角英数のみのトラックバックは受け取らないよう設定されております。
  • このブログへのリンクがない記事からのトラックバックは受け取らないよう設定されております。
  • ※ブログ管理者のみ、編集画面で設定の変更が可能です。