目录
一、FRESCO简介
项目全名:FRESCO: SPATIAL-TEMPORAL CORRESPONDENCE FOR ZERO-SHOT VIDEO TRANSLATION
项目链接:Rerender A Video | MMLab@NTU
论文链接:https://arxiv.org/abs/2403.12962
用途:
给定一段输入视频与一段提示词,可以根据提示词对原视频进行重绘,以实现风格迁移或者对象替换的功能。
下图为官方展示:
二、安装与使用(Linux)
安装
参考github页面,打开安装文件夹,右键打开控制台:
# 克隆该项目
git clone https://github.com/williamyang1991/FRESCO.git
# 进入FRESCO文件夹
cd FRESCO
# 创建环境
conda create --name diffusers python==3.8.5
conda activate diffusers
# 安装依赖
pip install torch==2.0.0 torchvision==0.15.1 --index-url https://download.pytorch.org/whl/cu118
# 上一步torch安装完成后
pip install -r requirements.txt
# 运行安装脚本(需要链接到外网)
python install.py
该项目中用到了Ebsynth,这个文件运行install.py脚本的时候有可能会下载失败,也可以手动从下面链接下载:
https://huggingface.co/PKUWilliamYang/Rerender/resolve/main/models/ebsynth
这个是linux的,链接打开后会直接下载,放在这个路径里面
"src/ebsynth/deps/ebsynth/bin"
还有,下载之后需要允许其作为程序允许,不然会报下面的错误
[Errno 2] No such file or directory: 'xxxx.bin' or 'xxxx.jpg'
使用方法(脚本)
以测试demo为例,将柯基摆动前爪的视频转换为狐狸在摆动前爪
运行设置全部保存在以下文件中
"FRESCO/config/config_dog.yaml"
修改该文件以选择自己想要的设置,这里说几个比较重要的设置,其余可以自己尝试
# 8-12行
seed: 0 # 随机数种子,其他条件不变时,修改它可以改变输出
prompt: 'greetings from a fox by shaking front paws' # 提示词,输入想重绘的内容
sd_path: 'SG161222/Realistic_Vision_V2.0' # 使用的预训练模型,不同的风格转换需要用到不同的模型,这是一个写实模型
use_controlnet: True # 是否使用ControlNet
controlnet_type: 'hed' # ControlNet所使用的控制条件
使用以下命令运行程序:
python run_fresco.py ./config/config_dog.yaml
等待一段时间,生成结果会存放在output文件夹中
该命令运行过程中会自动下载需要的模型,包括预训练模型和base model,第一次需要等待一段时间,也需要连接上外网。
使用方法(WebUI)
推荐使用WebUI,使用以下命令
python webUI.py
WebUI中使用比较方便,不需要通过修改yaml文件改设置,不过输入程序的参数是一样的
右边的输出结果中,上方为关键帧的预览,下方为全视频的预览
四、效果测试
Test1
SD Model:Realistic_Vision_V2.0
use_controlnet:True
controlnet_type:hed
prompt:greetings from a fox by shaking front paws
input_video | output_video |
![]() | ![]() |
Test2
自己找的数据,忘记计时,大概花费了25分钟,运行过程中会需要额外的磁盘空间,这个7秒钟的视频大概需要800MB左右的空间,运行结束后程序自己会把中间结果删除
SD Model:Realistic_Vision_V2.0
use_controlnet:True
controlnet_type:hed
prompt:a cheetah running on the beach
input_video | output_video |
![]() | ![]() |