Генератор лица: This Person Does Not Exist – Генератор портретов людей

alexxlab
alexxlab
05.05.2020

Содержание

Генерация произвольных реалистичных лиц с помощью ИИ / Habr

Контролируемый синтез и редактирование изображений с использованием новой модели TL-GAN


Пример контролируемого синтеза в моей модели TL-GAN (transparent latent-space GAN, генеративно-состязательная сеть с прозрачным скрытым пространством)

Весь код и онлайн-демо доступны на странице проекта.



Дискриминантная и генеративные задачи

Человеку легко описать картинку, мы учимся делать это с самого раннего возраста. В машинном обучении это задача дискриминантной классификации/регрессии, т.е. предсказание признаков по входным изображениям. Последние достижения в методах ML/AI, особенно в моделях глубокого обучения, начинают преуспевать в этих задачах, иногда достигая или превосходя способности человека, как показано в задачах вроде визуального распознавания объектов (например, от AlexNet до ResNet по классификации ImageNet) и обнаружения/сегментации объектов (например, от RCNN до YOLO в наборе данных COCO) и т.д.

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

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

Несмотря на сложность создания таких приложений, генеративные модели (с некоторым управлением) чрезвычайно полезны во многих случаях:

  • Создание контента: представьте, что рекламная компания автоматически создаёт привлекательные образы, которые соответствуют содержанию и стилю веб-страницы, где вставляются эти картинки. Дизайнер ищет вдохновение, приказывая алгоритму сгенерировать 20 образцов обуви, связанных с признаками «отдых», «лето» и «страстный». Новая игра позволяет генерировать реалистичные аватары по простому описанию.
  • Умное редактирование с учётом контента: фотограф меняет выражение лица, количество морщин и причёску на фотографии в несколько щелчков мыши. Художник голливудской студии преобразует кадры, снятые в облачный вечер, как будто они сделаны ярким утром, с солнечным светом с левой стороны экрана.
  • Аугментация данных: разработчик беспилотных автомобилей может синтезировать реалистичные видео для определённого сценария аварии с целью увеличить набор данных обучения. Банк может синтезировать данные о мошенничестве определённого типа, слабо представленные в существующем наборе данных, чтобы улучшить антифродовую систему.

В этой статье расскажем о нашей недавней работе под названием Transparent Latent-space GAN (TL-GAN), которая расширяет функциональность самых современных моделей, обеспечивая новый интерфейс. В настоящее время мы работаем над документом, в котором будет больше технических деталей.
Сообщество глубокого обучения быстро совершенствует генеративные модели. Среди них можно выделить три перспективных типа: авторегрессионные модели, вариационные автоэнкодеры (VAE) и генеративные состязательные сети (GAN), показанные на рисунке ниже. Если вам интересны подробности, пожалуйста, можете прочитать отличную статью в блоге OpenAI.


Сравнение генеративных сетей. Изображение из курса STAT946F17 в Университете Ватерлоо

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


Синтетические картинки, сгенерированные сетью pg-GAN от Nvidia. Ни одно из изображений не имеет отношения к реальности



Случайная и управляемая генерация изображений

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

Для такого управляемого синтеза созданы многочисленные варианты GAN. Их можно условно разделить на два типа: сети переноса стиля и генераторы по условию (conditional generators).

Сети переноса стиля


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

Генераторы по условию


Условные генераторы — условные GAN, AC-GAN и Stack-GAN — в процессе обучения одновременно изучают изображения и метки объектов, что позволяет генерировать изображения с настройкой признаков. Когда вы хотите добавить новые признаки в процесс генерации, нужно переобучить всю модель GAN, что требует огромных вычислительных ресурсов и времени (например, от нескольких дней до недель на одном графическом процессоре K80 с идеальным набором гиперпараметров). Кроме того, для выполнения обучения необходимо полагаться на один набор данных, содержащий все пользовательские метки объектов, а не использовать разные метки из нескольких наборов данных.

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


Делаем это таинственное прозрачное скрытое пространство


