Как изменить женское лицо на мужское

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







19.06.2020 в 19:50
19.06.2020 в 19:50

Приложение, которое меняет пол на фото, снова в тренде. Попробуйте и вы


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

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

какое приложение меняет пол на фото

Далее люди начали менять пол знаменитым актерам и актрисам. Как вам, например, женская версия Джона Сноу из “Игры Престолов”?

приложение меняет пол

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

прриложение меняющее пол

Владимир Зеленский в образе Влады Зеленской

Какое приложение меняет пол на фото?

Насмотревшись картинок с обработанными звездами, многие стали задаваться вопросом, какое приложение меняет пол на фото. Такие фильтры существуют с 2017 года во многих программах. А фаворитом в данном деле является FaceApp. Именно с него начались все упомянутые флешмобы.

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

Посмотрите, что получилось, например, у Гарика Харламова.

смена пола приложение

Как изменить пол на фото онлайн?

Пользоваться такой программой довольно просто. Нужно загрузить FaceApp на смартфон (бесплатно в AppStore и Play Маркет) и дать разрешение на использование Галереи. Далее выбираете любое фото с портретом из Галереи или делаете новое селфи.

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

Следующие шаги: Применить и Сохраниться. Вы можете также Поделиться результатом с друзьями в соцсетях или сделать скриншот.

Результат будет выглядеть так:

Год назад FaceApp тоже был у всех на слуху, но из-за другой своей функции. Люди хотели узнать, как будут выглядеть в старости. А вдохновили их на это обработанные фото знаменитостей.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

мемепедия телеграм

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

Содержание

  1. Snapchat — поможет сменить пол через камеру смартфона
  2. Как пользоваться фильтрами для смены пола в приложении Snapchat:
  3. Если приложение для смены пола не работает корректно, попробуйте следующее:
  4. FaceApp — приложение, которое меняет внешность
  5. Как довести все до абсурда:
  6. REFACE — еще один инструмент, который может сменить пол
  7. Видео-инструкция

Snapchat — поможет сменить пол через камеру смартфона

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

Как работает фильтр для изменения пола:

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

Snapchat

Как пользоваться фильтрами для смены пола в приложении Snapchat:

  • Скачайте программу. Если прежде вы не имели аккаунта, зарегистрируйтесь.
  • Разрешите использование фильтров в «Настройках».
  • Откройте камеру.
  • Дважды тапните по экрану, чтобы переключиться на фронтальную камеру.
  • Нажмите на кнопку «Fun», которая выглядит как смайлик с белыми контурами.Подборка забавных эффектов
  • В нижней части экрана появится лента с фильтрами. Вращайте ее, чтобы переключаться между опциями.
  • Фильтры не подписаны. Однако вы легко найдете, как сменить пол в Снэпчат. Достаточно обращать внимание на иконки с изображением женских и мужских лиц.
  • Применяйте фильтры, чтобы не пропустить нужный. Возможно, вам подойдет несколько масок. В Снэпчат можно было наложить эффект крутого чувака, добавляющего мужественности.Чувак в очках и с зубочисткой
  • Большинство масок в Snapchat нужны для комичности или красоты.Алкоголик в шапке и с бородой
  • Если вы парень, то примените женственный фильтр.Усиление феминности
  • Девушка может добавить себе мужественности, выбрав соответствующий эффект.Добавление мужественности
  • Поместите свое лицо в обозначенную голубыми контурами форму, если она появится. Затем тапните один раз по ее содержимому, чтобы программа вас распознала.Контур для фиксации лица
  • Нажмите на «спусковую кнопку», чтобы сделать фотографию. Если вы хотите отснять видео, тапните по ней пальцем.Место для спуска виртуального затвора
  • Когда закончите, сохраните файл к себе на смартфон или отправьте его своим друзьям.Запечатление результата
  • Скачать программу Snapchat для iOS можно на площадке App Store.
  • Софт для Андроид вы найдете в маркете Google Play.
  • Также скачивайте дополнительные фильтры, выложенные сторонними разработчиками Luxury Art или Frm Art.

Коллекции дополнительных пресетов

Если приложение для смены пола не работает корректно, попробуйте следующее:

Что можно сделать: Пояснение:
Разрешите фильтры. Тапните на иконку своего аккаунта, которая находится в левом верхнем углу. Затем нажмите на шестеренку, которую увидите в правой стороне экрана. Проскролльте до раздела «Дополнительные услуги». Тапните на кнопку «Управление». Включите поддержку фильтров.
Переместитесь в более подходящее место. Проследите, чтобы приложение могло распознать ваше лицо. Для этого работайте с ним из комнаты с хорошим освещением. При этом необходимо смотреть прямо в камеру.
Обновите прошивку телефона и само приложение. Иногда программы не работают нормально, если они не адаптированы для работы с более простым и старым ПО. Проверьте наличие обновлений.
Если у вас Андроид, попробуйте запустить Снэпчат на более новом смартфоне. На слишком старых аппаратах фильтры для смены образа могут не запускаться. Такая проблема возникает у многих пользователей системы.

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

