Saltar para o conteúdo

Conjunto de dados dos pontos-chave da mão

Introdução

O conjunto de dados hand-keypoints contém 26.768 imagens de mãos anotadas com pontos-chave, o que o torna adequado para modelos de treino como Ultralytics YOLO para tarefas de estimativa de pose. As anotações foram geradas utilizando a biblioteca Google MediaPipe, garantindo uma elevada precisão e consistência, e o conjunto de dados é compatível com Ultralytics YOLO11 formatos.



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

Marcos da mão

Marcos da mão

Pontos-chave

O conjunto de dados inclui pontos-chave para a deteção de mãos. Os pontos-chave sã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 mindinho (4 pontos)

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

Caraterísticas principais

  • Grande conjunto de dados: 26.768 imagens com anotações de pontos-chave manuais.
  • YOLO11 Compatibilidade: Pronto a utilizar com os modelos YOLO11 .
  • 21 pontos-chave: Representação pormenorizada da pose da mão.

Estrutura do conjunto de dados

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

  1. Treinar: 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 7992 imagens que podem ser utilizadas para efeitos de validação durante a formação do modelo.

Aplicações

Os pontos-chave da mão podem ser utilizados para reconhecimento de gestos, controlos AR/VR, manipulação robótica e análise do movimento da mão nos cuidados de saúde. Podem também ser aplicados em animação para captura de movimento e sistemas de autenticação biométrica para segurança.

Conjunto de dados YAML

Um ficheiro YAML (Yet Another Markup Language) é utilizado 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 Hand Keypoints, 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 YOLO 🚀, AGPL-3.0 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: ../datasets/hand-keypoints # dataset root dir
train: train # train images (relative to 'path') 18776 images
val: 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

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

Utilização

Para treinar um modelo YOLO11n-pose no conjunto de dados Hand Keypoints para 100 épocas com um tamanho de imagem de 640, pode utilizar os seguintes fragmentos de código. Para obter uma lista completa dos argumentos disponíveis, consulte a página Treinamento do modelo.

Exemplo de comboio

from ultralytics import YOLO

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

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

Exemplos de imagens e anotações

O conjunto de dados Hand keypoints 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 as anotações correspondentes:

Imagem de amostra do conjunto de dados

  • Imagem em mosaico: Esta imagem demonstra um lote de treino composto por imagens de conjuntos de dados em mosaico. O mosaico é uma técnica utilizada durante a formação que combina várias imagens numa única imagem para aumentar a variedade de objectos e cenas em cada lote de formação. Isto ajuda a melhorar a capacidade de generalização do modelo para diferentes tamanhos de objectos, proporções e contextos.

O exemplo mostra a variedade e complexidade das imagens no conjunto de dados Hand Keypoints e os benefícios da utilização de mosaicos durante o processo de formação.

Citações e agradecimentos

Se utilizar o conjunto de dados hand-keypoints no seu trabalho de investigação ou desenvolvimento, agradecemos que indique as seguintes fontes:

Gostaríamos de agradecer às seguintes fontes pelo fornecimento das imagens utilizadas neste conjunto de dados:

As imagens foram recolhidas e utilizadas ao abrigo das respectivas licenças fornecidas por cada plataforma e são distribuídas ao abrigo da licença Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.

Gostaríamos também de agradecer ao criador deste conjunto de dados, Rion Dsilva, pelo seu grande contributo para a investigação em IA da visão.

FAQ

Como é que treino um modelo YOLO11 no conjunto de dados Hand Keypoints?

Para treinar um modelo YOLO11 no conjunto de dados Hand Keypoints, pode utilizar Python ou a interface de linha de comandos (CLI). Aqui está um exemplo para treinar um modelo YOLO11n-pose para 100 épocas com um tamanho de imagem de 640:

Exemplo

from ultralytics import YOLO

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

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

Para obter uma lista completa dos argumentos disponíveis, consulte a página de formação do modelo.

Quais são as principais caraterísticas do conjunto de dados Hand Keypoints?

O conjunto de dados Hand Keypoints foi concebido para tarefas avançadas de estimativa de pose e inclui várias caraterísticas-chave:

  • Grande conjunto de dados: Contém 26.768 imagens com anotações de pontos-chave manuais.
  • YOLO11 Compatibilidade: Pronto a utilizar com os modelos YOLO11 .
  • 21 pontos-chave: Representação pormenorizada da pose da mão, incluindo as articulações do pulso e dos dedos.

Para mais informações, pode explorar a secção Conjunto de dados dos pontos-chave da mão.

Que aplicações podem beneficiar da utilização do conjunto de dados Hand Keypoints?

O conjunto de dados Hand Keypoints pode ser aplicado em vários domínios, incluindo:

  • Reconhecimento de gestos: Melhorar a interação homem-computador.
  • Controlos AR/VR: Melhorar a experiência do utilizador em realidade aumentada e virtual.
  • Manipulação robótica: Permitindo o controlo preciso de mãos robóticas.
  • Cuidados de saúde: Análise dos movimentos da mão para diagnóstico médico.
  • Animação: Captura de movimento para animações realistas.
  • Autenticação biométrica: Melhorar os sistemas de segurança.

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

Como está estruturado o conjunto de dados Hand Keypoints?

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

  1. Treinar: Contém 18.776 imagens para treinar modelos de estimativa de pose.
  2. Val: Contém 7.992 imagens para efeitos de validação durante o treino do modelo.

Esta estrutura assegura um processo abrangente de formação e validação. Para mais detalhes, consulte a secção Estrutura do conjunto de dados.

Como é que utilizo o ficheiro YAML do conjunto de dados para treino?

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

Para utilizar este ficheiro YAML para formação, especifique-o no seu script de formação ou no comando CLI , conforme mostrado no exemplo de formação acima. Para obter mais detalhes, consulte a secção Dataset YAML.

📅 Created 2 months ago ✏️ Updated 18 days ago

Comentários