大家好,我是向阳
在之前的文章中我也分享过如何进行AI视频的制作,说是AI视频其实也就是通过Stable Diffusion进行视频重绘,也就是将一个视频一帧一帧重绘为自己想要的画面,然后再连贯起来成为视频。
这个东西其实比较耗费时间和设备配置,后续我教大家学习一下如何通过线上部署的方式来让低配置的电脑也能成功运行一些Stable Diffusion的操作,当然这个不是今天的主要内容。
今天主要想学习的是如何通过AI来实现视频风格的转换
让我们直接开始今天的学习吧!
TemporalKit
这个TemporalKit像是一个用于提取视频中关键帧图片的物品,然后结合Stable Diffusion重绘关键帧图片,再用TemporalKit进行处理转换,这个TemporalKit会自动补充关键帧之间的图片。
不过TemporalKit也是有一个弊端,这个适用于那些背景简单、主体居中且在画面占比比较大、动作幅度较慢的情况。这样让AI重绘时画面的元素比较稳定不会容易被AI自由添加,并且这样的动作衔接效果会更好些。
安装TemporalKit
安装地址:https://github.com/CiaraStrawberry/TemporalKit
如无法下载,请扫描获取哦
安装之后点击已下载中的应用重启客户端,之后等待WebUI页面重启就好啦!
当然在成功安装之后重启的过程中可能会遇到像我一样的问题:
不过不用担心,我翻了很多论坛还是找到了这个问题的解决方法。由于我是Win版本,所以我就按照Win版本的解决方案进行演示。
1.首先是打开启动器的命令行,这个可以在启动器的高级选项中找到
2.在打开命令符之后首先输入一段代码:
python -m pip uninstall tqdm
这段代码是用于卸载tqdm,然后在Proceed (Y/n)? 后面输入y也就是Yes同意卸载。
3. 然后就是重新安装最新版本的tqdm,在卸载后下方输入代码:
python -m pip install tqdm
直到最下方出现了Successfully installed tqdm-4.66.1就算是安装成功了。
这个时候就可以关闭这个命令符页面,重新启动启动器,接下来就能顺利启动啦!如果发现启动器的命令符中出现了这个:
可以暂时忽略掉,因为我目前没遇到问题并且疑难解答没有检测出问题。
如果说是出现了另外的情况例如:
ModuleNotFoundError:No module named 'moviepy'
ModuleNotFoundError:No module named 'scenedetect'
那是因为TemporalKit依赖的这些Python包不存在,用pip重新安装就好,将以下代码像上面一样输入到命令符中:
pip install moviepy
pip install scenedetect
如果自己的Stable Diffusion运行在Python虚拟环境中,那么还需要先激活虚拟环境。这一点要先注意自己的文件路径,然后再把包安装到虚拟环境中(如果是虚拟环境的话,以下这段代码要先输入后再输入上面两个代码):
source /root/stable-diffusion-webui/venv/bin.activate
现在就可以在WebUI中成功看到我们想要的TemporalKit扩展啦!
TemporalKit的使用
由于这个是一个用于视频转换的扩展插件,那么首先就得准备好一个用于转换的视频,我就从我的珍藏夹里面随便找一个用于这篇文章的演示好了。
为了最终成品效果不会太离谱,所以我选了一个单人舞蹈的视频,点开TemporalKit后将视频导入进去。
不过这会先不急生成,可以看到下方有一些参数设置选项:
-
每边张数(Sides):生成的一张图片的边包含几张视频帧,如果是2就代表4个视频帧也就是2*2;3就是9个视频帧(3*3)。这个参数的最小设置为1,也就是一张图包含一个视频帧,这个参数要与后面的高分辨率一起设置。
-
高度分辨率(Height Resoulution):生成图片的高度像素值,简单来讲就是我这个视频是1080*720,这个720就是单个视频帧的高度。但是我如果在上面的每张边数设置为2的话,那这个视频就是720*2=1440。这个参数设置取决于显卡性能,可以写个720或者2048,显卡显存不够的低一点也可以。
-
每几帧提取一个关键帧(Frames per keyframe): 这个是指多少视频帧抽取一个关键帧。
-
帧率(FPS): 一个视频每秒有多少帧画面,30就是一个视频一秒有30帧画面。
-
目标文件夹(Target Folder): 关键帧图片的输出目录,其运行结果会输入到这个目录下创建的一个input文件夹,之后过程中出现的任何结果都会在这个文件夹下,想要弄多个视频的话就需要针对每个视频创建一个项目目录。如果是用线上搭建的云端的话,那就需要填写服务器上的目录。
-
批量处理设置(Batch Setting): 因为这里要处理的是整个视频,所以需要把Batch Run批量处理勾选上。
在开始前确认一下自己视频的参数设置,就是鼠标右键点击视频文件查看属性就可以。
在设置什么的都保存完之后就可以点击右侧的运行了:
等一小会后就会出现四张图片
然后到刚刚创建用于放置操作结果的文件下方可以看到多出了一些文件夹,点开input可以发现一些关键帧图片:
之后回到WebUi点击运行下方的发送到图生图
在图生图中就与正常的图生图操作一样,选择自己需要的模型风格并且填写关键词和调整参数,这些都可以抄我下方贴出的内容再根据自己的实际情况进行适当地更改。
正面提示词:(masterpiece, realistic:1.4), (extremely intricate:1.2)>, 1boy, dancing, solo, school uniform, sad
负面提示词:easy_negative,(((text))),(((logo))),(beard)
而在参数方面需要注意两点,首先是图片的宽高。因为这是从提取关键帧的页面转来的,如果数字太大可以先调小,后续再用超分高清放大。其次是重绘幅度不要太大,以免AI过度发挥导致图片与图片之间差距过大衔接不上。
之后开启ControlNet辅助出图:
先不要批量生产,先抽卡直到刷出自己满意的图片。
一定要记得保存满意图片的种子
有了满意的图片之后就可以切换到批量处理啦!
批量处理中有两个目录,输入目录 用于提取关键帧步骤中输出图片的目录;输出目录则是重绘图片的保存目录,固定值output填上就好
复制这俩的地址
记得在下方填写上满意图片的种子,然后其他的参数不需要变动就可以直接生成啦!
一般下面会有显示生成花费的时间和占用的显存,即便没有成品图出现也没关系。
合成视频
在一切都准备就绪之后就是合成视频的环节啦,这一步需要回到TemporalKit界面。
选择批量修复Batch-Warp
在这个输入文件夹中填写完整的项目目录,注意这里不是填写input的也不是output的,而是input和output的上级目录,换句话说就是包含了input和output这个路径。
然后点击载入上次设置read_last_settings,然后系统就会自动加载其他的参数。
注意下方的输出分辨率Output resolution是需要手动设置的,默认是1024但是需要调整为原视频的分辨率,然后点击运行即可。
这里的合成原理是根据关键帧生成的中间序列,然后又拼合起来生成视频,我这个视频是5秒左右大约需要6分钟进行生成。
之后在Result中可以看到生成的最终图片,最终视频会在右侧出现可以播放也可以下载
TemporalKit还有一个Temporal-Warp
这个功能可以实现单张图片的重绘转视频,不过一般我不怎么用到这个功能。
感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
若有侵权,请联系删除