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

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

В этом исследовании FAIR (Facebook AI Research) основное внимание уделяется проблеме отрисовки глаз. В то время как DNN могут давать семантически правдоподобные, реалистично выглядящие результаты, большинство глубоких методов не сохраняют личность человека на фотографии. Например, DNN может научиться открывать пару закрытых глаз, но в самой модели нет гарантии, что новые глаза будут соответствовать конкретной структуре глаза исходного человека. Вместо этого DNN вставят пару глаз, которые соответствуют похожим лицам в обучающем наборе, что приведет к нежелательным и необъективным результатам; если у человека есть какая-то отличительная черта (например, необычная форма глаз), это не будет отражено в сгенерированной части.

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

Архитектура примера GAN (ExGAN)

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

Ученые FAIR представили два отдельных подхода к рисунку ExGAN. Во-первых, это рисование на основе ссылок, при котором эталонное изображение ri используется в генераторе в качестве ориентира или в дискриминаторе в качестве дополнительной информации при определении того, является ли сгенерированное изображение реальным или поддельным. Второй подход — рисование на основе кода, когда для интересующего объекта создается перцепционный код ci. Для отрисовки глаз этот код сохраняет сжатую версию глаз человека в векторе ci ∈ RN , который также можно использовать в нескольких разных местах внутри генеративного и дискриминаторные сети.

Эталонное изображение в отрисовке: предположим, что для каждого изображения в обучающем наборе xi существует соответствующее эталонное изображение ri . Поэтому обучающая выборка X определяется как набор кортежей X = {(x1, r1), . . . , (xn,rn)}. Для рисования глаз ri — это изображение того же человека в xi, но потенциально взятое в другой позе. Исправления удаляются из xi для создания zi , а цель обучения определяется как:

Для лучшего обобщения также можно использовать набор эталонных изображений Ri, соответствующих заданному xi, что расширяет обучающий набор до набора кортежей, состоящих из декартова произведения между каждое изображение, которое нужно раскрасить, и набор его эталонных изображений, X = {x1 × R1, . . . , xn × Rn}

Отрисовка кода. Для отрисовки на основе кода и для наборов данных, где число пикселей в каждом изображении равно |I|, предположим, что существует функция сжатия C(r) : R ^|I| → R ^N , гдеN ‹‹|I|. Затем для каждого изображения zi, которое нужно закрасить, и соответствующего ему эталонного изображения ri генерируется код ci = C(ri) с использованием а ри. Учитывая закодированную примерную информацию, мы определяем цель противника как:

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

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

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

Результаты

Сравнение между (а) исходными данными (левый столбец), (б) результатами, не являющимися образцами, и (в, г) результатами, основанными на образцах. ExGAN, использующий эталонное изображение в генераторе и дискриминаторе, показан в столбце c, а ExGAN, использующий код, показан в правом столбце (d):

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

Муниб Уль Хассан