Возьмём модель pg-GAN от Nvidia, которая генерирует фотореалистичные изображения лиц с высоким разрешением, как показано в предыдущем разделе. Все признаки сгенерированного изображения 1024×1024px определяются исключительно 512-размерным вектором шума в скрытом пространстве (как низкоразмерное представление содержимого изображения). Поэтому,
если понять, что представляет собой скрытое пространство (т.е. сделать его прозрачным), то можно полностью контролировать процесс генерации
.


Мотивация TL-GAN: понять скрытое пространство для управления процессом генерации

Экспериментируя с предварительно обученной сетью pg-GAN, я обнаружил, что у скрытого пространства на самом деле два хороших свойства:

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

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

Подход: раскрытие осей пространственных объектов


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


Способы связать скрытый вектор z с меткой признака y

Возможные подходы:

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

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

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

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


Рисунок: архитектура нашей модели TL-GAN

На приведённом выше рисунке показана архитектура модели TL-GAN, которая содержит пять шагов:

  1. Изучение распределения. Выбираем хорошо обученную модель GAN и генеративную сеть. Я взял хорошо обученную pg-GAN (от Nvidia), которая обеспечивает наилучшее качество генерации лиц.
  2. Классификация. Выбираем предварительно обученную модель извлечения признаков (экстрактор может быть свёрточной нейросетью или другими моделями компьютерного зрения) или обучить собственный экстрактор с помощью набора помеченных данных. Я обучил простую свёрточную нейросеть на наборе CelebA (более 30 000 лиц с 40 метками).
  3. Генерация. Создаём нескольких случайных скрытых векторов, пропускаем через обученный генератор GAN для создания синтетических изображений, затем используем обученный экстрактор признаков для генерации признаков на каждом изображении.
  4. Корреляция. Используем обобщённую линейную модель (GLM) для осуществления регрессии между скрытыми векторами и признаками. Наклон линии регрессии становится осями признаков.
  5. Исследование. Начинаем с одного скрытого вектора, перемещаем его вдоль одной или нескольких осей признаков и изучаем, как это влияет на генерацию картинок.

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

Перемещение скрытого вектора вдоль осей объектов


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

Результаты перемещения вектора вдоль нескольких осей признаков (пол, возраст и т.д.) представлены ниже. Это работает на удивление хорошо! Можно плавно трансформировать изображение между мужчиной/женщиной, юношей/стариком и т.д.


Первые результаты перемещения скрытого вектора вдоль запутанных осей признаков

Распутывание коррелированных осей признаков


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

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


Распутывание скоррелированных осей признаков приёмами линейной алгебры

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


Улучшенный результат перемещения скрытого вектора вдоль распутанных осей признаков

Гибкое интерактивное редактирование


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


Интерактивное редактирование с помощью TL-GAN

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


Этот проект демонстрирует новый метод управления генеративной моделью без учителя, такой как GAN (generative adversarial network). Используя заранее хорошо обученный генератор GAN (pg-GAN от Nvidia), я сделал его скрытое пространство прозрачным, проявив оси значимых признаков. Когда вектор перемещается вдоль такой оси в скрытом пространстве, соответствующее изображение трансформируется вдоль этого признака, обеспечивая управляемый синтез и редактирование.

Этот метод имеет явные преимущества:

  1. Эффективность: чтобы добавить новый тюнер признаков для генератора, не нужно повторно обучать модель GAN, поэтому добавление тюнеров для 40 признаков занимает менее часа.
  2. Гибкость: можно использовать любой экстрактор признаков, обученный на любом наборе данных, добавляя больше признаков в хорошо обученный GAN.

Пару слов об этике


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

Хотя инструмент может сильно помочь в креативном процессе, нужно помнить о возможностях его использования в неблаговидных целях. Если мы создаём реалистичные лица любого типа, то в какой степени можно доверять лицу, которое мы видим на экране? Сегодня важно обсудить вопросы такого рода. Как мы видели на недавних примерах применения техники Deepfake, ИИ быстро прогрессирует, поэтому человечеству жизненно важно начать обсуждение, как лучше всего разворачивать такие приложения.


