Как убрать текст с обложки манги за 10 минут

До и после. Слева до, справа после
До и после. Слева до, справа после

Итак, вам понадобятся:

  • Свежий web-gui от Automatic1111
  • Расширения sd-webui-controlnet и canvas-zoom
  • Скаченная (и правильно установленная!) модель для ControlNet inpaint:
    https://civitai.com/models/38784?modelVersionId=44876
  • Какая-нибудь базовая модель (checkpoint). Раз уж мы чистим обложки для манги, то пойдут анимешные Hassaku или Cetus-Mix

Больше ничего не надо. Ладно, поехали.

1. Считаем размер изображения

Всё происходит во вкладке txt2img!

  1. Возьмите обложку манги. Смотрите на разрешение изображения. Для чего это? А затем, что лучший результат получается, если генерить в разрешении от 512 до 1024 пикселей, а значит нужно правильно высчитать пропорции. У меня обложка была 760x1200, поэтому размер генерации будет 512 на 808. Если лень считать, просто делите на 2 и всё.
Как убрать текст с обложки манги за 10 минут

2. Подбираем промпт

В поле с промптом просто тегайте всё, что находится на обложке. В стиле booru, естественно, у нас же аниме. Только не пишите manga cover или что-то подобное - повышает вероятность генерации текста ☝ . Также не забудьте добавить в конце заклинание (best quality, masterpiece:1.2). Вот что вышло у меня:

toga himiko, 1girl, short hair, blonde hair, solo, yellow eyes, open mouth, fangs, hair bun, looking at viewer, messy hair, teeth, yellow nails, white background, bags under eyes, nail polish, (best quality, masterpiece:1.2)

В негативном промпте всё стандартно:

EasyNegative, badhandv4, (worst quality, low quality, normal quality:1.4), (text, title:1.2)

3. Подключаем ControlNet

Мы что хотим сделать-то? Мы хотим дорисовать то, что скрыто текстом и сделать это так, чтобы не выбиваться из стиля обложки.
Поэтому нам понадобится два э... инстанса/юнита ControlNet'а. Один будет отвечать за перенос стиля (reference), а другой за "замазывание" (inpaint). Так, раскрываем ControlNet, берём исходную обложку и суём её в окошко первого инстанса (Unit 0). Сразу же жмякаем по флажку Enable! Control Type выбираем Reference, препроцессор оставляем reference_only. Control Mode переключаем на ControlNet is more important.

Всё равно забудете нажать
Всё равно забудете нажать

С первым ControlNet'ом закончили, переключаемся на второй (Unit 1). Точно также первым делом кликаем на Enable, потом копируем изображение. Тип выбираем на этот раз не Reference, а Inpaint, препроцессор меняем на inpaint_only+lama и снова переключатель на ControlNet is more important.

Настало время рисовать, ага. Во вкладке со вторым ControlNet'ом (тот что inpaint) прямо на картинке рисуйте маску. Вот так, например:

Жирная, нажористая маска
Жирная, нажористая маска

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

Работать должны сразу 2 инстанса
Работать должны сразу 2 инстанса

Финальная настройка и результат

Сразу покажу свои обычные параметры:

Сначала думал оставить Sampling steps на 34, но потом решил, что это уж слишком
Сначала думал оставить Sampling steps на 34, но потом решил, что это уж слишком

Наконец-то нажимаем Generate. Если всё прошло успешно вы увидите что-то вроде

"Выбери своего бойца"
"Выбери своего бойца"

Как вы видите, результат ужасен. Формы поплыли, но обратите внимание на совпадающий с оригиналом стиль. Есть и хорошая новость - количество попыток неограниченно. Поэтому генерируем до тех пор, пока результат будет хоть сколько-нибудь приемлем.

Увидев приличную генерацию фиксируйте её Seed и включаем Hires. fix. Настройки:

Думаю, вы без труда подберёте нужный апскейлер
Думаю, вы без труда подберёте нужный апскейлер

Почему увеличиваем именно в 1,48 раз? Чтобы снова вернуться к оригинальному разрешению. Но опять же вам советую просто увеличивать (но сначала уменьшать) в 2 раза - просто и понятно. Теперь чуть более чистый рисунок можно снова бросать в ControlNet Inpaint, замазать новую область и снова генерировать, пока не повезёт.

Внимание! Изображение в ControlNet Inpaint - это ваше финальное качество, поэтому пихать туда можно только то, что прошло через Hires. fix. Забудете - качество конечного результата будет как земля.

В общем-то всё. Что не понятно - гуглите самостоятельно.

P.S. Внимательные читатели должно быть заметили, что я не упомянул зачем мы добавляли расширение canvas-zoom. Разобраться зачем оно нужно оставляю в качестве домашнего задания. После 5-го нанесения маски в малюсеньком окошке вы обязательно про него вспомните )

11
3 комментария

Комментарий недоступен

5
Ответить

Комментарий недоступен

3
Ответить