От среднеквадратичной ошибки до GAN - что делает функцию потерь восприятия хорошей?

Первым применением нейронных сетей, о котором я не мог удержаться от восклицания Вау!, Была плодотворная статья о переносе стилей. В работе использовались сверточные нейронные сети (CNN) для передачи стиля от одного изображения к другому. Впервые мы смогли добавить классные художественные фильтры к обычным картинкам - превратить любую фотографию в картину Ван Гоу или добавить мазки кисти Моне!

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

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

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

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

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

Восстановление изображения

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

Как насчет изображений, сделанных на старый телефон Nokia с ужасным разрешением? Можем ли мы увеличить их в 16 раз, чтобы получить удовольствие от просмотра на современном дисплее с высоким разрешением?

Как насчет изображений, сделанных в условиях низкой освещенности? В изображение, проходящее через конвейер камеры, вносится шум. Можно убрать его с картинки?

Ответ на эти вопросы - да! Особого успеха достигли методы глубокого обучения. Сверточные нейронные сети (CNN), специально предназначенные для изображений, в частности, о которых я подробно рассказывал в своих предыдущих статьях, часто используются для этой задачи.

Зачем нам нужна функция потери восприятия?

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

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

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

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

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

Ручные потери

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

Однако не вся статистика хороша. Рассмотрим, например, стандартный член потерь - L2. Оптимизация метода восстановления изображения для минимизации средней квадратичной разницы на пиксель приводит к нечетким изображениям.

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

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

Zhao et. др. изучили визуальное качество изображений, созданных с помощью алгоритмов сверхвысокого разрешения, шумоподавления и демозаики с использованием L2, L1, SSIM и MS-SSIM (последние два являются объективными показателями качества изображения) в качестве функций потерь. Изображения, созданные алгоритмами, обученными с помощью комбинации потерь L1 и MS-SSIM, достигли наилучшего качества, измеренного с помощью объективных показателей качества. За этим результатом сразу же последовала потеря L1, использованная сама по себе.

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

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

Потери по характеристикам

В новой категории функций потерь, которая недавно приобрела заметную популярность, используются нейронные сети в качестве экстракторов признаков. Чаще всего потери вычисляются как расстояние L2 между активациями скрытых слоев обученной сети классификации изображений (например, сеть VGG).

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

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

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

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

Потери распределения (GAN)

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

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

Типичные ограничения - норма L1 для регуляризации тренировки, как было показано Yeh и Isola, может дать достаточно хорошие результаты. Досовицкий и Ледиг использовали характеристические потери на основе VGG. В некоторых других произведениях используется сочетание как ручных, так и авторских проигрышей Саджади и Ванга. Tej и Jo ввели регуляризацию, основанную на потере характеристик дискриминатора.

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

"Наша работа"

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

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

В основе нашей функции потерь лежат следующие положения:

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

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

Чтобы подтвердить оба предположения, мы разрабатываем новую функциональную потерю. Функциональное пространство включает промежуточные активации набора дискриминаторных сетей. Сети дискриминатора обучаются как GAN с одним изображением, который устраняет специфические для задачи искажения из исходного изображения (Фаза 1). Мы обозначаем исходное изображение буквой y, чтобы отличать его от обучающих изображений, обозначенных x, которые используются для обучения задаче восстановления. Предлагаемая функция потерь обучается в многомасштабном режиме, поэтому она чувствительна к соответствующим искажениям в нескольких масштабах. Исходное изображение может иметь размер, отличный от размера обучающих изображений, может отображать другой тип сцены или может быть синтетическим изображением. В качестве потерь используется норма L2 между промежуточными характеристиками обученного дискриминатора для сгенерированного и тестового изображений для генератора конкретной задачи.

Сравнение производительности

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

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

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

Для каждого приложения мы провели эксперимент с попарным сравнением, агрегировали собранные сравнения и выполнили масштабирование результатов Just Noticeable Difference (JND) (Thurstonian) с использованием этого метода. Результаты масштабирования выражают разницу качества в единицах JND. Один блок JND означает, что 75% населения предпочтут один метод другому (из пары). Результаты масштабирования показывают последовательное улучшение нашего метода по сравнению с другими функциями потерь.

Чтобы получить более глубокое понимание, ниже мы визуализируем результаты как компромисс между восприятием и искажением, который показывает искажение (PSNR) на оси x и значения качества JND на оси y (обратная шкала). Результаты для всех приложений ясно показывают, что потери MDF приводят как к самым низким искажениям, так и к наивысшему воспринимаемому качеству.

На приведенном выше рисунке также показано, что обычные объективные показатели оценки качества изображения, такие как PSNR или NIQE, могут быть ненадежными при прогнозировании качества восприятия изображений. Они также не отражают практического значения различия в восприятии; мы не знаем, оценит ли улучшение на 0,5 дБ средний наблюдатель.

Качественные результаты

Для получения дополнительных результатов по удалению артефактов JPEG и шумоподавлению посетите нашу страницу проекта!

Резюме

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

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

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

Если вам понравилась эта статья, поделитесь ею с другом! Чтобы узнать больше о машинном обучении и обработке изображений, нажмите «подписаться»!

Я что-нибудь пропустил? Не стесняйтесь оставлять заметки, комментарии или сообщения мне напрямую!