Весь код и онлайн-демо этой работы доступны на странице GitHub.

Если хотите поиграть с моделью в браузере


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

Если хотите попробовать код


Просто зайдите на страницу Readme репозитория GitHub. Код собран на Anaconda Python 3.6 с Tensorflow и Keras.

Если хотите внести свой вклад


Добро пожаловать! Не стесняйтесь отправить пул-реквест или сообщить о проблеме на GitHub.

Обо мне


Недавно я получил PhD в области вычислительной и когнитивной нейробиологии в Брауновском университете и степень магистра в области компьютерных наук, со специализацией по машинному обучению. В прошлом я изучал, как нейроны в мозге коллективно обрабатывают информацию для достижения таких функций высокого уровня, как зрительное восприятие. Мне нравится алгоритмический подход к анализу, имитации и реализации интеллекта, а также к применению ИИ для решения сложных проблем реального мира. Я активно ищу вакансию исследователя ML/AI в технологической индустрии.

Благодарности


Эта работа сделана за три недели как проект для стипендиальной программы InSight AI. Благодарю директора программы Эммануэля Амайзена и Мэтта Рубашкина за общее руководство, особенно Эммануэля за его предложения и редактирование статьи. Также выражаю благодарность всем сотрудникам Insight за отличную среду обучения и другим участникам программы Insight AI, у которых я многому научился. Особая благодарность Рубин Ся за многочисленные наводки и вдохновение, когда я решал, в каком направлении развивать проект, и за огромную помощь в структурировании и редактировании этой статьи.

Нейросеть позволяет создавать свои стоковые фото, прикручивая любое лицо к любому телу

Все, кто когда-нибудь сталкивался со стоковыми фотографиями, знает: иногда очень трудно подобрать подходящую. Хочется «такую же, но с перламутровыми пуговицами». Компания Rosebud AI из Сан-Франциско, кажется, нашла решение этой проблемы. В компании разработали алгоритм, благодаря которому пользователи смогут размещать любое лицо на любом теле в своей коллекции.

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

Rosebud AI на этой неделе запустила проект Generative.Photos – у него есть собственная страница Product Hunt и демонстрационный сайт. Пока демо использует только собственные предварительно загруженные модели. Но разработчики обещают в ближайшее время выпустить полную версию – для это можно подписаться на лист ожидания.

«Generative.photos – первый шаг в нашей разработке стокового хранилища. Мы хотим, чтобы в конечном счете наши пользователи могли сами редактировать и полностью синтезировать визуальный контент, – пишет Лиша Ли, основатель Rosebud AI. – Мы хотим разнообразить контент для фотографий, потому что именно этого хотят пользователи. Все лица в нашей коллекции – не настоящие. 25 тысяч ненастоящих фотографий».

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

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

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

Источник

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

Creative Commons представила поиск бесплатных изображений

5 советов от Depositphotos: как создавать креативные коллажи из стоковых фото

Эта нейросеть превращает ваши фотографии в старинные картины одним нажатием кнопки

StyleGAN для генерации новых лиц опубликована в открытом доступе

NVIDIA опубликовала код предобученной модели StyleGAN для генерации лиц, которые никогда не существовали. StyleGAN является state-of-the-art моделью с лучшими свойствами интерполяции и распутывания, способностью находить скрытые факторы вариации (определять положение лица и идентичность).

Мы писали об анонсе StyleGAN 18 декабря прошлого года, но тогда NVIDIA не показала готовую реализацию этой сети. Теперь код находится в открытом доступе и лежит в репозитории на GitHub и мы можем более подробно проанализировать метод и его результаты.

Идея

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

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

В новом методе, предложенном NVIDIA, архитектура генератора переделывается так, что открываются новые способы контролировать процесс генерации изображения. Фактически генератор StyleGAN начинает с изученного постоянного входа, а дальше регулирует “стиль” изображения на каждом сверточном слое. Таким образом генератор способен напрямую контролировать значимость признака изображения в различных масштабах. Цель этой архитектуры — определить скрытые факторы вариации и тем самым увеличить уровень контроля.

