Mejore su conjunto de datos para entrenar YOLO11 utilizando albumentaciones
Cuando se construyen modelos de visión por ordenador, la calidad y variedad de los datos de entrenamiento pueden desempeñar un papel importante en el rendimiento del modelo. Albumentations ofrece una forma rápida, flexible y eficaz de aplicar una amplia gama de transformaciones de imagen que pueden mejorar la capacidad de su modelo para adaptarse a los escenarios del mundo real. Se integra fácilmente con Ultralytics YOLO11 y puede ayudarle a crear sólidos conjuntos de datos para tareas de detección, segmentación y clasificación de objetos.
Utilizando Albumentations, puede aumentar sus datos de formación de YOLO11 con técnicas como transformaciones geométricas y ajustes de color. En este artículo, veremos cómo Albumentations puede mejorar su proceso de aumento de datos y hacer que sus proyectosYOLO11 sean aún más impactantes. Empecemos.
Albumentación para aumentar la imagen
Albumentations es una biblioteca de aumento de imágenes de código abierto creada en junio de 2018. Está diseñada para simplificar y acelerar el proceso de aumento de imágenes en visión por ordenador. Creada con el rendimiento y la flexibilidad en mente, admite muchas técnicas de aumento diversas, que van desde transformaciones simples como rotaciones y giros hasta ajustes más complejos como cambios de brillo y contraste. Albumentations ayuda a los desarrolladores a generar conjuntos de datos ricos y variados para tareas como la clasificación de imágenes, la detección de objetos y la segmentación.
Puede utilizar Albumentations para aplicar fácilmente aumentos a imágenes, máscaras de segmentación, cuadros delimitadores y puntos clave, y asegurarse de que todos los elementos de su conjunto de datos se transforman juntos. Funciona a la perfección con marcos de aprendizaje profundo populares como PyTorch y TensorFlowlo que lo hace accesible para una amplia gama de proyectos.
Además, Albumentations es una gran opción para el aumento, tanto si está manejando pequeños conjuntos de datos como tareas de visión por ordenador a gran escala. Garantiza un procesamiento rápido y eficaz, reduciendo el tiempo dedicado a la preparación de datos. Al mismo tiempo, ayuda a mejorar el rendimiento de los modelos, haciéndolos más eficaces en aplicaciones reales.
Características principales de Albumentations
Albumentations ofrece muchas funciones útiles que simplifican los aumentos complejos de imágenes para una amplia gama de aplicaciones de visión por ordenador. Estas son algunas de las características clave:
- Amplia gama de transformaciones: Albumentations ofrece más de 70 transformaciones diferentes, incluyendo cambios geométricos (por ejemplo, rotación, volteo), ajustes de color (por ejemplo, brillo, contraste) y adición de ruido (por ejemplo, ruido gaussiano). Disponer de múltiples opciones permite crear conjuntos de datos de entrenamiento muy diversos y robustos.
-
Optimización de alto rendimiento: Construido sobre OpenCV y NumPy, Albumentations utiliza técnicas de optimización avanzadas como SIMD (Single Instruction, Multiple Data), que procesa múltiples puntos de datos simultáneamente para acelerar el procesamiento. Maneja rápidamente grandes conjuntos de datos, lo que la convierte en una de las opciones más rápidas disponibles para el aumento de imágenes.
-
Tres niveles de aumento: Albumentations admite tres niveles de aumento: transformaciones a nivel de píxel, transformaciones a nivel espacial y transformaciones a nivel de mezcla. Las transformaciones a nivel de píxel sólo afectan a las imágenes de entrada sin alterar las máscaras, los cuadros delimitadores ni los puntos clave. En cambio, las transformaciones a nivel espacial afectan tanto a la imagen como a sus elementos, como máscaras y cuadros delimitadores. Además, las transformaciones a nivel de mezcla son una forma única de aumentar los datos, ya que combinan varias imágenes en una sola.
- Resultados de la evaluación comparativa: Cuando se trata de pruebas comparativas, Albumentations supera sistemáticamente a otras bibliotecas, especialmente con grandes conjuntos de datos.
¿Por qué debería utilizar Albumentations para sus proyectos de IA de visión?
En lo que respecta al aumento de imágenes, Albumentations destaca como una herramienta fiable para tareas de visión por ordenador. He aquí algunas razones clave por las que debería considerar su uso para sus proyectos de IA de visión:
-
API fácil de usar: Albumentations proporciona una API única y sencilla para aplicar una amplia gama de aumentos a imágenes, máscaras, cuadros delimitadores y puntos clave. Está diseñada para adaptarse fácilmente a distintos conjuntos de datos, lo que simplifica y agiliza su preparación.
-
Pruebas rigurosas de errores: Los errores en el proceso de aumento pueden corromper silenciosamente los datos de entrada, a menudo pasando desapercibidos, pero en última instancia degradando el rendimiento del modelo. Albumentations aborda este problema con un conjunto de pruebas exhaustivo que ayuda a detectar los errores en las primeras fases del desarrollo.
-
Extensibilidad: Albumentations se puede utilizar para añadir fácilmente nuevos aumentos y utilizarlos en pipelines de visión por ordenador a través de una única interfaz junto con transformaciones incorporadas.
Cómo utilizar albumentaciones para aumentar los datos de la formación YOLO11
Ahora que ya hemos explicado qué es Albumentations y lo que puede hacer, veamos cómo utilizarlo para aumentar sus datos para el entrenamiento del modelo YOLO11 . Es fácil de configurar porque se integra directamente en el modo de entrenamiento deUltralytics ' y se aplica automáticamente si tiene instalado el paquete Albumentations.
Instalación
Para utilizar Albumentations con YOLO11, comience por asegurarse de que tiene instalados los paquetes necesarios. Si Albumentations no está instalado, los aumentos no se aplicarán durante el entrenamiento. Una vez configurado, estará listo para crear un conjunto de datos aumentados para el entrenamiento, con Albumentations integrado para mejorar su modelo automáticamente.
Para obtener instrucciones detalladas y buenas prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalaciónUltralytics . Mientras instala los paquetes necesarios para YOLO11, si encuentra alguna dificultad, consulte nuestra guía de problemas comunes para obtener soluciones y consejos.
Utilización
Tras instalar los paquetes necesarios, estará listo para empezar a utilizar Albumentations con YOLO11. Cuando entrenas YOLO11, se aplica automáticamente un conjunto de aumentos a través de su integración con Albumentations, lo que facilita la mejora del rendimiento de tu modelo.
Utilización
A continuación, veamos más de cerca los aumentos específicos que se aplican durante el entrenamiento.
Desenfoque
The Blur transformation in Albumentations applies a simple blur effect to the image by averaging pixel values within a small square area, or kernel. This is done using OpenCV cv2.blur
que ayuda a reducir el ruido en la imagen, aunque también reduce ligeramente los detalles de la imagen.
Estos son los parámetros y valores utilizados en esta integración:
-
blur_limit: Controla el rango de tamaño del efecto de desenfoque. El rango por defecto es (3, 7), lo que significa que el tamaño del núcleo para el desenfoque puede variar entre 3 y 7 píxeles, con sólo los números impares permitidos para mantener el desenfoque centrado.
-
p: La probabilidad de aplicar el desenfoque. En la integración, p=0,01, por lo que hay una probabilidad del 1% de que se aplique este desenfoque a cada imagen. La baja probabilidad permite efectos de desenfoque ocasionales, introduciendo un poco de variación para ayudar al modelo a generalizar sin desenfocar demasiado las imágenes.
Desenfoque medio
La transformación MedianBlur de Albumentations aplica a la imagen un efecto de desenfoque mediano, especialmente útil para reducir el ruido y conservar los bordes. A diferencia de los métodos típicos de desenfoque, MedianBlur utiliza un filtro de mediana, que es especialmente eficaz para eliminar el ruido de sal y pimienta manteniendo la nitidez en los bordes.
Estos son los parámetros y valores utilizados en esta integración:
-
blur_limit: Este parámetro controla el tamaño máximo del kernel de desenfoque. En esta integración, por defecto tiene un rango de (3, 7), lo que significa que el tamaño del núcleo para el desenfoque se elige aleatoriamente entre 3 y 7 píxeles, permitiéndose sólo valores impares para asegurar una alineación adecuada.
-
p: Establece la probabilidad de aplicar el desenfoque medio. Aquí, p=0,01, por lo que la transformación tiene una probabilidad del 1% de aplicarse a cada imagen. Esta baja probabilidad garantiza que el desenfoque medio se utilice con moderación, ayudando al modelo a generalizar al ver ocasionalmente imágenes con ruido reducido y bordes preservados.
La imagen siguiente muestra un ejemplo de este aumento aplicado a una imagen.
Escala de grises
La transformación ToGray de Albumentations convierte una imagen a escala de grises, reduciéndola a un formato de un solo canal y, opcionalmente, replicando este canal para que coincida con un número especificado de canales de salida. Se pueden utilizar diferentes métodos para ajustar cómo se calcula el brillo de la escala de grises, desde un simple promedio hasta técnicas más avanzadas para una percepción realista del contraste y el brillo.
Estos son los parámetros y valores utilizados en esta integración:
-
num_output_channels: Sets the number of channels in the output image. If this value is more than 1, the single grayscale channel will be replicated to create a multichannel grayscale image. By default, it's set to 3, giving a grayscale image with three identical channels.
-
método: Define el método de conversión de la escala de grises. El método por defecto, "media_ponderada", aplica una fórmula (0,299R + 0,587G + 0,114B) que se ajusta a la percepción humana, proporcionando un efecto de escala de grises de aspecto natural. Otras opciones, como "from_lab", "desaturation", "average", "max" y "pca", ofrecen formas alternativas de crear imágenes en escala de grises en función de diversas necesidades de velocidad, énfasis de brillo o conservación de detalles.
-
p: Controla la frecuencia con la que se aplica la transformación a escala de grises. Con p=0,01, hay un 1% de posibilidades de convertir cada imagen a escala de grises, lo que hace posible que una mezcla de imágenes en color y en escala de grises ayude al modelo a generalizar mejor.
La imagen siguiente muestra un ejemplo de esta transformación de escala de grises aplicada.
Ecualización Adaptativa del Histograma con Contraste Limitado (CLAHE)
La transformación CLAHE de Albumentations aplica la Ecualización Adaptativa del Histograma con Contraste Limitado (CLAHE), una técnica que mejora el contraste de la imagen ecualizando el histograma en regiones localizadas (mosaicos) en lugar de en toda la imagen. CLAHE produce un efecto de mejora equilibrado, evitando el contraste excesivamente amplificado que puede resultar de la ecualización de histograma estándar, especialmente en áreas con contraste inicialmente bajo.
Estos son los parámetros y valores utilizados en esta integración:
-
clip_limit: Controla el rango de mejora del contraste. Establecido en un rango por defecto de (1, 4), determina el contraste máximo permitido en cada mosaico. Los valores más altos se utilizan para obtener más contraste, pero también pueden introducir ruido.
-
tile_grid_size: Defines the size of the grid of tiles, typically as (rows, columns). The default value is (8, 8), meaning the image is divided into a 8x8 grid. Smaller tile sizes provide more localized adjustments, while larger ones create effects closer to global equalization.
-
p: La probabilidad de aplicar CLAHE. Aquí, p=0,01 introduce el efecto de mejora sólo el 1% de las veces, lo que garantiza que los ajustes de contraste se apliquen con moderación para la variación ocasional en las imágenes de entrenamiento.
La imagen siguiente muestra un ejemplo de la transformación CLAHE aplicada.
Siga aprendiendo sobre Albumentaciones
Si le interesa saber más sobre las albumentaciones, consulte los siguientes recursos para obtener instrucciones más detalladas y ejemplos:
-
Documentación: La documentación oficial proporciona una gama completa de transformaciones soportadas y técnicas de uso avanzadas.
-
Ultralytics Guía de documentación: Conozca en detalle la función que facilita esta integración.
-
Albumentations Repositorio GitHub: El repositorio incluye ejemplos, puntos de referencia y discusiones para ayudarte a empezar a personalizar aumentos.
Principales conclusiones
En esta guía, exploramos los aspectos clave de Albumentations, una gran biblioteca de Python para el aumento de imágenes. Hablamos de su amplia gama de transformaciones, su rendimiento optimizado y cómo puedes utilizarla en tu próximo proyecto de YOLO11 .
Además, si quieres saber más sobre otras integraciones de Ultralytics YOLO11 , visita nuestra página de guía de integración. Allí encontrarás valiosos recursos e información.
PREGUNTAS FRECUENTES
¿Cómo puedo integrar Albumentations con YOLO11 para mejorar el aumento de datos?
Albumentations se integra perfectamente con YOLO11 y se aplica automáticamente durante el entrenamiento si tiene instalado el paquete. He aquí cómo empezar:
# Install required packages
# !pip install albumentations ultralytics
from ultralytics import YOLO
# Load and train model with automatic augmentations
model = YOLO("yolo11n.pt")
model.train(data="coco8.yaml", epochs=100)
La integración incluye aumentos optimizados como el desenfoque, el desenfoque medio, la conversión a escala de grises y CLAHE con probabilidades cuidadosamente ajustadas para mejorar el rendimiento del modelo.
¿Cuáles son las principales ventajas de utilizar Albumentations frente a otras bibliotecas de aumentos?
Albumentations destaca por varias razones:
- Rendimiento: Construido sobre OpenCV y NumPy con optimización SIMD para una velocidad superior.
- Flexibilidad: Admite más de 70 transformaciones entre aumentos a nivel de píxel, a nivel espacial y a nivel de mezcla.
- Compatibilidad: Funciona perfectamente con frameworks populares como PyTorch y TensorFlow
- Fiabilidad: El amplio conjunto de pruebas evita la corrupción silenciosa de datos
- Facilidad de uso: Una sola API unificada para todos los tipos de aumento.
¿Qué tipos de tareas de visión por ordenador pueden beneficiarse del aumento de Albumentations?
Albumentations mejora diversas tareas de visión por ordenador, entre ellas:
- Detección de objetos: Mejora la robustez del modelo frente a variaciones de iluminación, escala y orientación.
- Segmentación de instancias: Mejora la precisión de la predicción de máscaras mediante diversas transformaciones.
- Clasificación: Aumenta la generalización del modelo con aumentos geométricos y de color
- Estimación de la pose: Ayuda a los modelos a adaptarse a diferentes puntos de vista y condiciones de iluminación.
Las diversas opciones de aumento de la biblioteca la hacen valiosa para cualquier tarea de visión que requiera un sólido rendimiento del modelo.