Это может быть полезным: На кого я похож из аниме по фото?

FaceApp — приложение, которое меняет внешность

Попробуйте поставить на свой телефон популярную программу ФейсАпп. Если у вас Айфон, посетите для этого AppStore. Любителям системы Android рекомендуем скачать официальное приложение из магазина Google Play.

Как добиться перемены пола в этом приложении:

  1. Запустите программу.
  2. Перейдите к съемке или загрузите изображение из галереи. Если вы выбрали первый вариант, посмотрите в камеру. Сделайте фото с лицом в анфас.
  3. Переходите к редактированию.
  4. Сдвиньте полосу с подборкой популярных фильтров, сделав на ленте свайп влево.Раздел редактирования
  5. Найдите иконку «Gender». На ней должны быть изображена картинка человека, разделенного надвое. Правая половина имеет розовые длинные волосы, а левая носит короткую прическу голубого цвета. Нажмите на этот рисунок.Нужная опция в общем списке
  6. Сделанное вами фото будет подписано как «Оригинал». Чтобы сменить пол на женский, выберите фильтр «Female».Фильтр Женщина
  7. Чтобы сделать себя мужественнее, нажмите на кнопку «Masculine».Эффект увеличения маскулинности на примере парня
  8. Сохраните результат, нажав на клавишу «Apply».Клавиша для применения изменений
  9. Поделитесь забавной фотографией в социальных сетях.Иконки для шеринга в соцсетях

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

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

Вам может также понравиться статья: Приложение, которое видит сквозь одежду

Пользователям доступно 2 версии «женственных» фильтров. Отличаются они количеством волос. Фильтр «Female 2» сделает прическу пышнее и длиннее.Женская маска с пышными волосами

Если у вас нет опции по смене пола, сделайте следующее:

  1. Зайдите в приложение. Откройте галерею с фотографиями.
  2. Нажмите на значок, имеющий вид шестеренки. Это нужно для перехода в «Настройки».Настройки в Галерее
  3. Тапните на кнопку «Основные», или «General».Кнопка Основные
  4. Переведите тумблер в активное положение на строчке «Show Gender Switch Icon».Показ значков для перемены гендера

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

Как довести все до абсурда:

  1. Примените фильтр «женственности» или «мужественности» в FaceApp.
  2. Сохраните фотографию.
  3. Загрузите это изображение через программу.
  4. Снова примените к нему тот же фильтр.
  5. Сохраните результат.
  6. Выберите его и подгрузите в FaceApp.
  7. Примените фильтр.
  8. Сохраните фото.

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

В конечном итоге вы увидите на экране кота с разведенными лапами. Под ним будет подпись «Не удалось обнаружить лицо на фото». Чтобы просмотреть результаты чужих экспериментов, переходите по хэштегам #женственностьдоконца и #мужественностьдоконца в Твиттере или Инстаграме.

REFACE — еще один инструмент, который может сменить пол

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

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

Как пользоваться REFACE для смены пола:

  1. Скачайте программу из App Store или магазина Google.
  2. Поместите лицо в объектив и щелкните себя.
  3. Нажмите на клавишу «Confirm».Рамка в Reface
  4. Программа вырежет ваше лицо.
  5. Просмотрите подборку коротких видео, нарезанных из популярных фильмов и клипов. К героям этих роликов, вне зависимости от их пола, будет подставлено ваше лицо.Вырезанное лицо

В конце нажмите на клавишу «Поделиться». Отправьте видео своим друзьям в соцсети. Вы можете затем нарезать его на кусочки или сделать скриншоты. Девушка может сохранить себя в образе Тора, а мужчина – в роли поп-певицы.Кадр из Титаника

Расскажите в комментариях, какое приложение вам больше понравилось.

Видео-инструкция

Как пользоваться приложением Snapchat, которое легко меняет пол, подробно показано в приложенном видео.

Смена пола и расы на селфи с помощью нейросетей

Время прочтения
10 мин

Просмотры 51K

Привет, Хабр! Сегодня я хочу рассказать вам, как можно изменить свое лицо на фото, используя довольно сложный пайплайн из нескольких генеративных нейросетей и не только. Модные недавно приложения по превращению себя в даму или дедушку работают проще, потому что нейросети медленные, да и качество, которое можно получить классическими методами компьютерного зрения, и так хорошее. Тем не менее, предложенный способ мне кажется очень перспективным. Под катом будет мало кода, зато много картинок, ссылок и личного опыта работы с GAN’ами.

Задачу можно разбить на следующие шаги:

  • найти и вырезать лицо на фото
  • преобразовать лицо нужным образом (превратить в женщину/чернокожего и т.п.)
  • улучшить/увеличить полученное изображение
  • вставить трансформированное лицо обратно в оригинальное фото

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

