Meet YOLO26: next-gen vision AI.

Link to this sectionConjunto de datos COCO-Pose#

El conjunto de datos COCO-Pose es una versión especializada del conjunto de datos COCO (Common Objects in Context), diseñada para tareas de estimación de pose. Aprovecha las imágenes y etiquetas de COCO Keypoints 2017 para permitir el entrenamiento de modelos como YOLO para tareas de estimación de pose.

Estimación de pose COCO con puntos clave humanos

Link to this sectionModelos preentrenados de COCO-Pose#

Modelotamaño
(píxeles)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Velocidad
CPU ONNX
(ms)
Velocidad
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7

Link to this sectionCaracterísticas clave#

  • COCO-Pose se basa en el conjunto de datos COCO Keypoints 2017, que contiene 200.000 imágenes etiquetadas con puntos clave para tareas de estimación de pose.
  • El conjunto de datos admite 17 puntos clave para figuras humanas, lo que facilita una estimación detallada de la pose.
  • Al igual que COCO, proporciona métricas de evaluación estandarizadas, incluida la similitud de puntos clave de objetos (OKS) para tareas de estimación de pose, lo que lo hace adecuado para comparar el rendimiento de los modelos.

Link to this sectionEstructura del dataset#

El conjunto de datos COCO-Pose se divide en tres subconjuntos:

  1. Train2017: Este subconjunto contiene 56.599 imágenes del conjunto de datos COCO, anotadas para entrenar modelos de estimación de pose.
  2. Val2017: Este subconjunto tiene 2.346 imágenes utilizadas con fines de validación durante el entrenamiento del modelo.
  3. Test2017: Este subconjunto consta de imágenes utilizadas para probar y evaluar el rendimiento de los modelos entrenados. Las anotaciones de verdad fundamental para este subconjunto no están disponibles públicamente, y los resultados se envían al servidor de evaluación de COCO para la evaluación del rendimiento.

Link to this sectionAplicaciones#

El conjunto de datos COCO-Pose se utiliza específicamente para entrenar y evaluar modelos de aprendizaje profundo en tareas de detección de puntos clave y estimación de pose, como OpenPose. La gran cantidad de imágenes anotadas y las métricas de evaluación estandarizadas del conjunto de datos lo convierten en un recurso esencial para los investigadores y profesionales de la visión artificial centrados en la estimación de pose.

Link to this sectionYAML del dataset#

Se utiliza un archivo YAML (Yet Another Markup Language) para definir la configuración del conjunto de datos. Contiene información sobre las rutas del conjunto de datos, las clases y otra información relevante. En el caso del conjunto de datos COCO-Pose, el archivo coco-pose.yaml se mantiene en https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco-pose.yaml.

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

# COCO 2017 Keypoints 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: coco-pose # dataset root dir
train: train2017.txt # train images (relative to 'path') 56599 images
val: val2017.txt # val images (relative to 'path') 2346 images
test: test-dev2017.txt # 20288 of 40670 images, submit to https://codalab.lisn.upsaclay.fr/competitions/7403

# 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: |
  from pathlib import Path

  from ultralytics.utils import ASSETS_URL
  from ultralytics.utils.downloads import download

  # Download labels
  dir = Path(yaml["path"])  # dataset root dir

  urls = [f"{ASSETS_URL}/coco2017labels-pose.zip"]
  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)

Link to this sectionUso#

Para entrenar un modelo YOLO26n-pose en el conjunto de datos COCO-Pose durante 100 épocas con un tamaño de imagen de 640, puedes utilizar los siguientes fragmentos de código. Para obtener una lista completa de los argumentos disponibles, consulta la página de entrenamiento del modelo.

Ejemplo de entrenamiento
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="coco-pose.yaml", epochs=100, imgsz=640)

Link to this sectionMuestras de imágenes y anotaciones#

El conjunto de datos COCO-Pose contiene un conjunto diverso de imágenes con figuras humanas anotadas con puntos clave. Aquí tienes algunos ejemplos de imágenes del conjunto de datos, junto con sus anotaciones correspondientes:

Lote de entrenamiento de mosaico del conjunto de datos de estimación de pose COCO

  • Imagen en mosaico: Esta imagen muestra un lote de entrenamiento compuesto por imágenes del conjunto de datos en mosaico. El mosaico es una técnica utilizada durante el entrenamiento que combina múltiples imágenes en una sola para aumentar la variedad de objetos y escenas dentro de cada lote de entrenamiento. Esto ayuda a mejorar la capacidad del modelo para generalizar a diferentes tamaños de objeto, relaciones de aspecto y contextos.

