Meet YOLO26: next-gen vision AI.

Link to this sectionDataset Roboflow 100#

Roboflow 100, patrocinado por Intel, es un innovador conjunto de datos de referencia para detección de objetos. Incluye 100 datasets diversos. Este benchmark está diseñado específicamente para probar la adaptabilidad de modelos de visión por computadora, como los modelos Ultralytics YOLO, a diversos dominios, incluyendo el sanitario, imágenes aéreas y videojuegos.

Licencia

Ultralytics ofrece dos opciones de licencia para adaptarse a diferentes casos de uso:

  • Licencia AGPL-3.0: Esta licencia de código abierto aprobada por OSI es ideal para estudiantes y entusiastas, promoviendo la colaboración abierta y el intercambio de conocimientos. Consulta el archivo LICENSE para obtener más detalles y visita nuestra página de Licencia AGPL-3.0.
  • Licencia Enterprise: Para uso en desarrollo y producción, esta licencia permite la integración perfecta del software y los modelos de IA de Ultralytics en productos y servicios empresariales, incluyendo herramientas internas, flujos de trabajo automatizados y despliegues de producción, evitando los requisitos de código abierto de la AGPL-3.0. Para empezar, contacta con nosotros a través de Ultralytics Licensing.

Roboflow 100 diverse object detection benchmark

Link to this sectionCaracterísticas clave#

  • Dominios diversos: Incluye 100 datasets en siete dominios distintos: Aéreo, Videojuegos, Microscópico, Subacuático, Documentos, Electromagnético y Mundo Real.
  • Escala: El benchmark comprende 224,714 imágenes en 805 clases, representando más de 11,170 horas de esfuerzo en etiquetado de datos.
  • Estandarización: Todas las imágenes están preprocesadas y redimensionadas a 640x640 píxeles para una evaluación consistente.
  • Evaluación limpia: Se centra en eliminar la ambigüedad de las clases y filtra aquellas subrepresentadas para garantizar una evaluación de modelos más limpia.
  • Anotaciones: Incluye cajas delimitadoras para objetos, adecuadas para el entrenamiento y la evaluación de modelos de detección de objetos mediante métricas como mAP.

Link to this sectionEstructura del dataset#

El dataset Roboflow 100 está organizado en siete categorías, cada una conteniendo una colección única de datasets, imágenes y clases:

  • Aéreo: 7 datasets, 9,683 imágenes, 24 clases.
  • Videojuegos: 7 datasets, 11,579 imágenes, 88 clases.
  • Microscópico: 11 datasets, 13,378 imágenes, 28 clases.
  • Subacuático: 5 datasets, 18,003 imágenes, 39 clases.
  • Documentos: 8 datasets, 24,813 imágenes, 90 clases.
  • Electromagnético: 12 datasets, 36,381 imágenes, 41 clases.
  • Mundo Real: 50 datasets, 110,615 imágenes, 495 clases.

Esta estructura proporciona un campo de pruebas diverso y extenso para modelos de detección de objetos, reflejando una amplia gama de escenarios de aplicación del mundo real que se encuentran en varias Soluciones Ultralytics.

Link to this sectionBenchmarking#

El benchmarking de datasets implica evaluar el rendimiento de modelos de aprendizaje automático en datasets específicos utilizando métricas estandarizadas. Las métricas comunes incluyen la precisión, la precisión media promedio (mAP) y la puntuación F1. Puedes aprender más sobre esto en nuestra guía de Métricas de Rendimiento YOLO.

Resultados del benchmarking

Los resultados del benchmarking utilizando el script proporcionado se guardarán en el directorio ultralytics-benchmarks/, específicamente en evaluation.txt.

Ejemplo de benchmarking

El siguiente script demuestra cómo realizar un benchmark programático de un modelo Ultralytics YOLO (por ejemplo, YOLO26n) en los 100 datasets dentro del benchmark Roboflow 100 utilizando la clase RF100Benchmark.

import os
import shutil
from pathlib import Path

from ultralytics.utils.benchmarks import RF100Benchmark

# Initialize RF100Benchmark and set API key
benchmark = RF100Benchmark()
benchmark.set_key(api_key="YOUR_ROBOFLOW_API_KEY")

# Parse dataset and define file paths
names, cfg_yamls = benchmark.parse_dataset()
val_log_file = Path("ultralytics-benchmarks") / "validation.txt"
eval_log_file = Path("ultralytics-benchmarks") / "evaluation.txt"

# Run benchmarks on each dataset in RF100
for ind, path in enumerate(cfg_yamls):
    path = Path(path)
    if path.exists():
        # Fix YAML file and run training
        benchmark.fix_yaml(str(path))
        os.system(f"yolo detect train data={path} model=yolo26s.pt epochs=1 batch=16")

        # Run validation and evaluate
        os.system(f"yolo detect val data={path} model=runs/detect/train/weights/best.pt > {val_log_file} 2>&1")
        benchmark.evaluate(str(path), str(val_log_file), str(eval_log_file), ind)

        # Remove the 'runs' directory
        runs_dir = Path.cwd() / "runs"
        shutil.rmtree(runs_dir)
    else:
        print("YAML file path does not exist")
        continue

