Visión general de los conjuntos de datos
Ultralytics provides support for various datasets to facilitate computer vision tasks such as detection, instance segmentation, pose estimation, classification, and multi-object tracking. Below is a list of the main Ultralytics datasets, followed by a summary of each computer vision task and the respective datasets.
Observa: Ultralytics Visión general de los conjuntos de datos
Ultralytics Explorer 🚀 NEW
Create embeddings for your dataset, search for similar images, run SQL queries, perform semantic search and even search using natural language! You can get started with our GUI app or build your own using the API. Learn more here.
- Prueba la Demo GUI
- Más información sobre la API Explorer
Detección de objetos
Bounding box object detection is a computer vision technique that involves detecting and localizing objects in an image by drawing a bounding box around each object.
- 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: A smaller subset of the first 128 images from COCO train and COCO val, suitable for tests.
- 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.
- Roboflow 100: Una prueba comparativa de detección de objetos diversos 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: A smaller dataset for instance segmentation tasks, containing a subset of 128 COCO images with segmentation annotations.
- 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.
- Hand-Keypoints: A concise dataset featuring over 26,000 images centered on human hands, annotated with 21 keypoints per hand, designed for pose estimation tasks.
Clasificación
Image classification is a computer vision task that involves categorizing an image into one or more predefined classes or categories based on its visual content.
- 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: First 8 images of each MNIST category from the MNIST dataset. Dataset contains 160 images 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: A smaller subset of the first 8 images from the DOTAv1 split set, 4 for training and 4 for validation, suitable for quick tests.
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
What datasets does Ultralytics support for object detection?
Ultralytics supports a wide variety of datasets for object detection, including:
- COCO: A large-scale object detection, segmentation, and captioning dataset with 80 object categories.
- LVIS: An extensive dataset with 1203 object categories, designed for more fine-grained object detection and segmentation.
- Argoverse: Un conjunto de datos que contiene datos de seguimiento 3D y previsión de movimiento de entornos urbanos con ricas anotaciones.
- VisDrone: A dataset with object detection and multi-object tracking data from drone-captured imagery.
- SKU-110K: Featuring dense object detection in retail environments with over 11K images.
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?
Contributing a new dataset involves several steps:
- Collect Images: Gather images from public databases or personal collections.
- Annotate Images: Apply bounding boxes, segments, or keypoints, depending on the task.
- 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/
subdirectories. - Crea una
data.yaml
Archivo: Include dataset descriptions, classes, and other relevant information. - Optimize Images (Optional): Reduce dataset size for efficiency.
- Zip Dataset: Compress the dataset into a zip file.
- Document and PR: Describe your dataset and submit a Pull Request following Ultralytics Contribution Guidelines.
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 Explorer offers powerful features for dataset analysis, including:
- Embeddings Generation: Create vector embeddings for images.
- Semantic Search: Search for similar images using embeddings or AI.
- SQL Queries: Run advanced SQL queries for detailed data analysis.
- Natural Language Search: Search using plain language queries for ease of use.
Explora el ExploradorUltralytics para obtener más información y probar la Demo GUI.
What are the unique features of Ultralytics YOLO models for computer vision?
Ultralytics YOLO models provide several unique features:
- Real-time Performance: High-speed inference and training.
- Versatility: Suitable for detection, segmentation, classification, and pose estimation tasks.
- Pretrained Models: Access to high-performing, pretrained models for various applications.
- Extensive Community Support: Active community and comprehensive documentation for troubleshooting and development.
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.