El ejemplo muestra la variedad y complejidad de las imágenes en el conjunto de datos COCO-Pose y los beneficios de usar mosaicos durante el proceso de entrenamiento.

Link to this sectionCitas y agradecimientos#

Si utilizas el conjunto de datos COCO-Pose en tu trabajo de investigación o desarrollo, por favor cita el siguiente artículo:

Cita
@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}
}

Nos gustaría agradecer al Consorcio COCO por crear y mantener este valioso recurso para la comunidad de visión artificial. Para obtener más información sobre el conjunto de datos COCO-Pose y sus creadores, visita el sitio web del conjunto de datos COCO.

Link to this sectionFAQ#

Link to this section¿Qué es el conjunto de datos COCO-Pose y cómo se utiliza con Ultralytics YOLO para la estimación de pose?#

El conjunto de datos COCO-Pose es una versión especializada del conjunto de datos COCO (Common Objects in Context) diseñada para tareas de estimación de pose. Se basa en las imágenes y anotaciones de COCO Keypoints 2017, lo que permite el entrenamiento de modelos como Ultralytics YOLO para una estimación de pose detallada. Por ejemplo, puedes utilizar el conjunto de datos COCO-Pose para entrenar un modelo YOLO26n-pose cargando un modelo preentrenado y entrenándolo con una configuración YAML. Para ejemplos de entrenamiento, consulta la documentación de entrenamiento.

Link to this section¿Cómo puedo entrenar un modelo YOLO26 en el conjunto de datos COCO-Pose?#

El entrenamiento de un modelo YOLO26 en el conjunto de datos COCO-Pose se puede realizar utilizando Python o comandos de CLI. Por ejemplo, para entrenar un modelo YOLO26n-pose durante 100 épocas con un tamaño de imagen de 640, puedes seguir los pasos a continuación:

Ejemplo de entrenamiento
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="coco-pose.yaml", epochs=100, imgsz=640)

Para obtener más detalles sobre el proceso de entrenamiento y los argumentos disponibles, consulta la página de entrenamiento.

Link to this section¿Cuáles son las diferentes métricas proporcionadas por el conjunto de datos COCO-Pose para evaluar el rendimiento del modelo?#

El conjunto de datos COCO-Pose proporciona varias métricas de evaluación estandarizadas para tareas de estimación de pose, similares al conjunto de datos COCO original. Las métricas clave incluyen la similitud de puntos clave de objetos (OKS), que evalúa la precisión de los puntos clave predichos frente a las anotaciones de verdad fundamental. Estas métricas permiten comparaciones exhaustivas de rendimiento entre diferentes modelos. Por ejemplo, los modelos preentrenados de COCO-Pose como YOLO26n-pose, YOLO26s-pose y otros tienen métricas de rendimiento específicas enumeradas en la documentación, como mAPpose50-95 y mAPpose50.

Link to this section¿Cómo se estructura y divide el conjunto de datos para el conjunto de datos COCO-Pose?#

El conjunto de datos COCO-Pose se divide en tres subconjuntos:

  1. Train2017: Contiene 56.599 imágenes de COCO, anotadas para entrenar modelos de estimación de pose.
  2. Val2017: 2.346 imágenes para fines de validación durante el entrenamiento del modelo.
  3. Test2017: Imágenes utilizadas para probar y evaluar modelos entrenados. Las anotaciones de verdad fundamental para este subconjunto no están disponibles públicamente; los resultados se envían al servidor de evaluación de COCO para la evaluación del rendimiento.

Estos subconjuntos ayudan a organizar las fases de entrenamiento, validación y prueba de manera eficaz. Para obtener detalles de configuración, explora el archivo coco-pose.yaml disponible en GitHub.

Link to this section¿Cuáles son las características y aplicaciones clave del conjunto de datos COCO-Pose?#

El conjunto de datos COCO-Pose amplía las anotaciones de COCO Keypoints 2017 para incluir 17 puntos clave para figuras humanas, permitiendo una estimación detallada de la pose. Las métricas de evaluación estandarizadas (por ejemplo, OKS) facilitan las comparaciones entre diferentes modelos. Las aplicaciones del conjunto de datos COCO-Pose abarcan diversos dominios, como el análisis deportivo, la atención sanitaria y la interacción humano-computadora, siempre que se requiera una estimación detallada de la pose de figuras humanas. Para un uso práctico, aprovechar los modelos preentrenados como los que se proporcionan en la documentación (por ejemplo, YOLO26n-pose) puede simplificar significativamente el proceso (Características clave).

Si utilizas el conjunto de datos COCO-Pose en tu trabajo de investigación o desarrollo, por favor cita el artículo con la siguiente entrada BibTeX.

Comentarios