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

Написано Бхаратх Раджем с учетом отзывов от Йони Осин.

Вступление

Суперразрешение - это процесс восстановления изображения с высоким разрешением (HR) из заданного изображения с низким разрешением (LR). Изображение может иметь «более низкое разрешение» из-за меньшего пространственного разрешения (т. Е. Размера) или из-за ухудшения качества (например, размытости). Мы можем связать изображения HR и LR с помощью следующего уравнения: LR = degradation(HR)

Очевидно, что при применении функции деградации мы получаем изображение LR из изображения HR. Но можем ли мы сделать обратное? В идеальном случае да! Если мы знаем точную функцию деградации, применяя ее обратную к LR-изображению, мы можем восстановить HR-изображение.

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

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

Контролируемые методы

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

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

Подготовка данных

Одним из простых способов получения данных LR является ухудшение данных HR. Часто это делается путем размытия или добавления шума. Изображения с более низким пространственным разрешением также можно масштабировать с помощью классического метода передискретизации, такого как билинейная или бикубическая интерполяция. JPEG и артефакты квантования также могут быть добавлены для ухудшения изображения.

Важно отметить, что рекомендуется хранить изображение HR в несжатом (или сжатом без потерь) формате. Это сделано для предотвращения ухудшения качества изображения HR из-за сжатия с потерями, которое может дать неоптимальную производительность.

Типы сверток

Помимо классических 2D-сверток, для улучшения результатов в сетях можно использовать несколько интересных вариантов. Расширенные (Atrous) извилины могут обеспечить большее эффективное поле зрения, следовательно, используя информацию, которая разделена большим расстоянием. Пропускать соединения, Объединение пространственных пирамид и Плотные блоки мотивируют объединение функций как низкого, так и высокого уровня для повышения производительности.

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

Группа 1 - Предварительная передискретизация

В этом методе изображения с низким разрешением сначала интерполируются для получения «грубого» изображения с высоким разрешением. Теперь CNN используются для обучения сквозному отображению от интерполированных изображений с низким разрешением до изображений с высоким разрешением. Интуиция заключалась в том, что может быть проще сначала повысить дискретизацию изображений с низким разрешением, используя традиционные методы (например, билинейную интерполяцию), а затем уточнить результат, чем изучать прямое отображение из низкоразмерного пространства в многомерное пространство.

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

Группа 2 - Пост-апсэмплинг

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

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

Группа 3 - прогрессивная передискретизация

В вышеупомянутой группе, даже несмотря на то, что вычислительная сложность была уменьшена, использовалась только одна свертка с повышающей дискретизацией. Это усложняет процесс обучения для больших коэффициентов масштабирования. Чтобы устранить этот недостаток, в таких работах, как Laplacian Pyramid SR Network (LapSRN) и Progressive SR (ProSR) была принята структура прогрессивного повышения дискретизации. В моделях в этом случае используется каскад CNN для постепенного восстановления изображений с высоким разрешением с меньшими коэффициентами масштабирования на каждом этапе.

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

Группа 4 - Итеративная выборка вверх и вниз

Другой популярной модельной архитектурой является структура песочные часы (или U-Net). Некоторые варианты, такие как сеть Stacked Hourglass, используют несколько последовательно расположенных структур песочных часов, эффективно чередуя процесс повышения и понижения дискретизации.

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

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

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

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

total_loss = weight_1 * loss_1 + weight_ 2 * loss_2 + weight_3 * loss_3

В этом разделе мы рассмотрим некоторые популярные классы функций потерь, используемые для обучения моделей.

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

Пиксельные потери - это простейший класс функций потерь, в котором каждый пиксель в сгенерированном изображении напрямую сравнивается с каждым пикселем в исходном изображении. Используются популярные функции потерь, такие как потеря L1 или L2, или расширенные варианты, такие как плавная потеря L1.

Показатель PSNR (обсуждается ниже) сильно коррелирует с пиксельной разницей, и, следовательно, минимизация потерь пикселей напрямую максимизирует значение показателя PSNR (что указывает на хорошую производительность). Однако при потере пикселей не учитывается качество изображения, и модель часто дает неудовлетворительные результаты (часто с отсутствием высокочастотных деталей).

Потеря контента

Эта потеря оценивает качество изображения на основе его качества восприятия. Интересный способ сделать это - сравнить высокоуровневые характеристики сгенерированного изображения и исходного изображения. Мы можем получить эти высокоуровневые функции, пропустив оба этих изображения через предварительно обученную сеть классификации изображений (такую ​​как VGG-Net или ResNet).

Приведенное выше уравнение вычисляет потерю контента между достоверным изображением и сгенерированным изображением, учитывая предварительно обученную сеть (Φ) и слой (l) этой предварительно обученной сети, на котором потеря вычисляется. Эта потеря способствует тому, что сгенерированное изображение будет визуально похоже на исходное изображение. По этой причине она также известна как потеря восприятия.

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