Детекция лица

Здесь проще всего. Можно ничего не выдумывать и просто взять dlib.get_frontal_face_detector()(пример). Dlib’овский детектор по умолчанию использует линейный классификатор, обученный на HOG-фичах.

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

код

def detect_single_face_dlib(img_rgb, rescale=(1.1, 1.5, 1.1, 1.3)):
    fd_front_dlib = dlib.get_frontal_face_detector()
    face = fd_front_dlib(img_rgb, 1)
    if len(face) > 0:
        face = sorted([(t.width() * t.height(), (t.left(), t.top(), t.width(), t.height()))
                       for t in face],
                      key=lambda t: t[0], reverse=True)[0][1]
    else:
        return None

    if rescale is not None and face is not None:
        if type(rescale) != tuple:
            rescale = (rescale, rescale, rescale, rescale)
        (x, y, w, h) = face

        w = min(img_rgb.shape[1] - x, int(w / 2 + rescale[2] * w / 2))
        h = min(img_rgb.shape[0] - y, int(h / 2 + rescale[3] * h / 2))

        fx = max(0, int(x + w / 2 * (1 - rescale[0])))
        fy = max(0, int(y + h / 2 * (1 - rescale[1])))
        fw = min(img_rgb.shape[1] - fx, int(w - w / 2 * (1 - rescale[0])))
        fh = min(img_rgb.shape[0] - fy, int(h - h / 2 * (1 - rescale[1])))

        face = (fx, fy, fw, fh)
    return face

Если же работа «старых» методов по каким-то причинам вас не устраивает, можно попробовать deep learning. Для решения задачи обнаружения лица подойдут любые Region Proposal Networks, например YOLOv2 или Faster-RCNN. Как попробуете — обязательно поделитесь тем, что у вас получилось.

Трансформация лица

Вот тут самое интересное. Как вы уже наверняка знаете, преобразовать лицо или сделать маску можно и без нейросетей, и это будет хорошо работать. Но генеративные сети — гораздо более перспективный инструмент для обработки изображений. Уже есть огромное количество моделей, типа <your prefix>GAN, которые умеют вытворять самые разные трансформации. Задача преобразования изображений из одного набора (домена) в другой называется Domain Transfer. С некоторыми архитектурами Domain Transfer сетей вы могли познакомиться в нашем недавнем обзоре GAN’ов.

Cycle-GAN

Почему именно Cycle-GAN? Да потому что она работает. Посетите сайт проекта и посмотрите, что можно делать с помощью этой модели. В качестве датасета достаточно двух наборов изображений: DomainA и DomainB. Допустим, у вас есть папки с фотографиями мужчин и женщин, белых и азиатов, яблок и персиков. Этого достаточно! Клонируете репозиторий авторов с реализацией Cycle-GAN на pytorch и приступаете к обучению.

Как это работает

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

По сути, мы обучаем две функции-генератора. Одна — $G$ — учится по входному изображению из домена $X$ генерировать изображение из домена $Y$. Другая — $F$ — наоборот, из $Y$ в $X$. Соответствующие дискриминаторы $D_Y$ и $D_X$ им в этом помогают, как это свойственно GAN’ам. Обычный Advesarial Loss (или GAN Loss) выглядит следующим образом:

$L_{GAN}(G, D_Y, X, Y)=mathbb{E}_{ysim p_{data}(y)}[log D_Y(y)]+mathbb{E}_{xsim p_{data}(x)}[log (1-D_Y(G(x)))]$

Дополнительно авторы вводят так называемый Cycle Consistensy Loss:

$L_{cyc}(G,F) = mathbb{E}_{x sim p_{data}(x)}[left | F(G(x))-x right |_1] + mathbb{E}_{y sim p_{data}(y)}[left | G(F(y))-y right |_1]$

Суть его в том, чтобы изображение из домена $X$, пройдя через генератор $G$, а потом через генератор $F$, было максимально похоже на оригинал. Короче, $F(G(x))approx x$.

Таким образом, целевая функция принимает вид:

$L(G, F, D_X, D_Y)=L_{GAN}(G, D_Y, X,Y)+L_{GAN}(F,D_X,Y,X)+lambda L_{cyc}(G,F)$

и мы решаем следующую задачу оптимизации:

$ G^*,F^* = arg min_{F,G} max_{D_X,D_Y} L(G,F,D_X,D_Y) $

Здесь $lambda$ — гиперпараметр, контролирующий вес дополнительного лосса.

Но это еще не все. Было замечено, что генераторы очень сильно меняют цветовую гамму оригинального изображения.

Чтобы это исправить, авторы добавили дополнительный лосс — Identity Loss. Это своего рода регуляризатор, который требует от генератора identity mapping для изображений целевого домена. Т.е. если на вход генератору зебр пришла зебра — то не надо такую картинку изменять.

