Ultralytics YOLO27:

Набор данных ключевых точек кисти#

Введение#

Набор данных кистей Ultralytics содержит 26 768 изображений кистей рук, размеченных 21 ключевой точкой каждое. Он создан с использованием библиотеки Google MediaPipe для высокой точности и согласованности. Набор совместим с форматами Ultralytics YOLO26 для обучения моделей оценки позы.



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

Ключевые точки#

Схема ключевых точек кисти с 21 точкой

Каждая кисть размечена 21 ключевой точкой следующим образом:

  1. Запястье
  2. Большой палец (4 точки)
  3. Указательный палец (4 точки)
  4. Средний палец (4 точки)
  5. Безымянный палец (4 точки)
  6. Мизинец (4 точки)

Структура датасета#

  • Всего изображений: 26 768 (18 776 для обучения / 7 992 для валидации).
  • Классы: 1 (кисть).
  • Ключевые точки: 21 на кисть, представленные тройками (x, y, visibility).
  • Размер для скачивания: ~369 МБ.

Для пользовательского словаря жестов, выходящего за рамки общих ориентиров кисти, Ultralytics Platform позволяет размечать и обучать собственный набор данных прямо в браузере.

Применения#

Ключевые точки кисти поддерживают несколько реальных применений:

  • Распознавание жестов: взаимодействие человека с компьютером и интерфейсы бесконтактного управления.
  • Управление AR/VR: точное взаимодействие с виртуальными объектами.
  • Роботизированные манипуляции: точное управление роботизированными кистями.
  • Здравоохранение: анализ движений кисти для медицинской диагностики.
  • Анимация: захват движений для реалистичной анимации кисти.
  • Биометрическая аутентификация: системы безопасности на основе геометрии кисти.

YAML датасета#

Для определения конфигурации набора данных используется YAML-файл. Он содержит сведения о путях к данным, классах и другую необходимую информацию. Для набора данных Hand Keypoints файл 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

Использование#

Чтобы обучить модель YOLO26n-pose на наборе данных Hand Keypoints в течение 100 эпох с размером изображения 640, используй следующие фрагменты кода. Полный список доступных аргументов смотри на странице обучения модели.

Пример обучения
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)

Примеры изображений и аннотаций#

Набор данных Hand Keypoints содержит разнообразные изображения человеческих кистей, размеченных ключевыми точками. Ниже приведены примеры изображений из набора данных вместе с соответствующими аннотациями:

Пример набора данных для оценки позы по ключевым точкам кисти

  • Мозаичное изображение: на этом изображении показан обучающий батч, составленный из мозаичных изображений датасета. Мозаицирование — это применяемая во время обучения техника, которая объединяет несколько изображений в одно, чтобы увеличить разнообразие объектов и сцен в каждом обучающем батче. Это помогает улучшить способность модели обобщать данные для объектов разных размеров, с разными соотношениями сторон и в разных контекстах.

Пример демонстрирует разнообразие и сложность изображений в наборе данных Hand Keypoints, а также преимущества использования мозаичного дополнения во время обучения.

Цитирование и благодарности#

Если ты используешь набор данных Hand Keypoints в исследовательской или разработческой работе, укажи следующие источники:

Цитата

Мы благодарим следующие источники за предоставленные изображения, использованные в этом наборе данных:

Изображения были собраны и использованы в соответствии с лицензиями, предоставленными каждой платформой, и распространяются по условиям международной лицензии Creative Commons Attribution-NonCommercial-ShareAlike 4.0.

Мы также хотим отметить создателя этого набора данных, Rion Dsilva, за его значительный вклад в исследования Vision AI.

Часто задаваемые вопросы#

  • Загрузи yolo26n-pose.pt и вызови model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640) — полный пример фрагментов кода на Python и CLI приведён выше в разделе Пример обучения, а полный список аргументов — на странице обучения модели.

  • Благодаря 26 768 размеченным изображениям и 21 ключевой точке на кисть, созданным с помощью Google MediaPipe, набор данных Hand Keypoints обеспечивает моделям оценки позы необходимый масштаб и точность разметки для задач продвинутой оценки позы. Полную структуру ориентиров смотри в разделе Ключевые точки.

  • Hand Keypoints поддерживает распознавание жестов, управление AR/VR, роботизированные манипуляции, анализ движений в здравоохранении, анимацию и биометрическую аутентификацию — подробности о каждом применении смотри в разделе Применения.

  • Набор данных Hand Keypoints разделён на две подвыборки:

    1. Обучение: содержит 18 776 изображений для обучения моделей оценки позы.
    2. Валидация: содержит 7 992 изображения для валидации во время обучения модели.

    Такая структура обеспечивает полноценный процесс обучения и валидации. Дополнительные сведения смотри в разделе Структура набора данных.

  • Конфигурация набора данных определяется в YAML-файле, который содержит пути, классы и другую необходимую информацию. Файл hand-keypoints.yaml можно найти по адресу hand-keypoints.yaml.

    Чтобы использовать этот YAML-файл для обучения, укажи его в скрипте обучения или команде CLI, как показано в примере обучения выше. Дополнительные сведения смотри в разделе YAML набора данных.

Комментарии