Чтобы сгенерированное изображение имело тот же стиль (текстура, цвет, контраст и т. Д.), Что и исходное изображение, используется потеря текстуры (или потеря реконструкции стиля). Текстура изображения, описанная в Gatys et. al , определяется как корреляция между различными каналами функций. Каналы признаков обычно получают из карты признаков, извлеченной с помощью предварительно обученной сети классификации изображений (Φ).

Корреляция между картами признаков представлена ​​матрицей Грама (G), которая является внутренним произведением между векторизованными картами признаков i и j на слое l (показано выше). После вычисления матрицы Грама для обоих изображений вычисление потери текстуры становится простым, как показано ниже:

Используя эту потерю, модель мотивируется создавать реалистичные текстуры и визуально более удовлетворительные результаты.

Общая вариационная потеря

Потери полной вариации (TV) используются для подавления шума в сгенерированных изображениях. Он берет сумму абсолютных различий между соседними пикселями и измеряет количество шума в изображении. Для сгенерированного изображения потери ТВ рассчитываются, как показано ниже:

Здесь i,j,k выполняет итерацию по высоте, ширине и каналам соответственно.

Состязательный проигрыш

Генеративные состязательные сети (GAN) все чаще используются для нескольких приложений на основе изображений, включая Super Resolution. Сети GAN обычно состоят из системы двух нейронных сетей - Генератора и Дискриминатора, которые сражаются друг с другом.

По заданному набору целевых образцов Генератор пытается создать образцы, которые могут обмануть Дискриминатор, чтобы он поверил, что они настоящие. Дискриминатор пытается отделить реальные (целевые) образцы от поддельных (сгенерированных) образцов. Используя этот итеративный подход к обучению, мы в конечном итоге получаем генератор, который действительно хорошо генерирует образцы, похожие на целевые образцы. На следующем изображении показана структура типичной GAN.

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

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

Метрики

Один большой вопрос заключается в том, как количественно оценить эффективность нашей модели. Для этого используется ряд методов (или показателей) оценки качества изображения (IQA). Эти показатели можно условно разделить на две категории - субъективные показатели и объективные.

Субъективные метрики основаны на оценке восприятия человеком-наблюдателем, тогда как объективные метрики основаны на вычислительных моделях, которые пытаются оценить качество изображения. Субъективные показатели часто более «точны с точки зрения восприятия», однако некоторые из этих показателей неудобны, требуют много времени или дорого для вычисления. Другая проблема заключается в том, что эти две категории показателей могут не согласовываться друг с другом. Следовательно, исследователи часто отображают результаты, используя показатели из обеих категорий.

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

PSNR

Пиковое отношение сигнал / шум (PSNR) - это обычно используемая объективная метрика для измерения качества восстановления преобразования с потерями. PSNR обратно пропорционален логарифму среднеквадратичной ошибки (MSE) между наземным истинным изображением и сгенерированным изображением.

В приведенной выше формуле L - максимально возможное значение пикселя (для 8-битных изображений RGB это 255). Неудивительно, что поскольку PSNR заботится только о разнице между значениями пикселей, он не так хорошо отражает качество восприятия.

SSIM

Структурное сходство (SSIM) - это субъективный показатель, используемый для измерения структурного сходства между изображениями, основанный на трех относительно независимых сравнениях, а именно яркости, контрастности и структуре. Абстрактно формула SSIM может быть представлена ​​как взвешенное произведение сравнения яркости, контраста и структуры, вычисленных независимо.

В приведенной выше формуле альфа, бета и гамма - это веса функций сравнения яркости, контраста и структуры соответственно. Обычно используемое представление формулы SSIM показано ниже:

В приведенной выше формуле μ(I) представляет собой среднее значение определенного изображения, σ(I) представляет собой стандартное отклонение конкретного изображения, σ(I,I’) представляет собой ковариацию между двумя images и C1, C2 - константы, установленные для предотвращения нестабильности. Для краткости значение терминов и их точное происхождение не объясняется в этом блоге, и заинтересованный читатель может ознакомиться с Разделом 2.3.2 этой статьи.

Из-за возможного неравномерного распределения статистических характеристик изображения или искажений локальная оценка качества изображения более надежна, чем ее применение в глобальном масштабе. Средний SSIM (MSSIM), который разбивает изображение на несколько окон и усредняет SSIM, полученный в каждом окне, является одним из таких методов локальной оценки качества.

В любом случае, поскольку SSIM оценивает качество реконструкции с точки зрения визуальной системы человека, он лучше соответствует требованиям оценки восприятия.

Другие результаты IQA

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

  • Средняя оценка мнения (MOS)
  • Оценка на основе задач
  • Критерий достоверности информации (IFC)
  • Верность визуальной информации (VIF)

Заключение

В этой статье блога были описаны некоторые вводные материалы и процедуры для обучения моделей глубокого обучения для сверхвысокого разрешения. На самом деле существуют более продвинутые методы, представленные новейшими исследованиями, которые могут обеспечить лучшую производительность. Более того, исследование таких возможностей, как неконтролируемое сверхразрешение, более совершенные методы нормализации и более репрезентативные метрики, могло бы значительно продвинуть эту область. Заинтересованному читателю предлагается поэкспериментировать со своими новаторскими идеями, участвуя в таких задачах, как PIRM Challenge.