$L_{identity}(G,F) = mathbb{E}_{y sim p_{data}(y)}[left | G(y)-y right |_1] + mathbb{E}_{x sim p_{data}(x)}[left | F(x)-x right |_1]$

На (мое) удивление это помогло решить проблему сохранения цветовой гаммы. Вот примеры от авторов статьи (там картины Моне пытаются преобразовать в реальные фотографии):

Архитектуры используемых сетей

Для того чтобы описать используемые архитектуры, введем некоторые условные обозначения.
c7s1-k — это сверточный слой 7х7 с последующей батч-нормализацией и ReLU, со страйдом 1, паддингом 3 и количеством фильтров k. Такие слои не уменьшают размерность нашего изображения. Пример на pytorch:

[nn.Conv2d(n_channels, inplanes, kernel_size=7, padding=3),
nn.BatchNorm2d(k, affine=True),
nn.ReLU(True)]

dk — сверточный слой 3х3 со страйдом 2 и кол-вом фильтров k. Такие свертки уменьшают размерность входного изображения в 2 раза. Опять пример на pytorch:

[nn.Conv2d(inplanes, inplanes * 2, kernel_size=3, stride=2, padding=1),
nn.BatchNorm2d(inplanes * 2, affine=True),
nn.ReLU(True)]

Rk — residual блок с двумя свертками 3х3 с одинаковым количеством фильтров. У авторов он сконструирован так:

resnet_block = []
resnet_block += [nn.Conv2d(inplanes, planes, kernel_size=3, stride=1, padding=1),
                nn.BatchNorm2d(planes, affine=True),
                nn.ReLU(inplace=True)]
resnet_block += [nn.Conv2d(planes, planes, kernel_size=3, stride=1, padding=1),
                nn.BatchNorm2d(planes, affine=True)]

uk — 3×3 up-convolution слой с BatchNorm и ReLU — для увеличения размерности изображения. Опять пример:

[nn.ConvTranspose2d(inplanes * 4, inplanes * 2, kernel_size=3, stride=2,
                    padding=1, output_padding=1),
nn.BatchNorm2d(inplanes * 2, affine=True),
nn.ReLU(True)]

С указанными обозначениями генератор с 9 резнет-блоками выглядит так:

c7s1-32,d64,d128,R128,R128,R128,R128,R128,R128,R128,R128,R128,u64,u32,c7s1-3

Мы делаем изначальную свертку с 32 фильтрами, потом два раза уменьшаем изображение, попутно увеличивая количество фильтров, затем идут 9 резнет-блоков, потом два раза увеличиваем изображение, уменьшая кол-во фильтров, и финальной сверткой создаем 3-канальный выход нашей нейросети.

Для дискриминатора будем ипользовать обозначение Ck — свертка 4х4 с последующими батч-норм и LeakyReLU с параметром 0.2. Архитектура дискриминатора следующая:

C64-C128-C256-C512

При этом для первого слоя C64 мы не делаем BatchNorm.
А в конце еще добавляем один нейрон с сигмоидной функцией активации, который говорит, фейк ему пришел или нет.

Еще пару слов про дискриминатор

Такой дискриминатор является так называемой fully-convolutional сетью — в нем нет полносвязных слоев, только свертки. Такие сети могут принимать на вход изображения любого размера, а количество слоев регулирует receptive field сети. Впервые такая архитектура была представлена в статье Fully Convolutional Networks for Semantic Segmentation.

В нашем случае генератор мапит входное изображение не на один скаляр, как обычно, а на 512 выходных картинок (уменьшенного размера), по которым уже делается вывод «real or fake». Это можно интерпретировать как взвешенное голосование по 512 патчам входного изображения. Размер патча (рецептивного поля) можно прикинуть пробросив обратно ко входу все активации. Но хорошие люди сделали утилиту, которая посчитает все за нас. Такие сети еще называют PatchGAN.

В нашем случае 3-слойный PatchGAN при входном изображении 256х256 имеет рецептивное поле 70х70, и это эквивалентно тому, как если бы мы вырезали несколько случайных патчей 70х70 из входа и по ним судили, реальная картинка пришла или сгенерированная. Контролируя глубину сети, мы можем контролировать размер патчей. Например, 1-слойный PatchGAN имеет рецептивное поле 16х16, и в таком случае мы смотрим на низкоуровневые фичи. 5-слойный PatchGAN будет уже смотреть почти на всю картинку целиком. Вот здесь Phillip Isola мне доходчиво объяснил всю эту магию. Почитайте, вам тоже должно стать понятней. Главное: полностью сверточные сети работают лучше обычных, и ими надо пользоваться.

Особенности обучения Cycle-GAN

Данные

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

Собственно, разбив этот датасет по нужному признаку мы получаем порядка 90к картинок мужщин и 110к — женщин. Это наши DomainX и DomainY.

