comfyUI-MuseTalk用户交互体验的参数设计和设置

专讲冷知识 2024-09-14 17:31:00 阅读 80

comfyUI-MuseTalk用户交互体验的参数设计和设置

目录

comfyUI-MuseTalk的参数设置

一、ComfyUI-VideoHelperSuite

二、comfyUI-MuseV合成的参考视频

2.1、什么时候会用到MuseV?

2.2、MuseV特别消耗系统内存

2.2.1、测试图片序列的像素比

2.2.2、影响运动范围和生成结果的参数

三、comfyUI-MuseTalk参考视频的参数

3.1、造成爆内存的可能情形

3.2、正确的设置,不会造成爆内存

3.2.1、原始参考视频的要求

3.2.1.1、参考视频短边的帧像素比

3.2.1.2、视频像素比、帧率及视频长度对参考视频动作的影响的基本原理

3.2.1.3、museV文生参考视频及拍摄真人视频对参考视频动作的影响程度

四、本期关联技术博文


一、ComfyUI-VideoHelperSuite

这个一个与视频工作流相关的I/O节点。

GitHub - Kosinkadink/ComfyUI-VideoHelperSuite: Nodes related to video workflows

它可以:

加载视频

将视频文件转换为一系列图像

加载图像序列

从子文件夹加载所有图像文件。选项与加载视频类似。

视频合并

将一系列图像组合成输出视频

如果提供了可选的音频输入,它也将被组合到输出视频中。

加载音频

提供一种加载独立音频文件的方法。

存在许多用于管理潜伏数据的实用节点。每个节点都有一个用于处理图像的等效节点。

拆分批次

将潜在变量分为两组。第一组split_index潜在变量进入输出 A,其余组进入输出 B。如果split_index输入的潜在变量少于第一组潜在变量,则所有潜在变量均会传递至输出 A,而输出 B 为空。

合并批次

将两组潜在变量合并为一个输出。输出的顺序是 A 中的潜在变量,然后是 B 中的潜在变量。

如果输入组的大小不同,则节点会在合并之前提供重新调整潜在变量的选项。

选择每 N 个

每个输入中的第一个select_every_nth被传递,其余的被丢弃

获取计数重复批次视频预览

加载视频(上传)、加载视频(路径)、加载图像(上传)、加载图像(路径)和视频合并提供动画预览。带有预览的节点在右键单击时提供附加功能。

二、comfyUI-MuseV合成的参考视频

2.1、什么时候会用到MuseV?

当你并非实际拍摄的参考动作视频,而是拍照;或拍摄的参考动作图片需要用其它的视频人物动作来做动作替换;或拍摄的参考动作视频需要更换背景和场景后再次进行处理。

2.2、MuseV特别消耗系统内存

MuseV非常吃系统内存,需要特别配置好运行参数进行调优推理。

2.2.1、测试图片序列的像素比

短边:480    512    640     720    1080   1080  448(test_data_width)

长边:720    768    960   1080    1620   1920  704(test_data_height)

2.2.2、影响运动范围和生成结果的参数

video_guidance_scale类似于 text2image控制 cond 和 不控制uncond 之间,影响较大,默认为 3.5。详见2.2所述。use_condition_image:是否使用给定的第一帧进行视频生成, 默认 Trueredraw_condition_image:是否重新绘制给定的第一帧图像。video_negative_prompt:配置文件中全 negative_prompt 的缩写。默认为 V2

三、comfyUI-MuseTalk参考视频的参数

image_load_cap(frame_load_cap帧的读取上限):将返回的最大图像数量。这也可以被认为是最大批次大小。skip_first_images:要跳过多少张图像。通过将此数字增加 image_load_cap,您可以轻松地将一长串图像分成多个批次。select_every_nth:允许在每个返回的帧之间跳过一些图像。crf:描述输出视频的质量。数字越低,视频质量越高,文件大小越大,而数字越高,视频质量越低,文件大小越小。缩放比例因编解码器而异,但视觉无损输出通常在 20 左右,默认值=19。frame_rate:每秒显示多少输入帧。更高的帧速率意味着输出视频播放速度更快且持续时间更短。对于 AnimateDiff,此值通常应保持为 8,或当启用了 Load Video 节点的 force_rate的话,两者应当相等;最终的音视频输出帧率,也应当匹配。

3.1、造成爆内存的可能情形

3.2、正确的设置,不会造成爆内存

3.2.1、原始参考视频的要求
3.2.1.1、参考视频短边的帧像素比

常见的帧像素比例:

短边:480    512    640     720    1080   1080  448(test_data_width)

长边:720    768    960   1080    1620   1920  704(test_data_height)

这些都是符合要求的:

帧率越大,动作越连贯;帧率越小,动作越迟缓; 总帧数和帧率决定了当前配音的时长,是否被截断后输出,它影响到最终合成输入的音视频长度。

3.2.1.2、视频像素比、帧率及视频长度对参考视频动作的影响的基本原理

由于参考视频在拆解视频的每一帧后,需要对其“唇形”,这个过程需要使用系统内存对内存流进行处理,内存流的的对齐是连续的,即:当总视频长度对应的所有帧都必须正确的处理完毕后,将它们在内存中进行流的合并。如果操作系统的内存不够,将会导致错误。

那么,那些因素是影响参考视频”对齐“及“合并”的内存流大小的呢?

一是符合上述像素比的视频的短边的像素值s-px,s-px越大就越消耗内存;二是为了保证动作的连贯性和完整性,“参考视频”需要保证足够的时长,该视频的原始帧率会导致输出到缓存中的帧图片的数量的多少,即总批次数batch-sizes(这里简称bss);三就是可以强制设置输出帧率,并设置分批次batch-size(这里简称bs),用以调整将较长时长(这里简称vl)的参考视频切分成多个批次(这里简称bl)进行处理,bl = vl / bs ,处理完毕后再进行合并。在二和三中,无论哪种方式,所需的内存都不能超过系统内存的可用数。

最后,参考视频的帧率ref-fps,经验值,英伟达显存等于16G的显卡芯片,1帧 <= ref-fps <= 12帧;总帧数除以帧数,应当能够整除;一般帧率数值为1、2、4、8、12。 因此生成的参考视频或拍摄的参考视频,最好用剪映或秒剪进行前期处理,最好秒数为整数。

3.2.1.3、museV文生参考视频及拍摄真人视频对参考视频动作的影响程度

museV文生参考视频,既要处理脸部表情,又要处理随机动作,还要处理唇形对齐,所以按照3.2.1.2中所述的基本原理,它对系统内存的要求更加苛刻;而如果连续动作的参考视频是实拍的,就可以利用bl,每个批次处理1个较短的连续动作(一般 1秒 <= bl <= 4秒,比较适合),再给每个bl进行AI训练推理的配音;最终,将多段视频,在剪映或秒剪中进行视频剪辑的后期处理即可。否则,你将付出的是更大的显卡芯片cuda和系统内存的高昂开销。

四、本期关联技术博文

《ComfyUI-MuseTalk部署依赖mmcv》

《Win10环境将Docker部署到非系统盘》



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。