(Найдите код, чтобы подписаться на этот пост здесь.)

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

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

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

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

Если отбросить клише CSI, реальных приложений сверхвысокого разрешения очень много, и они невероятно прибыльны.

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

Кроме того, есть коммерческая сторона: данные - это новая нефть. Независимо от того, насколько устаревшим может быть это клише, верно то, что высококачественные данные стоят дорого, и люди будут платить за них бешеные деньги. Высококачественные данные могут означать разницу между угольным топливом и ракетным топливом в проектах по науке о данных. Итак, идея о том, что можно было бы просто «улучшить» наборы изображений, которые уже есть у компаний? Это невероятно заманчивое предложение.

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

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

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

Это во многом достигает кульминации в этой недавней статье о 3D SRGAN на данных МРТ (здесь) или используемых для микроскопии в лаборатории (здесь). В будущем больница или лаборатория смогут потратить деньги, необходимые для приобретения одного современного аппарата, или купить несколько менее дорогих моделей, нанять дополнительный персонал и принять больше пациентов с теми же результатами?

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

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

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

Прорыв был сделан в 2017 году группой из Twitter (здесь), где вместо того, чтобы делать что-либо радикально отличающееся архитектурно от своих коллег в своей нейронной сети, они обратили свое внимание на функцию скромных потерь.

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

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

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

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

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

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

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

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

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

Этот первый подход сродни MSE (среднеквадратическая ошибка, с художественной лицензией).

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

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

Затем они заставляют того же друга пойти в аукционный дом и сделать заметки на картине, которую фальсификатор пытается скопировать. Затем фальсификатор сравнивает записи, соответствует ли подделка описанию реального изображения? Это потеря восприятия VGG.

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

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

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

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

Эта на удивление простая идея просто объединяет потерю контента (VGG) с соответствующим образом взвешенным противодействием в соотношении 1000: 1. Этого достаточно, чтобы побудить генератор находить решения, которые лежат в PDF естественных изображений, без чрезмерной подготовки сети к воспроизведению, а не генерации.

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

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

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

Потеря восприятия описана во втором уравнении, это ключевой исходный вклад в документ, где потеря контента (MSE или VGG в данном случае) сочетается со стандартными потерями генератора, пытающимися обмануть дискриминатор.

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

Четвертое уравнение показывает прорыв в статье SRGAN, взяв сумму разностей пространства признаков из сети VGG вместо пикселей, вместо этого сопоставляются объекты. Это делает генератор гораздо более способным создавать естественно выглядящие изображения, чем путем простого сопоставления пикселей.

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

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

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

Подробности о реализации можно найти здесь.

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