January 14, 2023

Как раздеть свою девушку с помощью AI

Первым делом следует скачать все нужные файлы:

Далее:​

1. Установить Python (во время установки поставить галочку "Add Python to PATH", если проебешься, то потом можно исправить через простановку адреса через set PYTHON= в webui-user.bat), ОБЯЗАТЕЛЬНО СТАВИТЬ ВЕРСИЮ ПИТОНА Python 3.10.6. Работа с другими версиями не гарантируется.

2. Установить Git, там много галочек и выборов, ничего не трогай, просто жми много раз некст.

3. Скачать свежий релиз оболочки для нейросети WEB-UI:

Вариант 1: через GIT. Выбираешь место установки (создаешь папку), нажимаешь ПКМ, Git Bash Here, прописываешь

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

Вариант 2: вручную поместить скачанную папку с WEB-UI в желаемое место (финальный вариант занимает около 10гб, имейте в виду)

4. Для любых операций для замены, удаления объектов на любых изображениях по стандарту используется специально обученная модель реалистичных изображений Inpainting. Любые другие модели также могут быть использованы для подобных операций, главное подкрутить ползунки (а еще можно смерджить другую модель с инпаинтингом, но об этом ниже).

Скачать модель отсюда:

И поместить (не распаковывать) сюда: Stable-Diffusion\models\Stable-diffusion\

  • Полный путь будет "Stable-Diffusion\models\Stable-diffusion\sd-v1-5-inpainting.ckpt"

5. Открываем любым редактором в корневой папке webui-user.bat. В этом файле нам преимущественно будет требоваться только одна строка атрибутов.

Полезные атрибуты​

Из атрибутов при первом запуске нужны только medvram/lowram и/или opr-split-attention, остальные можно добавлять при следующих запусках, когда видите что сетка хотя бы запускается.

--medvram

Сетка очень сенситивна к объему памяти видяхи, поэтом этот атрибут обязателен всем, у кого карта 4 ГБ и ниже.

Если карта от 3 ГБ и ниже, сеть скорее всего не запустится вообще, но в этом случае поможет атрибут.

--opt-split-attention

Таким образом часть ресурсов будет забираться из оперативной памяти, что немного уменьшит скорость генерации, но повысит стабильность и запуск. Если у тебя топовая карта, то эти атрибуты можно проигнорировать.

--xformers

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

Как установить xformers:

  1. Прописать в атрибутах подряд:
--reinstall-xformers --xformers

  1. Дождаться установки, запуска сети
  2. Закрыть сеть
  3. Удалить --reinstall-xformers, оставить только --xformers

Плагин работает с картами от GTX 1050 и выше.

--autolaunch

При запуске нейросети генерируется локальный хост и дается ссылка для перехода, данная команда сама открывает интерфейс в браузере (по умолчанию) после запуска.

--gradio-img2img-tool color-sketch --gradio-inpaint-tool color-sketch

Расширяет функции маскинга. Можно например заставлять тяночку нагенеренную отвернуться от камеры нарисовав на лице черный круг. Или сделать блики на теле белой маской. Или сделать кошкожену. Или маскировать контекстным цветом чтобы в глаза сильно маска не бросалась. И многое другое.

По итогу строка атрибутов будет выглядеть так:

Полезные атрибуты для процессоров

Так выглядит webui-user.bat если не хватает видео памяти на видяхе (правой кнопкой на webui-user.bat, удалите (опционально забекапьте) всё и вставьте это):

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--skip-torch-cuda-test --precision full --no-half --lowvram --opt-split-attention
set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.6,max_split_mb:128

call webui.bat

Запускается чисто на процессоре (видяха древняя нвидеа на 1гб) На процессоре i5-3450 - на одну фотку 15 минут уходит(50 кадров), поэтому выбирайте быстрые семплеры Euler или Euler a и ставьте кадров 10 для тестирования.

6. Запускаем webui-user.bat в корневой папке. Скрипт начнёт дозакачивать всё нужное (лично у меня это заняло около получаса), плюс имейте в виду на будущее, что во время использования может потребоваться скачать еще что-то (например во вкладке апскейлеров все они докачиваются отдельно), оно само там скачается, не торопись, не трогай ничего и просто жди, можешь в командную строку посмотреть че там происходит.

6.1 По окончанию загрузки в консоли появится сообщение с IP адресом, открываем его в браузере - там находится сам интерфейс. Либо он откроется сам, если прописан аргумент автоланча.

Если сеть не запускается и у тебя включен VPN, то отключи его.

Как пользоваться сетью Inpainting метод

Для начала работы проверь, что загружен требуемый модуль слева сверху в боксе Stable Diffusion checkpoint, в нашем случае это sd-v1-5-inpainting.

Далее переходим во вкладку img2img, там две подвкладки img2img и Inpaint.

Img2img используется для контекстной генерации на основе изображения без использования маски, Inpaint с использованием маски. Тебе нужно выбрать Inpaint.

Сверху есть два поля Prompt и Negative, в первый нужно писать команды, которые должна юзать нейросеть, во второй то, что ей надо избегать. Без заполнения второго поля 99% изображений будут говном.

Для уменьшения мозгоебки просто вставь во второе поле:

deformed, bad anatomy, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, missing limb, floating limbs, disconnected limbs, malformed hands, out of focus, long neck, long body, monochrome, feet out of view, head out of view, lowres, ((bad anatomy)), bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, jpeg artifacts, signature, watermark, username, blurry, artist name, extra limb, poorly drawn eyes, (out of frame), black and white, obese, censored, bad legs, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, (extra legs), (poorly drawn eyes), without hands, bad knees, multiple shoulders, bad neck, ((no head))

Или:

lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, poorly drawn hands, poorly drawn limbs, bad anatomy, deformed, amateur drawing, odd, lowres, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, poorly drawn hands, poorly drawn limbs, bad anatomy, deformed, amateur drawing, odd, lowres, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, poorly drawn hands, poorly drawn limbs, bad anatomy, deformed, amateur drawing, odd, lowres, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts

Или:

lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name, futanari, girl with penis, blood, urine, fat, obese, multiple girls, lowres, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, jpeg artifacts, signature, watermark, extra fingers, mutated hands, (multiple penises), (disembodied), (poorly drawn hands), (poorly drawn face), (mutation), (deformed breasts), (ugly), blurry, (bad anatomy), (bad proportions), (extra limbs), animal ears, extra ears, ((pubic hair)), ((fat)), obese, (ribbon), realistic eyes

Можешь в принципе все вместе, но там много повторов.

Первое поле управляется командами, синтаксис почитать можешь отдельно, но базовые правила такие:

  1. Сеть реагирует на капслок (незначительно, особенно явно видно на низких разрешениях: допустим без капслока кривая тень имелась, а с капслоком она фиксанулась).
  2. Сеть ранжирует ключевые слова по символам комментирования и их количеству, то есть чтобы получить более точный результат надо расписать что-то типа ((photorealistic)) (small) shit. Значения в скобках ( ) увеличивают свое влияние, значения в скобках [ ] уменьшают свое влияние. Вместо ( ) скобок можно использовать { }.
  3. Позиция кейворда влияет на генерацию, поэтому самое главное пихай в начало или комментируй знаками.
  4. Можно комментировать комментированное.
  5. Дублирование одинаковых кейвордов особо результата не даёт (в смысле вы получите примерно то же самое, но немного другое визуально, может лучше, может хуже).
  6. Можно использовать мультиплаеры - негативные и позитивные - достаточно прописать через двоеточие число от 0 до 1 для уменьшения влияния, и число от 1 до 2 (цифра два не рекомендуется, скорее всего сеть сломает изображение, оптимально работающий максимум это 1.4-1.5) для увеличения влияния. То есть допустим ты хочешь narrow thighs, а сеть тебе рисует жируху? Просто пропиши ей увеличивающий мультиплаер narrow thighs:1.5.

В недефолтных моделях мультиплаеры могут быть расширенными и жрать значения выше 1.5, или ниже 0.1, то есть если вы мерджите много разного и у вас почему-то сиськи с small chest:1.2 не уменьшаются, то возможно стоит прописать small chest:3.

  1. Можно писать кейворды через запятую, тогда сеть будет с каждой итерацией пытаться сгенерировать дополнительное к уже готовому последовательно ранжированному. А можно писать блоками слова подряд, тогда сеть каждый блок будет генерировать комплексно.
  2. Артикли писать не нужно (но можно, особенно если пишите описания энвайронмента типа in the morning forest near the city). Хочешь BREAST WITH A BIG NIPPLE, то пиши просто BREAST BIG NIPPLE или BREAST WITH BIG NIPPLE, запомни, что более конкретный запрос - более лучший результат.
  3. Можно писать многосоставные запросы без пробелов, например SMALLSIZE, 1girl и так далее. Нередко дает лучший результат.
  4. Есть годная команда AND, совмещай ею разные отдельные вещи, допустим вместо naked body, naked breasts, big ass пропиши naked female body with naked breasts AND big ass (внимание, длительность генерации увеличивается пропорционально количеству AND в промпте).
  5. Можно использовать знак | в качестве сепаратора условий. допустим есть:

a busy city street in a modern city|illustration|cinematic lighting

Что генерирует сеть:

Базовый пример: есть фото, там тян, ее нужно раздеть. Что писать? Верно: nude body, nude breasts.

Да, этой команды достаточно для полного раздевания практически любой фотографии.

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

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

Дальше кнопочки Draw mask и Upload mask, собственно все ясно.

Алсо маски не обязательно рисовать точно по контуру объекта, наоборот лучше заходить ЗА контур.

Inpaint masked/unmasked без коментов.

Masked content:

Fill - генерация с нуля на основе значений из первого поля сверху, в малой степени задействование базовой фигуры на изображении. Чтобы не получить артефакты с готовым фото выкручиваешь Denoising strength на 1.

Original - берется базовое изображение за основу. Блендинг с основной фигурой регулируется через Denoising strength.

Latent noise и Latent nothing преимущественно для удаления мелких деталей и артефактов на готовых итерациях.

Inpaint at full resolution - увеличивает область маски, обрабатывает, уменьшает, помещает обратно на место маски, короче - для экстра детализации, галочка чек

Inpaint at full resolution padding, pixels - влияет на чекбокс выше, даёт ИИ информацию об объектах вне маски на указанное пиксельное расстояние для более точной генерации, очень полезная штука, позволяет делать корректные генерации если маска не выходит за рамки объекта, например в одежде (генерировать декольте например, или разрез платья спереди от груди до пояса), ну и чтобы генерировать всякую херню на изображении корректно.

Дальше виды ресайза. Большую часть времени ты будешь юзать Just resize.

Sampling Steps - количество проходов, напрямую влияет на время и качество генерации.

Sampling method - тут долго писать про каждый метод, ну в общем там есть как более простые и быстрые, так и более реалистичные и сложные. Погенери каждым на одном и том же сиде и реши какие тебе лучше. Для тестовых прогонов больше 10-20 итераций как правило не нужно. Для наглядности:

Width и Height - ширина и высота, для корректной работы сетки нужно подогнать под пропорции оригинального изображения. Имей в виду что сеть некорректно работает с особо низкими разрешениями, ставить лучше от 256 пикселей по короткой стороне, в крайнем случае 192 просто потестить побыстрому.

  • ВНИМАНИЕ, если у вас ТОП карта, то не нужно ставить больше 768 пикселей по длинной стороне, а если мидл и ниже - не ставьте больше 512. В этом нет никакого смысла, все годные изображения можно апскейлить после генерации хоть в 4К с помощью нейронки. Лучше вместо большого разрешения ставьте больше шагов генерации.

Restore faces - уберполезная фича фиксящая лица и кривые глаза, докачивает плагины при использовании, есть два типа восстановления, каждый можно выбрать в Settings - Face restoration.

Tiling - создавать бесшовные текстуры, тебе не надо.

Batch size - сколько создастся изображений за один проход, batch count - сколько проходов будет. В чем разница? В потреблении видеопамяти. Если у тебя ее мало, то лучше крути Batch count для множественной генерации.

CFG Scale - балансировка между ЛУЧШИМ КАЧЕСТВОМ (лево) и УДОВЛЕТВОРЕНИЕМ КЕЙВОРДАМ (право). Будешь крутить постоянно. Балансировка постоянно двигается в зависимости от модели, так что если в одной модели перфект поинт на 3.5, то в другой там будет пиздец скорее всего.

Denoising strength - еще одна крутилка которую будешь постоянно крутить, это кароче типа смешивателя, определяет насколько будет нейросетка опираться на базовое изображение.Применение: нароллил годные по виду сиськи, но они анимешные? Не беда, выбери силу диффузии 0.5 и наролль реалистичные поверх них.

Seed - сид значение, якорная точка генерации. Так как нейросети рандомят, то не всегда получается нужное, вот для таких ситуаций и существуют сидфразы - запомнить годную сидфразу из которой получился годный результат чтобы сетка вокруг нее гуляла и сильно ее не косоебило. Все сидфразы пишутся справа снизу под нагенеренной фоткой. Алсо для разных моделей можно напиздить чужих сид фраз стабильных на всяких AIBooru.

Во вкладке Extra штука для большей рандомизации и перебора:

Variation Seed - надстройка под Seed добавляющая другой вариант сида для новой генерации не меняя основной сид. Variation strength регулирует степень влияния нового сида. Ресайзы сидов по высоте и ширине изменяют вариэйшен сид.

Наверху также есть вкладка Settings, как уже было ранее сказано оттуда нужно только восстановление лица, но есть еще две опции нужные:

  1. Eta noise seed delta, ее можно конечно и не выставлять, но например у NovelAI сид шума определен и составляет 31337.
  2. Apply color correction to img2img results to match original colors, не всегда работает корректно.

Сам процесс для совсем ленивых новокеков в этой теме за 5 сек

Идешь в настройки и включаешь опцию "Apply color correction to img2img results to match original colors" зачем, из названия понятно. Если во время генерации случаются явные пересветы или недосветы, то отключай обратно Apply color correction to img2img results to match original colors (в примере ниже надо в состоянии выкл как раз).

По завершении установки сразу же берешь фотку отсюда:

Настраиваешь нейросеть так:

Кейворды которые во втором поле написаны выше по тексту.

Далее жмешь Generate и, если ты все правильно сделал, у тебя получится что-то похожее на вот это (возможно в трусах, тут зависит от того как ты нарисуешь маску):

Дальше можешь экспериментировать с ползунками, значениями, менять режимы семплирования, пиздить чужие значения, писать всякую запрещенку, прогонять по 300 раз один и тот же файл используя как референс прошлый чтобы уточнять качество и так далее. Смысла расписывать нет.

Все твои генерации никуда не удаляются, а бережно хранятся в папке SD\stable-diffusion-webui\outputs

Всё, добро пожаловать в мир терабайтов генеративного хорни контент!