426. Нейросеть генерирует картинки

Когда-то от скуки я уже экспериментировал с нейросетями. Тогда это была сеть, раскрашивающая чёрно-белые фотографии. Сейчас появились сети способные по текстовому описанию генерировать изображения. Меня очень заинтересовала эта тема, но для таких сетей нужна мощная дорогая видеокарта, которой у меня нет. Встав перед выбором покупать видеокарту или придумать что-то еще я нашёл вариант нейросети Stable Diffusion, который можно запустить на CPU.

Я не буду приводить запросы по которым сгенерировал картинки, которые стали иллюстрациями к этой статье. Во первых я их не сохранил, а во вторых должна же сохраниться какая-то тайна =) Вот тут, например, заметно влияние Ван Гога

Скачав и развернув сеть я думал, что качество изображений будет хуже чем у cберовской Ru Dall-e, но это оказалось не так. Изображения в целом получаются довольно неплохие. Конечно чтобы показать что-то действительно крутое нужно выбирать из десятков сгенерированных изображений и очень многое зависит от запроса, однако то, что на бытовом компьютере можно за две с половиной минуты сгенерировать довольно неплохую картинку уже звучит удивительно.

Нейросеть может дорисовывать какие-то фрагменты на уже существующих изображениях или генерировать изображения по предложенному образцу. Единственным недостатком является небольшой размер рисунков — всего 512 на 512 точек. Да и некоторые картинки получаются откровенно кривыми. Поэтому выигрышная тактика такая: подбираем хороший запрос (он должен быть на английском языке т. к. российские компании не могут сделать ничего подобного и выложить это в открытый доступ, а если у них и получается что-то годное, то это приносят в жертву цензуре или ещё каким-то соображениям нетехнического плана, как пример тот же сберовский вариант Dall-e) и генерируем несколько десятков изображений, чтобы потом выбрать самое лучшее. Для реализации этой стратегии я написал на bash скрипт для массовой генерации картинок, который можно было бы запустить и отправиться заниматься своими делами, оставив компьютер погруженным в его электрические мысли.

Японская лиса-оборотень в смешанном традиционном и аниме стилях.

«Бессловестные в мире брани, зрячие в мире пустых глазниц» — спасибо Егору Летову за вдохновение и злободневную тему.

Мрачный коммунизм.

Модерн.

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

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

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

Та самая картинка, которую лучше не смотреть на работе =)