Умение доходчиво объяснять — талант, которым не каждый обладает. Для того чтобы вас правильно поняли, нужно вовремя найти точные слова, которые смогли бы ясно донести вашу мысль и нарисовать чёткую картинку в голове собеседника.
Но иногда одних слов недостаточно. Для полного взаимопонимания бывает необходимо ещё и показать собеседнику, что вы имеете в виду. Обычно для этого берут карандаш и клочок бумаги и быстро, несколькими штрихами, рисуют схему или набросок.
Судя по всему, разработчики нейросетевых моделей тоже об этом подумали, потому что сразу на нескольких платформах в конце прошлого года появился инструмент, выполняющий именно такую функцию. На сегодняшний день он уже есть в Leonardo AI, где называется Realtime Canvas ("холст в реальном времени"), в StarryAI, где его назвали Magic Canvas ("волшебный холст"), и в KREA, где скромно прячется в разделе Img2Img. Напомню, что перейти в него можно сразу с главной страницы платформы по клику на карточку Real-time Generation или, если вы уже находитесь на странице генерации по тексту — нажав на вторую сверху кнопку в левой панели меню.
Принцип работы этого инструмента везде один и тот же: в дополнение к текстовому описанию пользователь очень условно набрасывает макет будущей картинки. Это может быть простая схема: основные цвета и расположение объектов, или, если вы хотя бы немного умеете рисовать (и у вас есть возможность делать это сразу на вашем устройстве), чуть более детальный набросок.
Вернёмся немного назад, к первому знакомству с обновлённой версией KREA. Тогда в разделе генерации картинок нас встретила вот такая амфибия:
Левую часть экрана занимает то, что здесь называется холстом — поле с геометрическими фигурами, причём их цвета совпадают с цветами объектов на картинке справа. Поле для ввода текста не пустует: по умолчанию оно уже заполнено описанием сцены (pink frog on top of a blue mushroom). Если теперь подвигать розовый круг и синий квадрат по холсту, то одновременно начнут перемещаться розовая лягушка и синее нечто, на котором она сидит (по описанию это гриб):
Геометрические фигуры здесь — это условные обозначения объектов в сцене; они совсем не обязательно должны полностью совпадать с готовыми объектами по форме и цвету, хотя и будут стремиться к этому. Основная идея заключается в том, что вы получаете гораздо больший контроль над результатом, чем при использовании одного лишь текста: перемещая фигуры и изменяя их цвет и размер, вы более гибко настраиваете композицию и палитру будущего изображения. Вы можете указать нейросети конкретное расположение объектов на картинке, их относительные размеры и плюс-минус — цветовую гамму (последнее для верности желательно ещё и описать словами).
Посмотрим поближе на основное меню раздела Img2Img:
Кнопки меню не подписаны по умолчанию; надписи появляются только при наведении курсора. Разберёмся, за что отвечает каждая из них.
Холст
Внизу списка расположена кнопка Canvas Background, или "фон", или "холст". При нажатии на неё открывается окно выбора цвета, в котором вы можете задать цвет и прозрачность фона. В левом верхнем углу находится маленькая пипетка: этот инструмент позволяет взять образец цвета из любого места на вашем экране — не только из текущего окна, а вообще отовсюду.
Пусть фоновым цветом будет тёмно-синий. Для выбора сюжета картинки добавлю элемент неожиданности и брошу кости, то есть нажму на кнопку "случайный выбор" с изображением игральных костей. Нейросеть выдала мне описание маяка. Маяк так маяк, с ним и буду работать дальше.
Если даже на холсте не будет никаких фигур, благодаря описанию в текстовом поле KREA всё равно нарисует маяк, а выбранный мной тёмно-синий цвет будет определять общий тон и настроение картинки:
Если теперь поменять цвет фона на тёплый оранжевый, то освещение и время суток на картинке изменятся соответственно:
Помимо сплошной заливки, на фон можно поместить фотографии, текстуры и иллюстрации из предустановленной коллекции. Для выбора нужно переключиться на интересующую вас вкладку в верхней части окна Background:
Фигуры
Теперь перепрыгнем на три пункта вверх до кнопки Shapes (фигуры). Фигуры — самый простой способ создать объект на холсте для тех, кому сложно рисовать мышкой (или сложно рисовать в принципе).
Нажимаем на кнопку Shapes, появляется вложенное меню с тремя базовыми фигурами: квадратом (четырёхугольником), кругом (овалом) и треугольником.
Из них можно составить все остальные фигуры любой сложности, хотя, как вы увидите дальше, высокая точность и не потребуется. Просто кликните на выбранной фигуре, а затем — на холсте и, не отпуская кнопки мыши, потяните. Пропорции, ориентацию и размер можно изменять, используя рамку выделения. Кликните на один из маленьких квадратных маркеров и, не отпуская кнопки, потяните в нужную сторону. Угловые маркеры увеличивают или уменьшают фигуру пропорционально, боковые — искажают, а верхний выносной отвечает за поворот.
Фигуры могут располагаться внахлёст, перекрывая друг друга. Для упорядочивания таких стопок под рамкой выделения есть кнопки со стрелками: переместить на одну позицию наверх, на одну позицию вниз или в самое начало/конец стопки. Кроме того, последними двумя кнопками выбранный объект можно дублировать или удалить (хотя для удаления подходит и клавиша Delete).
Фигуры можно и перекрашивать. Для этого сначала выделите нужную кликом мыши. Вы увидите, что в боковом меню цвет кнопки Select & Move (выбор и перемещение) изменился в соответствии с цветом выбранной фигуры. Теперь, если навести на кнопку Select & Move курсор, появится почти такое же окно выбора цвета и прозрачности, как и для фона, только в нём не будет возможности выбрать рисунок или текстуру.
Не буду отходить от сюжета и составлю из двух четырёхугольников и треугольника условный маяк, а в небо добавлю условное светило.
Пока мало что изменилось, поскольку моя схема, по сути, повторяет то, что уже и так было сгенерировано нейросетью. Разве что солнце KREA полностью проигнорировала.
Попробую превратить день в ночь и добавить скалистый берег. Для этого вернусь к пункту Canvas Background и поменяю цвет фона на фиолетовый, а из тёмно-серых прямоугольников и треугольника составлю условные скалы:
Картинка изменилась в соответствии с новыми цветами и композицией, только вот светила по-прежнему нет. Чтобы это исправить, добавлю упоминание луны (и для верности ещё и скал) в текстовое поле.
Сработало — в небе засияла луна, а маяк при этом автоматически выключился. Похоже, нейросеть решила, что в такую ночь и без него всё видно. Думаю, если настоять на своём и дорисовать луч света от маяка, KREA придётся включить его обратно, но я этого делать здесь не буду. Попробуйте сами :)
Если вас устраивает результат, картинку можно отправлять на доработку в раздел Enhance. После финальной обработки и увеличения пейзаж выглядит вот так:
А вот пример использования простых геометрических фигур для составления относительно сложного объекта. Здесь я определяю позу героини сюжета, фасон и цвет её платья, а для фона вместо сплошной заливки использую фото ночного города из вкладки Photos меню Canvas Background:
Фоновое изображение города не повторяется в точности, но определяет основную композицию, угол зрения и освещение готовой картинки.
Кисть
Если у вас есть графический планшет или другое устройство, позволяющее вам рисовать с большей точностью и комфортом, чем мышью, возможно, вам будет удобнее и привычнее использовать инструмент Paint Brush (кисть).
Кликаю на кнопку в боковом меню, и этот пункт становится активным. Теперь достаточно поместить над ним курсор, чтобы появилось ещё одно окошко выбора цвета, прозрачности и диаметра кисти:
Каждый штрих кисти на холсте сразу превращается в самостоятельный объект, или фигуру. К нему становится применимо всё то, о чём говорилось выше в разделе "Фигуры". Но можно и просто рисовать привычным способом, добавляя новые штрихи поверх старых. Если все они будут одного цвета, вы и не заметите, что перед вами не один цельный объект, а куча разнокалиберных.
Для демонстрации возможностей кисти мне захотелось нарисовать зелёного зайца в красной траве. Заливаю фон тёмно-красным, беру зелёную кисть и рисую грубый силуэт зайца. К сожалению, среди инструментов пока нет ластика, поэтому лишнее приходится закрашивать сверху кистью того же цвета, что и фон. В конце добавляю несколько красных травинок разной толщины. Чтобы нейросеть правильно интерпретировала мою мазню, ввожу текстовое описание: a green hare sitting in red grass:
Картинка после обработки. Левое ухо странно вывернуто, но в целом неплохо:
Загрузка изображения
Последний неизученный пункт меню Img2Img — Add Image, "добавить изображение". Нажимаете на него, и открывается проводник для выбора файла.
Картинка помещается на холст как отдельный объект очень маленького размера, а вы уж сами увеличиваете её как требуется. Для этого желательно тянуть за угловые маркеры на рамке, чтобы сохранить пропорции (если, конечно, вы специально не хотите её сплющить).
Под выделенной картинкой появляется почти такой же набор инструментов, как и под фигурами, с одним добавлением: основной объект, как KREA его видит, она может вырезать из фона. За это отвечает кнопка с изображением ножниц.
В моём примере фон простой и однородный, так что проблем с вырезанием кружки у KREA практически не возникло. С крендельками оказалось сложнее, но в данном случае точность, повторюсь, не важна.
Всё это время в текстовом поле у меня сохранялось описание сцены с девушкой, идущей по ночному городу. Поэтому её нейросеть и нарисовала, но на этот раз с учётом кружки пива в качестве референса. Из фотографии были позаимствованы композиция, цвет, свет и тень:
KREA не просто превратила кружку в освещённое цилиндрическое здание: светлые колосья стали пятном света на бетонной стене такого же оттенка, а крендельки мутировали в ряд фонарей и бликов от них на тротуаре.
Важное дополнение: AI Strength
В режиме генерации по картинке на плавающей панели для ввода текста появляется синий ползунок AI Strength. Этот параметр определяет, насколько результат генерации будет похож на исходную картинку.
Если увести ползунок до упора вниз, установив минимальное значение 0,1, то результат генерации будет почти полностью совпадать с тем изображением, которое находится в левой части экрана. В моём примере это натюрморт с пивом, колосьями и крендельками. Чем выше значение AI Strength, тем больше в итоговой картинке проявляется текстовое описание и меньше остаётся от исходного изображения.
Оптимальное значение вы можете определить сами, двигая ползунок вверх-вниз. По моему опыту, лучшие результаты получаются в диапазоне между 0,5 и 0,67: в этом случае нейросеть выполняет все условия, описанные в тексте, но при этом берёт максимум информации и из левой части экрана, с холста. На первом скриншоте с пивом и девушкой значение AI Strength составляло как раз 0,66. Но в конечном счёте всё зависит от вашей конкретной цели.
Как видите, способ генерации изображений "живой холст" предоставляет ещё больше возможностей для управления и контроля. Это значит, что нейросетевые картинки становятся чуть ближе к традиционному искусству, когда человек сам решает, что он хочет создать и каким это должно быть.
Определённо это шаг в верном направлении.