Android で Project Gameface をリリース

5月 14, 2024
Avneet Singh Product Manager Google Partner Innovation
Glenn Cameron Product Marketing Manager AI Developer

I/O 2023 で Project Gameface を発表しました。これはオープンソースのハンズフリー ゲーム「マウス」で、人の頭や顔の動きでコンピュータのカーソルをコントロールできるようにするものです。プレーヤーは眉を上げてクリック&ドラッグをしたり、口を開けてカーソルを動かしたりできるので、ゲームのユーザー補助機能を強化できます。

このプロジェクトは、筋肉が弱くなる進行性疾患である筋ジストロフィーを抱えて生きる四肢麻痺のビデオゲーム ストリーマー、Lance Carr 氏のライフ ストーリーに触発されています。私たちは Carr 氏と協力して Project Gameface を実現しました。このプロダクトの背後にある詳しいストーリーは、こちらの Google Keyword ブログでご覧いただけます。

うれしいことに、playAbility のような企業が、MediaPipe Blendshapes などの Project Gameface のビルディング ブロックを活用して、インクルーシブなソフトウェアを開発しています。現在、Project Gameface のコードはさらにオープンソース化され、あらゆるデバイスの Android アプリでユーザー補助機能を強化できるようになっています。デバイスのカメラで顔の表情や頭の動きをシームレスに追跡し、それを直感的でパーソナライズしたコントロールに変換できるので、ユーザーが顔の表情、ジェスチャーの大きさ、カーソルの速度などをカスタマイズしてエクスペリエンスを調整することが可能なアプリを構築できます。

今回のリリースにあたっては、障がいを持つ人々を支援するインドの社会的企業である Incluzza と協力して作業を行いました。具体的には、家族宛てのメッセージを入力したり、新しい仕事を探したりすることなど、教育、仕事、その他の環境に活用できるように、Project Gameface を拡張する方法を追求しました。

Link to Youtube Video (visible only when JS is disabled)

Android 用の Project Gameface のプロダクト設計と開発は、次の 3 つのコア原則に基づいています。

  1. 障がいを持つ人々が Android デバイスを操作する新たな追加手段を提供する。

2. スケーラブルに利用できるように、汎用的な費用対効果の高いソリューションを開発する。

3. Gameface の初回リリースの教訓や指針を活用し、ユーザー フレンドリーでカスタマイズ可能なプロダクトにする。


Android デバイスのカーソルを作る

今回リリースするのは、Android デバイスをまったく新しい形で操作する方法です。Project Gameface の好意的なフィードバックから、頭の動きでカーソルを動かしたり、顔の表情でアクションを起こしたりするというアイデアが、デベロッパーやユーザーに高く評価されていることがわかりました。

同じアイデアを使って、Android デバイスに新しい仮想カーソルを追加します。Android のユーザー補助サービスで新しいカーソルを作成し、MediaPipe の顔ランドマーク検出 API でユーザーの頭の動きに応じてカーソルが動くようにプログラムしています。

API の中には、左眉を上げる、口を開けるなど、52 の表情を表す 52 個のブレンドシェイプ値があります。この 52 個の値の一部を効果的にマッピングし、幅広い機能を制御できるようにすることで、ユーザーのカスタマイズ性や操作性を広げています。また、ブレンドシェイプ係数を活用しているため、表情ごとに異なるしきい値を設定し、エクスペリエンスをカスタマイズすることができます。

Project Gameface visuals

Android のユーザー補助サービスを最大限に活用する Project Gameface

モバイル アクション

Windows 版の Project Gameface では、ユーザーが一般的なクリック アクションを再現できるようにしています。ただし、Android の場合、ユーザーはさらにたくさんの操作を実行できる必要があります。OS に入力されるタッチイベントや、「戻る」、「マルチタスクに切り替える」、「ホーム」などのグローバル アクション イベントもあります。そこで、Android のユーザー補助 API でサポートされているモバイル アクションを使って、ユーザーに提供できるアクションを決定しました。現在、Android の Project Gameface は、GLOBAL_ACTION_HOME、GLOBAL_ACTION_BACK、GLOBAL_ACTION_NOTIFICATIONS、GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS をサポートしています。


カメラフィード

カメラフィードによって、ユーザー エクスペリエンスは大幅に向上し、しきい値設定は容易になり、ジェスチャー認識の精度が高くなります。また、カメラが動作しており、頭の動きやジェスチャーを追跡しているという明確なシグナルをユーザーに送ることにもなります。

カメラフィードのオーバーレイを作成するだけでは、デベロッパーが、Android の設定など、Android デバイスの重要なセクションにアクセスできなくなってしまいます。Project Gameface では、Android のユーザー補助サービスを活用することで、Android の設定や Android デバイスのその他の重要なセクションでも、カメラのフローティング表示を継続できるようにしています。

Project Gameface camera feed

ユーザーが「ドラッグ機能」を利用できるようにする

現在の Android のユーザー補助サービスでは、ユーザーが簡単な方法でリアルタイムかつインタラクティブに画面をドラッグすることはできません。ただし、私たちのプロダクトは、ドラッグ機能に対応したアップグレードが行われています。ユーザーが開始点と終了点の両方を定義すると、指定されたパスに沿ってシームレスにドラッグが行われます。

私たちは、Project Gameface のさらなる可能性を見るのを楽しみにしており、デベロッパーや企業がそれを活用して新しいエクスペリエンスを構築するのを心待ちにしています。現在、Gameface のコードはオープンソース化され、GitHub で公開されています。


謝辞

Android 版 Project GameFace に貴重な貢献をしてくださった次の皆さんに感謝いたします。Edwina Priest、Sisi Jin、KC Chung、Boon Panichprecha、Dome Seelapun、Kim Nomrak、Guide Pumithanon、Lance Carr、Communique チーム(Meher Dabral、Samudra Sengupta)、EnAble/Incluzza インド(Shristi G、Vinaya C、Debashree Bhattacharya、Manju Sharma、Jeeja Ghosh、Sultana Banu、Sunetra Gupta、Ajay Balachandran、Karthik Chandrasekar)(敬称略)