Главная » Статьи » Нейросеть для превращения набросков в «фотографии» запустили в браузере

Нейросеть для превращения набросков в «фотографии» запустили в браузере

prosthetic knowledge / Tumblr

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

Алгоритм pix2pix был разработан в 2016 году специалистами из Калифорнийского университета в Беркли. Он основан на генеративно-состязательной нейросети — архитектуре, которую часто применяют в нейросетях, предназначенных для создания реалистичных изображений, аудиозаписей и других объектов. Она состоит из двух частей, одна из которых создает изображение, а вторая пытается отличить его от объектов из обучающего набора эталонных изображений. В результате, в процессе обучения обе части алгоритма совершенствуются в своей задаче и синтезируемые им изображения становятся более качественными.

Изначально авторы создали развертываемую на компьютере реализацию нейросети, а сторонние специалисты смогли перенести ее в браузер, но в таком режиме программа принимала в качестве входных данных лишь завершенный набросок и работала непосредственно на сервере, из-за чего сервис уже закрыли. Теперь Заид аль-Яфии (Zaid Alyafeai) из Университета нефти и ископаемых имени короля Фахда создал реализацию алгоритма pix2pix, работающую в реальном времени, использующую ресурсы пользователя, а также содержащую три модели для разных типов объектов — кошек, фасадов домов и обуви.

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

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

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

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

Григорий Копиев