Ultralytics YOLO27:

Dataset de pontos-chave das mãos#

Introdução#

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



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

Pontos-chave#

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

Cada mão é anotada com 21 pontos-chave, conforme indicado abaixo:

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

Estrutura do Conjunto de Dados#

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

Para um vocabulário de gestos personalizado que vá além dos marcos genéricos das mãos, a Ultralytics Platform permite etiquetar e treinar o teu próprio dataset diretamente no navegador.

Aplicações#

Os pontos-chave das mãos são úteis em várias aplicações do mundo real:

  • Reconhecimento de gestos: interação homem-computador e interfaces de controlo sem contacto.
  • Controlos de AR/VR: interação precisa com objetos virtuais.
  • Manipulação robótica: controlo detalhado de mãos robóticas.
  • Cuidados de saúde: análise do movimento das mãos 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 das mãos.

YAML do Conjunto de Dados#

É utilizado um ficheiro YAML para definir a configuração do dataset. Este contém informações sobre os caminhos, as classes e outros dados relevantes do dataset. No caso do dataset de pontos-chave das mãos, o ficheiro 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 dataset de pontos-chave das mãos durante 100 épocas, com um tamanho de imagem de 640, podes utilizar os seguintes excertos de código. Para consultar a lista completa de argumentos disponíveis, visita a página de Treino 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)

Imagens de exemplo e anotações#

O dataset de pontos-chave das mãos contém um conjunto diversificado de imagens de mãos humanas anotadas com pontos-chave. Seguem-se alguns exemplos de imagens do dataset, juntamente com as respetivas anotações:

Exemplo do dataset de estimativa de pose com pontos-chave das mãos

  • Imagem em mosaico: esta imagem demonstra um lote de treino composto por imagens do dataset combinadas em mosaico. A combinação em mosaico é uma técnica utilizada durante o treino que combina várias imagens numa única imagem para aumentar a variedade de objetos e cenas em 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 demonstra a variedade e a complexidade das imagens do dataset de pontos-chave das mãos, bem como os benefícios da utilização de mosaicos durante o processo de treino.

Citações e agradecimentos#

Se utilizares o dataset de pontos-chave das mãos no teu trabalho de investigação ou desenvolvimento, reconhece as seguintes fontes:

Citação

Gostaríamos de agradecer às seguintes fontes por fornecerem as imagens utilizadas neste dataset:

As imagens foram recolhidas e utilizadas ao abrigo das respetivas licenças fornecidas por cada plataforma e são distribuídas ao abrigo da Licença Internacional Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0.

Gostaríamos também de reconhecer o criador deste dataset, Rion Dsilva, pela sua excelente contribuição para a investigação em IA de visão.

Perguntas frequentes#

  • Carrega yolo26n-pose.pt e chama model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640) — consulta o Exemplo de treino acima para veres os fragmentos completos de Python e CLI, e a página de Treino do modelo para obteres uma lista completa dos argumentos.

  • Com 26 768 imagens anotadas e 21 pontos-chave por mão, gerados através do Google MediaPipe, o dataset de pontos-chave das mãos fornece 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. Consulta a secção Pontos-chave para veres a descrição completa dos marcos.

  • Os pontos-chave das mãos são úteis para reconhecimento de gestos, controlos de AR/VR, manipulação robótica, análise de movimentos na área da saúde, animação e autenticação biométrica — consulta a secção Aplicações para obteres detalhes sobre cada uma.

  • O dataset de pontos-chave das mãos 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 fins de validação durante o treino do modelo.

    Esta estrutura garante um processo abrangente de treino e validação. Para obteres mais detalhes, consulta a secção Estrutura do dataset.

  • A configuração do dataset é definida num ficheiro YAML que inclui caminhos, classes e outras informações relevantes. O ficheiro hand-keypoints.yaml pode ser encontrado em hand-keypoints.yaml.

    Para utilizar este ficheiro YAML no treino, especifica-o no teu script de treino ou comando CLI, conforme mostrado no exemplo de treino acima. Para obteres mais detalhes, consulta a secção YAML do dataset.

Comentários