ComfyUI 高级实战:极速稳定视频风格转绘

在之前的文章中我分享过使用 TemporalKit 和 EBSynth 转换视频风格的方法,不过生成出来的视频闪烁比较厉害,效果不是太好,而且生成过程特别繁琐,操作起来也比较困难。

最近我在使用 Animatediff 的过程中,发现这个工具也可以转换视频风格,而且可以把视频画面处理的十分稳定,基本上没有什么闪烁;同时再结合字节开源的闪电模型,还可以大幅提升视频的生成速度;另外使用 ComfyUI 还可以直接把音频合成进来,一站式搞定!

重绘视频一般是将真实视频重绘为动漫风格,或者是使用新的人物形象重放视频中的人物动作,再或者只是重绘视频中的部分内容,形式上可以有很多玩法。

这篇文章我将会分享两种转绘方法:姿势转绘、风格转绘。

效果展示

话不多说,先看看效果吧:

ComfyUI介绍

有的同学可能还不知道 ComfyUI 是什么,我这里做一个简单的介绍。

ComfyUI 是一个基于扩散模型的AI绘画创作工具,扩散模型就是大家常说的 Stable Diffusioin,简称SD。

使用SD进行AI绘画的常用工具还有 Stable Diffusion WebUI,有时也简称 SD WebUI,SD WebUI入门比较简单,适合新手,但是可定制性稍微差点,使用API进行操作也有一定的难度。

ComfyUI 使用工作流的方式,可定制性很强,可以让创作者们搞出各种新奇的玩意,也可以实现更高的自动化水平,发展势头特别迅猛。

ComfyUI安装

安装 ComfyUI 的难处

ComfyUI 本身是一个开源软件,大家可以安装到自己的电脑上使用。

但是但是事情往往没有说起来这么简单:

  • 首先你要通过Github来下载程序,后续还要下载大量的模型,这需要特殊网络设置;
  • 然后你还要懂点电脑技术,需要执行一大堆的命令;
  • 最后你还要有一个牛逼的Nvidia显卡,显存8G起步,越大越好。


这几个问题都不是那么好解决的。

当然,如果上边的这三个要求对你来说都是小菜一碟,你可以看看我这篇文章:

https://mp.csdn.net/mp_blog/creation/editor/138481262

云环境使用


你可能只是想试试,也不知道自己能不能玩的起来,或者说就处理几张图片,难道就没有别的办法了吗?

有!使用云镜像,软件都装好,可以直接运行:https://haoee.com/applicationMarket/applicationDetails?appId=27&IC=XLZLpI7Q

姿势转绘演示

加载工作流

首先加载 ComfyUI 工作流,当前演示工作流可在文末获取。镜像已经内置此工作流,请按照下图的方式,点击“加载”旁边的下拉按钮,依次点击“视频处理”-“人物动作转绘-闪电Animatediff”。

加载视频

工作流界面的最左边有个“加载视频”的节点,如下图所示:

注意这里有两个参数:

强制帧率:帧率就是每秒多少张画面,默认的帧率一般是30,但是实际上设置为16,看起来也差不多,帧数少了,处理的数据也少,可能更快的生成视频。

强制尺寸:上传的视频过大了,处理的慢,过小了效果不好,这里强制下视频的高度为1024,宽度自适应。

设置SD参数

这里用到了提示词反推,因为SD模型生成图片需要提示词,但是每次写提示词真的很烦,所以这里用了一个模型来反推提示词,再和通用的提示次组装到一起使用。

设置 ControlNet 参数

为了引用原视频中的姿势,这里使用了一个ControlNet。首先通过“DW姿态预处理器”提取人物的姿态,这个处理器提取出的姿态比较细腻,包括人物的手部动作,效果会好一些,然后再把这些图片送入ControlNet应用。

注意ControlNet模型区分SD1.5和SDXL版本,需要和SD基础模型匹配,不要选错了。

设置 Animatediff 参数

这里为了加速视频生成,使用了字节跳动开源的闪电模型,4步就可以生成高清图片。注意采样器中的步数也要设置为4,CFG设置为1,不要太大,容易崩图。

最后我们点击“添加提示词队列”,等着生成视频就行了。

生成好的视频会出现在工作流的最右侧,点击右键可以下载到本地。

风格重绘演示

加载工作流

