Salta para o conteĆŗdo

Conjunto de dados COCO-Pose

O conjunto de dados COCO-Pose Ć© uma versĆ£o especializada do conjunto de dados COCO (Common Objects in Context), concebido para tarefas de estimativa de pose. Aproveita as imagens e etiquetas do COCO Keypoints 2017 para permitir o treino de modelos como YOLO para tarefas de estimativa de pose.

Pose imagem de amostra

CaracterĆ­sticas principais

  • O COCO-Pose baseia-se no conjunto de dados COCO Keypoints 2017, que contĆ©m 200 mil imagens rotuladas com pontos-chave para tarefas de estimativa de pose.
  • O conjunto de dados suporta 17 pontos-chave para figuras humanas, facilitando a estimativa detalhada da pose.
  • Tal como o COCO, fornece mĆ©tricas de avaliaĆ§Ć£o padronizadas, incluindo Object Keypoint Similarity (OKS) para tarefas de estimativa de pose, tornando-o adequado para comparar o desempenho do modelo.

Estrutura do conjunto de dados

O conjunto de dados COCO-Pose estĆ” dividido em trĆŖs subconjuntos:

  1. Train2017: Este subconjunto contƩm uma parte das 118K imagens do conjunto de dados COCO, anotadas para treinar modelos de estimativa de pose.
  2. Val2017: Este subconjunto contĆ©m uma seleĆ§Ć£o de imagens utilizadas para efeitos de validaĆ§Ć£o durante a formaĆ§Ć£o do modelo.
  3. Teste2017: Este subconjunto Ć© constituĆ­do por imagens utilizadas para testar e aferir os modelos treinados. As anotaƧƵes da verdade terrestre para este subconjunto nĆ£o estĆ£o disponĆ­veis publicamente e os resultados sĆ£o enviados para o servidor de avaliaĆ§Ć£o COCO para avaliaĆ§Ć£o do desempenho.

AplicaƧƵes

O conjunto de dados COCO-Pose Ć© usado especificamente para treinar e avaliar modelos de aprendizagem profunda em tarefas de deteĆ§Ć£o de pontos-chave e estimativa de pose, como o OpenPose. O grande nĆŗmero de imagens anotadas e as mĆ©tricas de avaliaĆ§Ć£o padronizadas do conjunto de dados fazem dele um recurso essencial para pesquisadores e profissionais de visĆ£o computacional focados na estimativa de pose.

Conjunto de dados YAML

Um ficheiro YAML (Yet Another Markup Language) Ć© utilizado para definir a configuraĆ§Ć£o do conjunto de dados. ContĆ©m informaƧƵes sobre os caminhos do conjunto de dados, classes e outras informaƧƵes relevantes. No caso do conjunto de dados COCO-Pose, o ficheiro coco-pose.yaml Ć© mantido em https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml.

ultralytics/cfg/datasets/coco-pose.yaml

# Ultralytics YOLO šŸš€, AGPL-3.0 license
# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/pose/coco/
# Example usage: yolo train data=coco-pose.yaml
# parent
# ā”œā”€ā”€ ultralytics
# ā””ā”€ā”€ datasets
#     ā””ā”€ā”€ coco-pose  ā† downloads here (20.1 GB)

# 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/coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794

# 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

# Download script/URL (optional)
download: |
  from ultralytics.utils.downloads import download
  from pathlib import Path

  # Download labels
  dir = Path(yaml['path'])  # dataset root dir
  url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/'
  urls = [url + 'coco2017labels-pose.zip']  # labels
  download(urls, dir=dir.parent)
  # Download data
  urls = ['http://images.cocodataset.org/zips/train2017.zip',  # 19G, 118k images
          'http://images.cocodataset.org/zips/val2017.zip',  # 1G, 5k images
          'http://images.cocodataset.org/zips/test2017.zip']  # 7G, 41k images (optional)
  download(urls, dir=dir / 'images', threads=3)

UtilizaĆ§Ć£o

Para treinar um modelo YOLOv8n-pose no conjunto de dados COCO-Pose para 100 Ć©pocas com um tamanho de imagem de 640, podes utilizar os seguintes snippets de cĆ³digo. Para obter uma lista abrangente dos argumentos disponĆ­veis, consulta a pĆ”gina de treino do modelo.

Exemplo de comboio

from ultralytics import YOLO

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

# Train the model
results = model.train(data='coco-pose.yaml', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco-pose.yaml model=yolov8n.pt epochs=100 imgsz=640

Exemplos de imagens e anotaƧƵes

O conjunto de dados COCO-Pose contĆ©m um conjunto diversificado de imagens com figuras 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 do conjunto de dados em mosaico. O mosaico Ć© uma tĆ©cnica utilizada durante o treino que combina vĆ”rias imagens numa Ćŗnica imagem para aumentar a variedade de objectos e cenas em cada lote de treino. Isto ajuda a melhorar a capacidade do modelo de generalizar para diferentes tamanhos de objectos, proporƧƵes e contextos.

O exemplo mostra a variedade e complexidade das imagens no conjunto de dados COCO-Pose e os benefĆ­cios da utilizaĆ§Ć£o de mosaicos durante o processo de formaĆ§Ć£o.

CitaƧƵes e agradecimentos

Se utilizares o conjunto de dados COCO-Pose no teu trabalho de investigaĆ§Ć£o ou desenvolvimento, cita o seguinte documento:

@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 COCO Consortium pela criaĆ§Ć£o e manutenĆ§Ć£o deste valioso recurso para a comunidade de visĆ£o computacional. Para mais informaƧƵes sobre o conjunto de dados COCO-Pose e os seus criadores, visita o sĆ­tio Web do conjunto de dados COCO.



Criado em 2023-11-12, Atualizado em 2023-11-22
Autores: glenn-jocher (3), Laughing-q (1)

ComentƔrios