Meet YOLO26: next-gen vision AI.

Link to this sectionConjunto de datos Argoverse#

El conjunto de datos Argoverse es una colección de datos diseñada para apoyar la investigación en tareas de conducción autónoma, como el seguimiento 3D, la previsión de movimiento y la estimación de profundidad estéreo. Desarrollado por Argo AI, el conjunto de datos proporciona una amplia gama de datos de sensores de alta calidad, incluyendo imágenes de alta resolución, nubes de puntos LiDAR y datos de mapas.

Nota

El archivo *.zip del conjunto de datos Argoverse necesario para el entrenamiento fue eliminado de Amazon S3 tras el cierre de Argo AI por parte de Ford, pero lo hemos puesto a disposición para su descarga manual en Google Drive.

Link to this sectionCaracterísticas clave#

  • Argoverse contiene más de 290 mil pistas de objetos 3D etiquetadas y 5 millones de instancias de objetos en 1.263 escenas distintas.
  • El conjunto de datos incluye imágenes de cámara de alta resolución, nubes de puntos LiDAR y mapas HD ricamente anotados.
  • Las anotaciones incluyen cajas delimitadoras 3D para objetos, pistas de objetos e información de trayectoria.
  • Argoverse proporciona múltiples subconjuntos para diferentes tareas, como el seguimiento 3D, la previsión de movimiento y la estimación de profundidad estéreo.

Link to this sectionEstructura del dataset#

El conjunto de datos Argoverse está organizado en tres subconjuntos principales:

  1. Argoverse 3D Tracking: Este subconjunto contiene 113 escenas con más de 290 mil pistas de objetos 3D etiquetadas, centrándose en tareas de seguimiento de objetos 3D. Incluye nubes de puntos LiDAR, imágenes de cámara e información de calibración de sensores.
  2. Argoverse Motion Forecasting: Este subconjunto consta de 324 mil trayectorias de vehículos recopiladas de 60 horas de datos de conducción, adecuadas para tareas de previsión de movimiento.
  3. Argoverse Stereo Depth Estimation: Este subconjunto está diseñado para tareas de estimación de profundidad estéreo e incluye más de 10 mil pares de imágenes estéreo con las correspondientes nubes de puntos LiDAR para la estimación de profundidad de la verdad fundamental (ground truth).

Link to this sectionAplicaciones#

El conjunto de datos Argoverse es ampliamente utilizado para entrenar y evaluar modelos de deep learning en tareas de conducción autónoma como el seguimiento de objetos 3D, la previsión de movimiento y la estimación de profundidad estéreo. El diverso conjunto de datos de sensores, las anotaciones de objetos y la información de mapas hacen que sea un recurso valioso para investigadores y profesionales en el campo de la conducción autónoma.

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. Para el caso del conjunto de datos Argoverse, el archivo Argoverse.yaml se mantiene en https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml.

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

# Argoverse-HD dataset (ring-front-center camera) by Argo AI: https://www.cs.cmu.edu/~mengtial/proj/streaming/
# Documentation: https://docs.ultralytics.com/datasets/detect/argoverse/
# Example usage: yolo train data=Argoverse.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── Argoverse ← downloads here (31.5 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: Argoverse # dataset root dir
train: Argoverse-1.1/images/train/ # train images (relative to 'path') 39384 images
val: Argoverse-1.1/images/val/ # val images (relative to 'path') 15062 images
test: Argoverse-1.1/images/test/ # test images (optional) https://eval.ai/web/challenges/challenge-page/800/overview

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: bus
  5: truck
  6: traffic_light
  7: stop_sign

# Download script/URL (optional) ---------------------------------------------------------------------------------------
download: |
  import json
  from pathlib import Path

  from ultralytics.utils import TQDM
  from ultralytics.utils.downloads import download

  def argoverse2yolo(annotation_file):
      """Convert Argoverse dataset annotations to YOLO format for object detection tasks."""
      labels = {}
      with open(annotation_file, encoding="utf-8") as f:
          a = json.load(f)
      for annot in TQDM(a["annotations"], desc=f"Converting {annotation_file} to YOLO format..."):
          img_id = annot["image_id"]
          img_name = a["images"][img_id]["name"]
          img_label_name = f"{Path(img_name).stem}.txt"

          cls = annot["category_id"]  # instance class id
          x_center, y_center, width, height = annot["bbox"]
          x_center = (x_center + width / 2) / 1920.0  # offset and scale
          y_center = (y_center + height / 2) / 1200.0  # offset and scale
          width /= 1920.0  # scale
          height /= 1200.0  # scale

          img_dir = annotation_file.parents[2] / "Argoverse-1.1" / "labels" / a["seq_dirs"][a["images"][annot["image_id"]]["sid"]]
          if not img_dir.exists():
              img_dir.mkdir(parents=True, exist_ok=True)

          k = str(img_dir / img_label_name)
          if k not in labels:
              labels[k] = []
          labels[k].append(f"{cls} {x_center} {y_center} {width} {height}\n")

      for k in labels:
          with open(k, "w", encoding="utf-8") as f:
              f.writelines(labels[k])

  # Download 'https://argoverse-hd.s3.amazonaws.com/Argoverse-HD-Full.zip' (deprecated S3 link)
  dir = Path(yaml["path"])  # dataset root dir
  urls = ["https://drive.google.com/file/d/1st9qW3BeIwQsnR0t8mRpvbsSWIo16ACi/view?usp=drive_link"]
  print("\n\nWARNING: Argoverse dataset MUST be downloaded manually, autodownload will NOT work.")
  print(f"WARNING: Manually download Argoverse dataset '{urls[0]}' to '{dir}' and re-run your command.\n\n")
  # download(urls, dir=dir)

  # Convert
  annotations_dir = "Argoverse-HD/annotations/"
  (dir / "Argoverse-1.1" / "tracking").rename(dir / "Argoverse-1.1" / "images")  # rename 'tracking' to 'images'
  for d in "train.json", "val.json":
      argoverse2yolo(dir / annotations_dir / d)  # convert Argoverse annotations to YOLO labels

