손 랜드마크 감지 가이드

달걀을 들고 있는 손 손의 모양은 식별된 구조를 나타내는 프레임으로 표시됩니다.

MediaPipe Hand Landmarker 태스크를 사용하면 이미지에서 손의 랜드마크를 감지할 수 있습니다. 이 작업을 사용하여 손의 주요 지점을 찾고 시각적 효과를 렌더링할 수 있습니다. 이 태스크는 머신러닝 (ML) 모델을 정적 데이터 또는 연속 스트림으로 사용하여 이미지 데이터를 처리하고 이미지 좌표의 손 랜드마크, 세계 좌표의 손 랜드마크, 감지된 여러 손의 손잡이(왼손/오른손)를 출력합니다.

사용해 보기

시작하기

대상 플랫폼에 관한 다음 구현 가이드 중 하나에 따라 이 작업을 시작합니다. 다음 플랫폼별 가이드에서는 권장 모델, 권장 구성 옵션이 포함된 코드 예시 등 이 작업의 기본 구현을 안내합니다.

태스크 세부정보

이 섹션에서는 이 태스크의 기능, 입력, 출력, 구성 옵션을 설명합니다.

기능

  • 입력 이미지 처리 - 처리에는 이미지 회전, 크기 조절, 정규화, 색상 공간 변환이 포함됩니다.
  • 점수 기준점: 예측 점수를 기준으로 결과를 필터링합니다.
태스크 입력 태스크 출력
Hand Landmarker는 다음 데이터 유형 중 하나를 입력으로 받습니다.
  • 정지 이미지
  • 디코딩된 동영상 프레임
  • 라이브 동영상 피드
손 랜드마커는 다음과 같은 결과를 출력합니다.
  • 감지된 손의 손잡이
  • 이미지 좌표에서 감지된 손의 랜드마크
  • 감지된 손의 랜드마크(세계 좌표)

구성 옵션

이 태스크에는 다음과 같은 구성 옵션이 있습니다.

옵션 이름 설명 값 범위 기본값
running_mode 태스크의 실행 모드를 설정합니다. 모드는 세 가지입니다.

IMAGE: 단일 이미지 입력의 모드입니다.

동영상: 동영상의 디코딩된 프레임 모드입니다.

LIVE_STREAM: 카메라와 같은 입력 데이터의 라이브 스트림 모드입니다. 이 모드에서는 결과를 비동기식으로 수신할 리스너를 설정하려면 resultListener를 호출해야 합니다.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
num_hands 손 지형지물 감지기에서 감지한 최대 손 수입니다. Any integer > 0 1
min_hand_detection_confidence 손바닥 감지 모델에서 손 감지가 성공으로 간주되기 위한 최소 신뢰도 점수입니다. 0.0 - 1.0 0.5
min_hand_presence_confidence 손 랜드마크 감지 모델에서 손 존재 점수의 최소 신뢰도 점수입니다. 동영상 모드와 라이브 스트림 모드에서 손 랜드마크 모델의 손 존재 신뢰도 점수가 이 기준점 미만이면 손 랜드마커가 손바닥 감지 모델을 트리거합니다. 그렇지 않으면 경량 손 추적 알고리즘이 후속 랜드마크 감지를 위해 손의 위치를 결정합니다. 0.0 - 1.0 0.5
min_tracking_confidence 손 추적이 성공으로 간주되는 최소 신뢰도 점수입니다. 현재 프레임과 마지막 프레임의 손 사이의 경계 상자 IoU 임곗값입니다. 손 랜드마커의 동영상 모드 및 스트림 모드에서 추적이 실패하면 손 랜드마커가 손 감지를 트리거합니다. 그렇지 않으면 손 감지를 건너뜁니다. 0.0 - 1.0 0.5
result_callback 손 랜드마커가 라이브 스트림 모드일 때 감지 결과를 비동기식으로 수신하도록 결과 리스너를 설정합니다. 실행 모드가 LIVE_STREAM로 설정된 경우에만 적용됩니다. 해당 사항 없음 해당 사항 없음

모델

손 랜드마커는 손바닥 감지 모델과 손 랜드마크 감지 모델이라는 두 가지 패키징된 모델이 포함된 모델 번들을 사용합니다. 이 태스크를 실행하려면 두 모델이 모두 포함된 모델 번들이 필요합니다.

모델 이름 입력 셰이프 양자화 유형 모델 카드 버전
HandLandmarker (전체) 192 x 192, 224 x 224 부동 소수점 수 16 정보 최신

손 랜드마크 모델 번들은 감지된 손 영역 내에서 21개의 손가락 관절 좌표의 주요 지점 위치를 감지합니다. 이 모델은 약 30, 000개의 실제 이미지와 여러 배경에 적용된 여러 개의 렌더링된 합성 손 모델을 사용하여 학습되었습니다.

손 랜드마커 모델 번들에는 손바닥 감지 모델과 손 랜드마커 감지 모델이 포함되어 있습니다. 손바닥 감지 모델은 입력 이미지 내에서 손을 찾고 손 랜드마크 감지 모델은 손바닥 감지 모델에 의해 정의된 잘린 손 이미지에서 특정 손 랜드마크를 식별합니다.

손바닥 감지 모델을 실행하는 데 시간이 걸리므로 동영상 또는 라이브 스트림 실행 모드에서는 손 랜드마크가 한 프레임에서 손 랜드마크 모델에 의해 정의된 경계 상자를 사용하여 후속 프레임의 손 영역을 찾습니다. 손 랜드마커는 손 랜드마크 모델이 더 이상 손의 존재를 식별하지 못하거나 프레임 내에서 손을 추적하지 못하는 경우에만 손바닥 감지 모델을 다시 트리거합니다. 이렇게 하면 Hand Landmarker가 손바닥 감지 모델을 트리거하는 횟수가 줄어듭니다.

작업 벤치마크

다음은 위의 사전 학습된 모델을 기반으로 한 전체 파이프라인의 태스크 벤치마크입니다. 지연 시간 결과는 CPU / GPU를 사용하는 Pixel 6의 평균 지연 시간입니다.

모델 이름 CPU 지연 시간 GPU 지연 시간
HandLandmarker (전체) 17.12ms 12.27ms