Conjunto de Dados de Pontos-Chave da Mão

Introdução

O conjunto de dados de pontos-chave da mão contém 26.768 imagens de mãos anotadas com pontos-chave, tornando-o adequado para treinar modelos como o Ultralytics YOLO para tarefas de estimativa de pose. As anotações foram geradas usando a biblioteca Google MediaPipe, garantindo alta precisão e consistência, e o conjunto de dados é compatível com os formatos do Ultralytics YOLO26.



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

Marcos da Mão

Diagrama de marcos dos pontos-chave da mão com 21 pontos

Keypoints

O conjunto de dados inclui pontos-chave para detecção da mão. Os pontos-chave estão anotados da seguinte forma:

  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)

Cada mão possui um total de 21 pontos-chave.

Principais recursos

  • Conjunto de Dados Grande: 26.768 imagens com anotações de pontos-chave da mão.
  • Compatibilidade com YOLO26: Os rótulos vêm no formato de pontos-chave YOLO e estão prontos para uso com modelos YOLO26.
  • 21 Pontos-chave: Representação detalhada da pose da mão, abrangendo o pulso e quatro pontos por dedo.

Estrutura do Dataset

O conjunto de dados de pontos-chave da mão é dividido em dois subconjuntos:

  1. Treino: Este subconjunto contém 18.776 imagens do conjunto de dados de pontos-chave da mão, anotadas para treinar modelos de estimativa de pose.
  2. Val: Este subconjunto contém 7.992 imagens que podem ser usadas para fins de validação durante o treinamento do modelo.

Aplicações

Os pontos-chave da mão podem ser usados para reconhecimento de gestos, controles AR/VR, manipulação robótica e análise de movimento da mão na área da saúde. Eles também podem ser aplicados em animação para captura de movimento e em sistemas de autenticação biométrica para segurança. O rastreamento detalhado das posições dos dedos permite uma interação precisa com objetos virtuais e interfaces de controle sem toque.

YAML do Dataset

Um arquivo YAML (Yet Another Markup Language) é usado para definir a configuração do conjunto de dados. Ele contém informações sobre os caminhos, classes e outras informações 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

Utilização

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 uma lista abrangente de argumentos disponíveis, consulte a página de Treinamento do modelo.

Exemplo de Treino
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)

Amostra de Imagens e Anotações

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

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

  • Imagem em mosaico: Esta imagem demonstra um lote de treino composto por imagens do conjunto de dados em mosaico. A técnica de mosaico é um método utilizado durante o treino que combina várias imagens numa única para aumentar a variedade de objetos e cenas dentro de cada lote de treino. Isto 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 de usar mosaico durante o processo de treinamento.

Citações e Agradecimentos

Se você usar o conjunto de dados hand-keypoints em seu trabalho de pesquisa ou desenvolvimento, por favor, reconheça as 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 Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional.

Gostaríamos também de reconhecer o criador deste conjunto de dados, Rion Dsilva, por sua grande contribuição para a pesquisa em Visão Computacional de IA.

FAQ

Como treino um modelo YOLO26 no conjunto de dados de Pontos-Chave da Mão?

Para treinar um modelo YOLO26 no conjunto de dados de Pontos-Chave da Mão, você pode usar Python ou a interface de linha de comando (CLI). Aqui está um exemplo para treinar um modelo YOLO26n-pose por 100 épocas com um tamanho de imagem de 640:

Exemplo
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)

Para uma lista abrangente de argumentos disponíveis, consulta a página de Treinamento do modelo.

Quais são as principais características do conjunto de dados de Pontos-Chave da Mão?

O conjunto de dados de Pontos-Chave da Mão foi projetado para tarefas avançadas de estimativa de pose e inclui vários recursos principais:

  • Conjunto de Dados Grande: Contém 26.768 imagens com anotações de pontos-chave da mão.
  • Compatibilidade com YOLO26: Pronto para uso com modelos YOLO26.
  • 21 Pontos-chave: Representação detalhada da pose da mão, incluindo o pulso e as articulações dos dedos.

Para mais detalhes, você pode explorar a seção Conjunto de Dados de Pontos-Chave da Mão.

Quais aplicações podem se beneficiar do uso do conjunto de dados de Pontos-Chave da Mão?

O conjunto de dados de Pontos-Chave da Mão pode ser aplicado em vários campos, incluindo:

  • Reconhecimento de Gestos: Melhorando a interação humano-computador.
  • Controles AR/VR: Melhorando a experiência do usuário em realidade aumentada e virtual.
  • Manipulação Robótica: Permitindo o controle preciso de mãos robóticas.
  • Saúde: Analisando movimentos das mãos para diagnósticos médicos.
  • Animação: Capturando movimento para animações realistas.
  • Autenticação Biométrica: Aprimorando sistemas de segurança.

Para mais informações, consulte a seção Aplicações.

Como o conjunto de dados de Pontos-Chave da Mão é estruturado?

O conjunto de dados de Pontos-Chave da Mão é dividido em dois subconjuntos:

  1. Treino: Contém 18.776 imagens para treinar modelos de estimativa de pose.
  2. Val: Contém 7.992 imagens para fins de 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.

Como uso o arquivo YAML do conjunto de dados para treinamento?

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 pode ser encontrado em hand-keypoints.yaml.

Para usar este arquivo YAML para treinamento, especifique-o em seu script de treinamento ou comando CLI como mostrado no exemplo de treinamento acima. Para mais detalhes, consulte a seção YAML do Conjunto de Dados.

Comentários