...в котором "Кандинский" обошёл всех конкурентов
Возможно, вы давно заметили это и сами: нейросети пока не слишком-то преуспели в рисовании масштабных полотен, в которых сразу много всего происходит. Ели вы хотите получить красивую картинку, которая к тому же будет точно соответствовать вашей задумке, сосредоточьтесь на одном, ну максимум — на двух объектах, и не загружайте искусственный интеллект подробным описанием множества действующих лиц: ничего хорошего из этого не выйдет. Сложные запросы обрабатываются плохо. Нейросеть либо проигнорирует большую часть деталей, либо всё перепутает, свалит в одну кучу и родит монстра Франкенштейна. Короче говоря, до батальных сцен и Питера Брейгеля - старшего большинство доступных моделей ИИ пока не дозрели.
Вот простой пример. Допустим, я хочу создать детскую иллюстрацию, на которой в сказочном саду из конфет и мармелада будут сидеть плюшевый медвежонок, кролик и котёнок, причём кролик должен есть мороженое, а котёнок — быть одетым в жилет и зелёную фетровую шляпу.
Если засунуть все эти подробности в один запрос и скормить его нейросети за один раз, то очень маловероятно, что я получу именно то, чего хочу. Вот лучшее, что смогла мне предложить модель DALL-E:
В целом выглядит даже неплохо, но медвежонок отобрал у кролика мороженку, а у котёнка — жилет и шляпу, а ведь друзья так не поступают.
Теперь попробую то же самое с нейросетью Leonardo AI:
С жилетами, шляпами и мороженым и здесь вышла неразбериха; котят на втором изображении двое, и они вообще задвинуты на задний план. Как пишут в заданиях к картинкам-загадкам для детей, художник опять всё перепутал.
Наконец, тот же самый запрос отправляется "Кандинскому" последней модели (3.0):
Не скажу, что он справился лучше. Скорее, заметно хуже предыдущих моделей.
Как же в таком случае мне удалось создать при помощи "Кандинского" картинку для обложки статьи?
Режим Canvas (холст)
Некоторые платформы на основе модели Stable Diffusion помимо обычного окна генерации изображений предлагают особый режим под названием Canvas, или "холст". Опознать его очень легко: рабочее пространство в нём теряет границы и покрывается сеткой направляющих линий или точек, а генерация производится внутри рамки, очерченной цветным контуром. Размеры этой рамки и её положение на холсте можно настраивать.
На платформе FusionBrain режим холста является безальтернативным для генерации изображений. На других ресурсах — например, Playgroundai, Leonardo AI или getimg, — на Canvas нужно специально переключаться.
Вот так выглядит рабочее окно в режиме холста на разных платформах:
Чтобы не распыляться, расскажу о принципах генерации на холсте на примере "Кандинского" и FusionBrain. Остальные, во-первых, работают аналогичным образом, во-вторых — показывают намного худшие результаты. Например, пользоваться Canvas на Leonardo AI я пока вообще не рекомендую: пустая трата токенов. Дело в том, что там к холсту сейчас подключены только устаревшие генеративные модели, которые выдают печальные результаты, и по-хорошему эти модели уже пора сдавать в утиль музей. Playgroundai в этом смысле лучше, но ненамного. "Кандинский" же объективно превосходит всех остальных по качеству генерации в режиме холста.
Начало работы на холсте ничем не отличается от любой другой генерации изображений. Вводите запрос в поле под рамкой, при необходимости добавляете отрицательную подсказку (подробно о том, что это такое, можно почитать в материале по теме). В последней вкладке выбираете стиль, жмёте на кнопку со звёздочками, получаете стартовое изображение. У меня это медвежонок на солнечной лужайке в стиле 3D-анимации.
А теперь начинается самое интересное. В этом примере медвежонок не просто так стоит, глядя в небо: по моей задумке, его внимание привлекла порхающая бабочка. Она должна располагаться выше и правее, по направлению взгляда персонажа.
Для начала я расширю сцену, добавив пространство справа. Для этого нужно передвинуть цветную рамку в требуемое положение, но она при этом должна пересекаться с уже существующей картинкой.
Теперь в поле для ввода запроса я описываю то, что должно находиться в этой части сцены: лужайка с травой и цветами в солнечный день.
Нейросеть проанализирует изображение, с которым пересекается рамка, и создаст новое таким образом, чтобы оно бесшовно соединялось с оригиналом. Цвета, освещение и композиция будут подогнаны под существующую картинку.
Если на этом шаге рамку не расположить внахлёст с исходным изображением, нейросеть будет воспринимать ваш запрос как новое задание, не связанное с предыдущей генерацией, и никакого совпадения не последует.
Следующий шаг — создание собственно бабочки. На этот раз я не просто передвигаю рамку в требуемую позицию, но и меняю её пропорции с 2:3 на 1:1, потому что мне не нужно, чтобы верхняя часть изображения была слишком высокой. В запросе описываю, что хочу видеть на картинке: большую красивую бабочку, порхающую в небе.
Нейросеть дорисовала и бабочку, и небо с солнцем, скрытым небольшой тучкой. У меня остаётся последний пустой угол. В нём можно изобразить что угодно, но, чтобы не отвлекать внимания от основных персонажей, я сгенерирую там просто фоновое облачко:
Итоговое композитное изображение:
Редактирование изображений в режиме холста
Помимо создания изображений, вы можете также их редактировать. Выберите инструмент "Ластик" в панели инструментов слева вверху и аккуратно сотрите ту часть изображения, которую хотите перерисовать заново. Не забудьте поместить над ней рамку генерации. Затем введите в текстовое поле описание того, что должно появиться на этом месте, и нажмите кнопку "Генерировать".
В моём примере я хочу заменить бабочку на какую-нибудь другую. Мне не нужно выделять большой кусок картинки, достаточно того, что рамка закрывает удалённый участок:
Если вас не устроил результат, можно нажимать на кнопку генерации до тех пор, пока вы не получите то, чего хотите. Если кажется, что каждый следующий результат хуже предыдущего — отмотайте все варианты назад, для этого на панели инструментов тоже есть отдельная кнопка.
Таким же образом можно добавлять объекты на картинку. Выберите место, куда хотите добавить объект, подготовьте для него участок при помощи ластика (это важно), поместите поверх рамку и введите описание.
В моём примере с медвежонком сцена вообще-то довольно простая, и её вполне можно было сгенерировать и за один заход. С сюжетами посложнее так может и не получиться. Для создания следующей картинки использовалось 11 отдельных запросов:
Выглядит эта космическая одиссея довольно хаотично, но принцип, думаю, понятен.
Мелкие недостатки работы в режиме холста
Иногда нейросеть допускает осечку, и стыки между кусками картинки становятся всё-таки заметны. На примере с медвежонком и бабочкой получилось как раз так: последний фрагмент имеет чёткую границу по правому краю. Здесь можно посоветовать только слегка изменить размеры рамки и попытаться ещё раз, или, если у вас есть такая возможность, исправить ошибку в графическом редакторе.
Ещё одно слабое место холста заключается в следующем: бывает сложно сделать так, чтобы персонажи и объекты тесно взаимодействовали, касаясь или перекрывая друг друга. Для этого будет лучше сгенерировать их вместе в одном запросе, иначе в местах соединения могут появиться грубые ошибки.
Большие достоинства работы в режиме холста
Во-первых, это гибкий контроль над композицией рисунка. Вы сами решаете, где именно будут располагаться все объекты, и при желании можете их почти свободно передвигать. Почему "почти", объяснено в предыдущем абзаце.
Во-вторых, размер готовой картинки (снова почти) не ограничен. Добавляя фрагменты, вы можете создавать монументальные произведения, в десятки раз большие, чем нейросеть может сгенерировать за один заход. Зачем они вам такие могут понадобиться — другой вопрос, но возможность генерировать изображения в 2-3 раза большего размера, чем в обычном режиме, может оказаться очень полезной.
В третьих, помимо контроля над композицией, вы получаете гибкий контроль над содержимым. Как мы уже видели, точечная подгонка изображений под ваши нужды (здесь убрать, тут добавить, там перерисовать) занимает несколько секунд и при необходимости может быть повторена или отменена.
В-четвёртых, в качестве исходного изображения вы можете загрузить собственное и расширить его на холсте, используя наиболее подходящий художественный стиль. Есть некоторый риск, что стопроцентного попадания в стиль не получится и дорисованная область будет выглядеть чужеродно, но попробовать стоит.
Вот так, например, "Кандинский" дорисовал фотографию ночного Дубая:
В общем, лично меня распирает гордость за отечественную нейросеть. А если вас к тому же распирают творческие идеи, но вы до сих пор чувствовали себя тесновато в рамках простых генераций, то FusionBrain — именно та мастерская, которая вам нужна. Творите масштабно!