Link to this sectionConjunto de datos Roboflow 100#
Roboflow 100, patrocinado por Intel, es un conjunto de datos de referencia innovador para detección de objetos. Incluye 100 conjuntos de datos diversos. Este punto de referencia está diseñado específicamente para probar la adaptabilidad de modelos de visión artificial, como los modelos Ultralytics YOLO, a varios dominios, incluyendo atención sanitaria, imágenes aéreas y videojuegos.
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 la OSI es ideal para estudiantes y entusiastas, fomentando la colaboración abierta y el intercambio de conocimientos. Consulta el archivo LICENSE para obtener más detalles y visita nuestra página de la Licencia AGPL-3.0.
- Licencia Enterprise: para uso en desarrollo y producción, esta licencia permite una integración fluida del software y los modelos de IA de Ultralytics en productos y servicios empresariales, incluyendo herramientas internas, flujos de trabajo automatizados y despliegues en producción, evitando los requisitos de código abierto de la AGPL-3.0. Para empezar, ponte en contacto con nosotros a través de Licencias de Ultralytics.
Link to this sectionCaracterísticas clave#
- Dominios diversos: Incluye 100 conjuntos de datos en siete dominios distintos: Aéreo, Videojuegos, Microscópico, Submarino, Documentos, Electromagnético y Mundo Real.
- Escala: El punto de referencia comprende 224,714 imágenes en 805 clases, representando más de 11,170 horas de esfuerzo de 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 clase y filtra las clases infrarrepresentadas para asegurar una evaluación de modelos más limpia.
- Anotaciones: Incluye cuadros delimitadores para objetos, adecuados para el entrenamiento y la evaluación de modelos de detección de objetos utilizando métricas como mAP.
Link to this sectionEstructura del dataset#
El conjunto de datos Roboflow 100 está organizado en siete categorías, cada una conteniendo una colección única de conjuntos de datos, imágenes y clases:
- Aéreo: 7 conjuntos de datos, 9,683 imágenes, 24 clases.
- Videojuegos: 7 conjuntos de datos, 11,579 imágenes, 88 clases.
- Microscópico: 11 conjuntos de datos, 13,378 imágenes, 28 clases.
- Submarino: 5 conjuntos de datos, 18,003 imágenes, 39 clases.
- Documentos: 8 conjuntos de datos, 24,813 imágenes, 90 clases.
- Electromagnético: 12 conjuntos de datos, 36,381 imágenes, 41 clases.
- Mundo Real: 50 conjuntos de datos, 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 aplicaciones del mundo real encontrados en varias Soluciones Ultralytics.
Link to this sectionEvaluación comparativa (Benchmarking)#
El benchmarking de conjuntos de datos implica evaluar el rendimiento de modelos de aprendizaje automático en conjuntos de datos específicos utilizando métricas estandarizadas. Las métricas comunes incluyen precisión, mean Average Precision (mAP) y F1-score. Puedes aprender más sobre esto en nuestra guía de Métricas de Rendimiento YOLO.
Cada resultado se agrupa bajo un único directorio runs/<task>/multitrain/: cada conjunto de datos se ajusta en su propio subdirectorio (con su propio results.png), y las métricas por conjunto de datos y la media se escriben en multitrain_results.json junto con un gráfico de barras multitrain_results.png. La llamada model.train() también devuelve un diccionario {dataset: metrics} para acceso programático.
El script a continuación descarga los conjuntos de datos de Roboflow 100 listados en datasets_links.txt desde Roboflow, luego ajusta un modelo base único (p. ej., YOLO26n) a través de toda la colección en una única llamada model.train(). Pasar una lista de conjuntos de datos ajusta el modelo base en cada uno en serie y visualiza automáticamente los resultados entre conjuntos de datos. Se requiere una clave API de Roboflow gratuita para descargar los conjuntos de datos.
import re
from pathlib import Path
from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, YAML
from ultralytics.utils.checks import check_requirements
from ultralytics.utils.downloads import safe_download
# Download the RF100 datasets from Roboflow (requires a free Roboflow API key)
check_requirements("roboflow")
from roboflow import Roboflow
rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY")
safe_download(f"{ASSETS_URL}/datasets_links.txt") # list of RF100 dataset links
datasets = []
for line in Path("datasets_links.txt").read_text().splitlines():
try:
_, _url, workspace, project, version = re.split("/+", line.strip())
location = f"rf-100/{project}-{version}"
rf.workspace(workspace).project(project).version(version).download("yolov8", location=location)
yaml = Path(location) / "data.yaml"
cfg = YAML.load(yaml) # point train/val at the downloaded image folders
cfg["train"], cfg["val"] = "train/images", "valid/images"
YAML.save(yaml, cfg)
datasets.append(str(yaml))
except Exception:
continue
# Fine-tune one base model across all RF100 datasets and visualize the cross-dataset results
model = YOLO("yolo26n.pt")
results = model.train(data=datasets, epochs=100, imgsz=640) # {dataset: metrics}
# Per-dataset runs, multitrain_results.json (per-dataset + mean), and multitrain_results.png are saved
# together under runs/detect/multitrain. Read results in-memory or from the JSON for custom post-processing.
for dataset, metrics in results.items():
if metrics: # None if that dataset failed to train
print(f"{dataset}: mAP50-95 = {metrics['metrics/mAP50-95(B)']:.4f}")Link to this sectionAplicaciones#
Roboflow 100 es invaluable para diversas aplicaciones relacionadas con la visión artificial y el aprendizaje profundo. Investigadores e ingenieros pueden aprovechar este punto de referencia para:
- Evaluar el rendimiento de modelos de detección de objetos en un contexto multidominio.
- Probar la adaptabilidad y robustez de los modelos a escenarios del mundo real más allá de los conjuntos de datos de referencia comunes como COCO o PASCAL VOC.
- Evaluar las capacidades de modelos de detección de objetos a través de diversos conjuntos de datos, incluyendo áreas especializadas como atención sanitaria, imágenes aéreas y videojuegos.
- Comparar el rendimiento del modelo a través de diferentes arquitecturas de red neuronal y técnicas de optimización.
- Identificar desafíos específicos del dominio que pueden requerir consejos de entrenamiento de modelos especializados o enfoques de ajuste como el aprendizaje por transferencia.
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 un entrenamiento de modelos y despliegue optimizados.
Link to this sectionUso#
El conjunto de datos Roboflow 100, incluyendo metadatos y enlaces de descarga, está disponible en el repositorio oficial de GitHub de Roboflow 100. Puedes acceder y utilizar el conjunto de datos directamente desde allí para tus necesidades de benchmarking. Una vez que los conjuntos de datos se descargan y preparan como se muestra arriba, los modelos Ultralytics pueden ajustarse a través de toda la colección en una única llamada model.train() pasando la lista de YAMLs de conjuntos de datos.
Link to this sectionEjemplos de datos y anotaciones#
Roboflow 100 consta de conjuntos de datos con diversas imágenes capturadas desde varios ángulos y dominios. A continuación, se muestran ejemplos de imágenes anotadas incluidas en el punto de referencia RF100, que muestran 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.
La diversidad observada en el punto de referencia Roboflow 100 representa un avance significativo respecto a los puntos de referencia 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 artificial más robustos y versátiles capaces de funcionar bien en una multitud de escenarios diferentes.
Link to this sectionCitas y agradecimientos#
Si utilizas el conjunto de datos Roboflow 100 en tu trabajo de investigación o desarrollo, por favor cita el artículo original:
@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 mantenimiento del conjunto de datos Roboflow 100 como un recurso valioso para la comunidad de visión artificial.
Si estás interesado en explorar más conjuntos de datos para mejorar tus proyectos de detección de objetos y aprendizaje automático, no dudes en visitar nuestra completa colección de conjuntos de datos, que incluye una variedad de otros conjuntos de datos de detección.
Link to this sectionFAQ#
Link to this section¿Qué es el conjunto de datos Roboflow 100 y por qué es significativo para la detección de objetos?#
El conjunto de datos Roboflow 100 es un punto de referencia para modelos de detección de objetos. Comprende 100 conjuntos de datos diversos que cubren dominios como atención sanitaria, 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 puntos de referencia tradicionales, a menudo limitados por dominios.
Link to this section¿Qué dominios cubre el conjunto de datos Roboflow 100?#
El conjunto de datos Roboflow 100 abarca siete dominios diversos, ofreciendo desafíos únicos para modelos de detección de objetos:
- Aéreo: 7 conjuntos de datos (p. ej., imágenes satelitales, vistas de drones).
- Videojuegos: 7 conjuntos de datos (p. ej., objetos de varios entornos de juego).
- Microscópico: 11 conjuntos de datos (p. ej., células, partículas).
- Submarino: 5 conjuntos de datos (p. ej., vida marina, objetos sumergidos).
- Documentos: 8 conjuntos de datos (p. ej., regiones de texto, elementos de formularios).
- Electromagnético: 12 conjuntos de datos (p. ej., firmas de radar, visualizaciones de datos espectrales).
- Mundo Real: 50 conjuntos de datos (una categoría amplia que incluye objetos cotidianos, escenas, comercio minorista, etc.).
Esta variedad hace que RF100 sea un recurso excelente para evaluar la generalizabilidad de los modelos de visión artificial.
Link to this section¿Qué debo incluir al citar el conjunto de datos Roboflow 100 en mi investigación?#
Al utilizar el conjunto de datos Roboflow 100, por favor cita el artículo original para dar crédito a los creadores. Aquí tienes la cita BibTeX recomendada:
@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 completa colección de conjuntos de datos o navegar por otros conjuntos de datos de detección compatibles con los modelos Ultralytics.