Архитектура StyleGAN

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

stylegan architectureПредложенная архитектура генератора

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

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

Нормализация входов на сверточных слоях

Каждый вход сверточного слоя нормализуется с помощью операции AdaIN (adaptive instance normalization) с использованием вложений “стиля” скрытого вектора. Наконец, в сеть встраивается дополнительный шум для генерации случайных элементов на изображениях. Этот шум — просто одноканальное изображение, состоящее из некоррелированного гауссова шума. Шум подается перед каждой операцией AdaIN на каждый сверточный слой. Более того, существует фактор масштаба для шума, который  обучается для каждого признака.

Эффект от шума на разных слоях. (a) Шум применен ко всем слоям. (b) Шума нет. (c) Шум только в тонких слоях. (d) Шум только крупных слоях.Эффект от шума на разных слоях. (a) Шум применен ко всем слоям. (b) Шума нет. (c) Шум только в тонких слоях. (d) Шум только крупных слоях.

Результаты

Так как основная задача метода — возможность распутывания (disentanglement) и интерполяции генеративной модели, возникает вопрос: “Что происходит с качеством и разрешением изображения?”.

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

Набор избражений, сгенерированных StyleGAN сетью на датасете FFHQНабор избражений, сгенерированных StyleGAN сетью на датасете FFHQ

Помимо архитектуры исследователи показали два новых автоматических метода для количественной оценки качества интерполяции и распутывания, а также представили новый датасет с человеческими лицами. Эксперименты проводились сразу на CelebA-HQ и новом датасете FFHQ. Было показано, что StyleGAN превосходит традиционные генеративно-состязательные сети и достигает state-of-the-art результата в традиционных метриках. В таблице представлено сравнение StyleGAN с традиционной GAN в качестве бэйзлайна.

FID для различных конструкций генератора (чем меньше, тем лучше). FID считается по 50000 изображениям, выбранным случайно из тренировочного сета.FID для различных конструкций генератора (чем меньше, тем лучше). FID считается по 50000 изображениям, выбранным случайно из тренировочного сета. Результаты теста длины Perceptual path и разделимости (чем меньше, тем лучше). Результаты получены на традиционной Z и новой StyleGAN W сетях.Результаты теста длины Perceptual path и разделимости (чем меньше, тем лучше). Результаты получены на традиционной Z и новой StyleGAN W сетях.ffhqОбъекты в датасете FFHQ
Эксперименты по генерации других несуществующих объектов показали неплохие рельзультаты:

stylegan nvidia new objectsНовые объекты, сгенерированные StyleGAN

Код StyleGAN

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

ThisPersonDoesNotExist — сайт-генератор реалистичных лиц — Технологии — Mi Community

Привет, Mi-фаны!

Разработчик Uber Филипп Ванг запустил сайт, на котором раз в несколько секунд генерируется человеческое лицо с помощью алгоритма генеративных нейронных сетей StyleGAN, разработанного Nvidia.


Примеры сгенерированных людей:

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

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

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

Для работы StyleGAN необходимо минимум 11 ГБ ОЗУ и несколько видеокарт NVIDIA Tesla V100. Но с помощью сайта www.thispersondoesnotexist.com можно сгенерировать изображение в браузере смартфона.


(животные тоже ненастоящие)

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

Не правда ли, очень интересная технология? Фотографии выходят так реалистично, что и невозможно подумать, что они — выдумка искусственного интеллекта! А какие фотографии сайт сгенерировал вам? Делитесь ими в комментариях и…

До встречи в Mi Community!

улучшенная нейросеть для генерации лиц людей

Архитектуры генеративно-состязательных сетей, которые основываются на стиле, выдают state-of-the-art результаты на задачах генерации изображений. Исследователи из Nvidia опубликовали обновленную версию нейросети StyleGAN, — StyleGAN2. StyleGAN2 генерирует более реалистичные изображения с меньшим количеством визуальных артефактов.