Link to this sectionUso#

Para entrenar un modelo YOLO26n en el conjunto de datos Argoverse durante 100 épocas con un tamaño de imagen de 640, puedes usar 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.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)

Link to this sectionEjemplos de datos y anotaciones#

El conjunto de datos Argoverse contiene un conjunto diverso de datos de sensores, incluyendo imágenes de cámara, nubes de puntos LiDAR e información de mapas HD, proporcionando un contexto rico para las tareas de conducción autónoma. Aquí tienes algunos ejemplos de datos del conjunto de datos, junto con sus anotaciones correspondientes:

Muestra de seguimiento 3D del conjunto de datos Argoverse con anotaciones de vehículos

  • Argoverse 3D Tracking: Esta imagen demuestra un ejemplo de seguimiento de objetos 3D, donde los objetos se anotan con cajas delimitadoras 3D. El conjunto de datos proporciona nubes de puntos LiDAR e imágenes de cámara para facilitar el desarrollo de modelos para esta tarea.

El ejemplo muestra la variedad y complejidad de los datos en el conjunto de datos Argoverse y destaca la importancia de los datos de sensores de alta calidad para las tareas de conducción autónoma.

Link to this sectionCitas y agradecimientos#

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

Cita
@inproceedings{chang2019argoverse,
  title={Argoverse: 3D Tracking and Forecasting with Rich Maps},
  author={Chang, Ming-Fang and Lambert, John and Sangkloy, Patsorn and Singh, Jagjeet and Bak, Slawomir and Hartnett, Andrew and Wang, Dequan and Carr, Peter and Lucey, Simon and Ramanan, Deva and others},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={8748--8757},
  year={2019}
}

Nos gustaría agradecer a Argo AI por crear y mantener el conjunto de datos Argoverse como un recurso valioso para la comunidad de investigación de conducción autónoma. Para obtener más información sobre el conjunto de datos Argoverse y sus creadores, visita el sitio web del conjunto de datos Argoverse.

Link to this sectionFAQ#

Link to this section¿Qué es el conjunto de datos Argoverse y cuáles son sus características clave?#

El conjunto de datos Argoverse, desarrollado por Argo AI, apoya la investigación en conducción autónoma. Incluye más de 290 mil pistas de objetos 3D etiquetadas y 5 millones de instancias de objetos en 1.263 escenas distintas. El conjunto de datos proporciona imágenes de cámara de alta resolución, nubes de puntos LiDAR y mapas HD anotados, lo que lo hace valioso para tareas como el seguimiento 3D, la previsión de movimiento y la estimación de profundidad estéreo.

Link to this section¿Cómo puedo entrenar un modelo Ultralytics YOLO utilizando el conjunto de datos Argoverse?#

Para entrenar un modelo YOLO26 con el conjunto de datos Argoverse, utiliza el archivo de configuración YAML proporcionado y el siguiente código:

Ejemplo de entrenamiento
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)

Para obtener una explicación detallada de los argumentos, consulta la página de Entrenamiento del modelo.

Link to this section¿Qué tipos de datos y anotaciones están disponibles en el conjunto de datos Argoverse?#

El conjunto de datos Argoverse incluye varios tipos de datos de sensores, como imágenes de cámara de alta resolución, nubes de puntos LiDAR y datos de mapas HD. Las anotaciones incluyen cajas delimitadoras 3D, pistas de objetos e información de trayectoria. Estas anotaciones completas son esenciales para un entrenamiento preciso de modelos en tareas como el seguimiento de objetos 3D, la previsión de movimiento y la estimación de profundidad estéreo.

Link to this section¿Cómo está estructurado el conjunto de datos Argoverse?#

El conjunto de datos se divide en tres subconjuntos principales:

  1. Argoverse 3D Tracking: Contiene 113 escenas con más de 290 mil pistas de objetos 3D etiquetadas, centrándose en tareas de seguimiento de objetos 3D. Incluye nubes de puntos LiDAR, imágenes de cámara e información de calibración de sensores.
  2. Argoverse Motion Forecasting: Consta de 324 mil trayectorias de vehículos recopiladas de 60 horas de datos de conducción, adecuadas para tareas de previsión de movimiento.
  3. Argoverse Stereo Depth Estimation: Incluye más de 10 mil pares de imágenes estéreo con las correspondientes nubes de puntos LiDAR para la estimación de profundidad de la verdad fundamental (ground truth).

Link to this section¿Dónde puedo descargar el conjunto de datos Argoverse ahora que se ha eliminado de Amazon S3?#

El archivo *.zip del conjunto de datos Argoverse, que anteriormente estaba disponible en Amazon S3, ahora puede descargarse manualmente desde Google Drive.

Link to this section¿Para qué se utiliza el archivo de configuración YAML con el conjunto de datos Argoverse?#

Un archivo YAML contiene las rutas del conjunto de datos, las clases y otra información esencial. Para el conjunto de datos Argoverse, el archivo de configuración, Argoverse.yaml, se puede encontrar en el siguiente enlace: Argoverse.yaml.

Para obtener más información sobre las configuraciones YAML, consulta nuestra guía de conjuntos de datos.

Comentarios