Сам себе нейросеть: искусство описания

Автор: Константин Бояндин

На литературном сайте несколько неуместно выглядела бы публикация сугубо научных статей. Поэтому ниже краткий список публикаций для тех, кому интересна математическая модель в основе Stable Diffusion (SD) и других моделей создания картинки по тексту (Imagen, DALL-E и современное семейство, реализующее модель скрытой диффузии, latent diffusion model). Почти все по-английски - русскоязычных вариантов и переводов пока не так много.

1. High-Resolution Image Synthesis with Latent Diffusion Models 
2. U-Net: Convolutional Networks for Biomedical Image Segmentation (эффективная модель для быстрой тренировки по изображениям)
3. Чуть менее научно: How and why does Stable Diffusion work.
3. Перевод статьи с Ars Technica: "Вы можете перестать доверять реальности".

Суть всего этого проста. В случаях с указанными моделями, включая SD, вы имеете дело не с редактором, где чётко всё обозначено (POV-Ray, Blender и пр.), вы имеете дело с художником, который "так видит". Поэтому возникла целая отрасль тайного знания по созданию правильных определений (prompts) для создания картинок. Всё зависит от (большой) БД, откуда модель берёт все взаимосвязи - чем тщательнее и на большем числе примеров тренирована модель, тем качественнее будут итоги.

Пока что - преимущественно глядя на чей-то ещё опыт - удалось сгенерировать множество картинок самого разного рода, но, повторюсь, вы имеете дело с художником. Не ждите, что на определение "two cats looking in window" вам действительно нарисуют двух кошек, смотрящих в окно. Кошек может стать пять, окно может оказаться тем, что на компьютерном мониторе, и так далее.

Я был вначале слегка удивлён, когда понял, что нет чёткого свода правил и определения того, как выглядят определения. Примерная рекомендуемая структура такая:

тип_картинки главная_сцена уточнение_сцены стили модификаторы 

Тип картинки: например: портрет, иллюстрация, фотография
Главная сцена: что конкретно вы хотите увидеть
Уточнение сцены: дополнительные пояснения к сцене
Стили: кто, с точки зрения SD, изобразил это - техника и приёмы, обычно это имя конкретного художника, студии или художественного течения. Без указания стилей выходит обычно весьма убого.
Модификаторы: намёк на желаемое качество, способ просчёта, освещение, конечный носитель (вы не обязаны делать фото - может быть и рисунок на керамике, скульптура и пр.)

Пока что наиболее полную техническую базу ключевых слов (то, что не является описанием сцены) я увидел на PromptoMANIA - и, вероятно, для начала перенесу её к себе в текстовом виде. 

Сразу сложный пример: гэлльская девушка в доспехах:

Существенная часть: семантически разные элементы из списка лучше разделять запятыми. SD попытается интерпретировать их, даже если задать всё сплошным потоком, но итоги могут вас удивить.

Ландшафты и пейзажи, на мой взгляд, удаются сейчас лучше всего. К слову, SD "знает" (располагает в БД своей модели) о многих компьютерных играх. Играли в "Машинариум"? Если да (игра двумерная), то можете оценить трёхмерную визуализацию города роботов:



С познаниями в массовой культуре в текущей БД модели плохо - если вы фанат "Звёздного пути", вряд ли вы сумеете увидеть что-то внятное на "the Borg drone". Хотя отдельные личности вполне могут получиться. Например, мистер Вурф (начальник службы безопасности капитана Пикара, "Новые поколения").

Вполне узнаваемо. Ровно так же можно увидеть капитана Катрин Джейнуэй и некоторых других персонажей.

Вкратце, найденные и проверенные рекомендации:

1. Не используйте отрицание или альтернативу ("или"). Ну в самом деле, что должен нарисовать художник,  если ему приказано изобразить "не зелёную птицу или жабу"?
2. Максимально чётко выбирайте описание главной сцены, освещение, стиль. Не рассчитывайте, что SD "смотрел" много фильмов (крайне мало, на самом деле) или знает нынешние тренды в цифровом искусстве. Его обучали на подмножестве конкретной модели, собранной с не более чем сотни сайтов. Ожидаем новой БД, но пока что её ещё нет, сравнивать не на чем.
3. Используйте, когда возможно, разрешение 512x512. Именно на таких картинках шла тренировка; пресловутые третьи руки и восемь пальцев возникают чаще всего, когда разрешение далеко от указанного квадрата.
4. Экспериментируйте. Какие бы качественные определения вы не ввели, ожидайте не менее 5% мусора. Кое-что можно почистить и улучшить средствами того же типа (включая img2img).
5. Сохраняйте всё удачное, даже если не очень большое разрешение. Пусть даже пишут, что ровно при тех же параметрах SD выдаст ровно ту же картинку - не рассчитывайте на это. Не теряйте случайно обретённый шедевр.
6. Начинайте с подражания. Интересные работы можно найти на сайтах вида Lexica.art. Будьте осторожны - там есть и весьма низкопробные, неприятные работы (это Интернет, как-никак).

Продолжение следует.

+55
303

0 комментариев, по

1 322 975 285
Наверх Вниз