Средний размер лиц на этих фото однако не очень большой (около 150х150), и вместо ресайза всех картинок к 256х256 мы привели их к 128х128. Также, для сохранения соотношения сторон, картинки не растягивались, а вписывались в черный квадрат 128х128. Типичный вход генераторов мог выглядеть так:

Perceptual Loss

Интуиция и опыт подсказали нам считать identity loss не в пространстве пикселей, а в пространстве фич предобученной VGG-16 сети. Именно этот трюк был впервые представлен в статье Perceptual Losses for Real-Time Style Transfer and Super-Resolution и широко используется в задачах Style Transfer. Логика здесь простая: если мы хотим делать генераторы инвариантыми к стилю изображений из целевого домена, то зачем считать ошибку на пикселях, если есть фичи, содержащие информацию о стиле. К какому эффекту это привело, вы узнаете чуть позже.

Процедура обучения

В целом модель получилась довольно громоздкой, учатся сразу 4 сети. Изображения по ним надо несколько раз прогнать туда-сюда, чтобы посчитать все лоссы, а потом и обратно распространить все градиенты. Одна эпоха обучения на CelebA (200к картинок 128х128) на GForce 1080 занимает порядка 5 часов. Так что особо не поэкспериментируешь. Скажу лишь, что наша конфигурация отличалась от авторской только заменой Identity Loss на Perceptual. PatchGAN’ы с большим или меньшим количеством слоев не зашли, оставили 3-слойный. Оптимизатор для всех сетей — Adam с параметрами betas=(0.5, 0.999). Learning rate по умолчанию 0.0002 и уменьшался каждую эпоху. BatchSize был равне 1, и во всех сетках BatchNorm был заменен (авторами) на InstanceNorm. Интересный момент — на вход дискриминатору подавался не последний выход генератора, а случайная картинка из буфера в 50 изображений. Таким образом, дискриминатору мог прийти образ, сгенерированный прошлой версией генератора. Этот трюк и многие другие, которые использовали авторы, перечислены в заметке Сумита Чинталы (автора PyTorch) How to Train a GAN? Tips and tricks to make GANs work. Рекомендую распечатать этот список и повесить возле рабочего места. У нас не дошли руки перепробовать все, что там есть, например LeakyReLU и альтернативные методы апсемплинга для генератора. Но повозились с дискриминатором и расписанием обучения пары генератор/дискриминатор. Это действительно добавляет стабильности.

Эксперименты

Сейчас пойдет больше картинок, вы наверное уже заждались.

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

Генераторы постепенно расходятся, остальные лоссы чуть-чуть уменьшились, но тем не менее, сеть выдает приличные картинки и явно чему-то научилась. Кстати, для визуализации хода обучения модели мы использовали visdom, довольно простой в настройке и удобный инструмент от Facebook Research. Каждые несколько итераций мы смотрели на следующие 8 картинок:

  • real_A — вход из домена А
  • fake_B — real_A, преобразованная генератором A->B
  • rec_A — реконструированная картинка, fake_B, преобразованный генератором B->A
  • idty_B — real_A, преобразованный генератором B->A
  • и 4 аналогичных изображения в обратную сторорну

В-среднем, хорошие результаты можно увидель уже после 5ой эпохи обучения. Смотрите, ошибка генераторов никак не уменьшается, но это не помешало сети превратить человека, похожего на Хинтона, в женщину. Ничего святого!

Иногда дела могут идти совсем плохо.

В таком случае можно нажимать Ctrl+C и звонить журналистам, рассказывать, как вы остановили искусственный интеллект.

В целом, несмотря на некоторые артефакты и низкое разрешение, Cycle-GAN на ура справился с задачей.
Смотрите сами:

Мужчины <-> Женщины

Белые <-> Азиаты

Белые <-> Черные

Вы заметили интересный эффект, который дают identity mapping и perceptual loss? Посмотрите на idty_A и idty_B. Женщина становится более женственной (больше макияжа, гладкая светлая кожа), мужщине добавляется растительность на лице, белые становятся еще белее, а черные, соттветственно — чернее. Генераторы выучивают средний стиль для всего домена, благодаря perceptual loss. Здесь прямо напрашивается создание приложения для «бьютификации» ваших фоточек. Shut up and give me your money!

Вот вам Лео:

И еще несколько знаменитостей:

Лично меня этот мужик-Джоли испугал.

А теперь, внимание, очень сложный кейс.

Увеличение разрешения

CycleGAN хорошо справился с поставленной задачей. Но получающиеся изображения имеют маленький размер и некие артефакты. Задача увеличения разрешения называется Image Superresolution. И эту задачу уже научились решать с помощью нейронных сетей. Хочу отметить две state-of-the-art модели: SR-ResNet и EDSR.

SRResNet

В статье Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network авторы предлагают архитектуру генеративной сети для задачи super-resolution (SRGAN), в основу которой положена ResNet. В дополнение к попиксельной MSE авторы добавляют Perceptual loss, используя активации предобученной VGG (видите, все так делают!) и дискриминатор, естесственно.

