Descripción general de los datasets
Ultralytics ofrece soporte para varios datasets con el fin de facilitar tareas de visión artificial como la detección, segmentación de instancias, estimación de poses, clasificación y seguimiento de múltiples objetos. A continuación, encontrarás una lista de los principales datasets de Ultralytics, seguida de un resumen de cada tarea de visión artificial y sus respectivos datasets.
Watch: Ultralytics Datasets Overview
Detección de objetos
La detección de objetos con cajas delimitadoras (bbox) es una técnica de visión artificial que consiste en detectar y localizar objetos en una imagen dibujando una caja alrededor de cada uno de ellos.
- African-wildlife: Un dataset que incluye imágenes de fauna africana, tales como búfalos, elefantes, rinocerontes y cebras.
- Argoverse: Un dataset que contiene datos de seguimiento 3D y previsión de movimiento en entornos urbanos con anotaciones detalladas.
- Brain-tumor: Un dataset para la detección de tumores cerebrales que incluye imágenes de resonancia magnética o tomografía computarizada con detalles sobre la presencia, ubicación y características del tumor.
- COCO: Common Objects in Context (COCO) es un dataset a gran escala para la detección, segmentación y descripción de objetos con 80 categorías diferentes.
- COCO8: Un subconjunto reducido de las 4 primeras imágenes de los sets de entrenamiento y validación de COCO, ideal para pruebas rápidas.
- COCO8-Grayscale: Una versión en escala de grises de COCO8 creada convirtiendo RGB a escala de grises, útil para la evaluación de modelos de un solo canal.
- COCO8-Multispectral: Una versión multiespectral de 10 canales de COCO8 creada interpolando longitudes de onda RGB, útil para la evaluación de modelos que requieren información espectral.
- COCO128: Un subconjunto reducido de las 128 primeras imágenes de los sets de entrenamiento y validación de COCO, adecuado para realizar pruebas.
- Construction-PPE: Un dataset de imágenes de obras de construcción anotadas con equipo de seguridad esencial como cascos, chalecos, guantes, botas y gafas, junto con etiquetas para equipo faltante, apoyando el desarrollo de modelos de IA para el cumplimiento normativo y la protección de los trabajadores.
- Global Wheat 2020: Un dataset que contiene imágenes de espigas de trigo para el desafío Global Wheat Challenge 2020.
- HomeObjects-3K: Un dataset de escenas de interior anotadas que cuenta con 12 artículos domésticos comunes, ideal para desarrollar y probar modelos de visión artificial en sistemas de domótica, robótica y realidad aumentada.
- KITTI Nuevo: Un dataset de conducción autónoma muy conocido que cuenta con entradas de estéreo, LiDAR y GPS/IMU, utilizado para la detección de objetos 2D en diversas escenas de carretera.
- LVIS: Un dataset a gran escala para la detección, segmentación y descripción de objetos con 1203 categorías.
- Medical-pills: Un dataset que contiene imágenes etiquetadas de pastillas medicinales, diseñado para ayudar en tareas como el control de calidad farmacéutico, la clasificación y el cumplimiento de estándares industriales.
- Objects365: Un dataset de alta calidad y gran escala para la detección de objetos con 365 categorías y más de 600K imágenes anotadas.
- OpenImagesV7: Un dataset integral de Google con 1,7 millones de imágenes de entrenamiento y 42k imágenes de validación.
- RF100: Un benchmark diverso de detección de objetos con 100 datasets que abarcan siete dominios de imágenes para una evaluación integral de modelos.
- Signature: Un dataset que presenta imágenes de varios documentos con firmas anotadas, lo que ayuda a la verificación de documentos y a la investigación sobre la detección de fraudes.
- SKU-110K: Un dataset que presenta detección densa de objetos en entornos minoristas con más de 11K imágenes y 1,7 millones de cajas delimitadoras.
- VisDrone: Un dataset que contiene datos de detección y seguimiento de múltiples objetos a partir de imágenes capturadas por drones con más de 10K imágenes y secuencias de video.
- VOC: El dataset Pascal Visual Object Classes (VOC) para la detección y segmentación de objetos con 20 clases y más de 11K imágenes.
- xView: Un dataset para la detección de objetos en imágenes aéreas con 60 categorías y más de 1 millón de objetos anotados.
Segmentación de instancias
La segmentación de instancias es una técnica de visión artificial que implica identificar y localizar objetos en una imagen a nivel de píxel. A diferencia de la segmentación semántica, que solo clasifica cada píxel, la segmentación de instancias distingue entre diferentes instancias de la misma clase.
- Carparts-seg: Dataset diseñado específicamente para identificar piezas de vehículos, cubriendo necesidades de diseño, fabricación e investigación. Sirve tanto para tareas de detección de objetos como de segmentación.
- COCO: Un dataset a gran escala diseñado para tareas de detección, segmentación y descripción de objetos con más de 200K imágenes etiquetadas.
- COCO8-seg: Un dataset más pequeño para tareas de segmentación de instancias, que contiene un subconjunto de 8 imágenes de COCO con anotaciones de segmentación.
- COCO128-seg: Un dataset más pequeño para tareas de segmentación de instancias, que contiene un subconjunto de 128 imágenes de COCO con anotaciones de segmentación.
- Crack-seg: Dataset creado específicamente para detectar grietas en carreteras y paredes, aplicable tanto para tareas de detección de objetos como de segmentación.
- Package-seg: Dataset diseñado para identificar paquetes en almacenes o entornos industriales, adecuado tanto para aplicaciones de detección de objetos como de segmentación.
Estimación de poses
La estimación de poses es una técnica utilizada para determinar la postura de un objeto en relación con la cámara o el sistema de coordenadas del mundo. Esto implica identificar puntos clave o articulaciones en los objetos, particularmente en humanos o animales.
- COCO: Un dataset a gran escala con anotaciones de poses humanas diseñado para tareas de estimación de poses.
- COCO8-pose: Un dataset más pequeño para tareas de estimación de poses, que contiene un subconjunto de 8 imágenes de COCO con anotaciones de poses humanas.
- Dog-pose: Un dataset completo que presenta aproximadamente 6.000 imágenes centradas en perros, anotadas con 24 puntos clave por perro, diseñado para tareas de estimación de poses.
- Hand-Keypoints: Un dataset conciso que presenta más de 26.000 imágenes centradas en manos humanas, anotadas con 21 puntos clave por mano, diseñado para tareas de estimación de poses.
- Tiger-pose: Un dataset compacto que consta de 263 imágenes centradas en tigres, anotadas con 12 puntos clave por tigre para tareas de estimación de poses.
Clasificación
La clasificación de imágenes es una tarea de visión artificial que implica categorizar una imagen en una o varias clases o categorías predefinidas basándose en su contenido visual.
- Caltech 101: Un dataset que contiene imágenes de 101 categorías de objetos para tareas de clasificación de imágenes.
- Caltech 256: Una versión extendida de Caltech 101 con 256 categorías de objetos e imágenes más desafiantes.
- CIFAR-10: Un dataset de 60K imágenes en color de 32x32 píxeles en 10 clases, con 6K imágenes por clase.
- CIFAR-100: Una versión extendida de CIFAR-10 con 100 categorías de objetos y 600 imágenes por clase.
- Fashion-MNIST: Un dataset que consta de 70.000 imágenes en escala de grises de 10 categorías de moda para tareas de clasificación de imágenes.
- ImageNet: Un dataset a gran escala para la detección de objetos y la clasificación de imágenes con más de 14 millones de imágenes y 20.000 categorías.
- ImageNet-10: Un subconjunto más pequeño de ImageNet con 10 categorías para experimentación y pruebas más rápidas.
- Imagenette: Un subconjunto más pequeño de ImageNet que contiene 10 clases fácilmente distinguibles para un entrenamiento y pruebas más rápidos.
- Imagewoof: Un subconjunto más desafiante de ImageNet que contiene 10 categorías de razas de perros para tareas de clasificación de imágenes.
- MNIST: Un dataset de 70.000 imágenes en escala de grises de dígitos escritos a mano para tareas de clasificación de imágenes.
- MNIST160: Las primeras 8 imágenes de cada categoría de MNIST del dataset original. El dataset contiene 160 imágenes en total.
Cajas delimitadoras orientadas (OBB)
Las cajas delimitadoras orientadas (OBB) son un método de visión artificial para detectar objetos en ángulo en imágenes utilizando cajas delimitadoras rotadas, aplicándose a menudo en imágenes aéreas y de satélite. A diferencia de las cajas delimitadoras tradicionales, las OBB pueden adaptarse mejor a objetos con diversas orientaciones.
- DOTA-v2: Un popular dataset de imágenes aéreas con OBB que cuenta con 1,7 millones de instancias y 11.268 imágenes.
- DOTA8: Un subconjunto más pequeño de las 8 primeras imágenes del set de división de DOTAv1, 4 para entrenamiento y 4 para validación, ideal para pruebas rápidas.
- DOTA128: Un subconjunto del dataset DOTA con 128 imágenes para entrenamiento y validación, ofreciendo un buen equilibrio entre tamaño y diversidad para probar modelos OBB.
Seguimiento de múltiples objetos
El seguimiento de múltiples objetos es una técnica de visión artificial que implica detectar y seguir múltiples objetos a lo largo del tiempo en una secuencia de video. Esta tarea amplía la detección de objetos al mantener identidades consistentes de los objetos a través de los fotogramas.
- Argoverse: Un dataset que contiene datos de seguimiento 3D y previsión de movimiento en entornos urbanos con anotaciones ricas para tareas de seguimiento de múltiples objetos.
- VisDrone: Un dataset que contiene datos de detección y seguimiento de múltiples objetos a partir de imágenes capturadas por drones con más de 10K imágenes y secuencias de video.
Contribuir con nuevos datasets
Contribuir con un nuevo dataset implica varios pasos para asegurar que se alinee bien con la infraestructura existente. A continuación se detallan los pasos necesarios:
Watch: How to Contribute to Ultralytics Datasets
Pasos para contribuir con un nuevo dataset
-
Recopilar imágenes: Reúne las imágenes que pertenecen al dataset. Estas podrían recopilarse de diversas fuentes, como bases de datos públicas o tu propia colección.
-
Anotar imágenes: Anota estas imágenes con cajas delimitadoras, segmentos o puntos clave, según la tarea.
-
Exportar anotaciones: Convierte estas anotaciones al formato de archivo YOLO
*.txtque admite Ultralytics. -
Organizar el dataset: Organiza tu dataset con la estructura de carpetas correcta. Debes tener directorios de nivel superior
images/ylabels/, y dentro de cada uno, un subdirectoriotrain/yval/.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Crear un archivo
data.yaml: En el directorio raíz de tu dataset, crea un archivodata.yamlque describa el dataset, las clases y otra información necesaria. -
Optimizar imágenes (opcional): Si deseas reducir el tamaño del dataset para un procesamiento más eficiente, puedes optimizar las imágenes utilizando el código a continuación. Esto no es obligatorio, pero se recomienda para tamaños de dataset menores y velocidades de descarga más rápidas.
-
Comprimir el dataset: Comprime toda la carpeta del dataset en un archivo zip.
-
Documentación y PR: Crea una página de documentación que describa tu dataset y cómo se ajusta al marco de trabajo existente. Después, envía una solicitud de extracción (PR). Consulta las Directrices de contribución de Ultralytics para obtener más detalles sobre cómo enviar un PR.
Ejemplo de código para optimizar y comprimir un dataset
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# Define dataset directory
path = Path("path/to/dataset")
# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)Al seguir estos pasos, puedes contribuir con un nuevo dataset que se integre bien con la estructura existente de Ultralytics.
Preguntas frecuentes
¿Qué datasets admite Ultralytics para la detección de objetos?
Ultralytics admite una amplia variedad de datasets para la detección de objetos, incluyendo:
- COCO: Un dataset a gran escala para la detección, segmentación y descripción de objetos con 80 categorías.
- LVIS: Un dataset extenso con 1203 categorías de objetos, diseñado para una detección y segmentación de objetos más detallada.
- Argoverse: Un dataset que contiene datos de seguimiento 3D y previsión de movimiento en entornos urbanos con anotaciones detalladas.
- VisDrone: Un dataset con datos de detección y seguimiento de múltiples objetos a partir de imágenes capturadas por drones.
- SKU-110K: Presenta detección densa de objetos en entornos minoristas con más de 11K imágenes.
Estos datasets facilitan el entrenamiento de modelos robustos Ultralytics YOLO para diversas aplicaciones de detección de objetos.
¿Cómo puedo contribuir con un nuevo dataset a Ultralytics?
Contribuir con un nuevo dataset implica varios pasos:
- Recopilar imágenes: Reúne imágenes de bases de datos públicas o colecciones personales.
- Anotar imágenes: Aplica cajas delimitadoras, segmentos o puntos clave, según la tarea.
- Exportar anotaciones: Convierte las anotaciones al formato YOLO
*.txt. - Organizar el dataset: Utiliza la estructura de carpetas con directorios
train/yval/, cada uno conteniendo subdirectoriosimages/ylabels/. - Crear un archivo
data.yaml: Incluye las descripciones del dataset, las clases y otra información relevante. - Optimizar imágenes (opcional): Reduce el tamaño del dataset para mayor eficiencia.
- Comprimir el dataset: Comprime el dataset en un archivo zip.
- Documentación y PR: Describe tu dataset y envía una solicitud de extracción siguiendo las Directrices de contribución de Ultralytics.
Visita Contribuir con nuevos datasets para obtener una guía completa.
¿Por qué debería usar Ultralytics Platform para mi dataset?
Ultralytics Platform ofrece funciones potentes para la gestión y el análisis de datasets, incluyendo:
- Gestión sencilla de datasets: Sube, organiza y gestiona tus datasets en un solo lugar.
- Integración inmediata del entrenamiento: Usa los datasets subidos directamente para el entrenamiento de modelos sin necesidad de configuraciones adicionales.
- Herramientas de visualización: Explora y visualiza las imágenes y anotaciones de tu dataset.
- Análisis de datasets: Obtén información sobre la distribución y las características de tu dataset.
La plataforma agiliza la transición de la gestión de datasets al entrenamiento de modelos, haciendo que todo el proceso sea más eficiente. Aprende más sobre Ultralytics Platform Datasets.
¿Cuáles son las características únicas de los modelos Ultralytics YOLO para visión artificial?
Los modelos Ultralytics YOLO ofrecen varias características únicas para tareas de visión artificial:
- Rendimiento en tiempo real: Capacidades de inferencia y entrenamiento de alta velocidad para aplicaciones sensibles al tiempo.
- Versatilidad: Soporte para tareas de detección, segmentación, clasificación y estimación de poses en un marco unificado.
- Modelos preentrenados: Acceso a modelos preentrenados de alto rendimiento para diversas aplicaciones, lo que reduce el tiempo de entrenamiento.
- Amplio apoyo de la comunidad: Una comunidad activa y documentación exhaustiva para la resolución de problemas y el desarrollo.
- Integración sencilla: API simple para la integración con proyectos y flujos de trabajo existentes.
Descubre más sobre los modelos YOLO en la página de Ultralytics Models.
¿Cómo puedo optimizar y comprimir un dataset usando herramientas de Ultralytics?
Para optimizar y comprimir un dataset usando herramientas de Ultralytics, sigue este ejemplo de código:
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# Define dataset directory
path = Path("path/to/dataset")
# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)Este proceso ayuda a reducir el tamaño del dataset para un almacenamiento más eficiente y velocidades de descarga más rápidas. Aprende más sobre cómo Optimizar y comprimir un dataset.