StableVideo|稳定扩散视频生成
StableVideo项目的宗旨是生成稳定的视频,通过文本驱动生成画面一致性,感知扩散视频编辑,对于显存的要求也并不高。
项目仓库
GitHub:rese1f/StableVideo: [ICCV 2023] StableVideo
显存要求
VRAM (MiB) | |
float32 | 29145 |
amp | 23005 |
amp + cpu | 17639 |
amp + cpu + xformers | 14185 |
- cpu: 使用 CPU 缓存,参数:
save_memory
在app.py
的默认设置下(例如,分辨率等)。
环境警告
本项目必须使用Linux系统安装部署,暂不支持Windows系统安装使用,但Windows内置WSL子系统功能,通过该功能可以快速部署一个支持本机GPU运算的Linux子系统。
Ubuntu属于Linux系统的一个分支,你可以理解为安卓系统中被各个手机厂商高度定制的UI系统,而Ubuntu是Linux较为成熟的一个分支。
为方便大家自行搭建或快速使用,本站提供两种方式给大家。
- 根据教程,自行搭建Linux的Ubuntu系统,自行安装项目的相应环境依赖以及模型,需要魔法网络。
- 根据教程,快速倒入本店所提供的WSL子系统镜像,可以免安装各种依赖,方便快捷,无网络要求。
以上两种方式任选其一即可,无需两个全部安装。
自行部署
此部分教程需要自己掌握关于Linux的基础知识,需要魔法网络环境正常,否则困难重重。
系统安装
在安装项目之前,我们需要一个Windows的子系统,用来运行Ubuntu,如果你还未安装部署Ubuntu,可以参阅如下文章。
Conda
在你已经安装Ubuntu系统后,我们还需要安装Conda,用来管理Python多版本等功能,关于Conda的安装可参考如下文章。
基础准备
为保持与本站命令的一致性,现在关闭所有你之前所有CMD窗口,重新打开一个CMD窗口,执行如下命令。
首先,在CMD中执行如下命令进入WSL子系统。
wsl
默认情况下你所进入的可能并不是用户的主目录,可能是root目录,建议将项目安装在用户的主目录下,执行如下命令进入用户主目录。
cd ~用户名
注意将用户名替换
为你安装时所创建的用户名
,比如本站的Ubuntu用户名
为openai_wiki
,那么本站在执行时的完整命令为cd ~openai_wiki
。
上一步
是切换目录
,而不是切换用户
,为保证Conda
可以正常使用,所以我们还需要切换
用户为你的实际用户名
。
su 用户名
执行如上代码后需要输入密码,例如本站的完整命令为su openai_wiki
,然后输入密码
即可完成用户切换操作。
项目部署
此时我们终于可以进行项目安装啦,执行如下命令,拉取
该项目的Github仓库
文件,将其下载至用户主目录
文件夹内。
git clone https://github.com/rese1f/StableVideo.git
在终端
中执行如下命令,强制切换至StableVideo
的项目目录。
cd StableVideo
执行如下命令,创建Conda虚拟环境
,方便后续Python环境的安装。
conda create -y -n StableVideo python=3.11
激活
已创建的Conda环境
,这样可以将我们后续所需要的所有环境依赖都安装至此环境下。
conda activate StableVideo
执行如下命令,安装
该项目的相关模块
依赖库。
pip install -r requirements.txt
安装libgl1-mesa-glx
依赖,可能需要输入密码,然后按下回车键
确认安装。
sudo apt-get install libgl1-mesa-glx
该项目还需要安装以下相关Python模块,执行如下代码即可自动安装。
pip install basicsr xformers
至此,手动安装部署Ubutun环境下的开源项目教程完成,请直接跳转至模型下载
部分。
自动部署
此部分教程需要自己掌握关于Linux的基础知识,无需魔法网络环境,可以让你快速运行开源项目。
镜像下载
本站已经将该项目除模型文件的所有依赖全部打包,为什么不将模型文件一起打包?
因为开源AI项目的模型文件较大,如果将模型文件一起打包,可能整个系统镜像的文件尺寸高达几十上百个GB,而且自行部署
和自动部署
需要的模型都是一样的,站长的电脑上传两遍模型会造成严重的带宽占用,网盘空间占用等问题。故此,模型需要大家单独下载,然后手动放置在项目内,大家可以放心,模型安装部分非常简单,和Windows是一样的。
系统安装
在你已经下载完成本站所提供的系统镜向之后,你需要根据下面这篇文章,准备WSL的相关组件,了解Liunx的相关知识。
在完成上面文章内容操作之后,请关闭
你当前的所有已打开的CMD
窗口,然后按下键盘上的Win键+R键
后,在弹出的新窗口内输入CMD
并按下回车
键,在CMD窗口
中按顺序执行
如下的每一条命令
。
如果你的系统镜像文件路径与教程中的一致,可以执行如下命令,自动导入Ubuntu系统镜像。
wsl --import StableVideo D:\openai.wiki\WSL D:\openai.wiki\WSL\StableVideo.tar
在CMD中执行如下命令,进入WSL子系统。
wsl -d StableVideo
默认情况下你所进入的可能并不是用户的主目录,而是root目录,执行如下命令进入用户主目录下的项目目录。
cd ~openai_wiki/StableVideo
上一步是切换目录
,而不是切换用户
,为保证Conda
可以正常使用,所以我们还需要切换用户为你的实际用户名。
su openai_wiki
注意:本站所提供的所有Ubuntu系统镜像,用户名
|用户密码
|root密码
全部为openai_wiki
。
激活
已创建的Conda环境
,否则无法运行项目。
conda activate StableVideo
模型下载
官方下载
ControlNet模型:https://huggingface.co/lllyasviel/ControlNet
下载dpt_hybrid-midas-501f0c75.pt
放置.\StableVideo\StableVideo\annotator\ckpts
目录内。
下载control_sd15_canny.pth
和control_sd15_depth.pth
放置.\StableVideo\StableVideo\ckpt
目录内。
视频训练案例模型:https://www.dropbox.com/s/oiyhbiqdws2p6r1/nla_share.zip?dl=0
下载后解压
该文件,得到名为data
的文件夹,移动
至项目的根目录
下即可。
网盘下载
关于此项目的模型,本站已为您下载并整理好。如果你不方便通过官网下载,可以使用本站所提供的网盘下载地址。
模型安装
WSL系统目录
我们是可以直接在Windows
的资源管理器
中查看的,按下键盘上的Win键+R键
后,在弹出的新窗口内输入\\wsl$
,然后按下回车
键,
\\wsl$
这将会自动弹出Windows的资源管理器,你将会看到如下内容:
- 如果你是通过
自行安装
方式部署,那么可以访问名为Ubuntu
的文件夹。- 将你下载后的模型压缩包解压,移动至
.\home\你的用户名\StableVideo
目录下。
- 将你下载后的模型压缩包解压,移动至
- 如果你是通过
自动安装
方式导入的系统,那么可访问名为StableVideo
的文件夹。- 将你下载后的模型压缩包解压,移动至
.\home\openai_wiki\StableVideo
目录下。
- 将你下载后的模型压缩包解压,移动至
运行方式
在以后每次运行该项目时,只需要先进入WSL系统,切换用户,切换目录,然后激活我们所创建的Conda虚拟Python环境,最后运行启动文件即可。
运行一个CMD窗口,执行如下命令进入WSL系统。
wsl
在终端中执行如下命令,强制切换至项目目录文件夹。
cd ~openai_wiki/StableVideo
上一步是切换目录
,而不是切换用户
,为保证Conda
可以正常使用,所以我们还需要切换用户为你的实际用户名。(如果是自行部署,请将openai_wiki修改为你自己所设置的用户名)
su openai_wiki
激活已创建的Conda环境,这样才可以正常使用该项目,否则将会自动调用系统中的默认Python。
conda activate StableVideo
执行如下代码,运行程序的GUI界面。
python app.py
在你执行该步骤之后,将会需要等待几分钟,然后你将会看到如下输出:
...省略部分内容... Setting up MemoryEfficientCrossAttention. Query dim is 1280, context_dim is 768 and using 8 heads. Setting up MemoryEfficientCrossAttention. Query dim is 1280, context_dim is None and using 8 heads. Setting up MemoryEfficientCrossAttention. Query dim is 1280, context_dim is 768 and using 8 heads. Loaded model config from [ckpt/cldm_v15.yaml] Loaded state_dict from [ckpt/control_sd15_depth.pth] Running on local URL: http://127.0.0.1:7860 Running on public URL: https://37c22756e79fc9a8c2.gradio.live This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)
其中的local URL
就是本机运行
的URL地址,public URL
就是支持公网
访问的URL地址。
假如你想在Windows
系统运行,那么打开浏览器
,然后访问https://37c22756e79fc9a8c2.gradio.live
即可看到如下界面。
使用教程
在完成上面的所有操作之后,我们此时已经可以正常使用该项目啦,以下是该项目的GUI界面操作介绍。
Step 1
就是选择一个视频模型,除了官方的演示项目之外,这些视频不是放进来就可以正常使用的,需要使用另一个开源项目进行处理,
如果你想使用自己的视频,那么你需要根据NAL对自己的视频进行训练,然后才可以导入使用,这不在本节课程之内,不展开讨论。
总之,你需要先选择
一个模型
,然后点击Load Video
按钮,让项目加载相应的视频模型。
Step 2
就是设置一些提示词,比如你需要更改前景内容,也就是车,那么就写在第一列;如果你想更改背景内容,那就修改第二列中的提示词。
Step 3
其中存在高级编辑选项,站长的显存不足,始终无法正常编辑,如果你的显存不足,也可以直接点击Render
按钮运行。
我们需要做什么?首先是确定使用哪个视频模型,然后点击Load Video
按钮,这是必须的。载入视频模型后,比如站长想更改其中的车,那就保存网页中给出的前景汽车图像,然后对出相对应的修改。
随便改一下吧,没有精调。然后修改第二步第一列的提示词,因为默认就是一辆橙色的SUV,所以就不用改啦,直接点击Render
按钮,然后等待结果。
以下是原视频和项目运算后得到的视频结果对比,这效果真的非常非常一般!
是不是哪里出了问题?于是站长换成了棕熊的视频模型,将其变成北极熊再试一下。
emmmm,很丑陋!直接贴图到前景主体上了。
效果示例
以下是卖家秀,效果还不错。
总结
不知道是不是站长的操作有什么问题,反正就只能这样了,和官方效果相差甚远。
评论 (0)