В генераторе используются residual блоки со свертками 3×3, 64 фильтрами, батчнормом и ParametricReLu. Для увеличения разрешения используются два SubPixel слоя.

В дискриминаторе есть 8 сверточных слоев с ядром 3х3 и увеличивающимся числом каналов с 64 до 512, активации везде — LeakyReLu, после каждого удвоения числа фич — разрешение картинки уменьшается за счет страйда в свертках. Пулинг-слоев нет, в конце — два полносвязных слоя и сигмоида для классификации. Схематично генератор и дискриминатор изображены ниже.

EDSR

Enhanced Deep Super-Resolution network это тот же SRResNet, но с тремя модификациями:

  • Нет батч-нормализации. Это позволяет сократить до 40% используемой во время обучения памяти и увеличить число фильтров и слоев
  • За пределами residual блоков не используется ReLu
  • все resnet-блоки умножаются на коэффициент 0.1 перед их добавлением к предыдущим активациям. Это позволяет стабилизировать обучение.

Обучение

Для обучения SR-сети нужно иметь датасет изображений высокого разрешения. Определенные усилия и время пришлось потратить на то, чтобы спарсить с инстаграма несколько тысяч фотографий по хештегу #face. Но куда без этого, все мы знаем, что сбор и обработка данных это 80+% объема нашей работы.

Обучать SR-сети принято не на полных изображениях, а на патчах небольшого размера, вырезанных из них. Это позволяет генератору обучиться работать с мелкими деталями. А в рабочем режиме на вход сети можно подавать картинки любого размера, ведь это fully-convolutional сеть.

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

В итоге для нашего пайплайна мы выбрали SRRestNet, обученную на патчах 64х64, в качестве Perceptual loss использовались 2 и 5 слои VGG-16, и дискриминатор мы вообще убрали. Ниже несколько примеров из обучающего множества.

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

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

Даже эту задачу можно решить нейросетями. Я нашел одну интересную работу по image blending. GP-GAN: Towards Realistic High-Resolution Image Blending. Подробности рассказывать не буду, покажу лишь картинку из статьи.

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

Опять же, не идеал, но на скорую руку — ок.

Заключение

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

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

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

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

Приложения, которые меняют пол на фото снова в тренде! Попробуйте и вы

С помощью фоторедактора Gender Swap можно за пару касаний превратить мужское лицо в женское и наоборот.

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

Создавайте фото шедевры и наслаждайтесь необычными трансформациями с помощью фоторедактора Gender Swap

* Автоматическое РАСПОЗНАВАНИЕ ЛИЦА
* ФОТОРЕДАКТОР для красивых преображений
* Бесплатная СМЕНА ПОЛА
* Редактор изображений с НАКЛЕЙКАМИ
* ГЕНДЕРНЫЕ ПРЕВРАЩЕНИЯ
* Изменения на фото СОВЕРШЕННО БЕСПЛАТНО
* ЛЕГКО ИЗМЕНИТЬ лицо на фото
* Популярные ФОТОФИЛЬТРЫ
* НАСТРОЙКИ изображения
* Фоторедактор ДЛЯ ПАРНЕЙ И ДЕВУШЕК
* ГОТОВЫЕ мужские и женские ОБРАЗЫ
* ЖЕНСКИЙ МАКИЯЖ
* МУЖСКИЕ ЧЕРТЫ за несколько секунд
* ВЕСЕЛЫЕ эксперименты с внешностью

Меняйте внешность, примеряйте новые роли, получайте удовольствие от фото монтажа с помощью фоторедактора Gender Swap

*** Функции приложения Gender Swap Photo Editor ***

• Создавайте креативные изображения с помощью фоторедактора Gender Swap
Подчеркните свой гендер или представьте себя противоположного пола
• Экспериментируйте с внешностью с помощью коллекции наклеек приложения Gender Swap:
— Готовые мужские и женские образы.
Если вы хотите изменить часть образа (прическу, цвет глаз и т.п.), перейдите в соответствующее меню на панели инструментов и примерьте понравившиеся варианты.
— Автомакияж: цветные линзы, брови, ресницы, тени, помада, румяна
Встроенная система распознавания лица сделает макияж естественным
— Измените прическу: волосы разной длины, модные цвета, креативные стрижки
— Примерьте усы и бороду
• Используйте инструменты настройки изображения и фото фильтры — ваши преображения будут выглядеть еще более реалистично
• Сохраняйте результат трансформации в высоком разрешении и делитесь в WhatsApp, Instagram, Facebook и других социальных сетях

Хотите разыграть друзей? Обновите фото в личном профиле;)

Фоторедактор Gender Swap для смены пола — взгляните на себя по-новому!
• Просто использовать
• Все функции доступны бесплатно

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

Как поменять пол в Snapchat на фото и видео

