LoRA для персонажа: лицо, тело, одежда, поза

<!-- lesson: lora-character -->

Урок «lora-character» в группе Картинки: приёмы списка уроков. Шагов: 13.

Сначала согласие

LoRA реального человека можно использовать только с его согласия: рисовать так можно только того, кто на это согласен. Сначала получите это согласие. См. Правила содержимого.

Чему вы научитесь

Три LoRA на одной картинке, каждая настроена отдельно, и лицо держится, пока работает LoRA тела или одежды.

Что понадобится

  • Урок продолжает LoRA для картинок. Карточка говорит об этом; это подсказка, а не замок.
  • Ноды: Load Checkpoint, CLIP Text Encode (Prompt), KSampler, VAE Decode, Save Image / Preview Image, Load LoRA.
  • Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.

Шаги

Слова каждого шага, как их показывает урок. Имена нод выделены.

  1. О чём этот урок (чтение)

    Персонажа часто собирают из нескольких LoRA: одна для человека, одна для телосложения, одна для одежды, одна для стиля. Каждая тянет картинку в свою сторону, и вместе они спорят. Урок показывает, как их различать, как увидеть, что делает каждая, и как удержать лицо.

    Свои файлы LoRA вы приносите сами и слова пишете сами. LoRA реального человека можно использовать только с его согласия: рисовать так можно только того, кто на это согласен. Сначала получите это согласие. Персонажи взрослые.

    Урок продолжает «LoRA для картинок» и добавляет третий загрузчик.

  2. Нужен граф с двумя LoRA

    На холсте должен быть граф с картинкой, а в нём Load LoRA и Load LoRA цепочкой после Load Checkpoint, как их оставил урок «LoRA для картинок».

    Если их нет, сначала пройдите тот урок.

  3. Виды LoRA (чтение)

    • LoRA персонажа: один человек или фигура, прежде всего лицо.
    • LoRA тела: телосложение, пропорции, анатомия.
    • LoRA одежды: один наряд или вид одежды.
    • LoRA позы: как стоять, сидеть или двигаться.
    • LoRA стиля: манера рисунка, вид света, облик плёнки.
    • LoRA деталей: больше или меньше мелких деталей, чётче кожа и ткань.
    • LoRA ускорения: та же картинка за меньшее число шагов; у неё своё число шагов и свой cfg.

    LoRA позы даёт позу приблизительно. Точная поза приходит от ControlNet; об этом шаг о позе дальше.

  4. Как понять, какого вида файл (чтение)

    Имени файла мало. Смотрите в трёх местах:

    • карточка файла на вкладке «Модели»: базовая модель, слова-триггеры и заметки, которые автор записал в файл;
    • страница, откуда файл взят: на чём его учили, какую силу советует автор, картинки, сделанные с ним;
    • ComfyUI-Lora-Manager, если он установлен: он хранит страницу, картинки и слова каждой LoRA, и приложение читает их оттуда.

    LoRA, у которой автор не назвал ни вида, ни слов, сначала пробуют одну, на средней силе, и смотрят.

  5. Добавьте третью LoRA

    Добавьте третью ноду Load LoRA после Load LoRA: выходы MODEL и CLIP ноды Load LoRA в её входы, её выходы туда, куда шли выходы Load LoRA, в сэмплер и оба текста. В lora_name выберите LoRA тела или одежды.

    LoRA персонажа остаётся в Load LoRA, стиль или вторая LoRA в Load LoRA.

  6. Начните новую LoRA с малого

    Поставьте strength_model ноды Load LoRA на 0.5.

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

    strength_clip говорит, насколько LoRA меняет чтение слов. Опустите её, когда слова одной LoRA начинают тянуть другие: при 0 её слова значат то, что они значат для модели без неё.

  7. Впишите слова всех трёх

    Допишите слова-триггеры каждой LoRA в text ноды CLIP Text Encode (Prompt).

    LoRA без своих слов часто делает мало. Слова LoRA, которой нет в графе, ничего не дают или уводят модель не туда: держите в описании только слова тех LoRA, что стоят в графе.

  8. Посмотрите, что делает каждая LoRA (чтение)

    Под полем seed ноды KSampler поставьте «control after generate» в fixed. Затем сделайте четыре запуска с одним seed:

    • все три LoRA;
    • без Load LoRA: поставьте её strength_model и strength_clip на 0;
    • без Load LoRA, так же;
    • без Load LoRA.

    После каждого запуска верните значения. Положите четыре картинки рядом: то, что пропало без LoRA, и есть то, что она делает. В ComfyUI ноду можно и выключить на запуск через Bypass (Ctrl+B).

  9. В каком порядке настраивать (чтение)

    Настраивайте по одной LoRA, остальные на 0:

    • сначала персонажа, пока лицо не станет верным;
    • потом тело или одежду, на самой малой силе, где они видны;
    • потом стиль, последним и часто слабее всех.

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

  10. Почему LoRA тела меняет лицо и как его удержать (чтение)

LoRA тела или одежды учили на картинках людей, вместе с их лицами. Она выучила и лица и тянет к ним любое лицо.

Что держит лицо:

  • меньший strength_model у LoRA тела или одежды;
  • strength_clip этой LoRA ниже её strength_model, чтобы её слова тянули слабее;
  • LoRA персонажа чуть сильнее остальных;
  • проход по лицу после, с LoRA персонажа в модели: смотрите урок «Исправление лиц и рук детейлером».
  1. Тело и поза вместе (чтение)

