손 키포인트 데이터셋

소개

손 키포인트 데이터셋에는 키포인트가 주석으로 달린 26,768장의 손 이미지가 포함되어 있어 Ultralytics YOLO와 같은 모델을 포즈 추정 작업에 학습시키는 데 적합합니다. 주석은 Google MediaPipe 라이브러리를 사용하여 생성되었으므로 높은 정확도와 일관성을 보장하며, 해당 데이터셋은 Ultralytics YOLO26 형식과 호환됩니다.



Watch: Hand Keypoints Estimation with Ultralytics YOLO26 | Human Hand Pose Estimation Tutorial

손 랜드마크

21개 포인트가 표시된 손 키포인트 랜드마크 다이어그램

Keypoints

데이터셋에는 손 감지를 위한 키포인트가 포함되어 있습니다. 키포인트는 다음과 같이 주석 처리되어 있습니다:

  1. 손목
  2. 엄지손가락 (4 포인트)
  3. 검지손가락 (4 포인트)
  4. 중지손가락 (4 포인트)
  5. 약지손가락 (4 포인트)
  6. 새끼손가락 (4 포인트)

각 손에는 총 21개의 키포인트가 있습니다.

주요 특징

  • 대규모 데이터셋: 손 키포인트 주석이 포함된 26,768장의 이미지.
  • YOLO26 호환성: 라벨은 YOLO 키포인트 형식으로 제공되며 YOLO26 모델에서 즉시 사용할 수 있습니다.
  • 21개 키포인트: 손목과 각 손가락당 4개 지점을 포함하는 상세한 손 포즈 표현.

데이터셋 구조

손 키포인트 데이터셋은 두 개의 하위 집합으로 나뉩니다:

  1. Train: 이 하위 집합은 포즈 추정 모델 학습을 위해 주석이 달린 손 키포인트 데이터셋의 18,776장 이미지로 구성됩니다.
  2. Val: 이 하위 집합은 모델 학습 중 검증 목적으로 사용할 수 있는 7,992장의 이미지로 구성됩니다.

응용 분야

손 키포인트는 제스처 인식, AR/VR 제어, 로봇 조작, 그리고 의료 분야의 손 움직임 분석에 사용될 수 있습니다. 또한 애니메이션의 모션 캡처 및 보안을 위한 생체 인증 시스템에도 적용 가능합니다. 손가락 위치를 상세하게 추적함으로써 가상 객체와의 정밀한 상호 작용 및 비접촉식 제어 인터페이스 구현이 가능합니다.

데이터셋 YAML

데이터셋 구성을 정의하기 위해 YAML(Yet Another Markup Language) 파일이 사용됩니다. 이 파일에는 데이터셋 경로, 클래스 및 기타 관련 정보가 포함되어 있습니다. 손 키포인트 데이터셋의 경우, hand-keypoints.yaml 파일이 https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/hand-keypoints.yaml에 유지 관리됩니다.

ultralytics/cfg/datasets/hand-keypoints.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Hand Keypoints dataset by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/hand-keypoints/
# Example usage: yolo train data=hand-keypoints.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── hand-keypoints ← downloads here (369 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: hand-keypoints # dataset root dir
train: images/train # train images (relative to 'path') 18776 images
val: images/val # val images (relative to 'path') 7992 images

# Keypoints
kpt_shape: [21, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 1, 2, 4, 3, 10, 11, 12, 13, 14, 5, 6, 7, 8, 9, 15, 16, 17, 18, 19, 20]

# Classes
names:
  0: hand

# Keypoint names per class
kpt_names:
  0:
    - wrist
    - thumb_cmc
    - thumb_mcp
    - thumb_ip
    - thumb_tip
    - index_mcp
    - index_pip
    - index_dip
    - index_tip
    - middle_mcp
    - middle_pip
    - middle_dip
    - middle_tip
    - ring_mcp
    - ring_pip
    - ring_dip
    - ring_tip
    - pinky_mcp
    - pinky_pip
    - pinky_dip
    - pinky_tip

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/hand-keypoints.zip

사용법

손 키포인트 데이터셋에서 이미지 크기 640으로 100 에포크(epoch) 동안 YOLO26n-pose 모델을 학습시키려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 학습(Training) 페이지를 참조하십시오.

학습 예제
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)

샘플 이미지 및 주석

손 키포인트 데이터셋에는 키포인트가 주석으로 달린 사람 손의 다양한 이미지 세트가 포함되어 있습니다. 다음은 데이터셋 이미지와 그에 대응하는 주석의 몇 가지 예시입니다:

손 키포인트 포즈 추정 데이터셋 샘플

  • 모자이크 이미지: 이 이미지는 모자이크 처리된 데이터셋 이미지들로 구성된 학습 배치를 보여줍니다. 모자이킹은 학습 중에 여러 이미지를 하나의 이미지로 결합하여 각 학습 배치 내의 객체와 장면의 다양성을 높이는 데 사용되는 기법입니다. 이는 모델이 다양한 객체 크기, 가로세로 비율 및 문맥으로 일반화하는 능력을 향상시키는 데 도움을 줍니다.

이 예시는 손 키포인트 데이터셋 이미지의 다양성과 복잡성, 그리고 학습 과정에서 모자이킹(mosaicing)을 사용할 때의 이점을 보여줍니다.

인용 및 감사의 글

연구 또는 개발 작업에서 hand-keypoints 데이터셋을 사용하는 경우, 다음 출처를 명시해 주시기 바랍니다:

인용

이 데이터셋에 사용된 이미지를 제공해 준 다음 출처에 감사드립니다:

이미지는 각 플랫폼에서 제공하는 관련 라이선스에 따라 수집 및 사용되었으며 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License에 따라 배포됩니다.

또한 Vision AI 연구에 큰 기여를 해준 이 데이터셋의 제작자 Rion Dsilva 님께도 감사를 표합니다.

FAQ

손 키포인트 데이터셋으로 YOLO26 모델을 학습하려면 어떻게 해야 합니까?

손 키포인트 데이터셋으로 YOLO26 모델을 학습하려면 Python 또는 명령줄 인터페이스(CLI)를 사용할 수 있습니다. 다음은 이미지 크기 640으로 100 에포크 동안 YOLO26n-pose 모델을 학습시키는 예시입니다:

예시
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)

사용 가능한 전체 인수 목록은 모델 학습(Training) 페이지를 참조하십시오.

손 키포인트 데이터셋의 주요 특징은 무엇입니까?

손 키포인트 데이터셋은 고급 포즈 추정(pose estimation) 작업을 위해 설계되었으며 몇 가지 주요 특징을 포함합니다:

  • 대규모 데이터셋: 손 키포인트 주석이 포함된 26,768장의 이미지.
  • YOLO26 호환성: YOLO26 모델에서 즉시 사용할 수 있습니다.
  • 21개 키포인트: 손목 및 손가락 관절을 포함한 상세한 손 포즈 표현.

자세한 내용은 손 키포인트 데이터셋 섹션을 확인하십시오.

손 키포인트 데이터셋을 사용하면 어떤 애플리케이션에 도움이 됩니까?

손 키포인트 데이터셋은 다음을 포함한 다양한 분야에 적용될 수 있습니다:

  • 제스처 인식: 인간과 컴퓨터 간의 상호 작용 향상.
  • AR/VR 제어: 증강 및 가상 현실에서의 사용자 경험 개선.
  • 로봇 조작: 로봇 손의 정밀한 제어 구현.
  • 의료: 의학적 진단을 위한 손 움직임 분석.
  • 애니메이션: 사실적인 애니메이션을 위한 모션 캡처.
  • 생체 인증: 보안 시스템 강화.

자세한 내용은 애플리케이션(Applications) 섹션을 참조하십시오.

손 키포인트 데이터셋은 어떻게 구성되어 있습니까?

손 키포인트 데이터셋은 두 개의 하위 집합으로 나뉩니다:

  1. Train: 포즈 추정 모델 학습을 위한 18,776장의 이미지 포함.
  2. Val: 모델 학습 중 검증 목적으로 사용하는 7,992장의 이미지 포함.

이 구조는 포괄적인 학습 및 검증 프로세스를 보장합니다. 자세한 내용은 데이터셋 구조(Dataset Structure) 섹션을 참조하십시오.

학습을 위해 데이터셋 YAML 파일을 어떻게 사용합니까?

데이터셋 구성은 YAML 파일에 정의되어 있으며, 여기에는 경로, 클래스 및 기타 관련 정보가 포함됩니다. hand-keypoints.yaml 파일은 hand-keypoints.yaml에서 찾을 수 있습니다.

이 YAML 파일을 학습에 사용하려면 위 학습 예제와 같이 학습 스크립트나 CLI 명령에서 지정하십시오. 자세한 내용은 데이터셋 YAML(Dataset YAML) 섹션을 참조하십시오.

댓글