♥ ПО ТЕМЕ: Facetune, или как «фотошопить» снимки на iPhone и iPad.

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

Как менять пол в Snapchat на фото и видео

Пользователи настолько увлеклись этим процессом, что приложение Snapchat возглавило топ магазина App Store. Правда, в России социальная сеть не настолько популярна, уступая конкурентам по численности пользователей. А в Google Play приложение смогло добраться только до 9 места в топе бесплатных приложений.

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

♥ ПО ТЕМЕ: Как создать двойника на фото (клонировать объекты) на iPhone.

Как менять пол или включить Baby Face (детское лицо) в Snapchat на фото и видео

1. Откройте в приложении Snapchat камеру. В ней, справа от центральной кнопки «Сделать фото», есть раскрывающаяся галерея фильтров. Там можно найти нужные маски.

Как менять пол в Snapchat на фото и видео

2. Среди них найдите две, с мужским и женским лицом. Эти фильтры и помогут «сменить пол».

Если в карусели предложенных фильтров не оказалось, воспользуйтесь поиском – введите «My twin» для поиска фильтра, превращающего мужчину в женщину и «Bald Character» или «Beard and Glasses» для превращения женщины в мужчину.

3. После активации фильтра лицо надо поместить в границы очерченного на экране овала.

4. Сделанное фото можно сохранить или опубликовать в Snapchat.

Как менять пол в Snapchat на фото и видео

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

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

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

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

Как включить детской лицо Baby Face в Snapchat Как включить детской лицо Baby Face в Snapchat

♥ ПО ТЕМЕ: 30 самых знаменитых фейковых фото, в которые вы могли поверить.

Смотрите также:

  • Макс Асабин – настоящий «бог фотошопа».
  • Как создать двойника на фото (клонировать объекты) на iPhone.
  • Color Accent: Как изменять отдельные цвета на фото на черно-белые в iPhone и iPad.

kak-pomenyat-litso-v-fotoshope
Замена лица в Фотошопе это либо шутка, либо необходимость. Какие цели преследуете лично Вы, мне неведомо, а научить Вас этому я обязан.

Данный урок будет полностью посвящен тому, как изменить лицо в Фотошопе CS6.

Менять будем стандартно – женское лицо на мужское.

Исходные изображения такие:

zamenyaem-litso-v-fotoshope
zamenyaem-litso-v-fotoshope-2

Если вы не являетесь опытным пользователем Adobe Photoshop и задача замены лица на фотографии кажется сложной, рекомендуем рассмотреть альтернативный метод ее решения – воспользоваться популярным онлайн-сервисом Canva, представляющим широкие возможности для работы с графикой. Во встроенном редакторе можно буквально в несколько кликов вырезать лицо на одном изображении и поместить его на другое. Также доступно удаление любого «сложного» фона и его последующей замены.

Подробнее: Как вырезать и заменить лицо на фото в онлайн-сервисе Canva

Прежде чем подставить лицо в Фотошопе, необходимо уяснить пару правил.

Первое – ракурс съемки должен быть максимально одинаковым. Идеальный вариант, когда обе модели сфотканы анфас.

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

С ракурсом у меня не очень, но что имеем, то имеем. Иногда выбирать не приходится.

Итак, начнем менять лицо.

Открываем обе фотографии в редакторе в разных вкладках (документах). Переходим на вырезаемого пациента и создаем копию фонового слоя (CTRL+J).

zamenyaem-litso-v-fotoshope-3

Берем любой инструмент выделения (Лассо, Прямоугольное лассо или Перо) и обводим лицо Лео. Я воспользуюсь Пером.

Lumpics.ru

Читайте «Как вырезать объект в Фотошопе».

Важно захватить как можно больше открытых и не затемненных участков кожи.

zamenyaem-litso-v-fotoshope-4

Далее берем инструмент «Перемещение» и перетягиваем выделение на вкладку со второй открытой фотографией.

zamenyaem-litso-v-fotoshope-5

Что имеем в результате:

zamenyaem-litso-v-fotoshope-6

Следующим этапом будет максимальное совмещение изображений. Для этого изменяем непрозрачность слоя с вырезанным лицом примерно на 65% и вызываем «Свободное трансформирование» (CTRL+T).

zamenyaem-litso-v-fotoshope-7

При помощи рамки «Свободного трансформирования» можно вращать и масштабировать вырезанное лицо. Для сохранения пропорций нужно зажать SHIFT.

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

После окончания процесса нажимаем ENTER.

zamenyaem-litso-v-fotoshope-8

Лишнее удаляем обычным ластиком, а затем возвращаем непрозрачность слоя на 100%.

zamenyaem-litso-v-fotoshope-9
zamenyaem-litso-v-fotoshope-10

Продолжаем.

Зажимаем клавишу CTRL и делаем клик по миниатюре слоя с вырезанным лицом. Появляется выделение.

zamenyaem-litso-v-fotoshope-11

