📚 文稿库

史上最强文字高清修复工作流,一步步教会你如何搭建

详细教学如何搭建基于SeedVR2节点的AI文字高清修复工作流,并提供显存优化与尺寸限制的解决方案。

UP主: 孤海FOTO · 时长: 8:20 · 🔗 B站原视频

标签: AI修复 · ComfyUI · 工作流教程 · 文字高清化 · SeedVR2

工作流搭建初衷与核心节点

上次我发了个压缩文字变高清的工作流,有很多老铁不信,说我在诓大家看看。这把我给气的哟。所以为了证明我的清白,今天我教大家一步一步地去搭建这个工作流,其实非常简单。

核心节点就这一个 SeedVR2,这个视频高清修复的节点,无意中发现它修复文字的效果非常的好。首先双击空白处,点击加载图像,我们传一张模糊的照片上来,这是一张带文字的平面图。再双击搜索 SeedVR2,就这个节点。图像连图像,拖出一个预览图像出来,就这么简单。

基础参数设置与效果对比

我们看一下这里面的参数。第一个是选择放大模型,24G以下的显存,我们选择 3B FP8 就可以了,其他的文件比较大,而且没什么效果,跑起来也慢。下面是种子的值,这个修图片无所谓,我们固定一下。这个是修复以后的短边尺寸,我们先设个1536,因为它主要是修视频的。在这有个批次,我们修图片直接改成1就可以。是否保存缓存,打开以后,我们每次运行完以后它不会清理缓存,这样咱们在下次运行的时候就比较快。设置完我们直接点运行就可以了。

看一下已经可以了,文字都已经清晰了。为了方便观察的话,咱们来加一个对比节点。把这个删了,搜索图像比较器,把这个生成完的连到A,把原图咱们连到B,再运行一下。看一下这个效果,是不是这些文字都清晰了?包括下面的这个小字,这些模糊的小字。用法非常简单。

显存优化与防爆显存设置

但是这里面有些细节我们需要注意。第一个是这个节点特别占显存,如果你是小于16G以下就别尝试了。第二个是它对输出尺寸是有限制的,它最高只能输出差不多在600万像素的样子。那比如说我们把这个输出的短边尺寸调到3072,这肯定超600万像素,这个时候我们的运行一定会爆显存,看到没,大家熟悉的OOM。哪怕我们把它调到2048,它同样会爆,看,这可是 4090 24G 的显存。

所以作者又加了一个选项,我们把它拉出来,可以让CPU和GPU之间进行数据交换,同时进行分块处理,这样就不会爆显存了。这第一个可以理解为是分块数量,它跟你选择的模型有关。如果你选择7B的模型,那这边就是36,最高就是36。我们3B模型的话,这边就设成32就可以。下面这个异步GPU传输,咱们打开就行了,打开以后性能更好一些。第三个,如果你打开以后,它会把更多的东西放入CPU,这样速度就会变慢,所以我们关闭。下面这个缓存模型,跟上面这个是一样的,咱们打开不让它卸载。最后这个硬件的监控日志没啥用,关闭。当我们加完这个以后,再用同样的2048去运行,看现在它就没有爆显存了。

尺寸限制与自动判断逻辑

要注意它不光是总像素不能超600万,而且它对输出的最长边也有要求。最长边不能超过3700左右,具体多少我没测,反正在3800以上就不行了。那我们要怎么样才能让所有图都顺利运行呢?我们输入的是短边尺寸,你怎么能保证它输出的长边不超过3700左右呢?所以我们在前面需要加一些自动判断的逻辑。

首先我们双击搜索缩放图像,用这个来限制它的总像素,以百万为单位,我们让它不超过600万,那就输入6,把图像连过来。我们现在的目的是要获取这个输出短边的最合适的一个尺寸,让它能够尽量的大,同时长边不要超过3700,总像素不要超过600万。那如果说我们上传的图片是这种比较长条的,就算我们把它像素控制在600万,我们拉一个预览图像来看一下它的尺寸,看到没,它的长边已经超过3700了。所以这个时候就算你把短边输成1500,它输出的长边也会超标,也会爆显存。

