Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan y Ming-Hsuan Yang
Resumen: Dado que las redes neuronales convolucionales (CNN) funcionan bien en el aprendizaje de los antecedentes de imágenes generalizables a partir de datos a gran escala, estos modelos se han aplicado ampliamente a la restauración de imágenes y las tareas relacionadas. Recientemente, otra clase de arquitecturas neuronales, Transformers, ha mostrado ganancias de rendimiento significativas en el lenguaje natural y las tareas de visión de alto nivel. Si bien el modelo de transformador mitiga las deficiencias de los CNN (es decir, campo receptivo limitado e inadaptabilidad al contenido de entrada), su complejidad computacional crece cuadráticamente con la resolución espacial, por lo que no es posible aplicar a la mayoría de las tareas de restauración de imágenes que involucran imágenes de alta resolución. En este trabajo, proponemos un modelo de transformador eficiente al hacer varios diseños clave en los bloques de construcción (atención múltiple y la red de alimentación) de modo que puede capturar interacciones de píxeles de largo alcance, sin dejar de ser aplicable a imágenes grandes. Nuestro modelo, llamado Transformador de restauración (Railormer), logra los resultados de última generación en varias tareas de restauración de imágenes, incluida la descarriación de imágenes, la desborrera de movimiento de imagen única, la desbordante de desenfrenado (datos de imágenes individuales y de doble píxeles) y la denominación de imágenes (desanocación de grises gaussianas/descenso de color y descenso de imágenes reales).
Consulte Install.md para la instalación de dependencias requeridas para ejecutar Restormer.
Para probar los modelos de reaguiladores previamente capacitados de descarriación, desembarco de movimiento, desbocus desbloqueado y renovación en sus propias imágenes, puede usar Google Colab o la línea de comandos como lo siguiente
python demo.py --task Task_Name --input_dir path_to_images --result_dir save_images_here
Ejemplo de uso para realizar el desbocus deshaciéndose en un directorio de imágenes:
python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/' --result_dir './demo/restored/'
Ejemplo de uso para realizar la desbocus de una imagen directamente:
python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/portrait.jpg' --result_dir './demo/restored/'
En sus respectivos directorios se proporcionan las instrucciones de capacitación y prueba para la descarriación, la desbollada de movimiento, la desbocus de desenfrenado y la renovación. Aquí hay una tabla de resumen que contiene hipervínculos para una fácil navegación:
| Tarea | Instrucciones de entrenamiento | Instrucciones de prueba | Resultados visuales de Restormer |
|---|---|---|---|
| Régica | Enlace | Enlace | Descargar |
| Desarrollado de movimiento | Enlace | Enlace | Descargar |
| Desglosado | Enlace | Enlace | Descargar |
| Denoiseing gaussiano | Enlace | Enlace | Descargar |
| Real Denoising | Enlace | Enlace | Descargar |
Los experimentos se realizan para diferentes tareas de procesamiento de imágenes, incluidas la descarriación de imágenes, la necesidad de movimiento de imagen única, la desbocado desenfoque (tanto en datos de una sola imagen como en datos de píxeles duales) y renovación de imágenes (tanto en datos gaussianos como reales).
S: Desbollada de desenfrenado de imagen única. D: Desblourdo de desenfrenado de doble píxel.
Top Super-Row: Aprender un solo modelo para manejar varios niveles de ruido. Súper fila inferior: entrenamiento de un modelo separado para cada nivel de ruido.
Escala de grises | Color |
Si usa Restormer, considere citar:
@inproceedings{Zamir2021Restormer,
title={Restormer: Efficient Transformer for High-Resolution Image Restoration},
author={Syed Waqas Zamir and Aditya Arora and Salman Khan and Munawar Hayat
and Fahad Shahbaz Khan and Ming-Hsuan Yang},
booktitle={CVPR},
year={2022}
}
Si tiene alguna pregunta, comuníquese con [email protected]
Reconocimiento: este código se basa en la caja de herramientas BasicsR y Hinet.