PuLID+FLUX: перенос внешности на генерации в FLUX .PuLID (Pure and Lightning …
PuLID (Pure and Lightning ID Customization) – метод генерации на основе внешности для диффузных моделей с управлением текстовым промптом. Ключевое преимущество PuLID состоит в его способности генерировать изображения с высокой степенью соответствия заданной личности, следуя заданным стилю и композиции.
PuLID для SD существует относительно давно и неплохо работал с моделями SDXL. Теперь этот метод стал доступен для FLUX-dev:
--aggressive_offload
, но генерация будет выполняться очень, очень, очень медленно.
В PuLID for FLUX есть два критически важных гиперпараметра:
timestep to start inserting ID
. Этот параметр управляет там, в какой момент ID (лицо с входного изображения) будет вставлен в DIT (значение 0 – ID будет вставляться с первого шага). Градация: чем меньше значение – тем более похожим на исходный портрет будет результат. Рекомендованное значение для фотореализма – 4.
true CFG scale
. Параметр, модулирующий CFG-значение. Исходный процесс CFG метода PuLID, который требовал удвоенного количества этапов вывода, преобразован в шкалу управления чтобы имитировать истинный процесс CFG с половиной шагов инференса.
Для возможности гибкой настройки результатов, разработчик оставил оба гиперпараметра : CFG FLUX и true CFG scale. Фотореализм получается лучше с применением true CFG scale, но если финальное сходство внешности с оригиналом не устраивает – вы можете перейти на обычный CFG.
Запуск возможен несколькими способами: GradioUI, Google Collab (free tier), Google Collab (pro tier) или с одним из имплементаций для среды ComfyUI:
⚠️ Важно!
# clone PuLID repo
git clone https://github.com/ToTheBeginning/PuLID.git
cd PuLID
# create conda env
conda create --name pulid python=3.10
# activate env
conda activate pulid
# Install dependent packages
# 1. For SDXL or Flux-bf16, install the following
pip install -r requirements.txt
# 2. For Flux-fp8, install this
pip install -r requirements_fp8.txt
# Run Gradio UI
python app.py