Переходим в меню «Выделение – Модификация – Сжать». Размер сжатия зависит от размера изображения. Мне хватит 5-7 пикселей.

zamenyaem-litso-v-fotoshope-12
zamenyaem-litso-v-fotoshope-13

Выделение модифицировано.

zamenyaem-litso-v-fotoshope-14

Еще один обязательный шаг – создание копии слоя с исходным изображением («Фон»). В данном случае перетаскиваем слой на значок внизу палитры.

zamenyaem-litso-v-fotoshope-15

Находясь на созданной только что копии, нажимаем клавишу DEL, тем самым удаляя оригинальное лицо. Затем убираем выделение (CTRL+D).

zamenyaem-litso-v-fotoshope-16

Дальше самое интересное. Заставим наш любимый Фотошоп немного поработать самостоятельно. Применим одну из «умных» функций – «Автоналожение слоев».

Находясь на копии фонового слоя, зажимаем CTRL и кликаем по слою с лицом, тем самым выделяя и его.

zamenyaem-litso-v-fotoshope-17

Теперь идем в меню «Редактирование» и ищем там нашу «умную» функцию.

zamenyaem-litso-v-fotoshope-18

В открывшемся окне выбираем «Стековые изображения» и нажимаем ОК.

zamenyaem-litso-v-fotoshope-19

Немного подождем…

zamenyaem-litso-v-fotoshope-20

Как видим, лица совместились почти идеально, но такое бывает редко, поэтому продолжаем.

Создаем совмещенную копию всех слоев (CTRL+SHIFT+ALT+E).

zamenyaem-litso-v-fotoshope-21

Слева, на подбородке не хватает текстуры кожи. Давайте добавим.

Выбираем инструмент «Восстанавливающая кисть».

zamenyaem-litso-v-fotoshope-22

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

zamenyaem-litso-v-fotoshope-23

Далее создаем маску для этого слоя.

zamenyaem-litso-v-fotoshope-24

Берем кисть со следующими настройками:

zamenyaem-litso-v-fotoshope-25
zamenyaem-litso-v-fotoshope-26
zamenyaem-litso-v-fotoshope-27

Цвет выбираем черный.

Затем отключаем видимость со всех слоев, кроме верхнего и нижнего.

zamenyaem-litso-v-fotoshope-28

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

zamenyaem-litso-v-fotoshope-29

Заключительным шагом будет выравнивание тона кожи на вставленном лице и на оригинале.

Создаем новый пустой слой и меняем режим наложения на «Цветность».

zamenyaem-litso-v-fotoshope-30

Выключаем видимость для подлежащего слоя, тем самым открывая оригинал.

zamenyaem-litso-v-fotoshope-31

Затем берем кисть с теми же настройками, что и раньше и забираем образец тона кожи с оригинала, зажав ALT.

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

zamenyaem-litso-v-fotoshope-32

Готово.

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

Сначала был Snapchat

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

Фото автора «до» и «после» маски

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

«Использовал фильтр из Snapchat в Тиндере 30 минут. В заключении — я ненавижу мужчин»

Как и другие маски в Snapchat, эта не позволяет загрузить уже готовое фото, придется делать селфи онлайн.

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

Внимание: FaceApp

Приложение FaceApp стало популярным в 2017 году, когда его функционал был достаточно скромным — пользователь мог добавить на свое лицо улыбку, скрыть недостатки кожи или «нанести» макияж. Позже появился фильтр, позволяющий изменить расу, но вскоре его удалили из-за обвинений в расизме. Уже в 2019 году российские и западные звезды в массовом порядке начали выкладывать свои «постаревшие» селфи. FaceApp научился добавлять к фотографиям седину и морщины.

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

Особо бдительные пользователи сети сразу забили тревогу в твиттере и запустили хэштег #Warning: Every few years, the #FaceApp comes around. Они призывали не использовать приложение и внимательнее относиться в безопасности персональных данных.

Gradient и AIportraits

Приложение Gradient в 2019 году создало эффект, который показывает, на какую знаменитость вы похожи.

Автор текста, например, похожа на Владимира Путина

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

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

Кстати, на сайте AIportraits из обычного селфи можно сделать ренессансную картину. Разработанная нейросетевая технология сама определяет, что именно делать с вашей фотографией. Создатели сервера говорят, что в памяти нейросети около 45 тысяч различных портретов. Интересно, что этот искусственный интеллект не обрабатывает «улыбающиеся» селфи, потому что просто не умеет — живописцы редко изображали яркие эмоции.

Так AIportraits превратил Роберта Дауни-младшего в Антона Павловича Чехова

Фильтры и маски во время пандемии

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

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

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

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить женский цикл
  • Как изменить женский голос на мужской на компьютере
  • Как изменить емкость диска на компьютере
  • Как изменить женский голос на голос деда мороза
  • Как изменить емкость диска на виндовс 10

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии