WAN 2.2 FLF With SVI For Perfecter Infinite Loopage

详情

下载文件

模型描述

参见 about 了解 v1.2 加载器的修复。-->

我的输出质量正在下降,因为我尚未切换到 ProRes 或 PNG 中间文件。红色偏移正是由此而来——反复的 H.264 压缩。由于我仍在摸索这些超大 SVI 运行的内存管理,许多流程仍彼此独立。现在 RAM 已成为瓶颈,即使 128GB 也很快被填满,因此最终阶段仍不进行上采样或插值。如果只是过渡阶段,这没问题;但如果你在最后一步将它与源视频合并,那就不行。我仍在处理循环的结尾部分,开头部分我觉得已经完美了。我曾考虑过反向编码并叠加,但也许直接正向延伸源视频的起始帧,同时牢牢锁定运动,会更有效。如果我能完美匹配,再淡入进去,应该可行。这正是我目前在尝试的。正在逐步接近。拜托,你得承认,无论如何,这都比每三秒一个生硬的跳切要好得多。无论画面多美。


我继续致力于让无限循环真正无缝衔接。进展有时缓慢,有时甚至倒退。SVI 是朝着正确方向迈出的绝佳一步。输入端的运动问题,从实际效果来看,已基本解决。另一端仍需改进,但运动和色彩方面都有了巨大提升。

好的,下面是其工作原理。SVI 需要潜在帧来执行其功能并保留输入运动。因此,我们编码源视频末尾的最后 16 帧,并将它们作为 prev_samples 使用。我们使用源视频开头的一帧作为锚点。SVI 节点生成的嵌入,与 WAN 编码器生成的嵌入相结合——WAN 编码器也会查看我们的源视频,但仅取两端各一帧。于是,我们手握一个起始帧、一个结束帧和一些特殊的“魔法”嵌入,开始推理。现在,解码后的结果并非我预期的完美状态,但已很接近。主要问题是,我们总会在末尾得到几帧垃圾数据。使用原生节点时,这通常发生在你不遵守帧规则时,比如使用 49、73 等(4 的倍数 +1)。但事实上,SVI 会篡改帧数——如果你告诉它你需要 73 帧,它最终会给你 77 帧。而 77 是个“不规矩”的数字。可悲的是,当我们聪明地要求 69 帧时,虽然成功骗它生成了 73 帧,但末尾依然有垃圾。于是,我对自己说:那就更聪明点吧。既然无法避免垃圾帧,那就让它们可预测。因此,我在设置中加入了重复器。我们在源视频末尾附加 4 帧静止帧,本质上是提前减速运动。由于在这种情况下,我们可以将潜在帧与非“魔法”的常规帧关联起来,我们只需从最终输出中裁掉最末的四帧——那里正是垃圾帧所在。明白了吗?我知道你在想:“这些多余的帧在错误的一端。”不对,其实是对的。为什么?别问我为什么,行吗?

在基本解决了运动问题后,我们转而关注色彩。我本该知道,魔法的颜色是八色(octarine),但当然,我所知的任何节点中都没有这种颜色。所以我们使用 MKL 色彩匹配。但有个陷阱:我们必须同时匹配视频的开头和结尾。因为正如我们所知,色彩会漂移。尤其现在,借助 SVI,基础生成已达到约 300 帧。于是,淡入淡出遮罩登场了。我们对视频进行两次匹配:一次匹配开头,一次匹配结尾。遮罩能让我们在“匹配结尾”的视频和“匹配开头”的视频之间实现平滑交叉淡入。当然,有时一个控件还不够——这就是分级组的由来。我发现,通常只在结尾处需要它,因此只有一个组,默认处于旁路状态。你需要根据你所受的光线自行调整——这可能会骗人,但这就是现实。仅凭肉眼估算校正非常困难。对于不懒惰、愿意走出舒适区以达成效果的人,直方图和矢量示波器能极大帮助你解决棘手的色彩问题。在对比视图或叠加视图中观察亮度直方图,尝试使用可用控件(如对比度、亮度、偏移等)压缩或拉伸亮度。色彩方面同理,使用色彩矢量。当然,如果你将输出导入编辑器,你可能更愿意在编辑器中进行色彩校正。但提前根据编辑器中的校正结果,转换为 ComfyUI 节点并制作几个预设,会很有帮助,以便引导你走向正确的方向。

我一直在使用 /model/2053259?modelVersionId=2477539 进行测试。它是最听话的。加载器中包含蒸馏 LoRA,但请勿与已蒸馏模型一起使用。SVI Pro 的设置是我发现最有效的配置。

在合成端,你可选择仅保存桥接部分,或保存合并后的全部内容,或两者都保存。目前我暂时省略了插值和上采样阶段。由于我们现在处理的是全长生成,内存管理变得非常棘手,对普通设备(那个发光、吹热风的盒子内部的小玩意儿)来说,对 300 多帧加上新的 FLF 桥接帧进行上采样和插值,简直不是人干的活。

我最初的目标是把现有的 FLF 拼接到多阶段 SVI 工作流的末尾,但这给我带来了巨大困扰,可能因为我同时试图将其移植到封装节点上。于是我决定先完成移植,单独适配 SVI,再将其整合到主流程中。如果整合效果不佳,我会单独发布 SVI 工作流。我认为我的修改已足够多,值得单独发布——主要是自动化切换,通过索引选择提示词集,当你需要完成四阶段提示且各阶段需相互协调时,这非常有用。我还合并了模型/采样器设置控件——这么多阶段,不断跳入子图修改设置简直是噩梦。但最终,这是一个通用的四阶段设置,输出约 300 帧。

.zip 文件中包含两个版本。其中一个使用了我的自定义节点,它能从拖放视频加载器中提取路径和文件名,并连接到路径加载器的控件上。我制作它是因为目前 S&R 功能对我无效,我不知道为什么。如果你不想每次都手动输入文件名或迷失方向,你真的需要能连接输入文件名。如果你的节点引用功能正常,显然就不需要它。如果你想使用这些节点,只需将文件夹放入你的自定义节点文件夹,重启 Comfy 即可。无需依赖项,只是几行 Python 代码。

目前只有一个示例……我本该多做几个。好吧,我有很多,但我不是那种觉得必须上传每一件垃圾作品的人。我会挑选我的垃圾。它必须包含一些需要不止一次点击才能完成的东西。而且必须有声音。没有声音的视频是最无用的。也许有声音但没视频?那可能更糟。重点是,我对技术本身更感兴趣——让这些工具按我想要的方式运作,而不是做出炫目的效果。越隐形越好。这正是 SVI 如此出色的原因。几乎就差一点了,如此接近无缝。我能尝到它的味道了。

此模型生成的图像

未找到图像。