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

OSCHINA-MIRROR/paddlepaddle-PaddleGAN

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

1. Видео суперразрешение (VSR)

1.1 Принцип

Видео суперразрешение происходит от суперразрешения изображений, которое направлено на восстановление изображений с высоким разрешением (HR) из одного или нескольких изображений с низким разрешением (LR). Разница между ними заключается в том, что видео состоит из нескольких кадров, поэтому для восстановления обычно используется информация между кадрами. Здесь мы представляем модель видео суперразрешения EDVR, BasicVSR, IconVSR и BasicVSR++.

🔥 PP-MSVSR 🔥

PP-MSVSR — это многоэтапная глубокая архитектура VSR с модулем локального слияния, вспомогательной потерей и уточнённым модулем выравнивания для постепенного улучшения результата. В частности, чтобы усилить слияние признаков между кадрами при распространении признаков, в первом этапе разработан модуль локального слияния для выполнения локального слияния признаков перед распространением признаков. Кроме того, во втором этапе введена вспомогательная потеря, чтобы признаки, полученные модулем распространения, сохраняли больше коррелированной информации, связанной с пространством HR. На третьем этапе введён уточнённый модуль выравнивания, чтобы полностью использовать информацию о признаках предыдущего этапа. Обширные эксперименты подтверждают, что PP-MSVSR достигает многообещающих результатов на наборах данных Vid4, где показатель PSNR может достигать 28,13 при всего лишь 1,45 млн параметров.

Кроме того, PP-MSVSR предоставляет две разные модели с 1,45 и 7,4 млн параметров, чтобы удовлетворить различные требования.

EDVR

EDVR выигрывает чемпионаты и значительно опережает второе место во всех четырёх треках в соревнованиях по восстановлению и улучшению видео NTIRE19. Основные трудности видео суперразрешения связаны с двумя аспектами: (1) как выровнять несколько кадров при больших движениях и (2) как эффективно объединить разные кадры с разнообразными движениями и размытостью. Во-первых, для обработки больших движений EDVR разрабатывает модуль выравнивания пирамиды, каскадирования и деформирования (PCD), в котором выравнивание кадров выполняется на уровне признаков с использованием деформируемых свёрток от грубого к точному. Во-вторых, EDVR предлагает модуль слияния временного и пространственного внимания (TSA), в котором внимание применяется как временно, так и пространственно, чтобы подчеркнуть важные признаки для последующего восстановления.

BasicVSR пересматривает некоторые наиболее важные компоненты для VSR, руководствуясь четырьмя основными функциями: распространение, выравнивание, агрегирование и повышение дискретизации. Используя некоторые существующие компоненты с минимальными изменениями, BasicVSR представляет собой лаконичный конвейер, который обеспечивает заметные улучшения в скорости и качестве восстановления по сравнению со многими современными алгоритмами. Представляя механизм пополнения информации и связанную схему распространения, BasicVSR можно расширить до IconVSR, который может служить надёжной основой для будущих подходов VSR.

BasicVSR++

BasicVSR++ перепроектирует BasicVSR, предлагая распространение сетки второго порядка и выравнивание на основе потока. Усиливая рекуррентную структуру улучшенным распространением и выравниванием, BasicVSR++ может более эффективно использовать пространственно-временную информацию между несогласованными видеокадрами. Новые компоненты приводят к повышению производительности при аналогичных вычислительных ограничениях. В частности, BasicVSR++ превосходит BasicVSR на 0,82 дБ по показателю PSNR при аналогичном количестве параметров. На NTIRE 2021 BasicVSR++ получает три чемпионских титула и одно второе место в соревнованиях по видеосуперразрешению и сжатому улучшению видео.

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

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

Существует 4 часто используемых набора данных для видео суперразрешения: REDS, Vimeo90K, Vid4 и UDM10. Наборы данных REDS и Vimeo90K включают обучающий набор данных и тестовый набор данных, а Vid4 и UDM10 являются тестовыми. Набор данных REDS

