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.
Modelos pré-treinados COCO-Pose
Modelo | tamanho (pixéis) |
mAPpose 50-95 |
mAPpose 50 |
Velocidade CPU ONNX (ms) |
Velocidade A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-pose | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
YOLOv8s-pose | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
YOLOv8m-pose | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
YOLOv8l-pose | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
YOLOv8x-pose | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
YOLOv8x-pose-p6 | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
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:
- Train2017: Este subconjunto contém uma parte das 118K imagens do conjunto de dados COCO, anotadas para treinar modelos de estimativa de pose.
- Val2017: Este subconjunto contém uma seleção de imagens utilizadas para efeitos de validação durante a formação do modelo.
- 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
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 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 2024-04-17
Autores: glenn-jocher (4), RizwanMunawar (1), Laughing-q (1)