LoRA тела даёт телосложение, а не точную позу. Чтобы было и то и другое, пусть каждое приходит из своего места:

  • поза из управляющей картинки, скелета OpenPose или карты глубины человека, стоящего как нужно, через ControlNet: смотрите урок «ControlNet по карте глубины»;
  • телосложение из LoRA тела, на силе, где она не спорит с управлением.

Когда они спорят, сначала опустите силу ControlNet, а потом LoRA. Руки и анатомию, которые вышли неверно, исправляют после: детейлером с искателем рук или инпейнтингом руки.

  1. LoRA для другой модели (чтение)

LoRA делается для одного семейства. На другом она ничего не делает или ломает картинку шумом и странными цветами: LoRA для SD 1.5 на SDXL, LoRA для SDXL на Flux. Pony и Illustrious выросли из SDXL; их LoRA друг на друге загружаются, но действуют слабее или странно.

Карточка файла на вкладке «Модели» говорит его семейство.

  1. Граф готов (чтение)

Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.

Что попробовать: четыре запуска сравнения; потом LoRA тела на 0.3 и на 0.7 с одним seed, глядя только на лицо.

Что проверяет урок

Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:

  • Шаг 2, Нужен граф с двумя LoRA:
    • нода Load Checkpoint.
    • нода CLIP Text Encode (Prompt).
    • нода CLIP Text Encode (Prompt).
    • нода KSampler.
    • нода VAE Decode.
    • нода Save Image или Preview Image.
    • нода Load LoRA.
    • нода Load LoRA.
    • CLIP ноды Load Checkpoint во вход clip ноды CLIP Text Encode (Prompt) (промпт) (можно через Load LoRA или CLIP Set Last Layer).
    • CLIP ноды Load Checkpoint во вход clip ноды CLIP Text Encode (Prompt) (негатив) (можно через Load LoRA или CLIP Set Last Layer).
    • MODEL ноды Load Checkpoint во вход model ноды KSampler (можно через Load LoRA или LoraLoaderModelOnly или DifferentialDiffusion или ModelSamplingAuraFlow или ModelSamplingFlux или CFGNorm или IPAdapter Unified Loader или IPAdapter или IPAdapterAdvanced или IPAdapterStyleComposition).
    • CONDITIONING ноды CLIP Text Encode (Prompt) (промпт) во вход positive ноды KSampler (можно через Apply ControlNet или InpaintModelConditioning или Conditioning (Combine) или ConditioningSetArea или ConditioningSetAreaPercentage или ConditioningSetMask или Apply Style Model или FluxGuidance или ConditioningZeroOut или FluxKontextMultiReferenceLatentMethod).
    • CONDITIONING ноды CLIP Text Encode (Prompt) (негатив) во вход negative ноды KSampler (можно через Apply ControlNet или InpaintModelConditioning или Conditioning (Combine) или ConditioningSetArea или ConditioningSetAreaPercentage или ConditioningSetMask или Apply Style Model или FluxGuidance или ConditioningZeroOut или FluxKontextMultiReferenceLatentMethod).
    • LATENT ноды KSampler во вход samples ноды VAE Decode.
    • VAE ноды Load Checkpoint во вход vae ноды VAE Decode.
    • IMAGE ноды VAE Decode во вход images ноды Save Image или Preview Image.
    • MODEL ноды Load Checkpoint во вход model ноды Load LoRA (первая LoRA).
    • MODEL ноды Load LoRA (первая LoRA) во вход model ноды Load LoRA (вторая LoRA).
    • CLIP ноды Load LoRA (первая LoRA) во вход clip ноды Load LoRA (вторая LoRA).
  • Шаг 5, Добавьте третью LoRA:
    • нода Load LoRA.
    • MODEL ноды Load LoRA (вторая LoRA) во вход model ноды Load LoRA (третья LoRA).
    • CLIP ноды Load LoRA (вторая LoRA) во вход clip ноды Load LoRA (третья LoRA).
    • MODEL ноды Load LoRA (третья LoRA) во вход model ноды KSampler (можно через Load LoRA или LoraLoaderModelOnly или DifferentialDiffusion или ModelSamplingAuraFlow или ModelSamplingFlux или CFGNorm или IPAdapter Unified Loader или IPAdapter или IPAdapterAdvanced или IPAdapterStyleComposition).
    • CLIP ноды Load LoRA (третья LoRA) во вход clip ноды CLIP Text Encode (Prompt) (промпт) (можно через Load LoRA или CLIP Set Last Layer).
    • CLIP ноды Load LoRA (третья LoRA) во вход clip ноды CLIP Text Encode (Prompt) (негатив) (можно через Load LoRA или CLIP Set Last Layer).
    • lora_name ноды Load LoRA (третья LoRA): не тот же файл, что в поле lora_name ноды Load LoRA (вторая LoRA).
    • файл в поле lora_name ноды Load LoRA (третья LoRA) сделан для семейства файла из поля ckpt_name ноды Load Checkpoint. Почему: loRA и ControlNet работают только с тем семейством моделей, для которого сделаны; с другим они ничего не дают или портят картинку.
  • Шаг 6, Начните новую LoRA с малого:
    • strength_model ноды Load LoRA (третья LoRA): от 0.2 до 0.7; «Сделать за меня» ставит 0.5.
  • Шаг 7, Впишите слова всех трёх:
    • text ноды CLIP Text Encode (Prompt) (промпт): есть слово-триггер файла из поля lora_name ноды Load LoRA (первая LoRA) или lora_name ноды Load LoRA (вторая LoRA) или lora_name ноды Load LoRA (третья LoRA), если описание файла их называет.

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/lessons/LoRA-Character.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.