Как раздеть свою одноклассницу с помощью AI | Генерация фото по запросам | End Way - форум программирования и сливов различных скриптов
  • Присоединяйтесь к нам в телеграм канал! EndWay канал | EndSoft канал | EWStudio канал
  • Хочешь поставить скрипт, но не умеешь?
    А может ты хочешь свой скрипт на основе слитого?

    Тогда добро пожаловать в нашу студию разработки!

    Телеграм бот: EWStudioBot
    Телеграм канал: EWStudio

Как раздеть свою одноклассницу с помощью AI | Генерация фото по запросам

IMPULSE

Миддл
Автор темы
9 Янв 2023
56
17
0
1673462322237
Все хоть раз мечтали о своем AI:
Искусственный интеллект — свойство искусственных интеллектуальных систем выполнять творческие функции, которые традиционно считаются прерогативой человека (не следует путать с искусственным сознанием)
В этой теме я постараюсь помочь тебе создать один из типов такого AI для создания фото, а так-же научу "Раздевать" твоих подруг
:fap:

Статья состоит из 2-х частей:
1) Для ленивых котят
:catsqueez:

2) Кто хочет более подробно разбираться в этом
:cool_bun:

Первым делом следует скачать все нужные файлы:
Далее:
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, прописываешь
Python:
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, остальные можно добавлять при следующих запусках, когда видите что сетка хотя бы запускается.
Python:
--medvram
Сетка очень сенситивна к объему памяти видяхи, поэтом этот атрибут обязателен всем, у кого карта 4 ГБ и ниже.
Если карта от 3 ГБ и ниже, сеть скорее всего не запустится вообще, но в этом случае поможет атрибут
Python:
--opt-split-attention
Таким образом часть ресурсов будет забираться из оперативной памяти, что немного уменьшит скорость генерации, но повысит стабильность и запуск. Если у тебя топовая карта, то эти атрибуты можно проигнорировать.
Python:
--xformers
Крайне полезный атрибут, устанавливающие специальный [tooltip=402]плагин[/tooltip], который ускоряет генерацию изображений, но жертвует детерминированностью изображений (тебе это не нужно, грубо говоря два одинаковых изображения с одинаковыми сидами будут в некоторых деталях чуть разными). Повышение скорости генерации от 20 до 50 процентов в сравнении с базовой скоростью.
Как установить xformers:
  1. Прописать в атрибутах подряд:
    Python:
    --reinstall-xformers --xformers
  2. Дождаться установки, запуска сети
  3. Закрыть сеть
  4. Удалить --reinstall-xformers, оставить только --xformers
[tooltip=402]Плагин[/tooltip] работает с картами от GTX 1050 и выше.
Python:
--autolaunch
При запуске нейросети генерируется локальный [tooltip=415]хост[/tooltip] и дается ссылка для перехода, данная команда сама открывает интерфейс в браузере (по умолчанию) после запуска.
Python:
--gradio-img2img-tool color-sketch --gradio-inpaint-tool color-sketch
Расширяет функции маскинга. Можно например заставлять тяночку нагенеренную отвернуться от камеры нарисовав на лице черный круг. Или сделать блики на теле белой маской. Или сделать кошкожену. Или маскировать контекстным цветом чтобы в глаза сильно маска не бросалась. И многое другое.
По итогу строка атрибутов будет выглядеть так:
[IMG]


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

Так выглядит webui-user.bat если не хватает видео памяти на видяхе (правой кнопкой на webui-user.bat, удалите (опционально забекапьте) всё и вставьте это):
Python:
@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 адресом, открываем его в браузере - там находится сам интерфейс. Либо он откроется сам, если прописан аргумент автоланча.

Если сеть не запускается и у тебя включен [tooltip=419]VPN[/tooltip], то отключи его.


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


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

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

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

Сверху есть два поля Prompt и Negative, в первый нужно писать команды, которые должна юзать нейросеть, во второй то, что ей надо избегать. Без заполнения второго поля 99% изображений будут говном.
Для уменьшения мозгоебки просто вставь во второе поле:
HTML:
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, запомни, что более конкретный [tooltip=529]запрос[/tooltip] - более лучший результат.
  3. Можно писать многосоставные [tooltip=529]запросы[/tooltip] без пробелов, например 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
Что генерирует сеть:
[IMG]

Базовый пример: есть фото, там тян, ее нужно раздеть. Что писать? Верно: 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 итераций как правило не нужно. Для наглядности:
[IMG]

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

ВНИМАНИЕ, если у вас ТОП карта, то не нужно ставить больше 768 пикселей по длинной стороне, а если мидл и ниже - не ставьте больше 512. В этом нет никакого смысла, все годные изображения можно апскейлить после генерации хоть в 4К с помощью нейронки. Лучше вместо большого разрешения ставьте больше шагов генерации.
Restore faces
- уберполезная [tooltip=584]фича[/tooltip] фиксящая лица и кривые глаза, докачивает плагины при использовании, есть два типа восстановления, каждый можно выбрать в Settings - Face restoration.

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


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

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

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

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

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

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

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

  1. Eta noise [tooltip=121]seed[/tooltip] delta, ее можно конечно и не выставлять, но например у NovelAI [tooltip=121]сид[/tooltip] шума определен и составляет 31337.
  2. Apply color correction to img2img results to match original colors, не всегда работает корректно.
Сам процесс для совсем ленивых новокеков
:popcat:
в этой теме за 5 сек


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

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

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

Далее жмешь Generate и, если ты все правильно сделал, у тебя получится что-то похожее на вот это (возможно в трусах, тут зависит от того как ты нарисуешь маску):
Дальше можешь экспериментировать с ползунками, значениями, менять режимы семплирования, пиздить чужие значения, писать всякую запрещенку, прогонять по 300 раз один и тот же файл используя как референс прошлый чтобы уточнять качество и так далее. Смысла расписывать нет.
Все твои генерации никуда не удаляются, а бережно хранятся в папке SD\stable-diffusion-webui\outputs
Всё, добро пожаловать в мир терабайтов генеративного хорни контент!
Теперь когда все школьники форума побежали
:kidrun:
развлекаться с фотками своих одноклассниц, поговорим о более интересных фишках AI

Если тебя не устраивает, например, блеклость картинки и ты не можешь никак это исправить, то на помощь может прийти использование VAE (Variational Autoencoder), для этого качаешь VAE из репо отсюда









stabilityai/sd-vae-ft-mse-original at main (huggingface.co)

Кидаешь в папку: stable-diffusion-webui\models\VAE
В настройках вебуи выбираешь это:
[IMG]

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

Как устанавливать новые модели:
Тебе надоела инпеинтинг модель? Хочешь делать аниме вайфу из ЕОТ? Как установить любую стороннюю модель? Да просто скачиваешь модель с засовываешь в ту же папку models/Stable-Diffusion. И просто выбираешь ее слева вверху, в выпадающем меню и экспериментируешь.

Про мердж:
Также можно скрещивать между собой разные модели, для этого в WEB-UI есть вкладка checkpoint merger. Кратко про принцип:
1. Открываешь вкладку checkpoint merger
2. В модель А ставишь одну модель, в модель Б другую, ставишь multiplier на 1, нажимаешь Add difference, чекпойнт формат - ckpt. В поле с третьей моделью можно кинуть базовую модель стабильной диффузии (обязательно для инпеинтер модели, об этом ниже), ну и вообще можешь по разному скрещивать никто не запрещает, например один из популярных рецептов анимехентайной прономодели это вот такое:
HTML:
Novel AI
Trin 115000
(Set Novel on A
Set Trin 115000 on B
Set the Multiplier to 0.25
Select Weighted Sum)
+
SD 1.4 (or 1.5)
Zeipher F111
r34_e4
+
LOKEAN_PUPPYSTYLE_POV or LOKEAN_MISSIONARY_POV
Bukkake_20_training_images

Плагины:
Также WEB-UI умеет в плагины. Один из самых мастхевных это использование wildcards при генерации. В чем суть? Есть txt файл со списком кейвордов, из которых сеть будет выбирать, а тебе нужно лишь вставить в верхнее поле генерации команду __НАЗВАНИЕ_ВИЛДКАРТЫ__ (справа и слева два нижних подчеркивания), для работы требуется [tooltip=402]плагин[/tooltip] sd-dynamic-prompts (он пиздец мощный сам по себе, следует почитать как им пользоваться чтобы охуеть от возможностей), который ставится из вкладки Extensions. Сами текстовые файлы кидаются по адресу SD\stable-diffusion-webui\extensions\sd-dynamic-prompts\wildcards.
Ну и много других разных плагинов есть.

Мерджинг:
Это базовое слияние нескольких моделей в одну, считай это переобучением. Любой процент слияния дает РАЗНЫЕ результаты для одних и тех же входных данных генерации.

В вебуи два метода мерджинга:
  1. weight sum
  2. add difference
В первом случае берутся две модели и выбирается значение от 0 до 1 (аналог 0 - 100 процентов, где 0 - модель А, а 1 - модель Б) для смешивания, то есть, если выставишь 0.5, то на выходе 50% возьмется от модели А, и 50% от модели Б.

Выбирать чисто нулевое положение и положение единицы не нужно, никаких изменений не произойдет - ты получишь либо чистую модель А (0), либо модель Б (1).

Во втором случае используется более сложная формула с вычетом из добавляемой модели того, что уже есть в модели, которую дообучают (допустим в любой модели SD есть базовая часть SD, чтобы ее отсечь из добавления так как она уже есть - используют дифренс метод, грубо говоря к модели А добавляется разница от вычитание из Модели Б модели Ц), соответственно влезает больше инфы из добавляемой модели, работает так:
  1. Метод с НЕ ИНПЕИНТЕР моделью:
в модель А вставляешь модель, которую нужно дообучить, в модель Б вставляешь модель, которой нужно дообучить, в модель Ц вставляешь снова ту же модель, что и в модель А

Выставляешь процент смешивания (по хорошему надо сделать мердж и с 0.1, и 0.2 и так далее, а потом отобрать лучшее на тестовом изображении, лично я использую промежуток от 0.2 до 0.5)

Нажимаешь адд дифренс и запускаешь смешивание.
  1. Метод с базовой инпеинтер моделью SD (дообучение инпеинтера):
В модель А вставляешь инпеинтер sd-v1-5-inpainting.ckpt
В модель Б вставляешь добавляемую модель
В модель Ц вставляешь только v1-5-pruned-emaonly.ckpt (базовая модель SD)

Чтобы дообученный инпеинтер заработал нужно новый выходной файл переименовать в sd-v1-5-inpainting.ckpt (хотя достаточно будет добавить -inpainting.ckpt в конец любого названия) , а старый оригинальный инпеинтер переименовать и не потерять

Если во втором методе не хочет мерджить инпеинтер с моделью с расширением safetensors, то просто конвертируй safetensors модель в ckpt через:

Тестирование моделей:

Чтобы упростить тестирование новых моделей в сравнении со старой:
Принцип тестирования использует статический [tooltip=121]сид[/tooltip], поэтому при самой первой генерации наролльте себе нормальный [tooltip=121]сид[/tooltip], именно с ним вы будете тестировать другие модели дальше для базовой фотографии.

Для обычной генеративной модели:
0. Загрузи оригинальную модель
1. Выбери какую-нибудь фотографию (у меня это годная тянучка, из которой куча годноты выходит
кинь ее в img2img, докрути соотношение сторон и придумай простой prompt, пропиши негативы и выстави силу диффузии 0.5-0.75.
2. На выходе получишь результат, который считается базовым для оригинальной модели.
3. Далее меняешь модель слева сверху на новую
4. Не меняя настроек (убеждаешься, что [tooltip=121]сид[/tooltip] тот же) нажимаешь генерацию, смотришь чем отличаются и стало ли лучше/хуже

Для инпеинтер модели:
Для начала загрузи оригинальный инпеинтер
1. Выбери фото, напиши промпты (nude body обычно достаточно), сделай настройки (здесь уже диффузию можно выставить на 1 с методом заполнения Fill) и произведи операцию раздевания.
2. Смени модель оригинального инпеинтера на новую модель и не меняя настроек (с тем же сидом) снова нажми генерацию.
3. Сравнивай результаты.

Если ты перезапустил WEB-UI и все настройки слетели то берешь базовое изображение из пункта 2, кидаешь его в PNG info и оттуда жмешь экспорт в img2img - оно перенесет это изображение со всеми настройками и попыткой загрузки базовой модели в img2img, тебе останется заменить изображение на оригинал из пункта 1 и выбрать другую модель слева сверху.

Мои базовые настройки тестирования для фото, которое я выложил выше:
HTML:
Prompt: здесь любое на твой вкус и задачи, но можно использовать конфигурацию типа (((УТОЧНЯЩИЕ КЕЙВОРДЫ, girl))), innie pussy (pussy не всегда работающий кейворд, корректный в 99% для сетки это vulva closed Labia majora), ((narrow thighs)), stockings

Negative: 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))

Steps: 20, Sampler: Euler a, CFG scale: 10, Seed: 2281466770, Face restoration: CodeFormer, Size: 320x512, Denoising strength: 0.65, Mask blur: 4
Пример
:fap:
:


Апскейлинг:
Так как мы работаем с нейронками в достаточно мелких разрешениях до 512 пикселей по длинной стороне, то и нейронные апскейлы это нужная нам вещь для перевода этих 512 шакалов в ULTRA HD 4K.
Все методы скейлинга находятся во вкладке Extras, в вебуи можно выбирать двойной прогон, результаты обычно лучше.
Не все методы перечисленные на странице Extras являются нейронными. По личным ощущениям лучше всего скейлит нейронный R-ESRGAN 4x+ (выбранный в двух шагах сразу).
GFPGAN visibility ставьте на 0, если не хотите чтобы он влиял на результаты CodeFormer; если хотите использовать оба метода сразу, то ставьте 1.
CodeFormer visibility - я лично ставлю на 1, выдает как по мне лучший скейл лиц, но они чучуть отличаются от положения 0 (в лучшую сторону ящитаю).
CodeFormer weight - на 0 для максимум эффекта. Если используете с GFPGAN, то можно и не 0.
Считается, что GFPGAN больше для анимешных лиц (поэтому при обычной генерации в настройках по дефолту стоит использование рестор фейсес на CodeFormer, т.к. гфпган с реалистичными лицами артефачит), а CodeFormer для реалистичных, но по личному опыту вместе на максимум они работают очень хорошо при апскейле.

Upscale Before Restoring Faces - ставьте галочку, если хотите, чтобы исправление лиц было после апскейла (личное мнение - с галочкой лучше).



Помимо этого в скриптах WEBUI на странице генерации есть скрипт sd-upscale, который делает то же самое, но сразу, более комплексно и более дольше во много раз (так что используйте при финализации разве что с силой диффузии 0). Используется один проход, есть Tile overlap (это увеличивает масштаб изображения, разбивает его на небольшие плитки, использует SD для улучшения каждой плитки и склеивает их обратно).

Пример скейлинга в четыре раза через EXTRAS (до 10 сек):
(R-ESRGAN 4x+) + (R-ESRGAN 4x+) + настройки все на 1, кроме CodeFormer weight 0:
Оригинал
[IMG]


Апскейл
[IMG]


Пример скейлинга через SD upscale (около 1.5 минут):
(Tile overlap 16, Scale factor 2, R-ESRGAN 4x+)
До
[IMG]


После
[IMG]


Обучение своей модели:
Данная секция предназначена только для владельцев мощных карт от 12 гигов и выше.
В чем суть? Можешь запилить свою собственную модель с собой, своей ЕОТ, любимой порноактрисой, etc, скормить эту модель основной модели и делать всякое.

Что нужно: WEB-UI, [tooltip=402]плагин[/tooltip] DreamBooth, мощная карта с 12+ гб объемом памяти (ниже можно при урезанном качестве обучения, урезание качества ниже не рассматривается, но вкратце надо понижать разрешение в Image Processing, ставить менее детерминированный xformers в Memory Attention, в идеале надо карту с памятью чем больше, тем лучше).

Пример обучения основан на использовании основной модели v1-5-pruned-emaonly.ckpt , но можно и на любой другой (кроме инпеинта).
  1. Ставишь DreamBooth, переходишь во вкладку DreamBooth
  2. Даешь название модели и выбираешь модель чекпоинта (в нашем случае оригинальная SD), выбираешь scheduler (выбран эйлер-а как самый быстрый), нажимаешь криэйт:

  1. Слева выбор созданных моделей Model, убеждаешься что там твоя новая модель.
  2. Нажимаешь чуть ниже Training wizard (person)
  3. Переходишь во вкладку Parameters, там настройки такие:
[IMG]


[IMG]

  1. Во вкладке Advanced чуть ниже:
[IMG]

  1. Переходишь во вкладку Concept, там поле Dataset directory, это то место откуда будут браться изображения. То есть в этой папке должны лежать все отобранные фото ЕОТ в разных ракурсах. Количество имеет значение, но даже и из 20 фоток получится рабочая сетка.
  2. Следующее поле Classification Dataset Directory, опциональное, предназначено чтобы вставить адрес с папкой, где находятся изображения, на которые должна равняться сетка при генерации. Можешь загрузить туда любимых порноактрис например, или различные положения лица, которых у тебя в оригинале нет и так далее. По дефолту поле остается пустым.
  3. Чуть ниже Prompts, нужны 3 первых поля:
Instance Prompt - вызывает ассоциированные с новой сетью генерации (пропиши например EOT, my EOT girl и так далее), чем точнее [tooltip=529]запрос[/tooltip] тем лучше, будет меньше перекрестных непопаданий в твой [tooltip=529]запрос[/tooltip]. Конкретно эти команды и будут использовать при использовании готовой сетки, чтобы увидеть как твою ЕОТ нагенерит сеточка.

Class Prompt - используется для генерации изображения с меньшей спецификацией поля выше (можно прописать что-то уровня beautiful girl, dream girl и прочее что придумаешь; в идеале различие между этим полем и полем выше должно быть что-то типа beautiful EOT portrait (поле 1) - beautiful portrait, beautiful girl portrait (поле 2))

Classification Image Negative Prompt - очевидно негативы, которые не должны задействоваться при генерации и использовании сеточкой. Можно прописать то, с чем не должно пересекаться: условные ugly, old, disfigured и так далее.
  1. Ниже Image Generation, там нужно поле Total Number of Class/Reg Images. Заполнить очень просто: если у тебя в папке с референсными исходниками твоей ЕОТ 10 изображений, то в поле нужно прописать 100. Конкретно это поле будет генерировать 100 изображений на основе Class Prompt, который ты заполнил выше, так что подумай изображения какого плана должна сделать сеть чтобы натянуть туда твою ЕОТ. Остальные настройки можешь оставить как есть.
  2. Нажимаешь Train большую оранжевую кнопку.
В целом все, когда вебуи закончит генерировать новую сеть она просто появится в выпадающем меню чекпоинтов слева сверху, можешь загрузить ее и начать пользоваться через основную вкладку генерации.

txt2img и img2img генерация

Данная секция предназначена для творческих личностей из /e/ и прочих хентайных шизов, которым нравится делать эро/прон/и просто красивый контент с нуля самостоятельно. Здесь расписаны нюансы генерации и списки библиотек.

txt2img
Метод генерации с нуля, когда посредством усложнения команд сеть создает изображение, которое тебе требуется. Это достаточно сложный метод, требующий знание правильных слов, умение абстрактно мыслить и правильно формулировать текст для нейросети. Написать “fuck” и получить годноту не выйдет. Написать “fat wet pussy lips” и получить красивую п**ду впрочем тоже, потому что правильнее будет “nude lower WOMAN body vulva with small fat closed Labia majora, closeup, hyperrealism”. Да еще и под определенно накрученным рендером. Прочувствовал сложность изъяснения с нейросетью?
:interesting:

Впрочем, с i2i методом не сильно проще, если выкрутить диффузию на 1.
Так как t2i не работает ни с какими входными данными, кроме текста, то тебе нужно будет расписывать также энвайронмент, позицию камеры, позиции объектов, их взаимодействие, свет, цвет и прочие важные нюансы. Так что для начала советую вкатиться не в t2i, а начать с i2i.

img2img

Более простой метод генерации с нуля на основе референса. Удобно тем, что можно использовать любое всратое порно/любую всратую эро модель и на ее основе делать 10 из 10 под свою фантазию, а потом уже на ее основе делать еще больше всякого, в том числе с помощью плагинов типа DreamArtist.
Краткий гайд как не быть хлебом в i2i за 5 сек:
  1. Берем любое фото любой вашей любимой актрисы или что там у вас. Желательно фулбади.
Например я возьму свой пример выше
  1. Переходим во вкладку img2img, кидаем это фото в окно, выставляем разрешение пропорционально идентичное сторонам фото, у меня это 320x512.
  2. Перед нами сверху два поля, поле позитивных промптов и негативных, в негативный можно кинуть готовые, они выше три штуки на выбор, но можно придумать и свои. Я возьму
HTML:
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))
Далее просто прописываем то, что хотим получить, но с акцентами в виде скобочек ( ) на увеличение влияния или [ ] на уменьшение, допустим я пропишу: (((nude 27 years old small petite russian girl))), innie pussy, ((narrow thighs)), stockings

По настройкам чуть ниже допустим выставлю так:
Steps: 20, Sampler: Euler a, CFG scale: 10, Seed: 2281466770 (можно выставить рандом), Restore faces: галочка, Denoising strength: 0.65

Хотим изменить волосы в другой цвет? Прописываем (((nude 27 years old small petite, red hair, russian girl))), innie pussy, ((narrow thighs)), stockings

Хотим поменять возраст? То же самое, но при этом убирая возрастные теги молодости: (((nude 40 years old, red hair, russian girl))), innie pussy, ((narrow thighs)), stockings

А что будет если мы покрутим DS например на 0.85 чтобы еще дальше отойти от исходного изображения? Собственно, очевидно, что будем получать изображение еще больше отличающееся от исходного

В общем, крутите ползунки, экспериментируйте.

Помимо этого есть оператор AND, который добавляет к тому что до AND то, что после AND, то есть комбинирует несколько промптов вместе, получая на выходе новое изображение.

Далее важные моменты:
  1. во вкладке Settings можно выставить Eta noise [tooltip=121]seed[/tooltip] delta, это как бы дополнительный [tooltip=121]сид[/tooltip] ко всем имеющимся. Обычно используется чтобы получать изображения сходные условными генерациями в NovelAI, то есть можно выставить фиксированное значение для NovelAI в размере 31337 (она часто используется в моделях) и получать в SD с загруженной NovelAI (или наоборот, используя значения из SD в NAI) идентичные изображения, но это все не обязательно.
  2. Есть параметр Clip skip. Если очень упрощать, то чем больше значение, тем более стабильным будет выходное изображение даже при изменении кейвордов или их добавления/удаления. Условно вы можете состарить или омолодить субъект, но при этом ни поза, ни лицо сильно не поменяются. Рекомендации обычно говорят ставить 2, но никто не запрещает поставить выше. Конкретно пример выше сделан на значении 5. То же самое проделанное с значением 1 будет генерировать каждый раз новую тян. Хотя как вариант еще большего рандомайза можно юзать. Увеличение клипскипа делает генерацию менее управляемой из-за этого самого скипа значений, которые по мнению сетки не вписываются в генерацию.
  3. CodeFormer weight parameter у меня обычно стоит на 0. Но дело в том, что тут есть небольшой косяк - если вы генерите камшоты, то их любой фейс рестор алгоритм значительно “подрежет”. Поэтому выбирайте - либо массивные камшоты, либо фиксанутое лицо (придется фиксить лицо командами в промптах). То же самое касается и апскейлеров с фейс рестором.
  4. Enable quantization in K samplers for sharper and cleaner results. This may change existing seeds. Requires restart to apply. - галочка, чуть увеличивает резкость.

Более сложные концептуально вещи делаются примерно так:
У нас есть условное фото
[IMG]

Прописываем ей ситуацию, расставляя акценты (или наоборот уменьшая влияние через [ ]):

mature ((russian)) ((((mature woman)))) ((((sucks)))) a detailed (((man's penis))) (((((inside))))) her ((mouth)), (((lewd face))), cum on woman's face ((porn|mature|mature porn))

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

В общем, все зависит от проведенного времени и фантазии. Ну и конечно от использованных библиотек.

Конкретно под порно и эротику различного плана существует множество моделей, но главное помнить правило, что модели с расширением ckpt скачанные не оттуда откуда надо могут быть заражены вредоносным кодом, поэтому любую библу проверяйте через
GitHub - diStyApps/Stable-Diffusion-Pickle-Scanner-GUI: Pickle Scanner GUI
Основная [tooltip=71]база[/tooltip] популярных моделей или моделей для дообучения тут
Stable Diffusion Models (rentry.co)

Надеюсь я кому-то помог осуществить свою мечту или рассказал вам что-то нового. Делитесь своими нейронками, интересно будет посмотреть на ваши.
я являюсь лишь пользователем данного AI, но с радостью помогу в свободное время.
не отвечаю и не рекомендую использовать возможности AI в корыстных целях, только в целях изучения данного направления
обо всех ошибках и багах пишите в комментарии, буду исправлять
 
Like
  • 12
Реакции: 11 users

Hedgehog

ᴍᴀsᴛᴇʀᴄᴀʀᴅ и ᴠɪsᴀ — ᴛ᧐ᴧьᴋ᧐ ɢᴏʟᴅ
9 Янв 2023
378
113
43
bonter66, Тут половина форума это паста с лолза. Пока что форум не имеет конкретной тематики.
 
Активность:
Пока что здесь никого нет