Генерация изображений с использованием SDXL часто приводит к схожести лиц, особенно когда запросы содержат общие описания. Это, пожалуй, одна из наиболее распространённых трудностей, с которой сталкиваются люди, только начинающие активно использовать нейросети для создания изображений.
В этой статье мы разберем, почему это происходит, и как можно добиться большего разнообразия в результатах.
Обратите внимание, что предложенные здесь подходы не ограничиваются только «схожестью лиц», а могут быть применены к любой «схожести» в результатах генерации. Важно понять общую суть и базовые принципы работы с нейросетями, что разнообразить получаемые изображения.
И да, подписывайтесь на мой телеграм-канал, где я выкладываю разнообразные запросы для Fooocus и отвечаю на ваши вопросы в комментариях!
Причины схожести лиц в SDXL
Большие модели обучаются на обширных наборах данных, однако количество уникальных и разнообразных лиц в этих наборах может быть ограничено. В результате модель склонна создавать изображения, основываясь на наиболее часто встречающихся примерах.
При обучении модель «запоминает» ассоциации между токенами и определенными чертами лица. Например, для токена «woman» она выбирает обобщенные черты лица, которые подходят большинству изображений с этим описанием. Таким образом, модель часто создает лица, которые выглядят схоже из-за усредненного представления.
Если запрос описывает объект только общими словами, например, «woman», модель будет использовать свои усредненные представления для генерации изображения. Чем меньше деталей в запросе, тем выше вероятность схожести результатов.
Иными словами запрос «woman» в «картине мира» нейросети связан с образом женщины с определенными чертами лица. Более того, общие токены в сочетании друг с другом могут собой создавать крайне устойчивые связи. Поэтому задача всегда будет сводится именно к «разрушению» этой устойчивой связи. Чем мы далее и займёмся.
Методы для разнообразия в результатах
В этой статье я продемонстрирую работу методов на примерах, используя предустановку Realistic в Fooocus. Эта предустановка включает стили Fooocus, которые добавляют в модель специфические общие токены, способствующие более эффективному формированию устойчивых связей. Так что я усложню себе задачу 😅. Вы же можете попросту избегать таких общих токенов.
Чтобы создать уникальные лица, можно использовать различные комбинации методов. Здесь я представлю лишь те, которые проверил на практике и которые мне показались эффективными. Конечно, применение этих методов не гарантирует, что вы никогда не столкнётесь с «одинаковыми» лицами, но они в большей или меньшей степени, но всё же снижают вероятность этого.
Уточнение запроса и добавление деталей
Чем больше деталей указывается в запросе, тем лучше модель сможет отойти от усредненных представлений. Например: вместо «woman» можно использовать «skinny young woman with freckles, curly hair, and glasses». Это уточняет черты лица, делая результат более уникальным.
Использование различных имен и национальностей
Указание имен или национальностей поможет модели ориентироваться на конкретные особенности внешности. Такой подход добавляет этнические и культурные особенности, которые помогут создать разнообразие.
Вообще, это один из самых моих любимых способов, о котором я когда-то уже упоминал. Достаточно создать карточку с рандомными именами или же взять готовый набор национальностей, которая есть в Fooocus по умолчанию.
Это очень сильный метод разнообразить ваши генерации. Используйте его в сочетании с изложенными здесь методами. О создании наборов обязательно читайте здесь 👇
Добавление эмоций и выражений лица
Эмоции влияют на черты лица и их выражение. Попробуйте добавлять эмоции в запрос: «woman with a joyful expression» или «amazement woman» изменят выражение лица и добавят индивидуальности персонажу.
Смена эпохи или культурного контекста
Еще один способ — это учесть эпоху или культурный стиль, в котором они существуют. Например, можно использовать «renaissance woman» или «traditional japanese geisha». Такие описания помогут создать уникальные образы, добавляя в них исторический или культурный контекст.
Использование одежды и аксессуаров
Одежда и аксессуары могут добавить характерности и разнообразия. Примеры: «woman in a sun hat and sunglasses» или «woman in a futuristic spacesuit».
Изменение освещения и фона
Влияние освещения может существенно изменить восприятие лица: «woman under soft moonlight» или «woman in a brightly lit room» создадут разные образы за счет различного света и атмосферы.
Эксперименты с углом обзора и позой
Указание определенного ракурса или позы персонажа также помогает добавить разнообразия: «woman looking to the left» или «woman sitting in a park» создадут различия в композиции изображения и внесут разнообразие в лица.
Изменение возраста и анатомических особенностей
Добавление деталей об анатомии и возрасте позволит создавать более разнообразные образы: «elderly woman with wrinkles» или «teenage woman». Вы можете указать при этом любой возраст в цифрах, например «25yo».
Заключение
Схожесть лиц при генерации изображений в SDXL вызвана особенностями обучения модели и её усредненными представлениями токенов. Основное влияние на результаты оказывает сама модель. Для получения разнообразных изображений важно использовать более детализированные и разнообразные запросы, комбинируя различные подходы.
При этом важно следовать основным рекомендациям при составлении запроса. Это позволит вам сохранить порядок и обеспечить контроль над результатами 👇