print("RF100 Benchmarking completed!")

Link to this sectionAplicaciones#

Roboflow 100 es invaluable para diversas aplicaciones relacionadas con la visión por computadora y el aprendizaje profundo. Investigadores e ingenieros pueden aprovechar este benchmark para:

Para más ideas e inspiración sobre aplicaciones del mundo real, explora nuestras guías sobre proyectos prácticos o echa un vistazo a la Plataforma Ultralytics para optimizar el entrenamiento de modelos y el despliegue.

Link to this sectionUso#

El dataset Roboflow 100, incluyendo metadatos y enlaces de descarga, está disponible en el repositorio oficial de GitHub de Roboflow 100. Puedes acceder y utilizar el dataset directamente desde allí para tus necesidades de benchmarking. La utilidad RF100Benchmark de Ultralytics simplifica el proceso de descarga y preparación de estos datasets para su uso con modelos Ultralytics.

Link to this sectionDatos de muestra y anotaciones#

Roboflow 100 consta de datasets con imágenes diversas capturadas desde varios ángulos y dominios. A continuación, se muestran ejemplos de imágenes anotadas incluidas en el benchmark RF100, mostrando la variedad de objetos y escenas. Técnicas como la aumentación de datos pueden mejorar aún más la diversidad durante el entrenamiento.

Roboflow 100 sample images with annotations

La diversidad observada en el benchmark Roboflow 100 representa un avance significativo respecto a los benchmarks tradicionales, que a menudo se centran en optimizar una única métrica dentro de un dominio limitado. Este enfoque integral ayuda a desarrollar modelos de visión por computadora más robustos y versátiles, capaces de desempeñarse bien en una multitud de escenarios diferentes.

Link to this sectionCitas y agradecimientos#

Si utilizas el dataset Roboflow 100 en tu trabajo de investigación o desarrollo, por favor cita el artículo original:

Cita
@misc{rf100benchmark,
    Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
    Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
    Year = {2022},
    Eprint = {arXiv:2211.13523},
    url = {https://arxiv.org/abs/2211.13523}
}

Extendemos nuestra gratitud al equipo de Roboflow y a todos los colaboradores por sus esfuerzos significativos en la creación y el mantenimiento del dataset Roboflow 100 como un recurso valioso para la comunidad de visión por computadora.

Si estás interesado en explorar más datasets para mejorar tus proyectos de detección de objetos y aprendizaje automático, no dudes en visitar nuestra colección completa de datasets, que incluye una variedad de otros datasets de detección.

Link to this sectionPreguntas frecuentes#

Link to this section¿Qué es el dataset Roboflow 100 y por qué es significativo para la detección de objetos?#

El dataset Roboflow 100 es un benchmark para modelos de detección de objetos. Comprende 100 datasets diversos que cubren dominios como el sector salud, imágenes aéreas y videojuegos. Su importancia radica en proporcionar una forma estandarizada de probar la adaptabilidad y robustez del modelo en una amplia gama de escenarios del mundo real, yendo más allá de los benchmarks tradicionales, a menudo limitados a un dominio.

Link to this section¿Qué dominios cubre el dataset Roboflow 100?#

El dataset Roboflow 100 abarca siete dominios diversos, ofreciendo desafíos únicos para modelos de detección de objetos:

  1. Aéreo: 7 datasets (ej. imágenes satelitales, vistas de drones).
  2. Videojuegos: 7 datasets (ej. objetos de varios entornos de juego).
  3. Microscópico: 11 datasets (ej. células, partículas).
  4. Subacuático: 5 datasets (ej. vida marina, objetos sumergidos).
  5. Documentos: 8 datasets (ej. regiones de texto, elementos de formularios).
  6. Electromagnético: 12 datasets (ej. firmas de radar, visualizaciones de datos espectrales).
  7. Mundo Real: 50 datasets (una categoría amplia que incluye objetos cotidianos, escenas, venta minorista, etc.).

Esta variedad hace de RF100 un recurso excelente para evaluar la generalización de los modelos de visión por computadora.

Link to this section¿Qué debo incluir al citar el dataset Roboflow 100 en mi investigación?#

Al utilizar el dataset Roboflow 100, por favor cita el artículo original para dar crédito a sus creadores. Aquí tienes la cita BibTeX recomendada:

Cita
@misc{rf100benchmark,
    Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
    Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
    Year = {2022},
    Eprint = {arXiv:2211.13523},
    url = {https://arxiv.org/abs/2211.13523}
}

Para una mayor exploración, considera visitar nuestra colección completa de datasets o navegar por otros datasets de detección compatibles con modelos Ultralytics.

Comentarios