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의 사연을 접한 것을 계기로 진행되었으며, Lance와 협력하여 Project Gameface가 탄생했습니다. 제품에 얽힌 전체 스토리는 Google Keyword 블로그에서 확인할 수 있습니다.

playAbility와 같은 회사가 MediaPipe Blendshapes 같은 Project Gameface 빌딩 블록을 포용적인 소프트웨어에 활용하는 모습을 보고 매우 기뻤습니다. 이제는 Project Gameface에 대한 더 많은 코드를 오픈 소스로 제공하여, 개발자가 모든 Android 기기의 접근성을 높여줄 수 있는 Android 애플리케이션을 개발할 수 있도록 지원합니다. 기기의 카메라를 통해 얼굴 표정과 머리 움직임을 매끄럽게 추적하여 직관적인 맞춤형 컨트롤로 변환합니다. 이제 개발자는 얼굴 표정, 동작 크기, 커서 속도 등을 사용자 설정하여 사용자 환경을 구성할 수 있는 애플리케이션을 개발할 수 있습니다.

이번 출시를 위해 저희는 가족에게 보낼 메시지를 입력하거나 새로운 일자리를 찾는 등 Project Gameface를 교육, 직장 및 기타 환경으로 어떻게 확장할 수 있는지 알아보기 위해 장애인을 지원하는 인도의 사회적 기업 Incluzza와 협업했습니다.

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의 Face Landmarks Detection API를 활용하여 사용자의 머리 움직임에 따라 커서가 움직이는 방식으로 커서를 프로그래밍하고 있습니다.

API 내에는 왼쪽 눈썹을 올리거나 입을 벌리는 등 52가지 얼굴 움직임을 통한 표현을 나타내는 52개의 얼굴 블렌드 셰이프 값이 있습니다. 저희는 이 52개의 값 중 몇 가지를 사용하여 다양한 기능을 효과적으로 매핑 및 제어하여 사용자에게 사용자 설정 및 조작 가능성을 더 확대 제공합니다. 또한 블렌드 셰이프 계수를 활용하여 개발자가 각각의 특정한 표현에 대해 서로 다른 임계값을 설정할 수 있도록 하는데, 이는 경험을 맞춤 설정하는 데 도움이 됩니다.

Project Gameface visuals

최고의 Android 접근성 서비스를 Project Gameface에 제공

모바일 작업

Project Gameface용 Windows 버전에서는 사용자가 일반적인 클릭 동작을 복제할 수 있도록 했습니다. 그러나 Android에서는 사용자가 수행해야 하는 더 다양한 기능이 있습니다. OS에 입력되는 터치 이벤트와 'Go Back', 'Switch to Multitasking', 'Home' 등 다른 전역 작업 이벤트가 있습니다. Android Accessibility API에서 지원하는 모바일 작업을 사용하여 사용자에게 제공할 수 있는 작업을 결정했습니다. 현재, Android용 Project Gameface는 GLOBAL_ACTION_HOME, GLOBAL_ACTION_BACK, GLOBAL_ACTION_NOTIFICATIONS, GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS를 지원합니다.


카메라 피드

카메라 피드는 사용자 경험을 크게 향상시킴으로써 정확한 임계값 설정과 동작에 대한 더 깊은 이해를 가능하게 합니다. 또한 사용자에게 카메라가 머리 움직임과 동작을 이해하는 데 적극 사용되고 있다는 명확한 신호를 보냅니다.

카메라 피드의 오버레이를 만드는 것만으로도 개발자는 Android 설정 등 Android 기기의 몇몇 중요한 섹션에 액세스하지 못했을 것입니다. 저희는 Android 접근성 서비스를 Project Gameface와 함께 사용하여 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 Team (Meher Dabral,Samudra Sengupta), EnAble/Incluzza India (Shristi G, Vinaya C, Debashree Bhattacharya, Manju Sharma, Jeeja Ghosh, Sultana Banu, Sunetra Gupta, Ajay Balachandran, Karthik Chandrasekar 등 많은 분들께 감사의 마음을 전합니다.