Dataset Dog-Pose

Introdução

O dataset Dog-Pose da Ultralytics é um dataset extenso e de alta qualidade criado especificamente para a estimativa de pontos-chave (keypoints) em cães. Com 6.773 imagens de treino e 1.703 imagens de teste, este dataset fornece uma base sólida para treinar modelos robustos de estimativa de pose.



Watch: How to Train Ultralytics YOLO26 on the Stanford Dog Pose Estimation Dataset | Step-by-Step Tutorial

Cada imagem anotada inclui 24 pontos-chave com 3 dimensões por ponto (x, y, visibilidade), tornando-o um recurso valioso para pesquisa e desenvolvimento avançados em visão computacional.

Ultralytics Dog-pose display image

Este conjunto de dados destina-se ao uso com a Plataforma Ultralytics e YOLO26.

Estrutura do Dataset

  • Divisão: 6.773 imagens de treino / 1.703 imagens de teste com arquivos de rótulo no formato YOLO correspondentes.

  • Keypoints: 24 per dog with (x, y, visibility) triplets.

  • Layout:

    datasets/dog-pose/
    ├── images/{train,test}
    └── labels/{train,test}

YAML do Dataset

Um arquivo YAML (Yet Another Markup Language) é usado para definir a configuração do dataset. Ele inclui caminhos, detalhes dos pontos-chave e outras informações relevantes. No caso do dataset Dog-pose, o dog-pose.yaml está disponível em https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dog-pose.yaml.

ultralytics/cfg/datasets/dog-pose.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Dogs dataset http://vision.stanford.edu/aditya86/ImageNetDogs/ by Stanford
# Documentation: https://docs.ultralytics.com/datasets/pose/dog-pose/
# Example usage: yolo train data=dog-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dog-pose ← downloads here (337 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: dog-pose # dataset root dir
train: images/train # train images (relative to 'path') 6773 images
val: images/val # val images (relative to 'path') 1703 images

# Keypoints
kpt_shape: [24, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)

# Classes
names:
  0: dog

# Keypoint names per class
kpt_names:
  0:
    - front_left_paw
    - front_left_knee
    - front_left_elbow
    - rear_left_paw
    - rear_left_knee
    - rear_left_elbow
    - front_right_paw
    - front_right_knee
    - front_right_elbow
    - rear_right_paw
    - rear_right_knee
    - rear_right_elbow
    - tail_start
    - tail_end
    - left_ear_base
    - right_ear_base
    - nose
    - chin
    - left_ear_tip
    - right_ear_tip
    - left_eye
    - right_eye
    - withers
    - throat

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

Utilização

Para treinar um modelo YOLO26n-pose no dataset Dog-pose por 100 epochs com um tamanho de imagem de 640, podes usar os seguintes snippets de código. Para uma lista abrangente de argumentos disponíveis, consulta 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="dog-pose.yaml", epochs=100, imgsz=640)

Amostra de Imagens e Anotações

Aqui estão alguns exemplos de imagens do dataset Dog-pose, juntamente com as suas respetivas anotações:

Dog pose estimation dataset mosaic training batch
  • 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 complexidade das imagens no dataset Dog-pose e os benefícios de usar mosaico durante o processo de treino.

Citações e Agradecimentos

Se usares o dataset Dog-pose no teu trabalho de investigação ou desenvolvimento, por favor cita o seguinte artigo:

Citação
@inproceedings{khosla2011fgvc,
  title={Novel dataset for Fine-Grained Image Categorization},
  author={Aditya Khosla and Nityananda Jayadevaprakash and Bangpeng Yao and Li Fei-Fei},
  booktitle={First Workshop on Fine-Grained Visual Categorization (FGVC), IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2011}
}
@inproceedings{deng2009imagenet,
  title={ImageNet: A Large-Scale Hierarchical Image Database},
  author={Jia Deng and Wei Dong and Richard Socher and Li-Jia Li and Kai Li and Li Fei-Fei},
  booktitle={IEEE Computer Vision and Pattern Recognition (CVPR)},
  year={2009}
}

Gostaríamos de agradecer à equipa de Stanford por criar e manter este recurso valioso para a comunidade de visão computacional. Para mais informações sobre o dataset Dog-pose e os seus criadores, visita o site do Stanford Dogs Dataset.

FAQ

O que é o dataset Dog-pose e como é usado com o YOLO26 da Ultralytics?

O dataset Dog-Pose apresenta 6.773 imagens de treino e 1.703 de teste anotadas com 24 pontos-chave para estimativa de pose de cães. Foi concebido para treinar e validar modelos com o Ultralytics YOLO26, suportando aplicações como análise de comportamento animal, monitorização de animais de estimação e estudos veterinários. As anotações abrangentes do dataset tornam-no ideal para desenvolver modelos precisos de estimativa de pose para caninos.

Como treino um modelo YOLO26 usando o dataset Dog-pose na Ultralytics?

Para treinar um modelo YOLO26n-pose no dataset Dog-pose por 100 épocas com um tamanho de imagem de 640, segue estes exemplos:

Exemplo de Treino
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")

# Train the model
results = model.train(data="dog-pose.yaml", epochs=100, imgsz=640)

Para uma lista completa de argumentos de treinamento, consulta a página de Training do modelo.

Quais são os benefícios de usar o dataset Dog-pose?

O dataset Dog-pose oferece vários benefícios:

Dataset grande e diversificado: Com mais de 8.400 imagens, fornece dados substanciais que cobrem uma vasta gama de poses, raças e contextos de cães, permitindo um treino e avaliação de modelos robustos.

Anotações detalhadas de pontos-chave: Cada imagem inclui 24 pontos-chave com 3 dimensões por ponto (x, y, visibilidade), oferecendo anotações precisas para treinar modelos de deteção de pose exatos.

Cenários do mundo real: Inclui imagens de ambientes variados, melhorando a capacidade do modelo de generalizar para aplicações do mundo real, como monitorização de animais de estimação e análise de comportamento.

Vantagem da aprendizagem por transferência (transfer learning): O dataset funciona bem com técnicas de transfer learning, permitindo que modelos pré-treinados em datasets de pose humana se adaptem a características específicas de cães.

Para mais informações sobre as suas funcionalidades e uso, vê a seção Introdução ao Dataset.

Como é que o mosaico beneficia o processo de treino do YOLO26 usando o dataset Dog-pose?

O mosaico, como ilustrado nas imagens de exemplo do dataset Dog-pose, combina múltiplas imagens num único composto, enriquecendo a diversidade de objetos e cenas em cada lote de treino. Esta técnica oferece vários benefícios:

  • Aumenta a variedade de poses, tamanhos e fundos de cães em cada lote
  • Melhora a capacidade do modelo de detetar cães em diferentes contextos e escalas
  • Melhora a generalização ao expor o modelo a padrões visuais mais diversos
  • Reduz o sobreajuste (overfitting) ao criar novas combinações de exemplos de treino

Esta abordagem leva a modelos mais robustos que apresentam um melhor desempenho em cenários do mundo real. Para exemplos de imagens, consulta a secção Imagens de Exemplo e Anotações.

Onde posso encontrar o arquivo YAML do dataset Dog-pose e como o utilizo?

O arquivo YAML do dataset Dog-pose pode ser encontrado em https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dog-pose.yaml. Este arquivo define a configuração do dataset, incluindo caminhos, classes, detalhes dos pontos-chave e outras informações relevantes. O YAML especifica 24 pontos-chave com 3 dimensões por ponto, tornando-o adequado para tarefas detalhadas de estimativa de pose.

Para usar este arquivo com scripts de treino do YOLO26, basta referenciá-lo no teu comando de treino como mostrado na secção Utilização. O dataset será automaticamente descarregado quando for usado pela primeira vez, tornando a configuração simples.

Para mais FAQs e documentação detalhada, visita a Documentação do Ultralytics.

Comentários