Как обучить нейросеть генерировать картинки любых персонажей со своим лицом
Способов сделать фотографию со своим лицом много: использовать Face Swap, работать с ChatGPT или пытаться воссоздать свое лицо в Midjourney, Но у всех этих способов есть недостаток — хорошую копию своего лица сделать трудно. Оно либо кажется пластмассовым, либо модель игнорирует какие-то черты лица.
Но есть 2 других способа, которые помогут сгенерировать фото с лицом, практически на 100% совпадающим с вашим. В обоих случаях нам понадобится модель FLUX и 2 разных сервиса: Replicate и Krea. Способ с Replicate более сложный и долгий, в Krea сделать фотографии проще. И разницы в итоговом результате нет. Поэтому используйте тот способ, который больше понравится лично вам.
Способ 1: Генерируем фото со своим лицом через Replicate
Шаг 1. Регистрируемся на GitHub и Replicate
Сначала нужно подготовить аккаунты. Для этого переходим на GitHub и регистрируемся через email.

После регистрации идем на сайт Replicate и жмем на «Sign in». Авторизовываемся через созданный аккаунт GitHub.

Шаг 2. Привязываем банковскую карточку
Replicate будет работать только после того, как вы привяжите карточку. Примерно, как в Facebook Ads: сначала вы пользуетесь моделью → вам выставляют счет → вы его оплачиваете. При этом как только вы потратите первый $1, его сразу спишут с карты. А дальше деньги будут списываться в начале каждого месяца.
Важно! Российской картой оплатить не получится. Но с белорусской оплата прошла.
Чтобы привязать карту, кликните на никнейм в левом верхнем углу, а затем — «Account settings».

В настройках аккаунта перейдите в раздел «Billing» и нажмите на «Manage Billing» и введите реквизиты карты.

Генерация одной картинки будет стоить от $0,003 до $0,05 в зависимости от выбранной модели (schell — $0,003. dev — $0,05). $5-10 на карте с головой хватит на несколько десятков генераций.
Шаг 3. Настраиваем модель
Для этого в поиске вводим «ostris» и запускаем первую модель из выдачи или переходим по ссылке.

Переходим к настройке. Кликаем на поле «Select a model» в Destination и выбираем «create a new space». Придумываем название нашей модели, можно любое.

В раздел «input_images» загружаем фотографии себя в .zip-архиве.
Вот несколько советов касательно фото.
Фото должны быть разнообразными, чтобы охватывать разные стороны и углы съемки объекта. В случае дообучения модели на своих фото, используйте изображения в различных условиях, позах и освещении.
Я для примера загрузил такие фото себя (других не нашел)

А также:
- Добавляйте в архив 12-20 картинок, чтобы получить лучшие результаты.
- Используйте изображения, где вы сфотографированы крупным планом.
- Используйте форматы JPEG или PNG.
В разделе Trigger word пропишите триггерное слово, по которому в будущем нейросеть будет понимать, что при генерации должна использовать ваши данные. По умолчанию там прописано слово «TOK», его можно не менять.

Разделы autocaption_prefix и autocaption_suffix заполняйте по желанию. Я не заметил, чтобы это как-то влияло на результат генерации. Если заполните prefix, то указанные слова в будущем будут вставляться в начало промпта. Заполните suffix — слова будут добавляться в конец. Я заполнил только suffix и указал там «a photo of an european man».

В оставшихся настройках рекомендую изменить только значение раздела Lora_rank с 16 на 32.

Это улучшит качество будущих генераций. Можно менять и другие настройки, но при выборе более высоких значений нейронка будет дольше тренироваться. При этом нет гарантии, что итоговое качество картинок будет лучше. Разработчики рекомендуют оставлять значения по умолчанию.
Когда все настроите, кликните на «Create training». Начнется обучение модели, оно займет около 20 минут.
Обучение платное. Сейчас обучение для модели Flux выполняется на ПО Nvidia H100 GPU, которое стоит $0.001528 за секунду. Поэтому 20 минут обучения обойдется примерно в $2. После того, как модель обучиться, с вас будут брать деньги только за генерацию картинок. Обучение оплачивается только один раз.
Важно! Это более медленная и дешевая модель. Есть ускоренная версия, в которой обучение стоит $0.0122 в секунду. Здесь по стоимости выйдет около $5.
Когда обучение завершится, кликните на «Run trained model», чтобы протестировать результат.

Шаг 4. Генерируем картинки
В созданной модели будет несколько разделов. В поле Prompt нужно вводить запрос. В запросе нужно обязательно использовать триггерное слово, в моем случае — TOK. Вставлять слово можно в начало, середину или конец промта.
Поля Image и Mask в нашем случае не нужны.



