1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/paddlepaddle-PaddleGAN

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
invdn.md 7.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 04:36 94e340c

Обратимая шумоподавляющая сеть: лёгкое решение для реального удаления шума (CVPR 2021)

Официальный код: https://github.com/Yang-Liu1082/InvDN.

Статья: https://arxiv.org/abs/2104.10546.

1. Введение

InvDN использует обратимую сеть для разделения зашумлённого изображения на чистое изображение с низким разрешением и высокочастотное скрытое представление, которое содержит информацию о шуме и содержании. Поскольку обратимая сеть не теряет информацию, если мы сможем отделить шумовую информацию в высокочастотном представлении, то мы сможем восстановить чистое изображение исходного разрешения вместе с чистым изображением низкого разрешения. Однако трудно удалить шум в высокочастотной информации. В этой статье высокочастотное скрытое представление с шумом напрямую заменяется другим представлением, взятым из априорного распределения в процессе уменьшения, а затем изображение с низким разрешением восстанавливается обратно до чистого изображения исходного разрешения. Сеть, реализованная в этой статье, является лёгкой.

2. Как использовать

2.1 Быстрый старт

После установки PaddleGAN вы можете запустить команду следующим образом, чтобы создать восстановленное изображение ./output_dir/Denoising/image_name.png.

python applications/tools/invdn_denoising.py --images_path ${PATH_OF_IMAGE}

Где PATH_OF_IMAGE — это путь к изображению, которое необходимо обработать, или путь к папке, в которой находятся изображения.

Обратите внимание, что в исходном коде автора для тестирования используется самоансамбль Монте-Карло для повышения производительности, но это замедляет работу. Пользователи могут свободно выбирать, использовать ли параметр --disable_mc для отключения самоансамбля Монте-Карло для более быстрой работы. (Самоансамбль Монте-Карло по умолчанию включён для теста и отключён по умолчанию для обучения и проверки.)

2.2 Подготовка набора данных

Обучающий набор данных

В этой статье мы будем использовать SIDD, включая обучающий набор данных SIDD-Medium (https://www.eecs.yorku.ca/~kamel/sidd/dataset.php). Согласно требованиям статьи, необходимо обработать набор данных в патчи размером 512 x 512. Кроме того, для обучения этой статьи необходимо создать версию изображения GT с низким разрешением размером 128 x 128. Изображение с низким разрешением обозначается как LQ.

Обработанный набор данных можно найти в Ai Studio (https://aistudio.baidu.com/aistudio/datasetdetail/172084).

Обучающий набор данных находится под data/SIDD_Medium_Srgb_Patches_512/train/.

Тестовый набор данных

Тестовый набор данных — SIDD_valid (https://www.eecs.yorku.ca/~kamel/sidd/dataset.php). Набор данных, загруженный с официального сайта, представляет собой ./ValidationNoisyBlocksSrgb.mat и ./ValidationGtBlocksSrgb.mat. Рекомендуется преобразовать его в .png для удобства.

Преобразованный набор данных можно найти в Ai Studio (https://aistudio.baidu.com/aistudio/datasetdetail/172069).

Тестовый набор данных находится под: data/SIDD_Valid_Srgb_Patches_256/valid/.

Структура файлов под папкой PaddleGAN/data следующая:

data
├─ SIDD_Medium_Srgb_Patches_512
│  └─ train
│      ├─ GT
│      │      0_0.PNG
│      │      ...
│      ├─ LQ
│      │      0_0.PNG
│      │      ...
│      └─ Noisy
│              0_0.PNG
│              ...
└─ SIDD_Valid_Srgb_Patches_256
    └─ valid
        ├─ GT
        │      0_0.PNG
        │      ...
        └─ Noisy
                0_0.PNG
                ...

2.3 Обучение

Запустите следующую команду, чтобы начать обучение:

python -u tools/main.py --config-file configs/invdn_denoising.yaml

Советы: Чтобы убедиться, что общее количество эпох совпадает с конфигурацией в статье, нам нужно убедиться, что total_batchsizeiter == 1gpus14bs*600000iters. Также убедитесь, что batchsize/learning_rate == 14/0.0002 при Размер пакета ($batchsize$) изменён.

Например, при использовании 4 GPU установите размер пакета ($batchsize$) как 14, тогда фактический общий размер пакета ($total batchsize$) должен быть равен 14*4, а общее количество итераций ($iters$) должно быть установлено как 150 000, а скорость обучения должна быть увеличена до 8e-4.

2.4 Тест

Запустите следующую команду, чтобы начать тестирование:

python tools/main.py --config-file configs/invdn_denoising.yaml --evaluate-only --load ${PATH_OF_WEIGHT}

3 Результаты

Снижение уровня шума

модель датасет PSNR/SSIM
InvDN SIDD 39.29 / 0.956

4 Скачать

модель ссылка
InvDN InvDN_Denoising

Ссылки

@article{liu2021invertible,
  title={Invertible Denoising Network: A Light Solution for Real Noise Removal},
  author={Liu, Yang and Qin, Zhenyue and Anwar, Saeed and Ji, Pan and Kim, Dongwoo and Caldwell, Sabrina and Gedeon, Tom},
  journal={arXiv preprint arXiv:2104.10546},
  year={2021}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/paddlepaddle-PaddleGAN.git
git@api.gitlife.ru:oschina-mirror/paddlepaddle-PaddleGAN.git
oschina-mirror
paddlepaddle-PaddleGAN
paddlepaddle-PaddleGAN
develop