InstantCharacter: инструмент с открытым исходным кодом для генерации последовательных персонажей из одного изображения
Общее введение
InstantCharacter - это проект с открытым исходным кодом, разработанный Tencent Hunyuan и командой InstantX и размещенный на GitHub. Он использует эталонное изображение и текстовое описание для создания единообразных образов персонажей для различных сцен и стилей. Проект основан на технологии Diffusion Transformer, которая преодолевает ограничения традиционной архитектуры U-Net и обеспечивает более высокое качество изображений и гибкость. Пользователи могут генерировать изображения персонажей, соответствующие их описаниям, без сложной параметризации и с помощью простых операций, что широко используется в анимации, играх и цифровом искусстве. Поддержка проекта Флюс.1 и обеспечивает адаптацию стиля LoRA для удобной стилизованной генерации.

Список функций
- Последовательное создание персонажей на основе одного изображения: генерируйте изображения персонажей для разных сцен, действий и точек зрения, используя только одно эталонное изображение.
- Генерация на основе текста: настраивайте движения персонажей, сцены и стили с помощью текстовых подсказок, например, "девушка играет на гитаре на улице".
- Поддержка миграции стилей: совместимость со многими стилями LoRA, такими как стиль Ghibli или стиль Makoto Shinkai, для создания художественных изображений.
- Высококачественный вывод изображений: генерируйте детальные изображения персонажей с высоким разрешением на основе моделей Flux.1.
- Поддержка моделей с открытым исходным кодом: поддержка Flux и других моделей преобразования текста в изображение с открытым исходным кодом, разработчики могут свободно расширять функции.
- Легкие адаптеры: используйте масштабируемые модули адаптеров для снижения потребления вычислительных ресурсов и повышения эффективности генерации.
- Оптимизация крупномасштабного набора данных: обучение на основе десяти миллионов выборочных наборов данных для обеспечения согласованности ролей и управляемости текстом.
Использование помощи
Процесс установки
InstantCharacter требует среды с поддержкой GPU, рекомендуется графический процессор NVIDIA (минимум 48 ГБ VRAM, оптимизированный для 24 ГБ). Ниже приведены подробные шаги по установке:
- Подготовка к защите окружающей среды::
- Установите Python 3.8 или более позднюю версию.
- Рекомендуется установить PyTorch (с поддержкой CUDA).
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
. - Чтобы установить библиотеку зависимостей, выполните следующую команду:
pip install transformers accelerate diffusers huggingface_cli
- Убедитесь, что в вашей системе установлены Git и Git LFS для загрузки больших файлов.
- склад клонов::
- Откройте терминал и выполните следующую команду, чтобы клонировать репозиторий InstantCharacter:
git clone https://github.com/Tencent/InstantCharacter.git cd InstantCharacter
- Откройте терминал и выполните следующую команду, чтобы клонировать репозиторий InstantCharacter:
- Загрузите контрольные точки модели::
- Загрузите модель с сайта Hugging Face:
huggingface-cli download --resume-download Tencent/InstantCharacter --local-dir checkpoints --local-dir-use-symlinks False
- Если вы не можете получить доступ к Hugging Face, вы можете использовать зеркальный адрес:
export HF_ENDPOINT=https://hf-mirror.com huggingface-cli download --resume-download Tencent/InstantCharacter --local-dir checkpoints --local-dir-use-symlinks False
- После завершения загрузки проверьте, что структура папок содержит
checkpoints
, иassets
, иmodels
и т.д. каталог.
- Загрузите модель с сайта Hugging Face:
- Настройка среды выполнения::
- Убедитесь, что драйвер GPU и версия CUDA совместимы с PyTorch.
- Перенесите модель и код на устройство с поддержкой CUDA, запустите программу
pipe.to("cuda")
.
Использование
Основная функция InstantCharacter - генерировать изображения персонажей на основе эталонных изображений и текстовых подсказок. Ниже приведена подробная процедура:
1. Загрузка моделей и адаптеров
- Используйте предоставленный
pipeline.py
Скрипт загружает базовую модель и адаптеры. Пример кода выглядит следующим образом:import torch from PIL import Image from pipeline import InstantCharacterFluxPipeline # 设置种子以确保可重复性 seed = 123456 # 加载基础模型 base_model = 'black-forest-labs/FLUX.1-dev' ip_adapter_path = 'checkpoints/instantcharacter_ip-adapter.bin' image_encoder_path = 'google/siglip-so400m-patch14-384' image_encoder_2_path = 'facebook/dinov2-giant' # 初始化管道 pipe = InstantCharacterFluxPipeline.from_pretrained(base_model, torch_dtype=torch.bfloat16) pipe.to("cuda") pipe.init_adapter( image_encoder_path=image_encoder_path, image_encoder_2_path=image_encoder_2_path, subject_ipadapter_cfg=dict(subject_ip_adapter_path=ip_adapter_path, nb_token=1024) )
- Приведенный выше код загружает модель Flux.1 и IP-адаптер InstantCharacter, обеспечивая запуск модели на GPU.
2. Подготовка эталонных фотографий
- Выберите изображение, содержащее символ (например.
assets/girl.jpg
), убедитесь, что фон простой (например, белый). - Загружает изображение и преобразует его в формат RGB:
ref_image_path = 'assets/girl.jpg' ref_image = Image.open(ref_image_path).convert('RGB')
3. Генерация образов персонажей (без переноса стилей)
- Используйте текстовые подсказки для создания изображений и установки параметров, таких как количество шагов вывода и шкала бутстрепа:
prompt = "A girl is playing a guitar in street" image = pipe( prompt=prompt, num_inference_steps=28, guidance_scale=3.5, subject_image=ref_image, subject_scale=0.9, generator=torch.manual_seed(seed) ).images[0] image.save("flux_instantcharacter.png")
subject_scale
Контролирует согласованность ролей, при этом меньшие значения благоприятствуют стилизации (например, 0,6 или 0,8).
4. Миграция стилей с помощью Style LoRA
- InstantCharacter поддерживает стилизованные LoRA (например, в стиле Ghibli или Makoto Shinkai). Загружайте файлы LoRA и генерируйте стилизованные изображения:
lora_file_path = 'checkpoints/style_lora/ghibli_style.safetensors' trigger = 'ghibli style' prompt = "A girl is playing a guitar in street" image = pipe.with_style_lora( lora_file_path=lora_file_path, trigger=trigger, prompt=prompt, num_inference_steps=28, guidance_scale=3.5, subject_image=ref_image, subject_scale=0.9, generator=torch.manual_seed(seed) ).images[0] image.save("flux_instantcharacter_style_ghibli.png")
- взаимозаменяемость
lora_file_path
ответить пениемtrigger
Возможность переключения между различными стилями (например.Makoto_Shinkai_style.safetensors
).
5. Запустите интерфейс Gradio (необязательно)
- Проект предоставляет интерфейс Gradio для удобного взаимодействия. Запустить
app.py
::python app.py
- Откройте браузер для доступа к локальному адресу (например.
http://127.0.0.1:7860
), загрузите изображение и введите слово подсказки для создания изображения.
предостережение
- Генерация персонажей животных может быть нестабильной, поэтому рекомендуется использовать изображения человеческих персонажей.
- Для создания более высокого разрешения требуется больше памяти, рекомендуется использовать графические процессоры серии A100 или RTX 5000.
- Загрузка модели может прерываться из-за проблем с сетью, поэтому рекомендуется использовать
--resume-download
Параметры.
сценарий применения
- Анимация и кинопроизводство
- Быстрое создание концепт-артов персонажей или раскадровок для сокращения цикла предварительной разработки. Пользователи могут загружать эскизы персонажей, вводить описания сцен (например, "персонаж бежит по лесу") и генерировать последовательные изображения для предварительного просмотра анимации или тестирования персонажей.
- разработка игр
- Генерируйте многоракурсные, многодвигательные изображения для игровых персонажей. Разработчики загружают дизайн персонажей и генерируют спрайты с различными позами (например, "персонаж замахивается мечом") для использования в 2D или 3D игровых ресурсах.
- Создание цифрового искусства
- Художники используют Style LoRA для создания художественных образов персонажей, например, реалистичных персонажей, преобразованных в стиле Ghibli, для использования в иллюстрациях или при создании NFT.
- Контент для социальных сетей
- Пользователи загружают селфи, чтобы создать аватары в стиле аниме или анимированные сцены (например, "Танцую в одиночестве в фантастическом городе") для персонализированного контента в социальных сетях.
QA
- Какие модели поддерживает InstantCharacter?
- В настоящее время поддерживается модель Flux.1, а в будущем она может быть расширена за счет других моделей преобразования текста в изображение с открытым исходным кодом.
- Какой объем видеопамяти необходим для работы?
- Рекомендуемая память 48 Гб, оптимизированная для поддержки 24 Гб. Разрабатываются методы количественного анализа, позволяющие снизить требования к памяти.
- Как решить проблему с загрузкой модели?
- Используйте зеркальный адрес "Обнимающееся лицо" или
--resume-download
параметры для обеспечения стабильности сети.
- Используйте зеркальный адрес "Обнимающееся лицо" или
- Почему сгенерированные персонажи животных нестабильны?
- В обучающих данных модели преобладают человеческие персонажи, а характеристики животных недостаточно оптимизированы, что позволяет использовать изображения человеческих персонажей.
- Есть ли он в продаже?
- Текущая лицензия предназначена только для исследовательских целей. Для коммерческого использования требуется лицензия от Tencent.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...