자세 인식

ML Kit Pose Detection API는 앱 개발자가 연속 동영상 또는 정적 이미지에서 대상의 신체 자세를 실시간으로 감지하는 경량 다용도 솔루션입니다. 포즈는 한 순간에 특정 신체 부위의 위치를 설명하여 일련의 골격 지점을 보여줍니다. 랜드마크는 어깨, 엉덩이 등 다양한 신체 부위에 해당합니다. 랜드마크의 상대적 위치를 사용하여 한 자세를 다른 자세와 구분할 수 있습니다.

iOS Android

ML Kit 자세 감지는 얼굴의 특징 (귀, 눈, 입, 코)과 손과 발을 포함하는 33 포인트의 전신 골격 경기를 생성합니다. 아래 그림 1은 사용자에게 카메라를 바라보는 랜드마크를 보여주므로 미러 이미지입니다. 사용자의 오른쪽은 이미지 왼쪽에 표시됩니다.

그림 1. 명소

ML Kit 포즈 감지에서는 탁월한 결과를 얻기 위해 전문 장비나 ML 전문 지식이 필요하지 않습니다. 이 기술을 통해 개발자는 단 몇 줄의 코드로 사용자에게 친절한 경험 중 하나를 만들 수 있습니다.

포즈를 감지하려면 사용자의 얼굴이 있어야 합니다. 자세 감지는 피사체의 전신이 프레임에 보일 때 가장 잘 작동하지만 부분적인 자세도 감지합니다. 이 경우 인식되지 않는 랜드마크에 이미지 외부의 좌표가 할당됩니다.

주요 기능

  • 교차 플랫폼 지원 Android와 iOS에서 동일한 환경을 제공합니다.
  • 전신 추적: 이 모델은 손과 발의 위치를 포함하여 33개의 주요 골격 지점을 반환합니다.
  • InFrameLikelihood 점수 각 랜드마크에 대해 랜드마크가 이미지 프레임 내에 있을 확률을 나타내는 척도입니다. 점수 범위는 0.0~1.0이며, 1.0은 신뢰도가 높음을 나타냅니다.
  • 최적화된 SDK 2개: 기본 SDK는 Pixel 4 및 iPhone X와 같은 최신 휴대전화에서 실시간으로 실행됩니다. 각각 30fps 및 45fps의 속도로 결과를 반환합니다. 하지만 랜드마크 좌표의 정밀도는 다를 수 있습니다. 정확한 SDK는 더 느린 프레임 속도에서 결과를 반환하지만 더 정확한 좌표 값을 생성합니다.
  • 심층 분석을 위한 Z 좌표 이 값은 사용자 본문의 앞부분과 사용자 엉덩이 일부를 결정하는 데 도움이 될 수 있습니다. 자세한 내용은 아래의 Z 좌표 섹션을 참고하세요.

Pose Detection API는 랜드마크 및 위치 집합을 반환한다는 점에서 Facial Recognition API와 유사합니다. 얼굴 인식은 미소를 짓거나 눈을 뜨는 등의 특성을 인식하려고 시도하지만 자세 감지는 포즈 또는 포즈의 랜드마크에 의미를 전달하지 않습니다. 자체 알고리즘을 만들어 자세를 해석할 수 있습니다. 자세한 예는 포즈 분류 팁을 참조하세요.

자세 감지는 이미지에서 한 사람만 감지할 수 있습니다. 이미지에 두 사람이 있으면 가장 높은 신뢰도로 감지된 사용자에게 랜드마크를 할당합니다.

Z 좌표

Z 좌표는 모든 랜드마크에 대해 계산된 실험용 값입니다. X 및 Y 좌표와 같은 '이미지 픽셀'로 측정되지만 실제 3D 값은 아닙니다. Z축은 카메라와 수직을 이루며 피사체의 엉덩이 사이를 통과합니다. Z축의 원점은 고관절 사이의 대략적인 중심점입니다 (카메라를 기준으로 왼쪽/오른쪽 및 전면/뒤로). 음의 Z 값은 카메라를 가리키고 양수 값은 카메라를 벗어납니다. Z 좌표에는 상한 또는 하한이 없습니다.

결과 샘플

다음 표는 오른쪽 포즈의 몇 가지 랜드마크에 대한 좌표와 InFrameLikelihood를 보여줍니다. 사용자 왼손의 Z 좌표는 피사체의 엉덩이 중심에서 카메라를 향하므로 음수입니다.

명소유형직위인프레임 좋아요
11왼쪽(734.9671, 550.7924, -118.11934)을 사용하세요.0.9999038
12 오른쪽 (391.27032, 583.2485, -321.15836)을 사용하세요. 0.9999894
13 왼쪽_엘보 (903.83704, 754.676, -219.67009) 0.9836427
14 오른쪽_엘보 (322.18152, 842.5973, -179.28519) 0.99970156
15 왼쪽 (1073.8956, 654.9725, -820.93463) 0.9737737
16 손목_오른쪽 (218.27956, 1015.70435, -683.6567)을 사용하세요. 0.995568입니다.
17 핑크 (1146.1635, 609.6432, -956.9976) 0.95273364입니다.
18 라이트 핑키 (176.17755, 1065.838, -776.5006) 0.9785348입니다.

고급설정

이 API의 기본 ML 모델에 관한 구현 세부정보를 자세히 알아보려면 Google AI 블로그 게시물을 확인하세요.

ML 공정성 관행과 모델 학습 방법에 대해 자세히 알아보려면 모델 카드를 참조하세요.