Conjuntos de datos
Ultralytics proporciona soporte para varios conjuntos de datos con el fin de 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 Conjuntos de datos
Ultralytics Explorador
Nota comunitaria ⚠️
A partir de ultralytics>=8.3.10
Ultralytics explorer support has been deprecated. Pero no se preocupe. 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 su 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. No dejes de probarlo y aprovéchate de sus potentes funciones 🚀.
Cree incrustaciones para su conjunto de datos, busque imágenes similares, ejecute consultas SQL, realice búsquedas semánticas e incluso busque utilizando lenguaje natural. Puede empezar con nuestra aplicación GUI o crear la suya propia utilizando la API. Obtenga más información aquí.
- Pruebe la demostración de la 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 abundantes anotaciones.
- COCO: Common Objects in Context (COCO) es un conjunto de datos de detección, segmentación y subtitulación de objetos a gran escala con 80 categorías de objetos.
- LVIS: conjunto de datos de detección, segmentación y subtitulación de objetos a gran escala 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.
- Global Wheat 2020: Un conjunto de datos que contiene imágenes de cabezas de trigo para el Global Wheat Challenge 2020.
- Objetos365: Un conjunto de datos a gran escala de alta calidad para la detección de objetos con 365 categorías de objetos y más de 600K 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.
- xView: 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: una prueba comparativa 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: Conjunto de datos con imágenes de la fauna africana, como 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: 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.
- Package-seg: conjunto de datos adaptado para la identificación de paquetes en almacenes o entornos industriales, adecuado tanto para aplicaciones de detección de objetos como de segmentación.
- Carparts-seg: conjunto de datos especialmente diseñado para identificar piezas de vehículos, que satisface las necesidades de diseño, fabricación e investigación. Sirve para tareas de detección y segmentación de objetos.
Estimación de la pose
La estimación de la pose es una técnica utilizada para determinar la pose del objeto con respecto a la cámara o al sistema de coordenadas global.
- COCO: un conjunto de datos a gran escala con anotaciones de poses humanas diseñado para tareas de estimación de poses.
- 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ñadas 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: 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 compuesto 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 agilizar la experimentación y las pruebas.
- 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 primeras 8 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 múltiples 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.
Aporte nuevos conjuntos de datos
Aportar un nuevo conjunto de datos implica varios pasos para garantizar que se adapta bien a la infraestructura existente. A continuación se indican los pasos necesarios:
Pasos para aportar un nuevo conjunto de datos
- Recopilar imágenes: Reúna las imágenes que pertenecen al conjunto de datos. Pueden proceder de diversas fuentes, como bases de datos públicas o tu propia colección.
- Anotar imágenes: Anote estas imágenes con cuadros delimitadores, segmentos o puntos clave, en función de la tarea.
- Exportar anotaciones: Convierte estas anotaciones en YOLO
*.txt
que admite Ultralytics . -
Organizar el conjunto de datos: Organice su conjunto de datos en la estructura de carpetas correcta. Debe tener
train/
yval/
directorios de nivel superior, y dentro de cada uno, unimages/
ylabels/
subdirectorio. -
Crear un
data.yaml
Archivo: En el directorio raíz de su conjunto de datos, cree un archivodata.yaml
que describe el conjunto de datos, las clases y otra información necesaria. - Optimizar imágenes (opcional): Si desea reducir el tamaño del conjunto de datos para un procesamiento más eficiente, puede optimizar las imágenes utilizando el código siguiente. No es obligatorio, pero se recomienda para reducir el tamaño del conjunto de datos y acelerar 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: Cree una página de documentación en la que describa su conjunto de datos y cómo encaja en el marco existente. A continuación, envíe una Pull Request (PR). Consulte Ultralytics Contribution Guidelines para obtener más información 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, puede 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, entre los que se incluyen:
- COCO: 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 abundantes anotaciones.
- VisDrone: Un conjunto de datos con detección de objetos y seguimiento multiobjeto a partir de imágenes capturadas por drones.
- SKU-110K: Detección 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 puedo aportar un nuevo conjunto de datos a Ultralytics?
Aportar un nuevo conjunto de datos implica varios pasos:
- Recopilar imágenes: Reúna imágenes de bases de datos públicas o colecciones personales.
- Anotar imágenes: Aplique cuadros delimitadores, segmentos o puntos clave, en función de la tarea.
- Exportar anotaciones: Convertir las anotaciones en YOLO
*.txt
formato. - Organizar el conjunto de datos: Utilice la estructura de carpetas con
train/
yval/
directorios, cada uno de los cuales contieneimages/
ylabels/
subdirectorios. - Crear un
data.yaml
Archivo: Incluya descripciones de conjuntos de datos, clases y otra información pertinente. - Optimizar imágenes (opcional): Reduce el tamaño del conjunto de datos para mayor eficiencia.
- Comprimir conjunto de datos: Comprime el conjunto de datos en un archivo zip.
- Documento y PR: Describa su conjunto de datos y envíe una Pull Request siguiendo las directrices de contribución deUltralytics .
Visite Contribuir nuevos conjuntos de datos para obtener una guía completa.
¿Por qué debería utilizar Ultralytics Explorer para mi conjunto de datos?
Ultralytics Explorer ofrece potentes funciones para el análisis de conjuntos de datos, entre las que se incluyen:
- Generación de Embeddings: Crea incrustaciones vectoriales para imágenes.
- Búsqueda semántica: Búsqueda de imágenes similares mediante incrustaciones o IA.
- Consultas SQL: Ejecute consultas SQL avanzadas para un análisis detallado de los datos.
- Búsqueda en lenguaje natural: Búsqueda mediante consultas en lenguaje llano para facilitar su uso.
Explore el exploradorUltralytics para obtener más información y probar la demostración de la interfaz gráfica de usuario.
¿Cuáles son las características únicas de los modelos Ultralytics YOLO para 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 preformados: 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.
Descubra más sobre YOLO en la Ultralytics YOLO página.
¿Cómo puedo optimizar y comprimir un conjunto de datos con las herramientas de Ultralytics ?
Para optimizar y comprimir un conjunto de datos utilizando las herramientas de Ultralytics , siga 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.