포즈 추정

포즈 추정은 ML 모델을 사용하여 주요 신체 관절(키포인트)의 공간적 위치를 추정하여 이미지 또는 비디오로부터 사람의 포즈를 추정하는 작업입니다.

시작하기

TensorFlow Lite를 처음 사용하고 Android 또는 iOS로 작업하는 경우, 다음 예제 애플리케이션을 탐색하면 시작하는 데 도움이 됩니다.

Android 예제 iOS 예제

TensorFlow Lite API에 익숙하다면 스타터 MoveNet 포즈 추정 모델 및 지원 파일을 다운로드하세요.

스타터 모델 다운로드

웹 브라우저에서 포즈 추정을 시도하려면 TensorFlow JS 데모를 확인하세요.

모델 설명

동작 원리

포즈 추정은 예를 들어 이미지에서 누군가의 팔꿈치가 나타나는 위치를 결정할 수 있도록 이미지와 비디오에서 인체를 감지하는 컴퓨터 비전 기술을 말합니다. 포즈 추정은 주요 신체 관절의 위치를 추정할 뿐 이미지나 비디오에서 누가 누구인지 인식하지는 못한다는 사실을 알아야 합니다.

포즈 추정 모델은 처리된 카메라 이미지를 입력으로 받아 키포인트에 대한 정보를 출력합니다. 감지된 키포인트는 파트 ID로 인덱싱되며 신뢰도 점수는 0.0에서 1.0 사이입니다. 신뢰도 점수는 키포인트가 해당 위치에 존재할 확률을 나타냅니다.

두 가지 TensorFlow Lite 포즈 추정 모델의 참조 구현이 제공됩니다.

  • MoveNet: 조명과 천둥의 두 가지 형태로 제공되는 첨단 포즈 추정 모델입니다. 아래 섹션에서 이 둘의 비교 내용을 참조하세요.
  • PoseNet: 2017년에 출시된 이전 세대의 포즈 추정 모델입니다.

포즈 예측은 이미지와 비디오에서 사람의 모습을 감지하는 컴퓨터 비전 기술을 의미하며, 예를 들어 이미지에서 누군가의 팔꿈치가 나타나는 위치를 결정할 수 있습니다.

ID 파트
0
1 왼쪽 눈
2 오른쪽 눈
3 왼쪽 귀
4 오른쪽 귀
5 왼쪽 어깨
6 오른쪽 어깨
7 왼쪽 팔꿈치
8 오른쪽 팔꿈치
9 왼쪽 손목
10 오른쪽 손목
11 왼쪽 골반 부위
12 오른쪽 골반 부위
13 왼쪽 무릎
14 오른쪽 무릎
15 왼쪽 발목
16 오른쪽 발목

아래에 출력의 예를 나타내었습니다.

포즈 추정을 보여주는 애니메이션

성능 벤치마크

MoveNet은 두 가지 버전으로 제공됩니다.

  • MoveNet.Lightning은 Thunder 버전보다 더 작고 빠르지만 덜 정확합니다. 최신 스마트폰에서 실시간으로 실행할 수 있습니다.
  • MoveNet.Thunder는 더 정확한 버전이지만 Lightning보다 크고 느립니다. 더 높은 정확성이 필요한 사용 사례에 유용합니다.

MoveNet은 다양한 데이터세트, 특히 피트니스 동작 이미지가 있는 이미지에서 PoseNet을 능가합니다. 따라서 PoseNet보다 MoveNet을 사용하는 것이 좋습니다.

성능 벤치마크 수치는 여기에 설명된 도구로 생성됩니다. 정확성(mAP) 수치는 COCO 데이터세트의 일부분에서 측정되며, 여기에서 한 사람만 포함하도록 각 이미지를 필터링하고 자릅니다.

모델 크기(MB) mAP 대기 시간(ms)
Pixel 5 - CPU 4 스레드 Pixel 5 - GPU Raspberry Pi 4 - CPU 4 스레드
MoveNet.Thunder(FP16 양자화) 12.6MB 72.0 155ms 45ms 594ms
MoveNet.Thunder(INT8 양자화) 7.1MB 68.9 100ms 52ms 251ms
MoveNet.Lightning(FP16 양자화) 4.8MB 63.0 60ms 25ms 186ms
MoveNet.Lightning(INT8 양자화) 2.9MB 57.4 52ms 28ms 95ms
PoseNet(MobileNetV1 백본, FP32) 13.3MB 45.6 80ms 40ms 338ms

추가 자료 및 리소스

  • MoveNet 및 TensorFlow Lite를 사용한 포즈 추정에 대해 자세히 알아보려면 이 블로그 게시물을 확인하세요.
  • 웹에서 포즈 추정에 대해 자세히 알아보려면 이 블로그 게시물을 확인하세요.
  • TensorFlow Hub의 모델을 사용하여 Python에서 MoveNet을 실행하는 방법에 대해 알아보려면 이 튜토리얼을 확인하세요.
  • Coral/EdgeTPU는 에지 장치에서 포즈 추정을 훨씬 빠르게 실행할 수 있습니다. 자세한 내용은 EdgeTPU 최적화 모델을 참조하세요.
  • 여기에서 PoseNet 논문을 읽어보세요.

이러한 포즈 추정의 사용 사례도 확인하세요.