Сайед Вакас Замир, Адитья Арора, Салман Хан, Мунавар Хаят, Фахад Шахбаз Хан и Мин-Хсуан Ян
Аннотация: Поскольку сверточные нейронные сети (CNNS) хорошо работают при изучении обобщаемых априоров изображений из крупномасштабных данных, эти модели широко применялись для восстановления изображений и связанных с ними задач. В последнее время другой класс нейронных архитектур, трансформаторы, показал значительный рост производительности на естественном языке и задачах высокого уровня. В то время как модель трансформатора смягчает недостатки CNN (то есть ограниченное восприимчивое поле и недоаптурируемость к входному содержанию), его вычислительная сложность увеличивается квадратично с пространственным разрешением, поэтому делает его невозможным применять к большинству задач восстановления изображений, включающих изображения высокого разрешения. В этой работе мы предлагаем эффективную модель трансформатора, создавая несколько ключевых конструкций в строительных блоках (многоголовный внимание и сеть подачи), чтобы он мог захватить пиксельные взаимодействия на дальние расстояния, при этом оставаясь применимыми к большим изображениям. Наша модель, названная трансформатором реставрации (Restormer), достигает современных результатов по нескольким задачам восстановления изображений, в том числе имидж, сбои, одноразового движения, деблимированием, деблурррированием (одноизображенное и двойное пиксельное данные) и раззоивание изображений (гауссовый серый цвет/цветовой дедонирование и двойное дено изображения).
См. Install.md для установки зависимостей, необходимых для запуска Restormer.
Чтобы проверить предварительно обученные модели ресормировщика, разбивающего движения, разоблачения и разоблачения на своих собственных изображениях, вы можете использовать Google Colab, либо командную строку в качестве следующего
python demo.py --task Task_Name --input_dir path_to_images --result_dir save_images_here
Пример использования для выполнения деблуррирования в каталоге изображений:
python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/' --result_dir './demo/restored/'
Пример Использования для выполнения деблуррирования на изображение напрямую:
python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/portrait.jpg' --result_dir './demo/restored/'
Инструкции по обучению и тестированию для разрыва, разбития движения, дебюррирования и двойного разоблачения представлены в их соответствующих каталогах. Вот сводная таблица, содержащая гиперссылки для легкой навигации:
| Задача | Обучение инструкции | Инструкции по тестированию | Визуальные результаты Restormer |
|---|---|---|---|
| Протянутый | Связь | Связь | Скачать |
| Движение дебюрр | Связь | Связь | Скачать |
| Defocus deblurring | Связь | Связь | Скачать |
| Гауссовая дженонирование | Связь | Связь | Скачать |
| Реальное денирование | Связь | Связь | Скачать |
Эксперименты выполняются для различных задач обработки изображений, включая, делюснижение изображений, дебюрацию движения с одним изображением, деблурррирование (как на одном изображении, так и на данные с двойным пикселем), а также денообразование изображений (как на гауссовых, так и на реальных данных).
S: Однократное дефлюрринг. D: двойное разблокирование.
Top Super Row: изучение одной модели для обработки различных уровней шума. Нижний супер-рядовой: тренировать отдельную модель для каждого уровня шума.
Серого | Цвет |
Если вы используете Restormer, рассмотрите возможность ссылаться на:
@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}
}
Если у вас есть какой -либо вопрос, пожалуйста, свяжитесь с [email protected]
Благодарность: этот код основан на инструментарии Basicsr и Hinet.