В StyleGAN2 обновили архитектуру модели и методы обучения, чтобы минимизировать количество артефактов на генерируемых изображениях. Артефакты — это части изображения, которые снижают его реалистичность. Примером артефакта является размытость части изображения.

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

StyleGAN

Предыдущей state-of-the-art архитектурой для генерации изображений являлась StyleGAN модель. Отличительной чертой модели является архитектура генератора. Генератор принимает на вход промежуточное представление входного объекта. Слои генератора проходят через адаптивную instance нормализацию (AdaIN). Несмотря на высокие результаты по сравнению с конкурирующими подходами, оригинальная StyleGAN генерирует изображения с заметными артефактами.

StyleGAN2

В генераторе StyleGAN2 были убраны излишние операции в начале, вынесли суммирование bias термов за пределы блока стиля. Обновленная архитектура позволяет заменить instance нормализацию (AdaIN) на “демодуляцию”. Операция демодуляции применяется к весам каждого сверточного слоя. 

Сравнение составных частей StyleGAN (a-b) и StyleGAN2 (c-d)

Оценка работы модели

Для сравнения качества сгенерированных изображений исследователи использовали стандартные метрики: Frechet inception distance (FID) и Precision and Recall (P&R). Ниже видно, что внесенные в архитектуру StyleGAN изменения (B-F) улучшают качество изображений.

Сравнение результатов базовой StyleGAN и ее модификаций на датасетах FFHQ и LSUN Car

Генератор случайных личностей

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

В базе имеется более 51527 имен, более 805 фамилий, 115 отчеств, более 3000 городов и 7370 улиц, 44951 почтовый индекс, которые соединяются между собой в случайном порядке. Кроме этого, к этому всему ещё добавляются случайно сгенерированные номер дома, квартира, номер телефона (который генерируется тоже по частям +7 (xxx) yyy-ww-qq), пароль и дата рождения (все числа с 1 по 28, все месяца и года с 1950 по 2000).

Логин создаётся из имени, фамилии и случайного числа от 1 до 500. Всё это позволяет создать по-настоящему уникального случайного пользователя!
На данный момент сгенерировано 9794 личностей

API
Наш сервис позволяет Вам использовать сгенерированные данные в своих проектах. Для этого можно воспользоваться нашим API. Запроc делается командой: https://randus.org/api.php

API for English-speaking countries (beta test): https://randus.org/api_en.php


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

Любые совпадения с реальностью являются случайными!
Мы не несём ответственности за использование Вами полученных данных.

По техническим вопросам и сотрудничеству пишите нам на Email: [email protected]

Для лиц старше 18 лет


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

Генерация случайных лиц в PaperJS / Habr

Синтетические изображения обычно выглядят неестественно, не по-человечески, и тренированный глаз сразу их отличает от настоящих. Проект Weird Faces Study — это попытка объединить традиционную технику «человеческого» рисунка и компьютерные алгоритмы. Результат — сгенерированные компьютерные лица, каждое из которых уникально и выглядит как оригинальная авторская работа.

Генератор лиц Weird Faces Study написан на JavaScript с использованием библиотеки PaperJS в рамках обучающего курса по PaperJS, который читают в Калифорнийском университете в Лос-Анджелесе.

Собственно, алгоритм генерации лиц состоит из 9 шагов.

  1. Нарисовать форму лица.
  2. Нарисовать складку внутри формы.
  3. Найти центр фигуры, нарисовать нос.
  4. Нарисовать глаза, основываясь на местоположении носа и радиусе, чтобы они не пересекались.
  5. Нарисовать брови, основываясь на местоположении глаз и их радиусе.
  6. Нарисовать рот, основываясь на местоположении глаз и носа, чтобы они не пересекались.
  7. Нарисовать щёки, учитывая форму лица и радиус головы.
  8. Нарисовать уши снаружи лица.
  9. Нарисовать волосы снаружи лица.

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

PaperJS — одна из нескольких существующих библиотек для рисования в вебе, наряду с Processing.js и Raphaël.

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

Разное

Отправить ответ

avatar
  Подписаться  
Уведомление о