Visión general de los conjuntos de datos
Ultralytics proporciona compatibilidad con varios conjuntos de datos para facilitar tareas de visión por ordenador como la detección, la segmentación de instancias, la estimación de poses, la clasificación y el seguimiento multiobjeto. A continuación figura una lista de los principales conjuntos de datos de Ultralytics , seguida de un resumen de cada tarea de visión por ordenador y los respectivos conjuntos de datos.
Observa: Ultralytics Visión general de los conjuntos de datos
Ultralytics Explorador
Nota de la Comunidad ⚠️
A partir de ultralytics>=8.3.10
, Ultralytics el soporte para el explorador ha quedado obsoleto. Pero ¡no te preocupes! Ahora puedes acceder a una funcionalidad similar e incluso mejorada a través de Ultralytics HUBnuestra intuitiva plataforma sin código diseñada para agilizar tu flujo de trabajo. Con Ultralytics HUB, puedes seguir explorando, visualizando y gestionando tus datos sin esfuerzo, todo ello sin escribir una sola línea de código. Asegúrate de echarle un vistazo y aprovechar sus potentes funciones!🚀
Crea incrustaciones para tu conjunto de datos, busca imágenes similares, ejecuta consultas SQL, realiza búsquedas semánticas ¡e incluso busca utilizando lenguaje natural! Puedes empezar con nuestra aplicación GUI o crear la tuya propia utilizando la API. Más información aquí.
- Prueba la Demo GUI
- Más información sobre la API Explorer
Detección de objetos
La detección de objetos mediante cajas delimitadoras es una técnica de visión por ordenador que consiste en detectar y localizar objetos en una imagen dibujando una caja delimitadora alrededor de cada objeto.
- Argoverse: Un conjunto de datos que contiene datos de seguimiento 3D y previsión de movimiento de entornos urbanos con ricas anotaciones.
- COCO: Objetos Comunes en Contexto (COCO) es un conjunto de datos a gran escala de detección, segmentación y subtitulación de objetos con 80 categorías de objetos.
- LVIS: Un conjunto de datos a gran escala de detección, segmentación y subtitulación de objetos con 1203 categorías de objetos.
- COCO8: Un subconjunto más pequeño de las 4 primeras imágenes de COCO train y COCO val, adecuado para pruebas rápidas.
- COCO128: Un subconjunto más pequeño de las 128 primeras imágenes de COCO train y COCO val, adecuado para las pruebas.
- Trigo Global 2020: Un conjunto de datos que contiene imágenes de cabezas de trigo para el Desafío Mundial del Trigo 2020.
- Objetos365: Un conjunto de datos a gran escala y de alta calidad para la detección de objetos, con 365 categorías de objetos y más de 600.000 imágenes anotadas.
- OpenImagesV7: Un amplio conjunto de datos de Google con 1,7 millones de imágenes de entrenamiento y 42.000 imágenes de validación.
- SKU-110K: Un conjunto de datos de detección de objetos densos en entornos comerciales con más de 11.000 imágenes y 1,7 millones de cuadros delimitadores.
- VisDrone: Un conjunto de datos que contiene datos de detección de objetos y seguimiento multiobjeto a partir de imágenes capturadas por drones, con más de 10.000 imágenes y secuencias de vídeo.
- VOC: El conjunto de datos Pascal Visual Object Classes (VOC) para la detección y segmentación de objetos, con 20 clases de objetos y más de 11.000 imágenes.
- xVer: Un conjunto de datos para la detección de objetos en imágenes aéreas con 60 categorías de objetos y más de 1 millón de objetos anotados.
- RF100: Un punto de referencia diverso de detección de objetos con 100 conjuntos de datos que abarcan siete dominios de imágenes para la evaluación exhaustiva de modelos.
- Tumor cerebral: Un conjunto de datos para detectar tumores cerebrales incluye imágenes de resonancia magnética o tomografía computarizada con detalles sobre la presencia, localización y características del tumor.
- Vida salvaje africana: Un conjunto de datos con imágenes de la fauna africana, incluidos búfalos, elefantes, rinocerontes y cebras.
- Firma: Un conjunto de datos con imágenes de varios documentos con firmas anotadas, que sirve de apoyo a la investigación sobre verificación de documentos y detección de fraudes.
Segmentación de instancias
La segmentación de instancias es una técnica de visión por ordenador que consiste en identificar y localizar objetos en una imagen a nivel de píxel.
- COCO: Un conjunto de datos a gran escala diseñado para tareas de detección, segmentación y subtitulación de objetos con más de 200.000 imágenes etiquetadas.
- COCO8-seg: Un conjunto de datos más pequeño para tareas de segmentación de instancias, que contiene un subconjunto de 8 imágenes COCO con anotaciones de segmentación.
- COCO128-seg: Un conjunto de datos más pequeño para tareas de segmentación de instancias, que contiene un subconjunto de 128 imágenes COCO con anotaciones de segmentación.
- Crack-seg: Conjunto de datos específicamente diseñado para detectar grietas en carreteras y muros, aplicable tanto a tareas de detección de objetos como de segmentación.
- Paquete-seg: Conjunto de datos adaptado para identificar paquetes en almacenes o entornos industriales, adecuado tanto para aplicaciones de detección de objetos como de segmentación.
- Carparts-seg: Conjunto de datos creado específicamente para identificar piezas de vehículos, que satisface las necesidades de diseño, fabricación e investigación. Sirve tanto para tareas de detección de objetos como de segmentación.
Estimación de la pose
La estimación de la pose es una técnica utilizada para determinar la pose del objeto respecto a la cámara o al sistema de coordenadas mundial.
- COCO: Un conjunto de datos a gran escala con anotaciones de la pose humana diseñado para tareas de estimación de la pose.
- COCO8-pose: Un conjunto de datos más pequeño para tareas de estimación de la pose, que contiene un subconjunto de 8 imágenes COCO con anotaciones de la pose humana.
- Tiger-pose: Un conjunto de datos compacto formado por 263 imágenes centradas en tigres, anotadas con 12 puntos clave por tigre para tareas de estimación de la pose.
- Puntos Clave de las Manos: Un conjunto de datos conciso con 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 la pose.
- Dog-pose: Un amplio conjunto de datos con aproximadamente 6.000 imágenes centradas en perros, anotadas con 24 puntos clave por perro, adaptadas para tareas de estimación de la pose.
Clasificación
La clasificación de imágenes es una tarea de visión por ordenador que consiste en clasificar una imagen en una o varias clases o categorías predefinidas en función de su contenido visual.
- Caltech 101: Un conjunto de datos que contiene imágenes de 101 categorías de objetos para tareas de clasificación de imágenes.
- Caltech 256: Una versión ampliada de Caltech 101 con 256 categorías de objetos e imágenes más desafiantes.
- CIFAR-10: Un conjunto de datos de 60.000 imágenes en color de 32x32 en 10 clases, con 6.000 imágenes por clase.
- CIFAR-100: Una versión ampliada de CIFAR-10 con 100 categorías de objetos y 600 imágenes por clase.
- Moda-MNIST: Un conjunto de datos formado por 70.000 imágenes en escala de grises de 10 categorías de moda para tareas de clasificación de imágenes.
- ImageNet: Un conjunto de datos 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 una experimentación y unas pruebas más rápidas.
- Imagenette: Un subconjunto más pequeño de ImageNet que contiene 10 clases fácilmente distinguibles para agilizar el entrenamiento y las pruebas.
- 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 conjunto de datos de 70.000 imágenes en escala de grises de dígitos manuscritos para tareas de clasificación de imágenes.
- MNIST160: Las 8 primeras imágenes de cada categoría MNIST del conjunto de datos MNIST. El conjunto de datos contiene 160 imágenes en total.
Cajas delimitadoras orientadas (OBB)
Las cajas delimitadoras orientadas (OBB, Oriented Bounding Boxes) son un método de visión por ordenador para detectar objetos angulosos en imágenes mediante cajas delimitadoras rotadas, que suele aplicarse a imágenes aéreas y de satélite.
- DOTA-v2: Un popular conjunto de datos de imágenes aéreas OBB 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 conjunto dividido DOTAv1, 4 para entrenamiento y 4 para validación, adecuado para pruebas rápidas.
Seguimiento multiobjeto
El seguimiento multiobjeto es una técnica de visión por ordenador que consiste en detectar y seguir varios objetos a lo largo del tiempo en una secuencia de vídeo.
- Argoverse: Un conjunto de datos que contiene datos de seguimiento 3D y previsión de movimiento de entornos urbanos con ricas anotaciones para tareas de seguimiento multiobjeto.
- VisDrone: Un conjunto de datos que contiene datos de detección de objetos y seguimiento multiobjeto a partir de imágenes capturadas por drones, con más de 10.000 imágenes y secuencias de vídeo.
Aportar nuevos conjuntos de datos
Contribuir con un nuevo conjunto de datos implica varios pasos para garantizar que se alinea bien con la infraestructura existente. A continuación se indican los pasos necesarios:
Pasos para aportar un nuevo conjunto de datos
- Reunir imágenes: Reúne las imágenes que pertenecen al conjunto de datos. 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 cuadros delimitadores, segmentos o puntos clave, según la tarea.
- Exportar anotaciones: Convierte estas anotaciones en YOLO
*.txt
que admite Ultralytics . Organizar el conjunto de datos: Organiza tu conjunto de datos en la estructura de carpetas correcta. Deberías tener
train/
yval/
directorios de nivel superior, y dentro de cada uno, unimages/
ylabels/
subdirectorio.Crea una
data.yaml
Archivo: En el directorio raíz de tu conjunto de datos, crea un archivodata.yaml
que describe el conjunto de datos, las clases y otra información necesaria.- Optimizar imágenes (Opcional): Si quieres reducir el tamaño del conjunto de datos para un procesamiento más eficiente, puedes optimizar las imágenes utilizando el código que aparece a continuación. No es obligatorio, pero se recomienda para reducir el tamaño del conjunto de datos y aumentar la velocidad de descarga.
- Comprimir conjunto de datos: Comprime toda la carpeta del conjunto de datos en un archivo zip.
- Documentación y relaciones públicas: Crea una página de documentación que describa tu conjunto de datos y cómo encaja en el marco existente. Después, envía una Solicitud de Extracción (PR). Consulta Ultralytics Directrices de contribución para obtener más detalles sobre cómo enviar una PR.
Código de ejemplo para optimizar y comprimir un conjunto de datos
Optimizar y comprimir un conjunto de datos
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)
Siguiendo estos pasos, puedes contribuir con un nuevo conjunto de datos que se integre bien en la estructura existente de Ultralytics.
PREGUNTAS FRECUENTES
¿Qué conjuntos de datos admite Ultralytics para la detección de objetos?
Ultralytics admite una amplia variedad de conjuntos de datos para la detección de objetos, incluidos:
- COCO: Un conjunto de datos a gran escala de detección, segmentación y subtitulación de objetos con 80 categorías de objetos.
- LVIS: Un amplio conjunto de datos con 1203 categorías de objetos, diseñado para una detección y segmentación de objetos más precisas.
- Argoverse: Un conjunto de datos que contiene datos de seguimiento 3D y previsión de movimiento de entornos urbanos con ricas anotaciones.
- VisDrone: Un conjunto de datos con datos de detección de objetos y seguimiento multiobjeto a partir de imágenes capturadas por drones.
- SKU-110K: Detección densa de objetos en entornos comerciales con más de 11.000 imágenes.
Estos conjuntos de datos facilitan el entrenamiento de modelos robustos para diversas aplicaciones de detección de objetos.
¿Cómo contribuyo con un nuevo conjunto de datos a Ultralytics?
Aportar un nuevo conjunto de datos implica varios pasos:
- Reúne imágenes: Reúne imágenes de bases de datos públicas o colecciones personales.
- Anota imágenes: Aplica cuadros delimitadores, segmentos o puntos clave, según la tarea.
- Exportar anotaciones: Convierte las anotaciones en YOLO
*.txt
formato. - Organizar el conjunto de datos: Utiliza la estructura de carpetas con
train/
yval/
directorios, cada uno de los cuales contieneimages/
ylabels/
subdirectorios. - Crea una
data.yaml
Archivo: Incluye descripciones de conjuntos de datos, clases y otra información relevante. - Optimizar imágenes (Opcional): Reduce el tamaño del conjunto de datos para mayor eficacia.
- Comprimir conjunto de datos: Comprime el conjunto de datos en un archivo zip.
- Documento y PR: Describe tu conjunto de datos y envía una Pull Request siguiendo las directrices de contribución deUltralytics .
Visita Contribuir nuevos conjuntos de datos para obtener una guía completa.
¿Por qué debería utilizar Ultralytics Explorer para mi conjunto de datos?
Ultralytics El Explorador ofrece potentes funciones para el análisis de conjuntos de datos, entre las que se incluyen:
- Generación de incrustaciones: Crea incrustaciones vectoriales para imágenes.
- Búsqueda semántica: Busca imágenes similares utilizando incrustaciones o IA.
- Consultas SQL: Ejecuta consultas SQL avanzadas para un análisis detallado de los datos.
- Búsqueda en lenguaje natural: Busca utilizando consultas en lenguaje sencillo para facilitar su uso.
Explora el ExploradorUltralytics para obtener más información y probar la Demo GUI.
¿Cuáles son las características únicas de los modelos Ultralytics YOLO para la visión por ordenador?
Ultralytics YOLO ofrecen varias características únicas:
- Rendimiento en tiempo real: Inferencia y entrenamiento de alta velocidad.
- Versatilidad: Adecuado para tareas de detección, segmentación, clasificación y estimación de la pose.
- Modelos preentrenados: Acceso a modelos preentrenados de alto rendimiento para diversas aplicaciones.
- Amplio apoyo de la comunidad: Comunidad activa y documentación exhaustiva para la resolución de problemas y el desarrollo.
Descubre más sobre YOLO en la página Ultralytics YOLO página.
¿Cómo puedo optimizar y comprimir un conjunto de datos utilizando las herramientas de Ultralytics ?
Para optimizar y comprimir un conjunto de datos utilizando las herramientas de Ultralytics , sigue este código de ejemplo:
Optimizar y comprimir un conjunto de datos
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)
Más información sobre cómo optimizar y comprimir un conjunto de datos.