“禁止使用教科书式的单次KSampler流程。”这是一份内部设计部门关于写实图像与图表工作流的规范文件里,一条被明确标注为“强制”的禁令。如果只选一个最核心的原因来解释为何在本地跑ComfyUI写实生成时,总会遇到“细节发软”“面孔崩坏”“一提高分辨率就全盘皆输”的恶性循环,那么高达八成的概率,问题就出在这条被点名禁止的“单次KSampler”上。本文要记录的,正是一次把这个元凶揪出来、并用一套可以在Apple Silicon Mac上完整复现的两阶段高分辨率修复方案将其替换的全过程——所有节点、所有参数(包括随机种子)全部公开,输出分辨率可直达2688×3456,而你只需要一台M1 Mac和浏览器里打开的ComfyUI。
最早注意到这个普遍性问题,是在尝试用一款SDXL写实模型跑最短路径时:加载检查点,接一个KSampler,再连上VAE解码,最后保存图像。很多入门教程都是这么教的。结果得到的画面,永远像是被闷在基础分辨率里,皮肤平滑得像蜡像,毛孔和纹理统统丢失;而一旦放到1:1或更大的尺寸去看,发丝和轮廓边缘要么模糊成一团,要么干脆像融化了一样,细节再也找不回来。对这样的输出直接跑放大,只会把已经丢失的信息撑大——模糊的感觉不仅不会消失,反而更扎眼。
问题到底出在哪?SDXL模型训练时所对应的典型分辨率是1024像素级别。让一个KSampler在一次前向里去直接够最终的高分辨率,构图和细节同时遭罪:它既稳不住整体的元素关系,也喂不饱精细的纹理需求。更糟糕的是,如果在M1 Mac的统一内存上硬塞一个超高分辨率的空潜变量,要么会出现诸如“同一张脸出现两次”的结构性崩溃,要么会一瞬间吃掉所有可用的内存资源,把整个生成过程变成幻灯片。这些现象,恰恰就是单次流程绕不过去的坑。
那么,那种既能让ComfyUI生成写实级细节、又不会抽干M1 Mac全部算力的可靠路线是否存在?答案是一套已经被验证的最小可复现配置:把一次采样劈成两段。第一段出个小尺寸的基础影像,把构图和物体关系快速定下来;第二段在这个基础上放大,再用一个从1.0降到0.42的降噪强度去重构细节。这个策略在技术圈里经常被称为“2-pass Hires fix”,而这次实验中,它被进一步武装了FreeU_V2和4x-UltraSharp这两把快刀,最终在Apple M1的ComfyUI实例上跑出了无损脸的连续高分辨率输出。值得注意的是,这套工作流并没有调用IPAdapter或PuLID这类专门做面部锁定的模型——它们虽然已经下载好了,但在本文的“基础篇”阶段完全没有启用。这也就意味着,当前展现的全部改善,仅仅来自两阶段流程本身对细节和结构的重新掌控,而非任何额外的人脸固定术。
内部设计部门的禁令原文里,把“专业多阶段”的必要性写得一清二楚:Hires fix必须跑两遍,外加人脸锁定和4x-UltraSharp上采样。本文的配置基本对齐了这一策略的前半段,并将参数完全公开,以供读者逐节点重现。需要提前说明的是,这是一篇纯粹关于设置和视觉对比的操作记录,并未对生成耗时、统一内存消耗、每秒迭代次数或任何与单次版本对照的量化得分进行测量——因此你不会在本文里看到这类数字。唯一被引用的数值,只有工作流JSON里的实际参数,以及最终输出PNG图像的实测像素尺寸。
两阶段流程的优势,在对比图中一目了然。单次KSampler输出的皮肤呈现出塑料般的平坦感,毛孔和皮下散射荡然无存,像是被一支不存在的柔光笔反复涂抹过。而经由Hires fix二次重建的版本,在同等放大观察下,皮肤纹理真实回归,发丝的纤毫清晰可辨,甚至睫毛边缘的锐度都恢复到了不会让人产生“糊”这种第一印象的水平。这背后并不是什么魔法,仅仅是把模型训练时的分辨率偏好和生成时的潜空间操作重新对齐:让底图在模型擅长的1024像素左右形成,再用一个可控的上采样过程把信息密度逐步抬升,每一步都确保降噪器有足够的线索去填补真实的细节,而不是凭空脑补。
在M1 Mac上实际运行这套配置时,有两个细节值得特别圈出来。第一,第二个阶段的降噪强度不能太低,但又不能高到让画面重新被随机噪点淹没。0.42的终点值是在多轮试跑后被固定下来的平衡点——它能有效收紧放大后依然残留的松弛纹理,同时不会把第一阶段已经定好的面部结构和物体边缘搅碎。第二,FreeU_V2和4x-UltraSharp分别作用于一个大家容易忽略的环节:FreeU_V2压住了生成过程中高频与低频的不协调,让画面在远离训练分辨率时仍不至于崩出奇怪的人工痕迹;而4x-UltraSharp则在上采样这一步扮演了最传统的角色,用基于神经网络的锐化策略把像素扩展带来的固有柔化效应降到最低。这两者与两阶段流程配合后,写实感才真正从“看起来像照片”进化到了“经得起局部放大拷打”。
当然,这套基础工作流目前还留有一条明确的升级路线:面部锁定。由于IPAdapter和PuL
热门跟贴