Нейросети делают bonK [#1.5]

Автор: Евгений Нетт

... или чего ещё можно делать помимо самой генерации? 

В комментариях под прошлым блогом один из читателей упомянул в числе прочего о функции inpaint, которой пользуются не все. Что это такое? Если вкратце - возможность заставить сеть перерисовать некую часть изображения, выделенную маской (по сути кисточкой закрашенную в интерфейсе SD) с учётом новых требований.

Это не гайд, а небольшая демонстрация возможностей! 

В качестве примера мы будем рассматривать одну мою старую, наполовину удачную генерацию. И эту половинчатость будем исправлять. Надеюсь, банхаммером по голове 18+ не влепят))

Что мы тут видим? Ну, кроме красивой девушки и интересной позы, конечно же? Во-первых, неведомо что на спине. Какая-то нелепая половинка джетпака. Что с ней делать? Пропускать через inpaint, конечно же!

И сразу представляю россыпь вариантов, которые у нас получились:

Трубы и ящики нас интересуют мало, так что генерируем дальше. Пока в промты не лезем просто потому, что нейросеть ещё не показала всё, что может. И спустя ещё пяток генераций (по десять секунд на каждую!) получаем уже что-то приемлемое:

Но что же это? Попе плохо! А если кому-то плохо, то это надо исправить. Чем мы и занимаемся.

И по ходу процесса получаем весьма недурственное бедро. Решаем оставить его для последующих генераций:

Тем не менее, у нас всё ещё проблемы с пятой точкой. Теперь фокусируемся конкретно на ней, попутно промтами пытаясь подсказать сети, что сие есть попа, а не что-то ещё.

И очередной вариант нас полностью устраивает!

Вот только теперь глаз цепляется за неаккуратный пучок волос и лишние, слишком яркие источники света - остатки от джетпака и какой-то люстры. Пробуем сотворить с ними недоброе:

Что ж, с пучком волос совладали, это уже хорошо:

А вот с люстрой и светом пока боремся.

И очередная попытка приносит нам успех. Прощай, люстра! 

Осталась мякотка - рыжий свет у ноги. Рука уже набита, так что начинаем нашу казнь:

Один из вариантов почти выпиливает свет, но теперь в глаза бросается ещё и рыжина за волосами. Добавляем пункт под исправление и продолжаем экзекуцию:

По ходу решаем всё-таки поправить волосы сразу. И быстро цепляемся за хороший проходной вариант:

Так как результатов с левым нижним углом нет, было решено выделить маской его весь, по границам ноги. Но дальнейшие генерации нам совсем не нравятся, потому что нейросеть явно не понимает, чего мы от неё хотим, и промты тут не помогают. И как быть?

Как говорил один небезызвестный блондин - "Проклятье, Stable Diffusion! Как будущий король, я приказываю тебе!...".

Но нет, так это не работает. Яриться бесполезно, надо что-то менять. Было решено воспользоваться так же функцией inpaint sketch, которая позволяет намалевать что-то на изображении. Нижний левый угол был выкрашен в голубой, и уже это изображение отправилось на дальнейшую обработку. Покрасить можно и в интерфейсе нейросети этой самой функцией, и в любом редакторе, хоть в пэинте. Сути это не меняет: мы закрашиваем ненужное интересующим нас оттенком, и кормим нейросеть уже этим исходником. 

Но не тут то было: сеть слишком вольно интерпретирует голубой ;)

Что ж, тогда красим всё в серый, пипёткой цепляя оттенок зданий на фоне у ног. Ну, и чего?

Там что, ситхи на фоне?

Нет повести печальнее на свете, чем повесть о кривой ноге. Но мы не сдаёмся, ведь если не получается взять качеством - можно забросать врага трупами взять количеством. И спустя два десятка генераций мы получаем то, что можно считать хорошим результатом. Не идеал, но нам тут оно и не надо, правда (проду писать-то когда тогда?)?

Осталась самая малость - "центрировать" сию миледи, дорисовать ей руки и ещё по мелочи. Но этим мы займёмся на днях, если отклик будет не хуже, чем на просто прикольные генерации ;)

+171
747

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

140K 15K 19
Наверх Вниз