すでに3,000人を突破し、大きな盛り上がりをみせている「バーチャルYouTuber」や、iPhone X話題の機能「Animoji(アニ文字)」はご存知ですよね。
自分の動きに合わせてキャラクターを動かせるバーチャルYouTuber、人の表情と連動する「Animoji(アニ文字)」は、深度センサーを搭載したデバイスや3次元モーショントラッキング、表情認識などによって実現されているんですが……。
これらの機能を組み込んだWebアプリケーションが簡単に作れたら、ちょっとワクワクしませんか?
そのハードル、WebGLとディープラーニングが越えようとしています。
「jeeliz」というJavaScriptライブラリを使えば、ブラウザだけで動くウェブアプリケーションとして実装できるかもしれないんです。
デモがあるので、さっそく紹介させてください。
深度センサー不要。ブラウザだけで顔検出、11種類の表情認識を実現
まずは、マトリックスの中に入り込んでみました。
これはSnapChatのような、顔検出に基づいたAR(拡張現実)アプリケーションのデモです。
もちろん専用のデバイスは使っておらず、ブラウザだけで動いています。jeelizライブラリを使えば、リアルタイムに顔を検出し、ARと3Dコンテンツを組み合わせたアプリケーションが作れるんですね。
「ただこれだけだと、バーチャルYouTuberやAnimojiを再現するって無理じゃない?」なんて思っている方いませんか?
はい、こちらのデモも動かしてみてください。
iPhone Xが深度・方向のデータを取得可能な3Dカメラ「TrueDepth」を搭載することで実現しているAnimoji(アニ文字)にそっくりな機能も、ブラウザだけで再現しているんです。
もちろん、方向や表情も認識して動いてますよ。すごい。
そうです、「jeeliz」ライブラリを使えばブラウザだけで動くバーチャルYouTuberも作れちゃうってことです。
Webアプリケーションのスタンダードは「WebGL × ディープラーニング」で変貌する
紹介したデモアプリケーションの裏で動いているのは、WebGLとディープラーニング、3Dコンテンツを作成するためのJavaScriptライブラリThree.js。
WebGLとは、ウェブブラウザで3次元コンピュータグラフィックスを表示させるための標準仕様のAPIです。WebGLを使い、ウェブブラウザからローカルマシンのGPUにアクセスすることでディープラーニングに必要な演算処理が可能になります。
これらを組み合わせることで
- 顔検出
- 顔の追跡
- 顔回転検出
- 口開き検出
- 複数の顔の検出および追跡
- 11種類の表情認識
- 3Dコンテンツ
以上の機能を持ったアプリケーションがwebカメラとブラウザだけで動かせます。
これらの技術で作れるアプリケーションは上で挙げただけではありません。こちらのデモをみてください。
皆さんおなじみの、「パックマン」ゲーム。このゲーム、顔の動きでパックマンを操作できるんですね。
顔認識による操作は正直その精度が少し気になりますが、近い将来はこのような体の動きを認識して操作するアプリケーションがスタンダードになるのではないでしょうか。
メイン機能ではなくても、ブラウザで顔認識・表情認識などが可能になれば、
- ユーザーの表情からレコメンドする商品を選定
- 顔、表情認識によるシステム制御
- 顔、表情認識による動画コンテンツなどのスコアリング
などを機能を組み込んだウェブアプリケーションを作ることができます。
WebGLとディープラーニングを使った完成度の高いアプリケーションを開発可能なライブラリ「jeeliz」に今後も注目していきたいです。