С остальными настройками можно играться. Увеличивать число генераций за раз, повышать качество, задавать силу следования промпта и т. д. Я рекомендую сначала протестировать стандартные настройки, они дают оптимальный результат.
Чтобы сгенерировать картинку, нажмите «Run». Через 1-2 минуты получите генерацию.
У меня получились крутые работы, везде главный персонаж — действительно я.





Главный минус всех сгенерированных фотографий — у персонажа могут получится зрачки разных размеров. Либо их форма не будет идеально круглой. Пока что эту проблему можно решить только повторными генерациями.
Важно! Некоторые фото могут получиться в не самом высоком качестве. В этом случае рекомендую их перегенерировать. Есть и другой вариант — воспользоваться моделью апскейлером. В нее нужно просто загрузить полученную фотку и нажать «Run» — и нейронка повысит качество изображения. Но, скорее всего, ваше лицо на фотографии изменится. Поэтому лучше использовать те картинки, что получились изначально.

Способ 2. Генерируем фото со своим лицом через Krea
Классная фишка сервиса Krea — возможность натренировать нейросеть Flux на своих фотографиях (своего лица, товара и т. д.) и генерировать на их основе новые картинки.
Шаг 1. Регистрируемся в Krea и оплачиваем подписку
Переходим по ссылке и проходим стандартную регистрацию. Для оплаты используем банковскую карту.
Важно! Российской картой оплатить не получится. Но с белорусской оплата прошла.
Затем переходим в раздел Train.

В разделе Train выберите Image Flux → Train Image Style. Также можете попробовать Image Krea 1, но там качество картинок получается хуже.

Шаг 2. Подготавливаем фотографии
Чтобы натренировать модель, нужно заранее подготовить от 3 качественных фото. Чем больше — тем лучше. Я рекомендую подготовить минимум 10 штук. Максимум — 50.
Какие фотографии считаются качественными:
- Вы один на фото, с простым задним фото. Лицо хорошо видно, на него не падает тень, вы не закрываете его руками. Все хорошо видно. План может быть любой, но совсем мелкие фото лучше не использовать — могут появиться артефакты.
- Фото сделаны в хорошем качестве. Krea просит, чтобы все фотографии были больше 1024 пикселей. Если использовать картинки более плохого качества, нейросеть может придумать недостающие или плохо заметные детали сама и тогда ваше лицом вашим уже не будет.
- Фото сделаны в разных позах и ракурсах. Сбоку, в профиль, снизу, сверху и т. д. Чтобы нейронка лучше поняла черты лица. При этом лучше загружать фото с одной прической и только с бородой или без нее. Чтобы нейросеть не запуталась.
Также желательно загрузить фото в разной одежде. Иначе высок шанс, что нейросеть будет привязываться к одному образу и использовать его, если вы не дадите четких рекомендаций по одежде в промпте. Это же касается аксессуаров — лучше грузить фото с ними и без них.
Не стоит грузить фото с заметной разницей возрасте и весе, т. к. это тоже может сказаться на итоговых генерациях.
Если в процессе поймете, что фотографий недостаточно, сможете дообучить модель и добавить новых фотографий.
Шаг 3. Тренируем модель и генерируем картинки
После загрузки всех фото вы можете придумать название своей модели, чтобы при работе с промптами в будущем могли дописывать придуманное название и сервис сразу понимал, что вы хотите сделать фото на основе своего персонажа.

А также пройти по дополнительным настройкам (иконка шестеренки):
- Training Steps — количество тренировочных шагов, которые нейронка пройдет при обучении. Чем больше, тем лучше она запомнит вас как персонажа.
- Learning Rate — скорость обучения. Большие значения сделают ваше обучение более выраженным, но могут привести к переобучению модели.
- Batch Size — количество одновременной информации, которую получает нейросеть для обучения. Большие значения избегают переобучения и позволяют обучаться модели быстрее, но требуют больше шагов.
- Trigger Word — триггерное слово, по которому в будущем вы сможете генерировать картинки со своим персонажем в любых промптах.
Мой совет — оставлять значения по умолчанию.

Также в настройках можно выбрать, чему именно вы обучаете модель: следовать стилю, запомнить объект или персонажа. Выбор Default совмещает все сразу: и стиль, и объект и персонажа.
После загрузки фоток и запуска обучения модели нужно будет подождать минут 5, пока сервис создаст ваш образ. По окончанию этого процесса вы увидите уведомление о том, что анализ выполнен успешно.
Теперь у вас есть свой стиль (style) и вы можете создавать на его основе фотографии.

Здесь можно сразу нажать «Use with Flux» и генерировать фото со своим лицом. У меня в результате получилось сделать такие фото, совпадение шикарное:

