Ultralytics YOLO27:

Dataset COCO8-Pose#

Introdução#

Ultralytics COCO8-Pose é um conjunto de dados pequeno, mas versátil, para estimativa de poses, composto pelas primeiras 8 imagens do conjunto COCO train 2017 (4 para treino e 4 para validação), utilizando um esquema de 17 pontos-chave para a classe única "person". Este conjunto de dados é ideal para testar e depurar modelos de estimativa de poses ou para experimentar novas abordagens de deteção de pontos-chave. Com 8 imagens, é suficientemente pequeno para ser facilmente gerível, mas diversificado o bastante para testar pipelines de treino em busca de erros e servir como verificação de sanidade antes do treino com o conjunto de dados completo COCO-Pose.

Estrutura do Conjunto de Dados#

  • Total de imagens: 8 (4 treino / 4 validação).
  • Classes: 1 (person), com 17 tipos de pontos-chave por anotação.
  • Tamanho do download: ~1 MB.
  • Estrutura de diretórios recomendada: datasets/coco8-pose/images/{train,val} e datasets/coco8-pose/labels/{train,val}, com pontos-chave no formato YOLO armazenados em ficheiros .txt.

Explora o COCO8-Pose na Ultralytics Platform para consultar todas as imagens com os respetivos esqueletos de pontos-chave, ver as distribuições de pontos-chave e classes no separador Charts e cloná-lo para treinares o teu próprio modelo na cloud.

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 outras informações relevantes do dataset. No caso do dataset COCO8-Pose, o ficheiro coco8-pose.yaml é mantido em https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml.

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

# COCO8-pose dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/coco8-pose
# Example usage: yolo train data=coco8-pose.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8-pose ← downloads here (1 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: coco8-pose # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Keypoints
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]

# Classes
names:
  0: person

# Keypoint names per class
kpt_names:
  0:
    - nose
    - left_eye
    - right_eye
    - left_ear
    - right_ear
    - left_shoulder
    - right_shoulder
    - left_elbow
    - right_elbow
    - left_wrist
    - right_wrist
    - left_hip
    - right_hip
    - left_knee
    - right_knee
    - left_ankle
    - right_ankle

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

Utilização#

Para treinares um modelo YOLO26n-pose no dataset COCO8-Pose durante 100 épocas com um tamanho de imagem de 640, podes utilizar os seguintes excertos de código. Para obteres uma lista completa dos 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="coco8-pose.yaml", epochs=100, imgsz=640)

Imagens de exemplo e anotações#

Eis alguns exemplos de imagens do dataset COCO8-Pose, juntamente com as respetivas anotações:

COCO8-pose keypoint estimation dataset mosaic
  • 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.

Citações e agradecimentos#

Se utilizares o dataset COCO no teu trabalho de investigação ou desenvolvimento, cita o seguinte artigo:

Citação
@misc{lin2015microsoft,
      title={Microsoft COCO: Common Objects in Context},
      author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
      year={2015},
      eprint={1405.0312},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Gostaríamos de agradecer ao Consórcio COCO pela criação e manutenção deste valioso recurso para a comunidade de visão computacional. Para obter mais informações sobre o conjunto de dados COCO e os seus criadores, visite o site do conjunto de dados COCO.

Perguntas frequentes#

  • O dataset COCO8-Pose é um dataset de estimação de pose pequeno e versátil que inclui as primeiras 8 imagens do conjunto de treino COCO 2017, com 4 imagens para treino e 4 para validação. Foi concebido para testar e depurar modelos de estimação de pose e experimentar novas abordagens de deteção de pontos-chave. Este dataset é ideal para experiências rápidas com o Ultralytics YOLO26. Para obteres mais detalhes sobre a configuração do dataset, consulta o ficheiro YAML do dataset.

  • Carrega yolo26n-pose.pt e chama model.train(data="coco8-pose.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 8 imagens no total (4 treino / 4 validação), 1 classe, um esquema de 17 pontos-chave e uma transferência de cerca de ~1 MB, o COCO8-Pose é suficientemente pequeno para ser gerido em segundos, mas diversificado o bastante para verificar a sanidade de um pipeline de treino de pose quanto a erros antes de o expandir para o dataset COCO-Pose completo. Para saberes mais sobre as suas funcionalidades e utilização, consulta a secção Introdução ao dataset.

  • A mosaicação combina várias imagens numa só, aumentando a variedade de objetos e cenas em cada lote de treino, o que ajuda o modelo a generalizar entre diferentes tamanhos de objetos, proporções e contextos. Consulta a secção Imagens de exemplo e anotações para veres um exemplo.

  • O ficheiro YAML do dataset COCO8-Pose está disponível em https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco8-pose.yaml. Este ficheiro define a configuração do dataset, incluindo caminhos, classes e outras informações relevantes. Utiliza este ficheiro com os scripts de treino do YOLO26, conforme mencionado na secção Exemplo de treino.

    Para obter mais informações sobre modelos de pontos-chave, consulta a documentação da tarefa Estimativa de pose.

Comentários