Documentos | Discordia | Gorjeo | LinkedIn
Albumentations es una biblioteca de Python para el aumento de imágenes. El aumento de imágenes se utiliza en tareas de visión por computadora y aprendizaje profundo para aumentar la calidad de los modelos entrenados. El propósito del aumento de imágenes es crear nuevas muestras de entrenamiento a partir de los datos existentes.
A continuación se muestra un ejemplo de cómo puede aplicar algunos aumentos a nivel de píxeles desde Albumentaciones para crear nuevas imágenes a partir de la original:
Soporte completo de visión por computadora : funciona con todas las tareas principales de CV, incluidas clasificación, segmentación (semántica e instancia), detección de objetos y estimación de pose.
API simple y unificada : una interfaz consistente para todos los tipos de datos: imágenes RGB/escala de grises/multiespectrales, máscaras, cuadros delimitadores y puntos clave.
Biblioteca de aumentos enriquecida : más de 70 aumentos de alta calidad para mejorar sus datos de entrenamiento.
Rápido : constantemente evaluado como la biblioteca de aumento más rápida, con optimizaciones para uso en producción.
Integración de aprendizaje profundo : funciona con PyTorch, TensorFlow y otros marcos. Parte del ecosistema PyTorch.
Creado por expertos : creado por desarrolladores con amplia experiencia en competencias de visión por computadora y aprendizaje automático.
Albumentations prospera gracias a las contribuciones de los desarrolladores. Apreciamos a nuestros patrocinadores que ayudan a sostener la infraestructura del proyecto.
? Patrocinadores de oro |
---|
Tu empresa podría estar aquí |
? Patrocinadores Plata |
---|
? Patrocinadores de bronce |
---|
Su patrocinio es una forma de decir "gracias" a los mantenedores y contribuyentes que dedican su tiempo libre a crear y mantener Albumentations. Los patrocinadores aparecen en nuestro sitio web y en README. Ver niveles de patrocinio en Patrocinadores de GitHub
Albumentaciones
Información del sistema
Parámetros de referencia
Versiones de biblioteca
Segmentación semántica en el conjunto de datos de Inria
imagen médica
Detección de objetos y segmentación semántica en el conjunto de datos de Mapillary Vistas
Aumento de puntos clave
Transformaciones a nivel de píxeles
Transformaciones a nivel espacial
Ver también
Soy nuevo en el aumento de imágenes.
Quiero usar Albumentaciones para tareas específicas como clasificación o segmentación.
Quiero saber cómo usar Albumentaciones con marcos de aprendizaje profundo.
Quiero explorar los aumentos y ver las albumentaciones en acción.
Mantenedor actual
Miembros eméritos del equipo central
? Conviértete en patrocinador
Por qué las albumentaciones
Proyecto impulsado por la comunidad, apoyado por
Tabla de contenido
Autores
Instalación
Documentación
Un ejemplo sencillo
Empezando
¿Quién usa albumentaciones?
Lista de aumentos
Algunos ejemplos más de aumentos.
Resultados de la evaluación comparativa
Comparación de rendimiento
Contribuyendo
Comunidad
Citando
Vladímir I. Iglovikov | Gran maestro de Kaggle
Mijaíl Druzhinin | Experto en Kaggle
Alex Parinov | Maestro Kaggle
Alejandro Buslaev | Maestro Kaggle
Eugenio Khvedchenya | Gran maestro de Kaggle
Las albumentaciones requieren Python 3.9 o superior. Para instalar la última versión de PyPI:
pip install -U albumentaciones
Otras opciones de instalación se describen en la documentación.
La documentación completa está disponible en https://albumentations.ai/docs/ .
importar albumentaciones como Aimport cv2# Declarar una canalización de aumentotransform = A.Compose([A.RandomCrop(width=256, height=256),A.HorizontalFlip(p=0.5),A.RandomBrightnessContrast(p=0.2), ])# Leer una imagen con OpenCV y convertirla al espacio de color RGBimage = cv2.imread("image.jpg")image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# Aumentar una imagentransformed = transform(image=image)transformed_image = transformado["imagen"]
Comience con los artículos de introducción sobre por qué el aumento de imágenes es importante y cómo ayuda a crear mejores modelos.
Si desea utilizar Albumentaciones para una tarea específica como clasificación, segmentación o detección de objetos, consulte el conjunto de artículos que tiene una descripción detallada de esta tarea. También tenemos una lista de ejemplos sobre la aplicación de Albumentaciones para diferentes casos de uso.
Tenemos ejemplos del uso de Albumentations junto con PyTorch y TensorFlow.
Consulte la demostración en línea de la biblioteca. Con él, puedes aplicar aumentos a diferentes imágenes y ver el resultado. Además, tenemos una lista de todos los aumentos disponibles y sus objetivos.
Una lista de artículos que citan Albumentaciones.
Proyectos de código abierto que utilizan Albumentaciones.
Las transformaciones a nivel de píxeles cambiarán solo una imagen de entrada y dejarán sin cambios los objetivos adicionales, como máscaras, cuadros delimitadores y puntos clave. La lista de transformaciones a nivel de píxel:
AditivoRuido
Desenfoque avanzado
Contraste automático
Difuminar
CLAHE
Abandono del canal
Canal aleatorio
Aberración cromática
Color Jitter
Desenfocar
Reducir escala
Realzar
Igualar
FDA
FancyPCA
Desde flotar
GaussRuido
Desenfoque gaussiano
VidrioDesenfoque
HistogramaCoincidencia
TonoValor De Saturación
ISORuido
Iluminación
Compresión de imagen
InvertirImg
MedianaDesenfoque
Desenfoque de movimiento
Ruido Multiplicativo
Normalizar
PixelDistributionAdaptación
Nervio planckiano
PlasmaBrilloContraste
Sombra de plasma
Posterizar
Cambio RGB
AleatorioBrilloContraste
Niebla aleatoria
AleatorioGamma
Grava aleatoria
AleatorioLluvia
Sombra aleatoria
AleatorioNieve
LlamaradaAleatoria
Curva de tono aleatorio
SonandoSobrepaso
sal y pimienta
Afilar
DisparoRuido
Solarizar
Salpicar
Superpíxeles
Transformación de plantilla
TextoImagen
Para flotar
a gris
ToRGB
a sepia
Máscara de enfoque
ZoomDesenfocado
Las transformaciones a nivel espacial cambiarán simultáneamente tanto una imagen de entrada como objetivos adicionales como máscaras, cuadros delimitadores y puntos clave. La siguiente tabla muestra qué destinos adicionales admite cada transformación.
Transformar | Imagen | Mascarilla | Cajas B | Puntos clave |
---|---|---|---|---|
afín | ✓ | ✓ | ✓ | ✓ |
BBoxSafeRandomCrop | ✓ | ✓ | ✓ | ✓ |
Cultivo central | ✓ | ✓ | ✓ | ✓ |
Abandono grueso | ✓ | ✓ | ✓ | ✓ |
Cultivo | ✓ | ✓ | ✓ | ✓ |
Cultivo y almohadilla | ✓ | ✓ | ✓ | ✓ |
RecorteNonEmptyMaskIfExists | ✓ | ✓ | ✓ | ✓ |
D4 | ✓ | ✓ | ✓ | ✓ |
Transformación elástica | ✓ | ✓ | ✓ | ✓ |
Borrando | ✓ | ✓ | ✓ | ✓ |
Enmascaramiento de frecuencia | ✓ | ✓ | ✓ | ✓ |
Distorsión de cuadrícula | ✓ | ✓ | ✓ | ✓ |
Abandono de cuadrícula | ✓ | ✓ | ✓ | ✓ |
GridElasticDeform | ✓ | ✓ | ✓ | ✓ |
Voltear horizontalmente | ✓ | ✓ | ✓ | ✓ |
lambda | ✓ | ✓ | ✓ | ✓ |
Tamaño máximo más largo | ✓ | ✓ | ✓ | ✓ |
Abandono de máscara | ✓ | ✓ | ✓ | ✓ |
Morfológico | ✓ | ✓ | ✓ | ✓ |
NoOp | ✓ | ✓ | ✓ | ✓ |
Distorsión óptica | ✓ | ✓ | ✓ | ✓ |
Elementos superpuestos | ✓ | ✓ | ||
Almohadilla | ✓ | ✓ | ✓ | ✓ |
Pad si es necesario | ✓ | ✓ | ✓ | ✓ |
Perspectiva | ✓ | ✓ | ✓ | ✓ |
Por partesAfín | ✓ | ✓ | ✓ | ✓ |
Abandono de píxeles | ✓ | ✓ | ✓ | ✓ |
Cultivo aleatorio | ✓ | ✓ | ✓ | ✓ |
Cultivo aleatorio desde fronteras | ✓ | ✓ | ✓ | ✓ |
Cultivo aleatorioCerca de BBox | ✓ | ✓ | ✓ | ✓ |
AleatorioGridShuffle | ✓ | ✓ | ✓ | ✓ |
Recorte de tamaño aleatorio | ✓ | ✓ | ✓ | ✓ |
Rotación aleatoria90 | ✓ | ✓ | ✓ | ✓ |
Escala aleatoria | ✓ | ✓ | ✓ | ✓ |
RandomSizeBBoxSafeCrop | ✓ | ✓ | ✓ | ✓ |
Cultivo de tamaño aleatorio | ✓ | ✓ | ✓ | ✓ |
Cambiar tamaño | ✓ | ✓ | ✓ | ✓ |
Girar | ✓ | ✓ | ✓ | ✓ |
Rotación segura | ✓ | ✓ | ✓ | ✓ |
MayúsEscalaRotar | ✓ | ✓ | ✓ | ✓ |
Tamaño máximo más pequeño | ✓ | ✓ | ✓ | ✓ |
Placa delgadaSpline | ✓ | ✓ | ✓ | ✓ |
Enmascaramiento de tiempo | ✓ | ✓ | ✓ | ✓ |
Hora inversa | ✓ | ✓ | ✓ | ✓ |
Transponer | ✓ | ✓ | ✓ | ✓ |
Voltear verticalmente | ✓ | ✓ | ✓ | ✓ |
Enmascaramiento XY | ✓ | ✓ | ✓ | ✓ |
Plataforma: macOS-15.0.1-arm64-arm-64bit
Procesador: brazo
Número de CPU: 10
Versión de Python: 3.12.7
Número de imágenes: 1000
Ejecuciones por transformación: 10
Iteraciones máximas de calentamiento: 1000
albumentaciones: 1.4.20
agosto: 1.0.0
imagen: 0.4.0
Kornia: 0.7.3
visión de antorcha: 0.20.0
Número: es el número de imágenes RGB uint8 procesadas por segundo en un único núcleo de CPU. Cuanto más alto es mejor.
Transformar | albumentaciones 1.4.20 | agosto 1.0.0 | imgaug 0.4.0 | kornia 0.7.3 | visión de antorcha 0.20.0 |
---|---|---|---|---|---|
Voltear horizontalmente | 8618 ± 1233 | 4807 ± 818 | 6042 ± 788 | 390 ± 106 | 914 ± 67 |
Voltear verticalmente | 22847 ± 2031 | 9153 ± 1291 | 10931 ± 1844 | 1212 ± 402 | 3198 ± 200 |
Girar | 1146 ± 79 | 1119 ± 41 | 1136 ± 218 | 143 ± 11 | 181 ± 11 |
afín | 682 ± 192 | - | 774 ± 97 | 147 ± 9 | 130 ± 12 |
Igualar | 892 ± 61 | - | 581 ± 54 | 152 ± 19 | 479 ± 12 |
Cultivo aleatorio80 | 47341 ± 20523 | 25272 ± 1822 | 11503 ± 441 | 1510 ± 230 | 32109 ± 1241 |
CambioRGB | 2349 ± 76 | - | 1582 ± 65 | - | - |
Cambiar tamaño | 2316 ± 166 | 611 ± 78 | 1806 ± 63 | 232 ± 24 | 195 ± 4 |
AleatorioGamma | 8675 ± 274 | - | 2318 ± 269 | 108 ± 13 | - |
Escala de grises | 3056 ± 47 | 2720 ± 932 | 1681 ± 156 | 289 ± 75 | 1838 ± 130 |
Perspectiva aleatoria | 412 ± 38 | - | 554 ± 22 | 86 ± 11 | 96 ± 5 |
Desenfoque gaussiano | 1728 ± 89 | 242 ± 4 | 1090 ± 65 | 176 ± 18 | 79 ± 3 |
MedianaDesenfoque | 868 ± 60 | - | 813 ± 30 | 5 ± 0 | - |
Desenfoque de movimiento | 4047 ± 67 | - | 612 ± 18 | 73 ± 2 | - |
Posterizar | 9094 ± 301 | - | 2097 ± 68 | 430 ± 49 | 3196 ± 185 |
Compresión Jpeg | 918 ± 23 | 778 ± 5 | 459 ± 35 | 71 ± 3 | 625 ± 17 |
Ruido gaussiano | 166 ± 12 | 67 ± 2 | 206 ± 11 | 75 ± 1 | - |
Elástico | 201 ± 5 | - | 235 ± 20 | 1 ± 0 | 2 ± 0 |
Clahe | 454 ± 22 | - | 335 ± 43 | 94 ± 9 | - |
Abandono grueso | 13368 ± 744 | - | 671 ± 38 | 536 ± 87 | - |
Difuminar | 5267 ± 543 | 246 ± 3 | 3807 ± 325 | - | - |
Color Jitter | 628 ± 55 | 255 ± 13 | - | 55 ± 18 | 46 ± 2 |
Brillo | 8956 ± 300 | 1163 ± 86 | - | 472 ± 101 | 429 ± 20 |
Contraste | 8879 ± 1426 | 736 ± 79 | - | 425 ± 52 | 335 ± 35 |
Recorte de tamaño aleatorio | 2828 ± 186 | - | - | 287 ± 58 | 511 ± 10 |
Normalizar | 1196 ± 56 | - | - | 626 ± 40 | 519 ± 12 |
PlankianJitter | 2204 ± 385 | - | - | 813 ± 211 | - |
Para crear una solicitud de extracción al repositorio, siga la documentación en CONTRIBUTING.md
Gorjeo
Discordia
Si encuentra útil esta biblioteca para su investigación, considere citar Albumentaciones: aumentos de imágenes rápidos y flexibles:
@Article{info11020125,AUTHOR = {Buslaev, Alexander e Iglovikov, Vladimir I. y Khvedchenya, Eugene y Parinov, Alex y Druzhinin, Mikhail y Kalinin, Alexandr A.},TITLE = {Albumentaciones: aumentos de imágenes rápidos y flexibles},DIARIO = {Información},VOLUMEN = {11},AÑO = {2020},NÚMERO = {2},NÚMERO DE ARTÍCULO = {125},URL = {https://www.mdpi.com/2078-2489/11/2/125},ISSN = {2078-2489},DOI = {10.3390/info11020125 }}