Продолжаем осваивать новый метод генерации
Совсем недавно мы разбирались с принципами работы "живого холста" на примере нейросети KREA, а сегодня я собираюсь закрепить эти навыки, но уже в Leonardo AI и его Realtime Canvas. Тем, кто не читал упомянутую статью про KREA, я настоятельно советую перейти по ссылке и сначала прочитать её, а уже потом вернуться сюда. Будет много отсылок и сравнений, и лучше подготовиться, чтобы понимать, о чём идёт речь.
Интерфейс Realtime Canvas
Перейти в Realtime Canvas можно прямиком с домашней страницы Leonardo двумя путями: через карточку или из бокового меню.
Интерфейс выглядит очень похоже на аналогичный инструмент KREA, хотя и с некоторыми отличиями.
Например, в боковой панели инструментов здесь есть ластик (пункт Erase, "стереть"), зато нет геометрических фигур. Рисовать на холсте можно только кистью.
Каждый штрих кисти так же, как и в KREA, будет сразу превращаться в самостоятельный объект, который можно выбрать инструментом Select и изменить его размеры, пропорции и положение. Но здесь нет кнопок "продублировать" и "удалить" — впрочем, про клавишу Delete вы помните.
Инструмент выбора цвета здесь один на всех: и для фона, и для кисти. Для переключения между ними используются кнопки Background и Brush. В отличие от KREA, пипетка для выбора образцов цвета работает только в пределах холста.
В нижней части экрана рядом с полем для ввода текста располагается ещё несколько наборов настроек. Слева — настройки Seed и Guidance из числа стандартных параметров для всех моделей, основанных на Stable Diffusion. На всякий случай в очередной раз напомню, что подробнее об этих параметрах вы можете почитать в отдельной статье.
Если включить режим Use Fixed Seed (переключатель при этом станет цветным), то при каждом клике на иконку в виде зацикленных стрелочек будет использоваться новое зерно для генерации, то есть картинка будет полностью меняться.
Ползунок Guidance определяет степень соответствия результата введённым данным — как тексту, так и изображению. Есть ещё переключатель High Quality, который повышает количество шагов (Steps) и разрешение изображения, но эта функция доступна только при платной подписке.
Справа от поля ввода текста находятся две полезные настройки и одна не очень полезная.
Creativity Strength действует аналогично параметру AI Strength в KREA: при минимальном значении 0,3 на выходе вы получите практически то же самое, что нарисовали, а при максимальном 0,9 нейросеть будет полностью ориентироваться на текстовое описание, не обращая внимания на ваш рисунок. Гармония находится где-то посередине опытным путём.
Следом идёт набор стилей Alchemy, о котором у меня есть очень подробная статья, к тому же мы уже встречали эту настройку при генерации в реальном времени по тексту.
(Кстати, генерация в реальном времени теперь открыта для всех пользователей.)
Последнюю настройку я называю не очень полезной по двум причинам. Во-первых, она доступна не всем, а только оплатившим подписку. Во-вторых, она никак не влияет на результат генерации, а только позволяет переключаться между интерактивным режимом, в котором изменения применяются дискретно после каждой операции, и режимом реального времени, где изменения видны сразу в процессе операции, как это происходит в KREA.
Работа в Realtime Canvas: рисуем по холсту
Начинаем рисовать. Для примера возьму объект попроще: пусть это будет весёлый снеговик. Размеры кисти здесь настраиваются более гибко, чем в KREA, поэтому можно добавлять очень мелкие детали. Guidance выставляю на максимум, Creativity Strength — где-то на три четверти, из списка стилей Alchemy выбираю мой любимый Raytraced, в текстовое поле добавляю описание картинки.
После перебора нескольких значений Seed получаю результат, который меня в общих чертах устраивает:
Всё хорошо, но снежок на шляпе и непонятные тёмные пятна за снеговиком портят всю картину. Их надо бы удалить.
А вот теперь начинается интересное. Leonardo умеет кое-что, чего KREA пока не умеет, а именно: полученный результат генерации можно сразу же использовать как вводное изображение для дальнейшей работы, то есть дорабатывать картинку можно пошагово, повышая уровни сложности. Для этого я нажимаю на кнопку Output to Input (вывод на ввод) над правым окном, и свежеслепленный снеговик переезжает из него в левое, превращаясь из результата в новое исходное изображение для доработки.
Где-то в процессе переноса было сделано одно неверное движение, и у снеговика из снежка на шляпе вырос рог и появился карман с мобильником (или рацией). Интересная мысль, но они мне не нужны. Избавиться от лишних элементов проще простого: для начала я переключаюсь из режима Draw в режим Inpaint кнопкой над левым окошком:
Режим Inpaint отвечает за редактирование изображений. Вы должны быть с ним знакомы, если работали с холстом в "Кандинском", Playground или том же Leonardo. Если нет, то могу предложить ознакомительную статью на эту тему.
Беру кисть и образец цвета с фона. Совсем не обязательно, чтобы он в точности совпадал с фоном: даже приблизительный оттенок сгодится. Ластик в данном случае не подойдёт, потому что он протрёт дыру в картинке, а не просто удалит с неё ненужные детали.
Закрашиваю серым то, что нужно удалить, и на картинке справа снежок с рогом и рация в кармане бесследно исчезают:
Совет от разработчиков
При первом переключении в режим Inpaint вы увидите окно, содержащее полезную рекомендацию:
Если у вас впереди относительно сложная обработка, то лучше выполнять её поэтапно: исправили одну деталь на картинке — перенесли полученный результат из правой части экрана в левую, то есть превратили вывод во ввод. Следующую деталь исправляете уже на этой версии картинки, затем снова переносите результат на ввод, и так далее. Именно так, пошагово, и создавался шимпанзе с серьгой, в очках и бейсболке из прошлого поста. Такой способ даёт максимальный контроль над деталями рисунка.
Вернусь к снеговику, которого нужно довести до финальной кондиции. Перед отправкой картинки на окончательную обработку дорисую синий шарф и не забуду добавить упоминание о нём в описании:
В отличие от окна генерации в реальном времени по тексту, здесь есть кнопка Instant Refine (мгновенное улучшение) — аналог кнопки быстрого улучшения в KREA. За использование этого инструмента, как ни удивительно, Leonardo платы не берёт. Можно удовлетвориться результатом "мгновенного улучшения" и скачать картинку бесплатно, а можно потратить 8 токенов на увеличение и финальную обработку кнопкой Upscale Image. Напомню, что в этом случае итоговую картинку нужно будет искать в вашей персональной галерее на сайте; в текущем окне она отображаться не будет.
Вот две увеличенные и улучшенные версии снеговика: первая создана прямо в Leonardo с помощью Alchemy Upscaler за 8 токенов, а вторую сгенерировала KREA в разделе Enhancer по бесплатной картинке, полученной с Instant Refine. Решайте сами, что вам больше нравится:
Напоследок покажу ещё два примера. Первый — герой с обложки этой статьи, чародей с синим пламенем. Для достижения нужного результата мне не пришлось даже особенно стараться, прорисовывая детали; хватило очень приблизительного, грубого наброска. При удачно подобранных значениях Seed и Creativity Strength результат получился точно таким, какой мне и требовался, разве что пламя не возникает из воздуха, а вырывается из чего-то среднего между лампой и факелом:
К слову, это можно было легко исправить, перенеся картинку в левую часть (Output to Input) и закрасив факел чёрной кистью, но пусть остаётся так.
Итоговая картинка — композитное изображение, собранное в Photoshop из вариантов Leonardo (ему удались руки, пламя и отделка на балахоне) и KREA (она намного лучше проработала лицо и текстуру ткани, но переборщила с детализацией орнаментов и огня). Пришлось также вручную убрать лишние пальцы, выраставшие из факела-лампы у обеих нейросетей.
Работа в Realtime Canvas: рисуем по картинке
Вместо цветной заливки вы можете поместить на холст изображение, и оно сразу пропорционально займёт всю доступную площадь. Можно оставить его как есть и, добавив внизу описание, просто генерировать бесконечные вариации, перебирая настройки. А можно дорисовать элементы прямо поверх него, как в моём примере.
Оригинальная картинка была создана в мобильном приложении Wonder. Из неё Leonardo позаимствовал композицию и в общих чертах позу и волосы героини. Дорисованные голубые завитки теоретически могли быть чем угодно, но поскольку в моём описании они названы светящимися лозами (glowing blue vines), нейросеть и нарисовала лозы:
Картинка после окончательной обработки в Leonardo:
"Живой холст" предоставляет свободу творчества, недоступную в других режимах генерации: вы можете создавать изображения высокого качества в самых разных стилях практически с нуля, причём они будут максимально точно соответствовать вашим идеям. Другими словами, он приближает вас к тому, что называется "быть художником". Поэтому, вероятно, аналоги Realtime Canvas будут появляться на всё большем числе нейросетевых платформ.