综合介绍
ConsisID 是由北京大学袁粒课题组开发的一个开源项目,旨在通过频率分解技术实现身份一致的文本到视频生成(IPT2V)。该项目的核心是一个基于DiT(Diffusion Transformer)的模型,能够在生成视频时保持人物身份的一致性。ConsisID 项目不仅提供了完整的代码和数据集,还包括详细的安装和使用指南,方便用户快速上手。该项目在视频生成领域具有重要意义,特别是在需要保持角色一致性的应用场景中,如影视制作、虚拟现实等。
功能列表
- 身份一致性视频生成:通过频率分解技术,生成与输入文本描述一致且保持角色身份一致的视频。
- 开源代码和数据集:提供完整的代码和部分数据集,方便用户进行二次开发和研究。
- 多平台支持:支持在Windows和Linux系统上运行,提供Jupyter Notebook和ComfyUI扩展。
- 高质量提示词优化:使用GPT-4o优化输入文本提示词,提高生成视频的质量。
- GPU内存优化:提供多种GPU内存优化选项,适应不同硬件配置。
- 社区贡献:支持社区开发的插件和扩展,增强功能和使用体验。
使用帮助
环境配置
- 克隆项目代码:
git clone --depth=1 https://github.com/PKU-YuanGroup/ConsisID.git
cd ConsisID
- 创建并激活虚拟环境:
conda create -n consisid python=3.11.0
conda activate consisid
- 安装依赖:
pip install -r requirements.txt
下载模型权重
- 从HuggingFace下载权重:
huggingface-cli download --repo-type model BestWishYsh/ConsisID-preview --local-dir ckpts
- 或者从WiseModel下载:
git lfs install
git clone https://www.wisemodel.cn/SHYuanBest/ConsisID-Preview.git
运行示例
- 运行Web UI示例:
python app.py
- 运行命令行推理:
python infer.py --model_path BestWishYsh/ConsisID-preview
提示词优化
使用GPT-4o优化输入文本提示词,例如: 原始提示词:"一个人在弹吉他。" 优化后提示词:"视频中,一个男人站在飞机旁边,正在用手机交谈。他戴着太阳镜,穿着黑色上衣,表情严肃。飞机侧面有一条绿色条纹,后面有一个大引擎。"
GPU内存优化
如果没有多块GPU或足够的GPU内存,可以启用以下选项:
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()
pipe.vae.enable_slicing()
pipe.vae.enable_tiling()
注意:启用这些选项会增加推理时间,并可能降低生成质量。
数据预处理
请参考项目中的数据预处理指南,获取训练ConsisID所需的数据。如果需要训练文本到图像和视频生成模型,需要将数据集整理成以下格式:
datasets/
├── captions/
│ ├── dataname_1.json
│ ├── dataname_2.json
├── dataname_1/
│ ├── refine_bbox_jsons/
│ ├── track_masks_data/
│ ├── videos/
├── dataname_2/
│ ├── refine_bbox_jsons/
│ ├── track_masks_data/
│ ├── videos/
├── ...
├── total_train_data.txt
模型训练
- 设置超参数:
bash train_single_rank.sh
- 启动训练:
bash train_multi_rank.sh
社区贡献
感谢社区开发者提供的插件和扩展:
- ComfyUI-ConsisIDWrapper
- Jupyter-ConsisID
- Windows-ConsisID
ConsisID 快速集成
在线体验:Hugging Face
Windows安装包:Hugging Face 始智AI
ComfyUI节点:ComfyUI-CogVideoXWrapper openart:https://openart.ai/workflows/TxIQ6lwGkRx2zQiYjvE5