Об этом проекте
iSeeBetter — это исследовательская реализация на Python/PyTorch для сверхразрешения видео, связанная со статьей 2020 года в Journal of Computational Visual Media Springer и проектом Stanford CS230. Метод предназначен для генерации видео высокого разрешения за счет использования временной информации из соседних кадров, а не обработки каждого кадра независимо.
Генератор представляет собой рекурсивную сеть обратной проекции (Recurrent Back-Projection Network) с путями сверхразрешения для одиночного и нескольких изображений. Путь для нескольких изображений комбинирует текущий кадр низкого разрешения с соседними кадрами и предварительно вычисленными картами плотного оптического потока. Дискриминатор взят из SRGAN. Обучение использует четырехcomponentную функцию потерь, состоящую из MSE, перцептивных, adversarial и total-variation потерь.
Поддержка оптического потока обеспечивается через Pyflow, Python-обертку для реализации Coarse2Fine Optical Flow от Ce Liu. Репозиторий включает двоичные файлы Pyflow для Ubuntu и macOS с Python 3.7 и предоставляет команды для его пересборки при необходимости.
Документированные обучающие данные объединяют SPMCS, Vid4, Vimeo90K и дополнительные клипы YouTube. Кадры низкого разрешения генерируются с помощью 4x бикубичной даунсэмплинга, а для аугментации используются поворот, отражение и случайное обрезание. DatasetFetcher.py может получать Vimeo90K, и предоставляются ссылки для SPMCS и Vid4.
Требуемые пакеты включают torch, pytorch-ssim, numpy, scikit-image, tqdm и opencv-python. После установки зависимостей и сборки Pyflow обучение запускается с помощью iSeeBetterTrain.py, а тестирование — с помощью iSeeBetterTest.py. Опция --upscale_only отключает начальное даунсэмплирование. Модель, обученная в течение четырех эпох, включена в директорию weights.
Также в репозитории приведены ссылки на статью, диаграммы архитектуры, примеры оценки, плакат, информацию для цитирования и credits для Referenced SRGAN и RBPN-PyTorch реализаций.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.