みなさん、こんにちは!
今回は、REALITYの「フェイストラッキング」を解説します!
みなさんはREALITYの「フェイストラッキング」というものをご存じでしょうか?
2023年2月に新しいフェイストラッキングの機械学習ソリューション「MediaPipe Face Mesh」が導入されました。
#REALITYnote を更新しました!🎁
Now in REALITY Tech #57 REALITYのフェイストラッキングにMediaPipeを導入しました!https://t.co/VVZP0xHFck#REALITY #メタバースをつくろう #エンジニア #Unity— REALITY株式会社 (@reality_jp) February 7, 2023
今回は、この新たなフェイストラッキングの「MediaPipe Face Mesh」について、ご紹介していきます!
この記事を読むと、以下の事が分かります。
・新しいフェイストラッキングの対応機種について
・新しいフェイストラッキング手法を導入した経緯は?
・MediaPipeとは?
・MediaPipeを取り組む仕組みは?
フェイストラッキングとは?
そもそも「フェイストラッキング」と言っても、どんな物かご存じない方もいらっしゃるのではないでしょうか。
まずは、フェイストラッキングとは何なのかをみていきましょう!
REALITYとフェイストラッキング
初めに、REALITYについて簡単に説明します。
REALITYは「誰でもスマホ1台で好きな姿に変身!顔出しナシのライブ配信アプリ」です。
自分だけの好きな見た目のアバターを作成、カスタムをします。
スマホのインカメラでライバーさんの表情を読み取って、作成したアバターをリアルタイムで動かせるという特徴があります。
首を傾げたり、笑顔などの表情だったり、瞬きまで、細かい表情の変化を瞬時に読み取ってアバターが動いてくれるんですよ!
ところでみなさんは、インカメラで読み取った表情の通りにアバターがどうやって動いているかご存じでしょうか?
アバターをリアルタイムで動かす為に必要なシステムとして、ここで登場するのが「トラッキング」という機能です。
スムーズな動きのアバターで配信、視聴を楽しむのになくてはならないものなんですね!
新しいフェイストラッキングの対応機種
最初にお伝えした通り、2023年2月のアップデートで新しいフェイストラッキングが導入され、一部の端末で大きくフェイストラッキング処理が変更されました。
今までは「ARKit」「Facemoji」「Firebase ML Kit Face Detection」でしたが、「ARKit」「MediaPipe Face Mesh」「Firebase ML Kit Face Detection」に変更となっています。
それぞれの対応機種について、一覧でまとめましたのでご確認ください。
フェイストラッキング変更前
OS | フェイストラッキングライブラリ | 対象ユーザー |
iOS | ARKit | ARKit対応機種(iPhone X以降の全機種) |
Facemoji | ARKit非対応機種 | |
Android | Facemoj | NEXT REALITYの「新フェイストラッキング方式」がオンのユーザー |
Firebase ML Kit Face Detection | ・Facemojiが対応してない一部デバイスのデフォルト設定 ・NEXT REALITYの「新フェイストラッキング方式」をオフにしたユーザー |
フェイストラッキング変更後
OS | フェイストラッキングライブラリ | 対象ユーザー |
iOS | ARKit | ARKit対応機種(iPhone X以降の全機種) |
MediaPipe Face Mesh | ARKit非対応機種 | |
Android | MediaPipe Face Mesh | NEXT REALITYの「高精度フェイストラッキング」がオンのユーザー |
Firebase ML Kit Face Detection | NEXT REALITYの「高精度フェイストラッキング」をオフにしたユーザー |
主にiOSではiPhone X以前の機種の方、Androidでは「高精度フェイストラッキング」をオンにしているユーザーさんが今回の新しい「MediaPipe Face Mesh」の対象となるようです。
ちなみに、「NEXT REALITY」とは、リリース前のREALITYの新機能を試すことができる機能です。
「NEXT REALITY」で表示される機能は、正式リリース前の新機能であるため、予告なしに削除される場合があります。
また、iOS・Android版それぞれで表示される機能が異なる場合もあります。
MediaPipeとは?
今回新たに導入された「MediaPipe」とはどんなものなのか、簡単に説明していきます。
「MediaPipe」とは、Googleが開発した映像から様々な情報を推定することができる機械学習ソリューションです。
「MediaPipe」には様々な用途のソリューションが存在しており、その内の1つが入力された画像から顔の各ランドマーク(特徴点)を推定することができるMediaPipe Face Meshです。
今回は、REALITYアプリに「MediaPipe Face Mesh」を組み込むことで新しいフェイストラッキングが実現できたとのことです。
今回REALITYアプリに手や体の姿勢の推定を行うソリューションも備えている「MediaPipe」が導入され、アバターの手や体もトラッキングによって動かすこともできるのではないかと大いに期待されています!
今後、みなさんの個性を更にアバターで表現でき、更にREALITYのアバターがより良い物になっていくのが楽しみですね!
「MediaPipe」を取り組む仕組みは?
ここからは少し専門的な話になっていきますが、実際にREALITYにどのように「MediaPipe」が取り組まれているかご紹介します。
REALITYでは、全てのライバーさんの動きに合わせて分身であるアバターが動いてくれます。
しかし、「目が瞬きする」という動作一つをとっても、REALITYのユーザには「目がぱっちりしてる人とそうでない人」、「メガネを掛けている人とそうでない人」、「スマホと顔が近い人とそうでない人」など、当然ながら個人差が生じます。
こういった個人差をクリアにするするために、必要な仕組みを入れて、大体のユーザーの瞬きを正確に検知できるようにする必要があります。
「目の開き具合」のパラメータが直接取得できるiOSのARKitなどのライブラリは問題がありませんが、MediaPipeはそういった機能が存在しない為変換ロジックを考慮しつつの実装となりました。
REALITYの開発者の方は、REALITYの社内の様々な人に試してもらいながら、感性評価をしつつパラメータチューニングをされてきたそうです。
今回「MediaPipe Unity Plugin」が選ばれた経緯
そもそも、REALITYのアバターを動かす部分はUnityという「ゲーム開発プラットフォーム」で開発されています。
そのため、Unity上でMediaPipeが推定した顔のランドマーク情報を取得する必要があります。
その中で以下の3つの導入が考察されました。
①MeidaPipeをiOS, Android側に導入&推定処理を行う→推定結果のみをUnityへ渡す(Unity as a Library方式)という流れ
REALITYアプリはiOS, Android, Unityの合体により作られているため、それぞれのエンジニアがいれば可能となります。
②MediaPipe Unity Pluginを利用する
ネイティブプラグインの部分が実装されているため、UnityエンジニアのみでMediaPipeによる推定開始から推定結果の取得まで可能となります。
③HolisticBarracudaを利用する
REALITYの開発担当者の方がプライベートで開発したものであるため、利用は問題なく出来る。
UnityのComputeShaderとBarracudaを利用しているため、Unityに完全に内包された構成である。
今回は、REALITYへの組み込みにあたり、「技術要件」、「工数」の点から「MediaPipe Unity Plugin」の導入が決定されたそうです。
実際の処理についての流れ
ここで、「MediaPipe Unity Plugin」の実際の導入の流れもご紹介します。
①事前準備
Pluginをビルドして、Unity Packageを作成
②MediaPipe Visualizerを使用し、MediaPipeの推論グラフを定義
③REALITYアプリでの処理実行
④推論グラフを読み込んでMediaPipeを初期化
⑤カメラ映像を入力し、推定結果を取得
⑥推定結果をもとにREALITYアバターが動く
という流れで実装されています。
少し専門的な話になりましたが、REALITYの開発担当者のみなさんがたくさんの試行錯誤を繰り返し、今の快適な環境でREALITYでの配信、視聴が楽しめているんですね!
「フェイストラッキング」について、まとめ
いかがでしたでしょうか?今回は、2023年2月に新たにREALITYに導入されたフェイストラッキングの「MediaPipe」とについてご紹介してきました!
REALITYのアバターがリアルタイムでライバーさんに合わせて動く為に、常に様々な開発が繰り返されているようです。
これからもアバターの動きがより良いものになっていくことを期待しながら、REALITYでの配信、視聴を楽しんでくださいね!
今回の記事をまとめると以下のようになります。
・今までのフェイストラッキングは「ARKit」「Facemoji」「Firebase ML Kit Face Detection」だったが
「ARKit」「MediaPipe Face Mesh」「Firebase ML Kit Face Detection」に変更された。
・新しいフェイストラッキング手法を導入した経緯はREALITYで最も精度が高いiOS ARKitと同様にアバターの表情や動きがほぼ同じように動かせるようにするため。
・MediaPipeとはGoogleが開発した映像から様々な情報を推定することができる機械学習ソリューションの中で、入力された画像から顔の各ランドマーク(特徴点)を推定することができるもの。
REALITYのライバーとして活躍したいなら事務所に所属するのがおすすめ!
配信のコツや配信ルールについてもプロがしっかりサポートしてくれますよ!
配信者向けのおすすめ事務所は、以下の記事で紹介しています!
【REALITYのおすすめライバー事務所を大公開!】