PortraitGen是一个强大的肖像视频编辑方法,其核心创新在于利用多模态生成先验知识实现一致且富有表现力的风格化处理。该项目的官方实现依托于SIGGRAPH Asia 2024发表的论文“Portrait Video Editing Empowered by Multimodal Generative Priors”。此项目的代码、数据集以及预训练模型均已在GitHub上开放。
项目目标
PortraitGen旨在解决肖像视频的编辑难题,通过多模态提示实现文本驱动的编辑、图像驱动的编辑和重新打光的处理。给定一个单目RGB视频,该模型可以进行高质量的编辑,使得视频在风格化的同时保持面部表情的真实性和个性化。
工作流程
-
初始追踪:首先,系统追踪视频中SMPL-X系数,以便于后续的3D重建。
-
3D特征生成:使用神经高斯纹理机制来生成3D高斯特征场。这些神经高斯特征用于渲染肖像图像。
-
迭代数据更新策略:项目使用了一个迭代数据更新策略来提升肖像编辑的效果。
-
多模态面部感知编辑模块:该模块用于增强表情质量并保留个性化的面部结构。
项目设置
- 创建并激活python环境,安装所需库。
- 根据不同的操作系统和计算平台安装适合的Torch和Torchvision。
- 安装nvdiffrast、EMOCA和simple-knn中的相关模块。
- 下载必要的SMPL-X 2020模型数据以进行3D几何建模。
编辑功能
-
文本驱动编辑:借助InstructPix2Pix作为2D编辑器,通过指令式风格提示来进行视频编辑。
-
图像驱动编辑:包括风格迁移和虚拟试穿。
- 风格迁移使用的是神经风格迁移技术,通过参考图像来改变视频的风格。
- 虚拟试穿则是通过AnyDoor工具来更换视频中人物的衣物。
-
重新打光:使用IC-Light工具,通过改变光源方向和光线描述来实现不同的光照效果。
数据准备和模型使用
用户可以下载项目中预处理的数据集或自行准备数据进行3D高斯肖像的重建。通过下载项目提供的预训练肖像模型,用户也可以直接进行编辑操作。
PortraitGen项目为研究人员和开发者提供了丰富而灵活的工具,使他们能够在肖像视频编辑中实现高度自定义的效果。项目的核心贡献在于通过多模态生成先验知识进行创新型的肖像编辑,适用于多种应用场景。