모두의 IT 테라스

손의 모양과 움직임을 인식하는 능력은 다양한 기술 영역과 플랫폼에서 사용자 경험을 개선하는 데 있어 필수적인 요소일 수 있습니다. 예를 들어, 수화 이해와 손동작 제어를 위한 기초를 형성할 수 있으며 증강 현실의 물리적 공간에서 디지털 콘텐츠와 정보를 혼합해서 보여줄 수 있습니다. 사람은 실제 3차원 공간에서 자연스럽게 손의 위치와 표현 형태를 알아챌 수 있지만, 컴퓨터의 측면에서는 손은 종종 손가락끼리 겹치기도 하고 뒤집거나 펼치거나 주먹을 쥐거나 했을 때 가려지는 부분이 있고, 고 대비 패턴도 없기 때문에 효과적이고 효율적으로 손의 모양을 실시간으로 인식하는 것은 컴퓨터 소프트웨어 측면에서 중요한 과제로 떠오르고 있습니다.


구글은 손 인식에 대한 새로운 접근 방식을 발표했는데요.  2019 6월에 MediaPipe에서 구현했습니다. MediaPipe는 파이프라인을 구축하여 비디오 및 오디오와 같은 다양한 형식의 인지 데이터를 처리할 수 있는 오픈 소스 크로스 플랫폼 프레임 워크입니다. 이 접근 방식은 머신 러닝(machine learning)을 사용하여 한 개의 프레임에서 한 손의 21개의 3D 키 포인트를 잡아냄으로써 상당히 정확하게 손과 손가락 추적 기능을 제공합니다. 현재 최신 접근 방식은 주로 성능이 좋은 데스크톱 PC 환경에 의존하여 형태를 알아채는 하는 반면, 구글의 방법은 휴대폰에서 실시간으로 판단이 가능하고 심지어 여러 사람이 모인 경우에서도 여러 사람들의 손의 트래킹이 가능합니다. 이러한 손 지각 기능을 더 광범위한 연구 개발 커뮤니티에 제공함으로써 새로운 응용 프로그램과 새로운 연구 방법을 자극하는 창의적인 활용 사례가 출현할 수 있는 계기가 되고 있습니다.


MediaPipe를 통해 휴대폰에서 실시간으로 3D 손 인식 기능을 제공할 수 있는데 구글의 솔루션은 머신 러닝을 사용하여 비디오 프레임에서 한 손에 있는 21개의 3D 키 포인트를 계산합니다. 깊이는 그레이스케일로 표시됩니다.

Seagate의 핸드 트래킹 솔루션은 다음과 같은 여러 모델로 구성된 머신 러닝 파이프라인을 활용하는데 전체 이미지에서 동작하면서 방향이 지정된 손의 형태를 인식하는 손바닥 감지 모델로 구성되어 있습니다. 이 아키텍처는 최근에 공개된 얼굴 Mash 머신 러닝 파이프라인에서 사용하고 있는 것과 유사하며 다른 사람들의 손의 형태를 추적하는데 응용되어 왔습니다. 정확하게 인식된 손바닥 이미지를 손 랜드마크 모델에 보내면 데이터를 추가 연산해야 하는(예를 들면, 회전이나 뒤집 또는 크기 전환)의 필요성이 크게 감소하고 대신 네트워크는 대부분의 용량을 좌표 예측 정확도에 더 할당할 수 있습니다.

시스템의 구성은 처음에 손 위치를 감지하기 위해 BlazePalm이라는 싱글 샷 검출기 모델을 갖추고 있는데, BlazeFace와 유사한 방식으로 모바일에서 실시간으로 사용할 수 있도록 최적화되었으며, MediaPipe에서도 사용할 수 있습니다. 손을 감지하는 것은 결정적으로 복잡한 작업입니다. 이 모델은 이미지 프레임을 기준으로 대규모 스팬 (~ 20x)으로 다양한 손 크기에서 작동해야 하며 주먹을 뒤거나 손들이 겹쳐진 경우를 감지할 수 있어야 합니다. 예를 들면, 얼굴은 색상의 고대비가 분명한 반면, 손은 그러한 특징이 없기 때문에, 손의 시각적 특징만으로 손의 형태를 신뢰성 있게 인지하기 어렵습니다. 대신 팔, 신체 또는 사람의 특징과 같은 추가 요소를 제공하면 정확한 손 위치 파악에 도움이 됩니다.

구글은 Seagate와는 다르게 손의 형태 파악에 대해 다른 각도로 연구를 해왔습니다. 먼저, 손바닥과 주먹과 같은 단단한 형태의 경계 부분은 관절이 있는 손가락을 인식하는 것보다 훨씬 간단하기 때문에 손 감지기 대신 손바닥 감지기를 먼저 응용하여 연산을 시작합니다. 또한 손바닥이 더 작은 형태이기 때문에, 최대 억제 알고리즘으로 악수와 같이 2개의 손이 겹쳐진 경우에도 인식할 수 있습니다. 또한 다른 측면 비율을 무시하고 사각형 경계 상자를 사용하여 손바닥을 모델링할 수 있으므로 앵커 수를 3-5배 줄일 수 있습니다. 둘째, 인코더-디코더 피쳐 추출기는 작은 물체에서도 더 큰 장면 콘텍스트 인식에 사용됩니다. 마지막으로, 대규모 분산 처리로 많은 양의 앵커를 지원하기 위해 연산 과정 중에서 초점 데이터가 줄어드는 것을 최소화할 수 있습니다.


구글은 이러한 방법으로 손바닥 검출에서 평균 95%의 정밀도를 달성했습니다. 일반적인 교차 엔트로피 손실과 디코더를 사용하지 않을 경우 기준치는 86.22%에 불과하기 때문에 이번 연구 결과는 상당히 고무적이며, 많은 다른 산업분야에 충분히 응용 가능하다고 볼 수 있습니다.

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band