Project Gameface 在 Android 上发布

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

在 2023 年的 I/O 大会上,我们推出了 Project Gameface。这是一款开源的免触摸游戏“鼠标”,使用户可以利用头部运动和面部动作来控制电脑的光标。用户可以通过抬眉毛来实现点击和拖动,或者张开嘴巴来移动光标,进而享受更加无障碍的游戏体验。

该项目的创意源自四肢瘫痪的视频游戏主播 Lance Carr 的故事,他患有肌肉萎缩症,这是一种会导致肌肉力量逐渐变弱的进行性疾病。我们与 Lance 合作,共同实现了 Project Gameface。如要了解关于这个产品的完整幕后故事,请访问 Google Keyword 博客

我们非常高兴地看到,playAbility 等公司已经在他们的包容性软件中采用了 Project Gameface 的构建模块,比如 MediaPipe Blendshapes。现在,我们将开放更多 Project Gameface 的源代码,以帮助开发者构建 Android 应用,增加所有 Android 设备的无障碍性。通过设备的摄像头,Project Gameface 能无缝追踪面部表情和头部运动,并将这些动作转化为直观且个性化的控制方式。开发者现在可以构建应用,让用户通过自定义面部表情、动作幅度、光标速度等,来配置适合自己的使用体验。

在本次发布中,我们与 Incluzza 进行了合作。这是一家位于印度的社会企业,致力于支持残障人士。我们与 Incluzza 合作的目的是了解如何将 Project Gameface 扩展到教育、工作以及其他场景中,例如使用户能够打字以发送信息给家人,或寻找新工作。

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

在构建 Android 版 Project Gameface 的过程中,我们的产品设计和开发基于以下三个核心原则:

  1. 为残障人士提供一种新的附加方式来操作 Android 设备。

2. 构建一个成本效益高、普遍可用的解决方案,以实现规模化使用。

3. 借鉴 Gameface 首次发布的经验与指导原则,使产品更方便用户使用和定制。


在 Android 设备上构建光标控制系统

我们正在推出一种新颖的方式来操作 Android 设备。鉴于 Project Gameface 收到的积极反馈,我们意识到开发者和用户都非常赞同通过头部运动来移动光标以及利用面部表情来执行操作的理念。

我们怀着同样的初衷,在 Android 设备上引入一个新的虚拟光标。我们正在利用 Android 的无障碍功能服务来创建这个新光标,并借助 MediaPipe 的面部关键点检测 API 来对光标的移动方式进行编程,使其根据用户的头部运动来移动。

该 API 包含 52 个面部混合形状值,这些值代表了 52 种面部动作的表现力,比如抬起左眉毛或张开嘴巴等。我们利用这 52 个值中的一部分,有效地映射并控制各种功能,为用户提供更多个性化设置和操控的可能性。同时,我们还利用了混合形状系数,使开发者能够针对每种特定表情设定不同的阈值,以便他们根据需要定制用户体验。

Project Gameface visuals

在 Project Gameface 中融入 Android 无障碍功能服务的最佳特性

移动操作

在 Windows 版 Project Gameface 中,用户可以模拟常见的点击操作。然而,在 Android 平台上,用户需要执行的操作更为多样。这些操作包括输入到操作系统中的触摸事件,以及其他全局操作事件,例如“返回”、“切换到多任务”、“回到主页”。我们利用了 Android 辅助功能 API 支持的移动操作来确定可以向用户提供哪些操作。目前,Android 版 Project Gameface 支持以下操作:GLOBAL_ACTION_HOME、GLOBAL_ACTION_BACK、GLOBAL_ACTION_NOTIFICATIONS、GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS


摄像头信息流

摄像头信息流极大地增强了用户体验,使用户能精确地调整阈值设置,并使系统能更好地解析各种动作。同时,这也向用户明确传达了一个信号:摄像头正积极用于理解他们的头部运动和动作。

如果仅仅是在界面上叠加摄像头信息流,开发者将无法访问 Android 设备的某些重要区域,如 Android 设置。为解决这一问题,我们将 Android 无障碍功能服务与 Project Gameface 相结合,使摄像头能够在包括 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