Нужно ли прописывать цвет волос и глаз в captions
Нужно ли указывать цвет волос и глаз в captions для LoRA: выбор стратегии для постоянного образа и проверка управляемости после обучения.
Короткий ответ. Цвет волос и глаз в captions для LoRA прописывают тогда, когда это помогает модели разделить постоянную идентичность и намеренно меняющиеся признаки. Если у персонажа на всех фото одинаковые волосы и глаза и вы не планируете их менять, достаточно последовательной стратегии с trigger word; постоянное повторение цвета в каждом TXT не всегда добавит пользы. Если цвета меняются между кадрами и вы хотите управлять ими в prompt, подписывайте различия точно. Решение проверяйте тестовой LoRA, а не универсальным правилом. Общую логику обучения адаптеров описывает Hugging Face Diffusers.
Определите, что должно оставаться неизменным
Для LoRA персонажа важнее всего сначала сформулировать цель: «сохранять именно этого человека» или «сохранять весь образ, включая причёску и цвет глаз». Это не одно и то же. Если цвет — часть фиксированного образа, а в датасете он постоянен, модель может связать его с идентичностью. Если вы хотите после обучения свободно делать рыжие, тёмные и светлые волосы, в исходниках нужна соответствующая вариативность либо другой способ редактирования после генерации. Одними подписями нельзя сделать модель независимой от признака, который в каждом кадре одинаков.
С глазами ещё сложнее: на маленьком фото оттенок часто неразличим, а автоматический captioner может придумать цвет. Не добавляйте в TXT уверенное описание того, чего снимок не показывает. Ошибочные повторения формируют противоречивый датасет. Проверьте фотографии крупным планом и решите, есть ли смысл вообще обучать этот признак через текст.
Три рабочие стратегии
- Фиксированный образ. Сохраняйте согласованный набор фото; один идентификатор вызывает персонажа с привычными чертами. Цвет можно не повторять в каждом caption, если выбранный тренер и тест показывают хороший результат.
- Управляемая причёска и цвет. Соберите реальные варианты в датасете и точно подписывайте их. Меняйте по одному признаку, сохраняя достаточно общих черт лица.
- Постобработка или референс. Если исходный набор не содержит нужного варианта, иногда легче изменить волосы в image-to-image или маске, чем переобучать идентичность на спорном наборе.
Все три стратегии требуют сравнения на одинаковых prompt и seed. Генерация «с trigger word», «с trigger word и желаемым цветом» и «без LoRA» покажет вклад адаптера. Если модель упорно возвращает исходный цвет, проверьте силу LoRA и ранние checkpoint. Слишком высокий вес может подавлять текстовую просьбу о смене причёски.
Как проверить captions перед стартом
Составьте небольшой список уникальных формулировок цвета. Если одно и то же значение описано как brown hair, dark brown и black hair без реальной разницы в кадрах, приведите подписи к точности. Особенно внимательно проверьте кадры с цветным светом, фильтром и тенью. Сортировка по папкам облегчает просмотр. Формат связи фото и TXT указан в документации Kohya sd-scripts; у другого тренера он может отличаться.
После исправлений сделайте короткое пробное обучение. Проверьте, как меняется цвет при нескольких текстовых запросах, а лицо остаётся ли узнаваемым. Если при смене цвета лицо тоже сильно меняется, вероятно, датасет смешивает разные идентичности или слишком мало показывает одного человека в разных условиях. Исправлять это стоит подбором фотографий, а не добавлением длинного списка синонимов цвета.
Что делать, если LoRA уже меняет цвет сама
Сначала сравните базовую модель без LoRA и с ней. Затем снизьте вес адаптера и проверьте более ранний checkpoint. Если нежелательный цвет присутствует во всех версиях, посмотрите исходники: одинаковое освещение, автоматические фильтры и нерелевантные captions могли закрепить его. Иногда приходится очистить датасет и повторить обучение. Подробный разбор диагностики есть в статье почему LoRA меняет цвет волос и глаз.
Частые вопросы
Нужно ли писать «карие глаза» в каждом TXT?
Не всегда. Если цвет не меняется и входит в устойчивый образ, повторение может быть лишним. Если хотите текстом управлять цветом, проверьте наличие вариативности и точность разметки.
Поможет ли просто удалить цвет из всех подписей?
Само по себе это не гарантирует управляемость. Модель всё равно видит изображения. Проверяйте итог на контролируемой генерации.