Как сделать свою LoRa?
Давайте расскажу, как самим натренировать свою LoRa, чтобы генерировать изображения с собой. Все очень просто и займет несколько минут.
В качестве нейросети для генерации изображения будем использовать FLUX. Но сначала разберемся, что такое LoRa:
LoRA (Low-Rank Adaptation) это дополнительные библиотеки данных, которые внедряются в нейросеть, например FLUX для улучшения качества генерации изображений или соответствия паттерну. Короче она позволяет адаптировать и настраивать базовую модель FLUX.1-dev без необходимости переобучения всей модели. Поехали!
Начнем со сбора датасета
- Соберите 15-20 фотографий:
- Разные ракурсы лица (фронтальные, профиль, полупрофиль)
- Разные выражения лица
- Хорошее освещение
- Четкие, не размытые изображения
- Разрешение не менее 1024×1024 пикселей
- Подготовьте фотографии:
Переходим в Fal.ai
Зарегистрируйтесь на Fal.ai, проще всего это сделать через GitHub, просто залогиньтесь им в сервисе.
Пополните баланс (обучение LoRA стоит около $2-5), российские карты сервис не принимает, можно сделать карту https://www.bitfree.us/ или в подобном сервисе.
- Создайте новую LoRA:
- Перейдите в раздел LoRA Training
- Загрузите подготовленные фотографии в Add Images
- Придумайте уникальное триггерное слово (например, "ваше_имя_портрет") укажите в строке Trigger Word
- Жмите Start
Использование вашей LoRA в Fal.ai
- Перейдите к генерации изображений:
- Выберите модель "FLUX.1 [dev] with LoRAs"
- В списке доступных LoRA найдите вашу
- Создайте промпт с триггерным словом:
Например:Портрет человека в парке, солнечный день, ваше_имя_портрет, реалистичный стиль
- Настройте параметры:
1) Image Size - выбирайте нужный формат изображения: квадрат, вертикальная картинка и так далее.
2) Num Inference Steps - можно оставить дефолтные 28 шагов.
3) Seed - изначально стоит random, можете нажать на кнопку, чтобы установить любое значение seed. Генерируя случайный seed, ИИ может генерировать разные изображения каждый раз, даже если все остальные значения остаются прежними. Это позволяет создавать бесконечное разнообразие изображений каждый раз. Если вы используете один и тотже seed, промпт и настройки, вы можете получать одно и то же изображение каждый раз.
4) Guidance scale (CFG) - значение насколько близко генерация должна соответствовать промпту. Базовое значение 3.5
5) Sync Mode - оставляем выключенным
6) Num Images - количество изображений в генерации (от 1 до 4), все изображения будут разными и за кажое будет снята оплата.
7) Enable Safety Checker - не трогаем Для генерации нажимаем RUN
Как составить хороший промпт для генерации изображения
- Объект. Обозначьте главный объект в генерации - первое слово или фраза в промте для нейросети. И лучше будет написать не просто "гусеница", а "пушистая зеленая гусеница с красными полосками на спине". Не забываем что LoRa вызывается названием Trigger Word в промпте.
- Детали. Важная часть промта - детализация. Всё самое важное прописываем, тогда нейросеть FLUX сгенерирует то, что надо. Например: "пушистая зеленая гусеница с красными полосками на спине ползёт по асфальту на фоне оживленной улицы".
- Ключевые слова. Такие слова помогают нейросети Flux понять созданный промт. Например: "ретро", "винтаж", "осенний пейзаж". Как пользоваться ключевыми словами в промте покажу в примерах ниже.
- Логическая структура. Выделяйте объекты и их характеристики в логической последовательности. Например: "женщина с рыжими длинными волосами в норковой шубе стоит на автобусной остановке". Так не надо: "собака сидит возде будки, железная цепь, зеленый шарф". Flux нарисует, но то ли это будет.
- вид с уровня земли (ground-level perspective). Интересный ракурс, когда главный объект в фокусе, а остальное размыто.
- кадр от первого лица (first-person perspective). Такими картинками легко вовлечь аудиторию в происходящее, добавляйте динамики и драйва. Хорошая идея для анонсов сплавов, походов, а также любой другой движухи.
- панорамный вид снизу вверх (worm’s-eye view) и панорамный вид сверху вниз (overhead или bird’s-eye view). Беспроигрышные ракурсы для демонстрации масштабов, величественности. Например, панорамной съёмкой сверху можно передать масштабность спортивного соревнования
- вид сквозь объект (through-the-object perspective).
- съемка изнутри (inside-out view). Например, из автомобиля.
- отраженная перспектива (reflected perspective). Все отражающие поверхности берем и экспериментируем. Лужа, лёд, глянец, стекло.
Можно использовать технические параметры камеры:
камера — Nikon D850, Sony A7R IV, Panasonic Lumix GH5
угол съемки — eye-level, low angle, high angle, dutch angle
объектив — wide-angle lens, telephoto lens, fisheye lens, prime lens
диафрагма — f/1,4, f/2,8, f/5,6, f/8
iso — iso 100, iso 400, iso 1600, iso 3200
глубина резкости — shallow depth of field, deep depth of field
скорость затвора — 1/1000 sec, 1/250 sec, 1/30 sec
p.s Если персонаж не должен быть похож на обученную LoRa - ссылку на лору в Path убирайте