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.
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 🚀 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.zipUtilizaçã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.
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:
- 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:
@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:
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.