REDS (доступен для скачивания по ссылке https://seungjunnah.github.io/Datasets/reds.html) — это недавно предложенный набор данных видео высокого качества (720p), который использовался в конкурсе NTIRE19. REDS состоит из 240 обучающих клипов, 30 проверочных клипов и 30 тестовых клипов (каждый содержит 100 последовательных кадров). Поскольку тестовая истина не доступна, мы выбираем четыре репрезентативных клипа («000», «011», «015», «020») с разнообразными сценами и движениями в качестве нашего тестового набора, обозначенного как REDS4. Оставшиеся обучающие и проверочные клипы объединяются в наш обучающий набор данных (всего 266 клипов).

Структура обработанного REDS выглядит следующим образом:

PaddleGAN
├── data
    ├── REDS
        ├── train_sharp
            └──X4
        ├── train_sharp_bicubic
            └──X4
        ├── REDS4_test_sharp
            └──X4
        └── REDS4_test_sharp_bicubic
             └──X4
              ...

Набор данных Vimeo90K

Vimeo90K (доступен для скачивания по ссылке http://toflow.csail.mit.edu/) разработан Tianfan Xue и др. для следующих четырёх задач обработки видео: интерполяция временных кадров, шумоподавление видео, деблокирование видео и суперразрешение видео. Vimeo90K представляет собой крупномасштабный набор данных высококачественных видео. Этот набор данных состоит из 89 800 видеоклипов, загруженных с сайта vimeo.com, которые охватывают большое разнообразие сцен и действий.

Структура обработанного Vimeo90K выглядит следующим образом:

PaddleGAN
├── data
    ├── Vimeo90K
        ├── vimeo_septuplet
            |──sequences
            └──sep_trainlist.txt
        ├── vimeo_septuplet_BD_matlabLRx4
            └──sequences
        └── vimeo_super_resolution_test
             |──low_resolution
             |──target
             └──sep_testlist.txt
              ...

Набор данных Vid4

Vid4 (доступен для скачивания по ссылке https://paddlegan.bj.bcebos.com/datasets/Vid4.zip) является часто используемым тестовым набором данных для VSR и содержит 4 видеосегмента.

Структура обработанного Vid4 выглядит следующим образом:

PaddleGAN
├── data
    ├── Vid4
        ├── BDx4
        └── GT
          ...

Набор данных UDM10

UDM10 (доступен для скачивания по ссылке https://paddlegan.bj.bcebos.com/datasets/udm10_paddle.tar) является часто используемым тестовым набором данных для VSR и содержит 10 видеосегментов.

Структура обработанного UDM10 выглядит следующим образом:

PaddleGAN
├── data
    ├── udm10
        ├── BDx4
        └── GT
          ...

1.2.2 Обучение и тестирование

В зависимости от количества каналов EDVR делятся на EDVR_L (128 каналов) и EDVR_M (64 канала). Затем, взяв EDVR_M в качестве примера, представлены обучение и тестирование модели.

Обучение EDVR обычно делится на два этапа. Сначала обучите EDVR без модуля TSA.

Команда для обучения и тестирования edvr без модуля TSA выглядит следующим образом:

Обучить модель:

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

Протестировать модель:

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

Затем вес EDVR без TSA используется в качестве инициализации модели edvr для обучения полной модели edvr.

Команда для обучения и тестирования EDVR выглядит следующим образом:

Обучить модель:

python -u tools/main.py --config-file configs/edvr_m_w_tsa.yaml --load ${PATH_OF_WEIGHT_WITHOUT_TSA}

Протестировать модель:

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

Чтобы обучить или протестировать другую модель VSR, вы можете найти файл конфигурации соответствующей модели VSR в PaddleGAN/configs, а затем изменить файл конфигурации в команде на файл конфигурации соответствующей модели VSR.

1.2.3 Экспорт модели

Возьмём в качестве примера модель msvsr. inputs_size — это размер входных данных, model_name — имя экспортируемой модели, а model_path — путь к модели. Путь к модели веса.

tools/export_model.py -c configs/msvsr_reds.yaml  --inputs_size="1,2,3,180,320"  --model_name inference --load model_path

1.2.4 Вывод модели.

Рассмотрим модель msvsr в качестве примера.

tools/inference.py --model_type msvsr -c configs/msvsr_reds.yaml --output_path output_dir

1.3 Результаты

Экспериментальные результаты оцениваются по RGB каналу. Метриками являются PSNR / SSIM.

Количественное сравнение VSR на тестовом наборе данных REDS4 из набора данных REDS:

Метод Параметр(M) FLOPs(G) REDS4
EDVR_M_wo_tsa_SRx4 3.00 223 30.4429 / 0.8684
EDVR_M_w_tsa_SRx4 3.30 232 30.5169 / 0.8699
EDVR_L_wo_tsa_SRx4 19.42 974 30.8649 / 0.8761
EDVR_L_w_tsa_SRx4 20.63 1010 30.9336 / 0.8773
BasicVSR_x4 6.29 374 31.4325 / 0.8913
IconVSR_x4 8.69 516 31.6882 / 0.8950
BasicVSR++_x4 7.32 406 32.4018 / 0.9071
PP-MSVSR_reds_x4 1.45 111 31.2535 / 0.8884
PP-MSVSR-L_reds_x4 7.42 543 32.5321 / 0.9083

Количественное сравнение деблура на тестовом наборе данных REDS4 из REDS:

Метод REDS4
EDVR_L_wo_tsa_deblur 34.9587 / 0.9509
EDVR_L_w_tsa_deblur 35.1473 / 0.9526

Сравнение VSR на Vimeo90K, Vid4, UDM10:

Модель Vimeo90K Vid4 UDM10
PP-MSVSR_vimeo90k_x4 37.54/0.9499 28.13/0.8604 40.06/0.9699

1.4 Загрузка модели

Метод Набор данных Ссылка для скачивания
EDVR_M_wo_tsa_SRx4 REDS EDVR_M_wo_tsa_SRx4
EDVR_M_w_tsa_SRx4 REDS EDVR_M_w_tsa_SRx4
EDVR_L_wo_tsa_SRx4 REDS EDVR_L_wo_tsa_SRx4
EDVR_L_w_tsa_SRx4 REDS EDVR_L_w_tsa_SRx4
EDVR_L_wo_tsa_deblur REDS EDVR_L_wo_tsa_deblur
EDVR_L_w_tsa_deblur REDS EDVR_L_w_tsa_deblur
BasicVSR_x4 REDS BasicVSR_x4
IconVSR_x4 REDS IconVSR_x4
BasicVSR++_x4 REDS BasicVSR++_x4
PP-MSVSR_reds_x4 REDS PP-MSVSR_reds_x4
PP-MSVSR-L_reds_x4 REDS PP-MSVSR-L_reds_x4

Ссылки

  @InProceedings{chan2021basicvsr,
    author = {Chan, Kelvin C.K. and Wang, Xintao and Yu, Ke and Dong, Chao and Loy, Chen Change},
    title = {BasicVSR: The Search for Essential Components in Video Super-Resolution and Beyond},
    booktitle = {Proceedings of the IEEE conference on computer vision and pattern recognition},
    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