Инженер-мозговой инженер Google Эрик Джанг недавно испытал фильтры смены пола в Snapchat и написал статью об опыте, которая составлена Обществом исследования ИИ следующим образом.
Фильтры смены пола в Snapchat — источник бесконечного веселья и вечеринок, а результаты перехода очень приятны. Как человек, который каждый день имеет дело с алгоритмами машинного обучения, поразительно, насколько мощна эта функция.
Я настолько заинтригован этой функцией, что, как любопытный ребенок, сегодня утром я зарегистрировался в Snapchat и некоторое время пробовал его, пытаясь понять, что за ним стоит и как я буду его взломать.
Примечание: это не реверс-инжиниринг файлов API Snapchat или исследование того, как другие приложения проектируют аналогичную функциональность, это просто базовая проверка гипотезы о том, когда это будет работать, а когда нет, плюс немного нарциссизма, конечно, развлечение для селфи в ванной.
Предварительное наблюдение
Фотография посередине — оригинальная фотография селфи в ванной. Слева эффект фильтра «Мужской», а справа эффект фильтра «Женский».
Первое, что, вероятно, заметит большинство пользователей, это то, что этот фильтр работает в режиме реального времени, вы можете использовать несколько разных углов, и для его работы не требуется подключение к Интернету. При ношении шерстяной шапки волосы выглядят очень естественно.
Изображение ниже представляет собой движущееся изображение, которое я сделал, поворачивая голову. Похоже, что приложение может определить, указывает ли лицо в указанном направлении, и запускает эффект фильтра только в том случае, если это логическое значение соответствует.
Фильтр смены пола работает в различных условиях освещения, но кажется, что волосы не отбрасывают тени.
Ты считаешь меня милой, когда я превратилась в босса женской одежды?.
Следующий пример, который я считаю крутым — синтетические волосы могут захватывать ключевой источник света.
Окклюзионный тест
Судя по предыдущим наблюдениям, работает очень хорошо. Так можем ли мы заставить его потерпеть неудачу? Фильтр может определить, находится ли лицо в неправильной позе, но что, если что-то блокирует лицо, будет ли заблокированное лицо также «повернуто»?
Ответ положительный. Ниже приведен тест (горизонтальная окклюзия), в котором я перемещаю объект по лицу. Фильтр работает нормально, когда закрыта только половина лица, но если лицо закрыто слишком сильно, для параметра «Должен ли я изменить лицо» будет установлено значение «Ложь».
Снова взглянув на вертикальную окклюзию, эффект фильтра здесь, по-видимому, зависит от «процента закрытой области лица», а не от того, какие важные семантические особенности (например, глаза, губы) закрыты. Непосредственно перед тем, как фильтр решит, что «Должен ли я изменить свое лицо» должен переключиться на «Ложь», вы можете увидеть размытие белой бутылки в руке. Кроме того, мои волосы стали светлыми, когда я поставила бутылку в центр своего зрения.
Этот эффект интересен. Мне кажется, что это должно быть машинное обучение в действии, вытягивание некоторых данных из обученных данных для рендеринга. Итак, вопрос в том, будут ли блондинки делать больше уроков по макияжу?
Я покрыл часть своего лица черной маской с активированным углем, и полученный рендер казался стабильным. Женский фильтр немного убирает маску. Как видно из приведенного ниже GIF, функция Face Swap ограничена трассировкой прямоугольной области головы (обратите внимание на резкое обрезание, когда волосы достигают моих плеч).
Как только я закрыл остальную часть лица маской, фильтр перестал работать. Интересно, что открытые области моего лица по-прежнему распознаются как лица, и фильтр продолжает выполнять преобразование стиля лица для этой области. Вы можете увидеть мерцание головы и лица, как в «Истории ужасов» Дзюндзи Ито.
Рендеринг на удивление стабилен, когда маска удалена.
слой волос
Меня больше всего впечатлила реалистичность волос, поэтому я пытался выяснить, существует ли модель сетки волос для динамического освещения или все это основано на машинном обучении.
Волосы, кажется, визуализируются как самый верхний слой (как слой Photoshop), но в отличие от обычных простых фильтров щенячьих ушей/языка, этот слой волос имеет частично прозрачный альфа-канал. Если вы присмотритесь, в волосах также есть четкая расщепленная маска, через которую видно лицо. Snapchat может выполнять отслеживание головы, чтобы определить положение головы и рассчитать 2D-альфа-маску для волос.
Как это работает? Ниже мое предположение.
На первый взгляд, мне приходит в голову некая архитектура CycleGAN, которая отображает распределение мужских лиц на женские лица и наоборот. Набор данных должен состоять из миллиардов селфи, загруженных пользователями в Snapchat (и не удаленных Snapchat) за последние 8 лет.
Но вызывает массу вопросов:
-
Правда ли, что преобразователям изображений, которые они обучают, не нужны пары изображений? Если это правда, это было бы чрезвычайно шокирующим, и, учитывая, что CycleGAN вызывает много проблем, это может быть даже невозможно сделать вообще. Бьюсь об заклад, у них есть непарная цель выравнивания, которая нормализована ограниченным набором реальных парных наборов данных, таких как парные изображения братьев и сестер мужского и женского пола или даже гендерные переходы, где некоторые данные создаются вручную. В результате их можно использовать. как аугментация данных (например, сделать линию подбородка более округлой можно без машинного обучения).
-
Трансформации волос и лица кажутся составными независимо друг от друга, поскольку они занимают разные слои (или, возможно, объединяются вместе и разделяются на разные слои перед рендерингом). Это также первый раз, когда я видел, как GAN используются для рендеринга альфа-канала. Я немного скептически отношусь к тому, что волосы на самом деле генерируются GAN. С одной стороны, очевидно, есть некоторое сглаживание, которое переключает блики и цвет волос в зависимости от положения закрывающих объектов, предполагая, что цвет может быть частично изучен из данных. С другой стороны, волосы настолько стабильны, что мне трудно поверить, что они были полностью синтезированы с помощью генератора GAN. Я видел несколько примеров того, как другие мужчины из Восточной Азии меняли лица с похожими прическами, что говорит о том, что может существовать большая библиотека шаблонов haridos (улучшенных с помощью некоторых моделей машинного обучения).
-
Откуда инженеры Snap по машинному обучению узнают, сошелся ли CycleGAN после обучения такому большому набору данных?
-
С такими ограниченными вычислительными ресурсами, как им удалось запустить нейронную сеть такого уровня? Каково разрешение изображений, которые они генерируют динамически?
-
Если это действительно CycleGAN, то применение мужского фильтра к моему изображению с женским фильтром должно вернуться к исходному изображению, верно?
Как вы можете видеть на анимации выше, пропорции этой фотографии в основном такие же, но когда мы увеличиваем масштаб очень близко, лицо действительно больше похоже на мое. Я предполагаю, что есть шаг предварительной обработки для обрезки и изменения размера стандартных изображений лица перед их передачей в нейронную сеть.
В этом фильтре могут быть другие подпрограммы, такие как изменение размера челюсти, которые не используют CycleGAN, но его добавление делает фильтры M2F и F2M больше не полной противоположностью.
технология
У меня есть такой друг, ему нужно проделать много работы, прежде чем он начнет тянуть. Я очень рад такой технологии, потому что она облегчит визажистам, косплеерам и дрэг-артистам возможность экспериментировать с новыми идеями и идентичностями более дешевым и быстрым способом.
Такие технологии, как изменение лица и голоса, еще больше увеличили разрыв между общедоступными интернет-персонажами и реальными людьми, стоящими за этими персонажами. Однако это не обязательно плохо: если вы парень, но вы увлечены тем, чтобы быть милой аниме-девушкой в Интернете, кого мы должны судить? (Ссылка представляет собой видео Youtube, нажмитечитать оригинал, найдите соответствующую ссылку для доступа) По мере того, как наши повседневные социальные сети нормализуют гендерные искажения, станет ли гендерная изменчивость и культура переодевания более нормальными в обществе?
Будущее очень интересно.
через https://blog.evjang.com/2019/05/fun-with-snapchats-gender-swapping.html
Составление и отделка: Пита
Составлено и организовано Исследовательским институтом искусственного интеллекта, перепечатка без разрешения запрещена.
32 дня до старта CVPR 2019 сегодня
Отсканируйте QR-код, чтобы принять участие в спонсорской программе CVPR.
AI Workshop отправит вас на место происшествия!