EN
DNK
DNK
13 subscribers
goals
3.04 of $ 153 money raised
На развитие сайта по тематике Stable Diffusion - stALogen.ru

Stable Diffusion. Исправляем руки в автоматическом режиме.

   Одна из главных проблем при генерации нейросетей - это руки. Для решения этого вопроса можно воспользоваться различными способами, в частности можно применить расширение под название ADetailer.
   Назначение ADetailer - автоматическое определение объектов и их частей на сгенерированном изображении, таких как лицо человека, глаза, руки с последующей их коррекцией в зависимости от своей подсказки, негатива и настроек. По сути это автоматический inpaint режим, когда вы в ручную наносили бы маску на определённый элемент и просили бы нейросеть перерисовать участок под маской в соответствии с вашими требованиями. Так же как и в ручном режиме на вкладке inpaint, перерисовка с использованием ADetailer может происходить на другой модели и с совершенно другими параметрами. В частности, очень полезной функцией является возможность использования Lora, особенно актуально для рук.
   Установка расширения стандартная, останавливаться на этом не будем. Страница разработчика: https://github.com/Bing-su/adetailer
В расширении используются группы моделей:
 - Face_xxx: Обнаружение и перерисовка лиц, работает хорошо
- Hand_xxx: Обнаружение и перерисовка рук, требует настройки во вкладке Inpainting
- Person_xxx: Обнаружить и перерисовать человека целиком.
- Mediapipe_face_xxx: Обнаружение и перерисовка лиц.
   На окончании названия модели есть буковка n или s - которая работает медленнее, но лучше в теории.
   Для исправления рук, включим расширение и выберем модель hand_yolov8n. Само по себе исправление не произойдёт, для достижения наилучшего результата нам понадобится немного поковыряться в настройках:
 - Включаем расширение. Прописываем подсказку непосредственно в расширении ADetailer: "Perfect Hands, nice hands, perfect hands". Если есть возможность, можно подключить Lora для исправления рук. 
- Во вкладке inpanting самого расширения ADetailer нужно выставить настройки:
       Inpaint denosing strenght=0.5-0.65, сила допустимого внесения изменений, чем больше нужно внести изменений, тем больше должно быть это значение. Слишком большое значение приводит к обратному эффекту, в то время как меньшее значение приводит к ослаблению исправления.
       Inpaint only masked=96, область за которую можно "заступить" и "подсмотреть" вне выделенного объекта, для лучшего согласования. Данный параметр следует подбирать так, что бы при перегенерации руки было понятно в какую сторону она развёрнута, т.е. должна быть видна не только кисть руки, но и локтевой сустав
       Use separate width/height=512 на 512, это разрешение с которым будет перегенерироваться область включающая в себя кисть руки и размер "Inpaint only masked" вокруг неё. Данный параметр должен соответствовать рекомендуемому для выбранной модели генерации, т.е. для SD1.5 обычно это 512*512 и для XL 1024*1024 соответственно.
- Если у Вас есть модель, умеющая хорошо генерировать руки, можете её подключить в соответствующем пункте.  
   Вот, ещё другой пример сравнения левой и правой руки в следующей последовательности: Оригинал, Lora+Тригеры, только Тригерные токены.
   Конечно, настройки не идеальны на все случаи и подходят для несложных случаев. Но тем не менее, с учётом автоматизации - этот вариант имеет право на существование. 
  Есть более действенные способы по устранению дефектов рук, но это уже совсем другая история. Подробнее про добавление, правку и удаление элементов с помощью других методов, вы сможете ознакомится перейдя по ссылке - stALogen.ru

Subscription levels

Поддержка штанов автора

$ 0,11 per month
Благодарность автору, на пропитание.

Признательность

$ 1,02 per month
На вдохновение и последующие материалы 
Go up