首先加载 ComfyUI 工作流,本文演示使用的工作流请在文末获取。如果你使用的是我制作的镜像,请按照下图的方式,点击“加载”旁边的下拉按钮,依次点击“视频处理”-“精细风格转绘-闪电Animatediff”。

加载视频

在工作流最左侧有一个“加载视频”节点,我们需要选择要进行风格重绘的视频,操作如下图所示:

为了加快转换速度,这里调整了帧率和视频的尺寸,视频默认的帧率一般是30,也就是每秒30个画面,一般调整到一半也不会有太大的影响,但是要处理的数据就会减少一半;视频尺寸太大的话,处理起来慢,尺寸太小的话,效果不好,这里将高度调整为1080,宽度自适应。大家可以根据自己的实际情况进行调整。

设置SD参数

在工作流的中间找到“Checkpoint加载器”和“CLIP文本编码器”节点。“Checkpoint加载器”是用来加载SD基础模型的,这里就是选择你要重绘的风格模型。“CLIP文本编码器”是用来编码提示词的,提示词需要根据画面内容做一个简单的编写,不用太复杂,因为我们使用了4步闪电模型,反向提示词也不需要填写。

设置 Animatediff 参数

在“Checkpoint加载器”节点的右侧,我们可以看到“Animatediff加载器”和“K采样器”,这两个需要搭配使用。

  • “Animatediff加载器”这里需要设置Animatediff动画模型,我使用的是字节开源的4步闪电模型,速度很快,推荐大家也试试,模型可以在文末下载。
  • “K采样器”这里的步数需要和Animatediff动画模型适配,因为我使用的是4步闪电模型,所以这里采样步数设置为4就行了,CFG这里不要设置的太高,一是闪电模型支持的不好,二是太高了模型根据提示词发挥的太多,重绘效果可能不好。

设置完这几个参数,我们点击“添加提示词队列”,等着生成视频就行了,生成好的视频会出现在工作流的最右侧,点击右键可以下载到本地。

工作流中还用了两个ControlNet控制器,有兴趣的可以去调整下各个参数,看看效果如何。

资源下载

本文用到的工作流、插件和模型,都已经整理好了,发消息 “视频重绘” 获得。

### 如何使用ComfyUI进行视频风格换 #### 准备阶段 在准备阶段,需先完成ComfyUI环境的配置。确保已按照官方指南成功安装ComfyUI及其依赖项[^1]。 #### 导入所需工具和库 对于视频处理而言,除了基本的ComfyUI框架外,还需要额外导入一些用于读取、写入视频文件以及帧间处理的相关Python库。通常推荐使用`opencv-python`来处理视频输入输出操作: ```python import cv2 from comfyui import StyleTransferModel # 假设这是ComfyUI中的风格迁移模块 ``` #### 加载预训练模型 加载预先训练好的神经网络模型来进行风格化处理。这里假设已经有一个名为`style_model.pth`的模型权重文件可用: ```python model = StyleTransferModel() model.load_state_dict(torch.load('path/to/style_model.pth')) model.eval() # 设置为评估模式 ``` #### 处理单帧图像 定义一个函数用来对每一帧图片应用风格变换算法。此过程会遍历整个视频序列并对每一张静态图象执行相同的艺术效果渲染流程: ```python def process_frame(frame, model): """Process a single frame with the given style transfer model.""" tensor_image = preprocess(frame) # 预处理成适合喂给模型的形式 stylized_tensor = model(tensor_image) result_image = postprocess(stylized_tensor) # 后处理恢复原始尺寸颜色空间等属性 return result_image ``` #### 执行批量帧处理 打开目标视频文件作为输入流,并逐帧调用上述定义的方法实施风格变;同时保存经过修饰后的连续画面至新的输出路径下形成最终成品影片: ```python input_video_path = 'path/to/input.mp4' output_video_path = 'path/to/output.avi' cap = cv2.VideoCapture(input_video_path) fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter(output_video_path, fourcc, cap.get(cv2.CAP_PROP_FPS), (int(cap.get(3)), int(cap.get(4)))) while True: ret, frame = cap.read() if not ret: break styled_frame = process_frame(frame, model) out.write(styled_frame) cap.release() out.release() cv2.destroyAllWindows() ``` 通过以上步骤可以实现基于ComfyUI平台上的视频风格换功能开发。值得注意的是,在实际项目中可能还需考虑更多细节优化问题,比如性能瓶颈解决办法或是不同分辨率适应策略等问题[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值