Что такое супер-разрешение?

Суперразрешение — это задача восстановления фотореалистичного изображения с высоким разрешением из его аналога с низким разрешением. Это уже давно является сложной задачей в братстве компьютерного зрения.

Основная задача в этой задаче — сделать ее максимально фотореалистичной.

Фотореализм – это стиль живописи или рисунка, в котором изображения выглядят настолько реальными, что их трудно отличить от фотографий. (Источник: [2])

Позвольте мне сначала начать с некоторых основных подходов, которые можно использовать.

Интерполяция ближайших соседей (не фотореалистичная)

Цель состоит в том, чтобы взять изображение размером 2x2 (выбранное случайным образом) и создать версию с более высоким разрешением размером 4x4 (при условии, что размер будет вдвое больше — может быть любой относительный размер). Наивный способ состоит в том, чтобы взять четный пиксель и создать столько его копий, смежных с ним, сколько необходимо (еще 3 копии для двойного размера, как показано ниже, и он имеет эффект простого увеличения размера каждого пикселя.

При применении к изображению он придает ему клетчатый вид, как показано ниже.

Одним из возможных применений этого упрощенного подхода является изменение размера штрих-кодов.

Билинейная интерполяция

В этом методе для каждого нового пикселя берется взвешенная сумма ближайших старых пикселей 2x2 вокруг него, взвешенная на основе его расстояния от старых пикселей. Это приводит к слегка размытым краям из-за слияния цветов.

Целью методов сверхвысокого разрешения является интерполяция таким образом, чтобы сохранялась резкость краев и изображение не выглядело пикселизированным. Это проложило путь к глубокому обучению, начиная с упрощенных моделей на основе CNN, а затем используя более сложные архитектуры GAN.

Метрики оценки

Есть две общие метрики, используемые для оценки качества изображения после сверхвысокого разрешения:

  1. Отношение пикового сигнала к шуму (PSNR):
  2. Индекс структурного сходства (SSIM)

PSNR

PSNR — это отношение между максимально возможной мощностью сигнала и мощностью искажающего шума, влияющего на точность его представления. PSNR часто используется для контроля качества передачи цифрового сигнала. В случае изображений каждый пиксель можно рассматривать как компонент сигнала с 8-битными значениями RGB.

Здесь MAX_I — это максимально допустимое значение для пикселя, а MSE — это среднеквадратическая ошибка между изображением с высоким разрешением и изображением со сверхвысоким разрешением. Логарифмическая шкала используется потому, что значения пикселей имеют очень широкий динамический диапазон.

Это попиксельное сравнение всего изображения.

SSIM

SSIM — это мера, которая пытается воспроизвести способ работы зрительной системы человека (цветовая модель HVS). Он разработан на основе трех факторов — корреляции, искажения яркости и искажения контраста.

Этот индекс вычисляется для различных окон изображения вместо прямого попиксельного сравнения. (Более подробное объяснение можно найти в источнике изображения ниже в Википедии)

Если x, yявляются окнами размером NxN в изображениях:

Модель SRCNN

Теперь рассматриваемый как классический подход, это была одна из первых моделей, которая показала некоторый успех в создании четких краев без очень большого количества пикселей.

Он использует CNN в качестве функции отображения от ввода с низким разрешением (LR) к выводу с высоким разрешением (HR) с использованием сверточных нейронных сетей (CNN). Изображение LR сначала подвергается суперразрешению с использованием бикубической интерполяции, а затем передается через сеть, которая выводит другое изображение с суперразрешением (SR). Модель обучается с использованием потерь, полученных при сравнении изображения SR с исходным изображением HR. (В документе бикубическое изображение со сверхвысоким разрешением называется LR, когда речь идет о входных данных сети)

Сеть

Нейронная сеть для SRCNN была сформулирована как трехэтапный процесс:

  1. Извлечение и представление патчей: преобразование патчей из LR-изображения в многомерные векторные представления, состоящие из набора карт объектов.
  2. Нелинейное отображение: нелинейная карта преобразует векторное представление в другое многомерное векторное представление, состоящее из набора карт объектов.
  3. Реконструкция: агрегирует векторные фрагменты для создания окончательного изображения SR.

Функция потери

Используемая функция потерь представляет собой среднеквадратичную ошибку (MSE) между набором изображений HR и изображений LR.

Полученные результаты

Модель SRCNN достигла наивысшего значения PSNR и SSIM по сравнению с существующими моделями того времени.

Более важным результатом этой статьи было то, что она выдвинула проблему на передний план, и все больше людей начали исследовать различные архитектуры и функции потерь, чтобы улучшить качество изображений SR.

Функции потерь

За последние несколько лет было разработано множество функций потерь для обучения моделей сверхвысокого разрешения.

Потери на основе пикселей:

  1. Потеря пикселей (MSE)
  2. Средняя абсолютная ошибка (MAE)
  3. Суммарные вариационные потери (телевизионные потери)

Сетевые потери:

  1. Потеря восприятия
  2. Потеря текстуры
  3. Состязательная потеря

Потери на основе пикселей

Потеря пикселей (MSE)

Это то же самое, что и среднеквадратическая ошибка (потери L2), используемая в SRCNN, когда каждый пиксель в изображении SR сравнивается с противоположным пикселем в изображении HR.

Средняя абсолютная ошибка (MAE)

Это потеря L1 между пикселями в изображении SR и изображении HR. Это сумма абсолютной разницы между двумя наборами соответствующих пикселей.

Поскольку на него меньше влияют выбросы по сравнению с MSE, он с большей вероятностью дает изображения более высокого качества с точки зрения зрителя.

Потеря ТВ

Общие потери на вариацию используются для подавления шума в сгенерированном изображении. Он измеряет шум в изображении, взяв абсолютную разницу между соседними пикселями.

Для изображения SR с высотой H, шириной W и каналами C,

Обратите внимание, что в отличие от других функций потерь, это зависит только от изображения SR, без сравнения с его аналогом HR.

Сетевые потери

Потеря восприятия

Эта функция потерь оценивает потери на основе качества восприятия сгенерированного изображения SR по сравнению с качеством восприятия исходного изображения HR. Способ вычисления этого заключается в использовании функций высокого уровня из предварительно обученной сети классификации изображений.

Для заданной предварительно обученной сети N (может быть VGG или ResNet) и уровня l в этой сети

Вместо того, чтобы брать MSE между пикселями изображения, MSE берется между высокоуровневыми функциями двух изображений. Это также называется потерей контента.

Потеря текстуры

Это основано на подходе Перенос стиля(Gatys et. al.). Эта функция потерь используется для того, чтобы изображение SR имело тот же стиль, что и изображение HR. Стиль относится к текстуре, цвету и контрасту изображения. Это также называется потеря стиля или потеря грамм-матрицы. Вместо того, чтобы брать потери непосредственно из карт объектов, матрицы граммов вычисляются из карт объектов и используются для расчета потерь.

Матрица грамма набора векторов — это матрица, состоящая из всех возможных скалярных произведений этих векторов. В этом случае векторы представляют собой каналы признаков, полученные из слоя l предварительно обученной сети N.

Матрица представляет корреляцию между различными функциональными каналами, и в документе это определяется как текстура изображения. Когда у нас есть матрица граммов G, потеря текстуры определяется как

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

Состязательная потеря

В последнее время генеративно-состязательные сети широко используются для сверхвысокого разрешения изображений. При этом две модели конкурируют друг с другом:

  1. Генератор — сгенерируйте фотореалистичное изображение
  2. Дискриминатор — классифицирует изображение как реальное или сгенерированное генератором.

Обучая две сети итеративно, мы получаем генератор, который может генерировать очень фотореалистичные изображения из исходных изображений LR.

Рекомендации

«Все изображения, если не указано иное, принадлежат автору».

Донг, К., Лой, К.С., Хе, К., Тан, X.: Изучение глубокой сверточной сети для сверхвысокого разрешения изображений. В: ECCV (2014).

Гэтис, Л. А., Экер, А. С., и Бетге, М. (2016). Передача стиля изображения с помощью сверточных нейронных сетей. В Материалы конференции IEEE по компьютерному зрению и распознаванию образов (стр. 2414–2423).

https://theailearner.com/2018/11/15/image-interpolation-using-opencv-python/

cambridgeincolour.com/tutorials/image-interpolation.htm