Продолжаем наше изучение возможностей нейронных сетей, а именно Stable Diffusion. В этой части речь пойдёт о рисовании. Именно «части», ведь я не считаю себя учителем, который вправе давать кому-то уроки.
Сегодняшняя статья, увы, подойдёт не всем. У меня самого спастико-гиперкинетическая форма ДЦП, и руки работают, мягко скажем, неидеально, и мне рисование в нейросети далось непросто, потому что всё-таки хоть какая-то точность движений нужна, и прямая линия должна быть хотя бы примерно прямой. На скриншотах вы можете оценить, насколько «ровно» я рисовал и что в итоге получалось.
Sketch (или по-русски «скетч») – это набросок, зарисовка. Собственно, соответствующий подраздел во вкладке img2img и предназначен для того, чтобы наброски превращать в полноценные картинки и фотографии. Под картинками я подразумеваю различно стилизованные изображение, всё, что можно назвать графикой.

Идея в том, что в левой части окна мы рисуем, что хотим увидеть, а в правой – получаем готовый результат. Это чем-то похоже на inpaint, о котором мы говорили в прошлый раз, когда добавляли дракона на картинку с медвежонком, но тут в отличие от inpaint есть цветовая палитра, позволяющая выбрать цвет для рисования.
Работает это следующим образом: вы условно набрасываете то, что хотите видеть на фотографии, – например, небо, море и яхту. И на выходе получаете фотографию яхты, плывущей по морю под небом. Почему бы просто не написать всё это промтом и не ломать пальцы о своё самолюбие художника? Да потому, что детали на получившейся фотографии будут почти идеально совпадать с тем, как вы разместили изображаемое на эскизе. Например, вы нарисовали яхту на полпути к берегу, плывущую в её направлении — именно такую вы и получите. Как вы уже догадались – это вполне можно использовать для позинга (постановки персонажа в определённую позу), но это лишь один метод, и, на мой взгляд, не самый удобный. Потому о позинге – как-нибудь потом.

Думаю, зачем нужны скетчи – понятно. Но попытавшись провернуть этот фокус во Flux, я столкнулся с тем, что просто невозможно подобрать правильный denoising strength – либо слишком сильные изменения, либо графика. Потому я временно вернул нашу горячо любимую Deliberate 6 и экспериментировал уже с ней. Давайте вспомним настройки по умолчанию для этой модели:
Разрешение 600х600 (можно попробовать и большее, поскольку модель может генерировать изображения размером 1024х1024), Sampler – Euler a, Sample steps – 22, SFG scale – 7. Также не забываем про Negative prompt. Помните, стандартный, который используется по умолчанию в Stable Diffusion Portable:
(deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation

Разумеется, использовать Deliberate можно в Forge WebUI, держать для этого Portable версию отдельно не обязательно. Выставляем приведённые выше параметры и генерируем абсолютно любое изображение. Не важно, что на нём будет – нам оно нужно как холст. Перекидываем его во вкладку Img2img, нажав под получившимся изображением иконку с картиной, а там нажимаем под появившимся изображением to sketch.
Собственно, интерфейс нам уже знаком. Единственное отличие от того, что мы видели в Inpaint, – палитра выбора цвета и настройки кисти – brush width, brush opacity и brush softness. Это толщина кисти, прозрачность мазка и мягкость кисти.
Набрасываем то, что хотим увидеть на итоговом изображении – допустим — всё те же небо и пляж, и описываем в промте то, что мы изобразили ключевыми словами – sky, beach. А затем добавляем в промт слово photo, ну, или иной токен, в зависимости от того, что хотим получить на выходе, – anime, cartoon (мультипликация) и прочее, с этим вы уже знакомы.
Дальше, как и при расширении изображения, нужно выставить показатель Denoising strength (напомню, это воображение нейросети – то, насколько вы разрешаете ей додумывать, в какой степени отходить от оригинала). За отправную точку возьмите показатель в 0.66 и увеличивайте\уменьшайте, ориентируясь на то, что у вас получается. Для каких-то изображений достаточно 0,66, а где-то и 0,85 будет мало. Сразу объясню, почему нельзя просто влупить 1 и не парится – потому, что свой скетч вы там не рассмотрите. Главная для нас задача, чтобы всё было как на наброске – дед сидит на лавочке и держит трость правой рукой. Если мы поставим 1 – деда мы, наверное, получим, а вот трость с лавочкой – совсем не факт.
Рисовать надо в перспективе, то есть в трёхмерном пространстве, мысленно намечая направляющие и прорисовывая основные линии. Подробнее на этом останавливаться не будем – кто рисует, и так знает, что это такое, кто не рисовал прежде – погуглите, в рамках гайда это довольно долго объяснять, и там лучше просто один раз увидеть все направляющие линии и пути построения.

Также поскольку Deliberate – это не Flux-модель, то и CFG Scale, возможно, придётся подвигать, это, напомню, величина, определяющая, насколько строго изображение должно соответствовать ключевым словам. Хотя лично я в своих экспериментах оставлял значение по умолчанию, меняя только Denoising strength.
Напоследок пара рекомендаций:
-Если вы крутите Denoising strength, а на выходе вместо фото получаете иллюстрацию, – добавьте больше деталей, таких как пуговицы на одежде, поворот стоп, ботинки, набросайте пальцы – очень условно, но это даст нейронке понять, что вам нужно фото, а не иллюстрация.
-Если рисуете людей – рисуйте их голыми. И это не потому, что я такой извращенец, а потому, что здесь важно ответить на очень простой вопрос, что такое одежда? Это слой ткани, который покрывает тело. Нейросеть считает точно так же, потому мы сначала телесным цветом рисуем силуэт, а потом поверх, уже повторяя свои линии, рисуем одежду. Иначе вы рискуете получить плоскую футболку или штаны без тела под ними.
Пробуйте, и я уверен, что со временем у вас всё получится.
Фото: автор
Специально для Агентства Особых Новостей (on24.media)