所以我们还需要加一步,再来一个图像缩放。用这个节点把图像连下来,在这里我们输入3680,为了保险起见,就是让它不超过3680。宽和高都是,不管你横版竖版,最终的最长边不要超过3680。下面的选择保持比例,这样能够等比例缩放。下面的条件我们选择第二个,就是当最长边超过我们的3680,它就会被缩放到3680。再拉个预览图像来看一下,是不是最长边已经被限制到3680了?还有就是因为这边的输入,尺寸尽量是16的倍数,所以我们在这边这个层数这里填入16,这样的话它的宽和高都会变成16的倍数。对这张图而言,我们就需要输入这个1328到这个宽度。如果这个图是竖版,我们就需要输入宽度过去,但如果是横版,就需要输入高度过去。

那怎么让它自动执行,不管横版竖版始终输入短边的尺寸过去呢?我们就可以在这边加一个判断。双击搜索,判断是横版的时候输出什么,是竖版的时候又输出什么。怎么去判断呢?我们搜一个获取图像尺寸,首先把这个尺寸获取出来,再加一个比较。我们把宽和高分别连到A和B这来,如果说A小于B,就是宽度小于高度,那它就是个竖版。把这个布尔值连到这边来,当它为竖版的时候,说明是真条件。竖版的时候是不是宽度最小?所以把宽度连到真条件,反之就是高度是最短边,把它连到假条件。把这个输出连到咱们这边的最短边这里来。

我们来验证一下它的输出,是不是我们这边的短边1328。加个展示任意节点,我们运行一下是不是1328。我们换个横版的图再来看一下,先看一下它的这个尺寸,它的短边是不是1968。我们再看一下这个1968没问题,始终输出最短边的尺寸。这样就同时保证了它的总像素不超600万,最长边不超3680。这两个可以删除了,这就差不多好了。我们换张图来测试一下,OK完成了。看一下修这个章的效果,这种墨迹的效果是不是非常的自然?还有下面的这个数字,包括后面的底纹,底纹修复得非常的流畅。

输入图像的尺寸预处理

还有最后一点需要注意,就是我们输入图像的尺寸。因为这个节点它只适合这种低像素的图片,把它放大。你看咱们原图是400多乘400多,输出以后是2000多乘2000多。但如果说你原图就已经超过我们这个输出尺寸了,那它的效果就不好了,所以我们要避免这种情况。

需要在前面再加一个图像缩放,依然是这个节点,把它连过来。我们把输入的图像尺寸限制在768,一样是保持比例。至于条件的话,我们还是选择第二个,就是当我们的最长边大于了768,就把它限制在768,如果本身小于768,它就不变。这边层数依然填成16。我们可以预览一下,这个本身是400多的,没有超过768,它还是400多。那比如我们上传一张2048的图,这样它就会被压缩到768的像素,最长边768。把这个限制尺寸以后的图,再连到这边来,让它去处理。

这个工作流搭完了,我们用上次测试的那张人像图来测试一下这个工作流。OK完了,我们看一下这个效果可以吧,这种压缩感明显全部去除了。这有明显的错位,是因为我们这边让尺寸标准化,把那个地方设置了,它会对原图做一点点的裁剪,而我们又是跟原图进行了对比。当我们跟它进行对比的时候,就不会错位那么多了,现在就没那么多错位了。

节点安装与模型下载

好了,工作流就说完了,咱们接下来说下安装。我们只需要在管理器里面直接安装就可以了,搜索 SeedVR2,就这个节点直接装就可以。它的项目地址在这里。

接下来是模型,咱们可以在这上面去下载,往下拖,这里有个模型,点开就可以下载这些模型了。咱们只需要下载这个 3B FP8 的就可以了,只有3个G。下载完了以后,把它放在模型下面的 SeedVR2 这里边。这个V1模型它在运行的时候会自动下载。

如果你网络不畅通的话,我还给大家准备了网盘的资料,在这里边节点也可以直接复制进去,模型在这里边,工作流也给大家准备好了,包括测试图都给大家准备好了,大家可以自己去测试一下。

On this page