JavaScriptで笑顔を取得(face-api.js)

ブラウザだけで表情認識をできる「face-api.js」を使います。クラウドAPIサービスと違い、課金の心配はありません。今回は笑顔のスコアをメーターで表すWebアプリを作ってみます。

笑顔メーター

カメラ映像から顔を検出し、笑顔のスコアをメーターで表すWebアプリです。

上のサンプルでは、カメラではなくフリーの動画素材を使っています。pixabay.comに掲載されていた笑顔の少年を使いました。

少年は軽々、笑顔100%のスコアをたたき出しています。

カメラに向かって自分の顔で試したときは、けっこう頑張らないと笑顔100%のスコアは出ませんでした・・・。

よい、笑顔のトレニンーグになります。

face-api.jsを使うには?

face-api.js – ブラウザでの顔認識を行うJavaScript API」を参考にさせて頂きました。導入から顔認識モデルの説明に至るまで、詳細な情報が掲載されています。

私は、face-api.jsのファイルの中から、必要なものだけ自分の開発環境に移しました。下記の構成で配置しています。

main.jsとindex.htmlに、コードを書いていきます。

face/index.htmlのコード(HTMLとCSS)

face/js/main.jsのコード(JavaScript)

今さらながら、ES6のJavaScriptを初めて書きました。文法が怪しいのでご注意ください。

表情解析は、端末負担を軽減させるため、0.5秒おきに行います。

もし、顔の検出ができたら□で囲い、さらに笑顔のスコアを取得して、右の笑顔メーターに反映させます。

ブラウザで表情解析が完結するお手軽さが、素晴らしいです。

余談:笑顔でクッキーにスタンプを押したい

笑顔を認識したくなった経緯です。

昨日視線操作クッキースタンプというものを作りました。重度障害者が目で操作して、クッキーにスタンプを押す装置です。今度は目ではなく、表情で操作できるようにしました。

笑顔をトリガーにして、クッキーにスマイルスタンプを押します。

笑顔でクッキーを作れればと。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)