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
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.
- Pastillas médicas: Conjunto de datos que contiene imágenes etiquetadas de píldoras médicas, diseñadas para ayudar en tareas como el control de calidad farmacéutica, la clasificación y la garantía de cumplimiento de las normas del sector.
Segmentación de instancias
La segmentación por 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. A diferencia de la segmentación semántica, que solo clasifica cada píxel, la segmentación por inst ancias distingue entre diferentes instancias de la misma clase.
- 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 en relación con la cámara o el sistema de coordenadas mundial. Se trata de identificar los puntos clave o las articulaciones de los objetos, en particular de personas o animales.
- 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, a menudo aplicado a imágenes aéreas y de satélite. A diferencia de los cuadros delimitadores tradicionales, los OBB se adaptan mejor a objetos con distintas orientaciones.
- 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. Esta tarea amplía la detección de objetos al mantener identidades coherentes de los objetos a lo largo de los fotogramas.
- 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:
Observa: Cómo contribuir a los conjuntos de datos Ultralytics 🚀.
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 la formación de Ultralytics YOLO 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 HUB para mi conjunto de datos?
Ultralytics HUB ofrece potentes funciones para la gestión y el análisis de conjuntos de datos, entre las que se incluyen:
- Gestión de conjuntos de datos sin fisuras: Cargue, organice y gestione sus conjuntos de datos en un solo lugar.
- Integración inmediata de la formación: Utilice los conjuntos de datos cargados directamente para el entrenamiento de modelos sin configuración adicional.
- Herramientas de visualización: Explore y visualice las imágenes y anotaciones de su conjunto de datos.
- Análisis de conjuntos de datos: Obtenga información sobre la distribución y las características de su conjunto de datos.
La plataforma agiliza la transición de la gestión de conjuntos de datos a la formación de modelos, haciendo que todo el proceso sea más eficiente. Más información sobre los conjuntos de datos deUltralytics HUB.
¿Cuáles son las características únicas de los modelos Ultralytics YOLO para visión por ordenador?
Los modelosYOLO Ultralytics ofrecen varias características únicas para las tareas de visión por ordenador:
- Rendimiento en tiempo real: Capacidades de inferencia y entrenamiento de alta velocidad para aplicaciones sensibles al tiempo.
- Versatilidad: Admite tareas de detección, segmentación, clasificación y estimación de la pose en un marco unificado.
- Modelos preformados: Acceso a modelos preentrenados de alto rendimiento para diversas aplicaciones, lo que reduce el tiempo de entrenamiento.
- Amplio apoyo de la comunidad: Comunidad activa y documentación exhaustiva para la resolución de problemas y el desarrollo.
- Fácil integración: API sencilla para integrarse con los proyectos y flujos de trabajo existentes.
Descubra más sobre los modelos YOLO en la página Modelos deUltralytics .
¿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)
Este proceso ayuda a reducir el tamaño del conjunto de datos para un almacenamiento más eficiente y velocidades de descarga más rápidas. Más información sobre cómo optimizar y comprimir un conjunto de datos.