Ultralytics YOLO27:
Get Started

Conjunto de dados de pontos-chave da mão#

Introdução#

O conjunto de dados de pontos-chave da mão do Ultralytics contém 26,768 imagens de mãos anotadas com 21 pontos-chave cada, geradas com a biblioteca Google MediaPipe para garantir alta precisão e consistência. Ele é compatível com os formatos do Ultralytics YOLO26 para treinar modelos de estimativa de pose.



Assista: Estimativa de pontos-chave da mão com Ultralytics YOLO | Tutorial de estimativa da pose da mão humana

Pontos-chave#

Diagrama de pontos de referência dos pontos-chave da mão com 21 pontos

Cada mão é anotada com 21 pontos-chave, conforme listado a seguir:

  1. Pulso
  2. Polegar (4 pontos)
  3. Dedo indicador (4 pontos)
  4. Dedo médio (4 pontos)
  5. Dedo anelar (4 pontos)
  6. Dedo mínimo (4 pontos)

Estrutura do conjunto de dados#

  • Total de imagens: 26,768 (18,776 train / 7,992 val).
  • Classes: 1 (mão).
  • Pontos-chave: 21 por mão, com trios (x, y, visibility).
  • Tamanho do download: ~369 MB.

Para criar um vocabulário personalizado de gestos além dos pontos de referência genéricos da mão, a plataforma Ultralytics permite rotular e treinar seu próprio conjunto de dados pelo navegador.

Aplicações#

Os pontos-chave da mão permitem várias aplicações no mundo real:

  • Reconhecimento de gestos: interação humano-computador e interfaces de controle sem toque.
  • Controles de AR/VR: interação precisa com objetos virtuais.
  • Manipulação robótica: controle preciso de mãos robóticas.
  • Saúde: análise dos movimentos da mão para diagnósticos médicos.
  • Animação: captura de movimento para movimentos realistas das mãos.
  • Autenticação biométrica: sistemas de segurança baseados na geometria da mão.

YAML do conjunto de dados#

Um arquivo YAML é usado para definir a configuração do conjunto de dados. Ele contém informações sobre os caminhos, as classes e outros dados relevantes do conjunto de dados. No caso do conjunto de dados de pontos-chave da mão, o arquivo hand-keypoints.yaml é mantido em 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

Uso#

Para treinar um modelo YOLO26n-pose no conjunto de dados de pontos-chave da mão por 100 épocas com um tamanho de imagem de 640, você pode usar os seguintes trechos de código. Para consultar a lista completa de argumentos disponíveis, acesse a página de Treinamento do modelo.

Exemplo de treino
from ultralytics import YOLO

# Carregar um modelo
model = YOLO("yolo26n-pose.pt")  # carregue um modelo pré-treinado (recomendado para treinamento)

# Treinar o modelo
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)

Imagens de exemplo e anotações#

O conjunto de dados de pontos-chave da mão contém um conjunto diversificado de imagens de mãos humanas anotadas com pontos-chave. Aqui estão alguns exemplos de imagens do conjunto de dados, junto com suas anotações correspondentes:

Amostra do conjunto de dados de estimativa de pose com pontos-chave da mão

  • Imagem em mosaico: esta imagem mostra um lote de treinamento composto por imagens do conjunto de dados organizadas em mosaico. A criação de mosaicos é uma técnica usada durante o treinamento que combina várias imagens numa só para aumentar a variedade de objetos e cenas em cada lote de treinamento. Isso ajuda a melhorar a capacidade do modelo de generalizar para diferentes tamanhos de objetos, proporções e contextos.

O exemplo mostra a variedade e a complexidade das imagens no conjunto de dados de pontos-chave da mão e os benefícios do uso de mosaicos durante o processo de treinamento.

Citações e agradecimentos#

Se você usar o conjunto de dados de pontos-chave da mão em sua pesquisa ou trabalho de desenvolvimento, agradeça às seguintes fontes:

Citação

Gostaríamos de agradecer às seguintes fontes por fornecerem as imagens usadas neste conjunto de dados:

As imagens foram coletadas e usadas sob as respectivas licenças fornecidas por cada plataforma e são distribuídas sob a Licença Internacional Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0.

Também gostaríamos de agradecer ao criador deste conjunto de dados, Rion Dsilva, por sua grande contribuição à pesquisa em IA para visão.

Perguntas frequentes#

  • Carregue yolo26n-pose.pt e chame model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640) — consulte o Exemplo de treinamento acima para ver os trechos completos de Python e CLI, e a página de Treinamento do modelo para obter uma lista abrangente de argumentos.

  • Com 26.768 imagens anotadas e 21 pontos-chave por mão, gerados pelo Google MediaPipe, o conjunto de dados Hand Keypoints oferece aos modelos de estimativa de pose a escala e a precisão de anotação necessárias para tarefas de estimativa avançada de pose. Consulte a seção Pontos-chave para ver a descrição completa dos pontos de referência.

  • Hand Keypoints oferece suporte ao reconhecimento de gestos, controles de RA/RV, manipulação robótica, análise de movimentos na área da saúde, animação e autenticação biométrica — consulte a seção Aplicações para ver os detalhes de cada uma.

  • O conjunto de dados Hand Keypoints está dividido em dois subconjuntos:

    1. Treino: contém 18.776 imagens para treinar modelos de estimativa de pose.
    2. Validação: contém 7.992 imagens para validação durante o treinamento do modelo.

    Essa estrutura garante um processo abrangente de treinamento e validação. Para mais detalhes, consulte a seção Estrutura do conjunto de dados.

  • A configuração do conjunto de dados é definida em um arquivo YAML, que inclui caminhos, classes e outras informações relevantes. O arquivo hand-keypoints.yaml está disponível em hand-keypoints.yaml.

    Para usar esse arquivo YAML no treinamento, especifique-o no script de treinamento ou no comando da CLI, como mostrado no exemplo de treinamento acima. Para mais detalhes, consulte a seção YAML do conjunto de dados.

Comentários