AI 图片人物双眼不对齐:5 类原因 + 4 步修脸路径

一只眼高一点、虹膜方向不一致或瞳孔大小不一?根因是人脸区域分辨率太低。用 face-detailer 或局部重绘救回来。

你生成一张人像,脸看着没问题,放大一看眼睛微妙地不对:一只比另一只高几个像素、两个虹膜方向不太一致、或者一只瞳孔明显更大。缩略图看起来没事,但只要别人看全图就立刻觉得”哪里怪怪的”。原因很直接:在 1024x1024 的 SDXL 人像里,眼睛区域在 latent 空间里只有大概 60x40 像素,模型根本没有足够分辨率去把对称的五官锁死。

修这个问题的关键是让脸单独跑一次细化——通过 face-detailer 节点、CodeFormer / GFPGAN 这种 face-restore 模型,或者手动在 2 倍分辨率下做一次局部重绘。

常见原因

按命中率从高到低:

1. 脸在 latent 空间里太小

SDXL 默认 1024x1024 渲染一张半身像时,眼睛区域大约只有 50x30 像素。模型是在那个分辨率下决定眼睛位置的,根本不可能把两个瞳孔放到亚像素级精确。

如何判断:放大看脸。如果脸在画面里占比不到 30%,就属于”低分辨率脸”区间,眼睛漂移几乎是必然。

2. 竖图或非方形长宽比

渲染 832x1216(SDXL 竖图)或 9:16 时,主要用 1:1 数据训练的模型只能外推。竖图里的脸经常歪、轻微倾斜、或者左右眼高度不一。

如何判断:相同 Prompt、相同 seed,先在 1024x1024 跑一次。如果方图眼睛对齐、竖图就跑偏,那就是长宽比的锅。

3. pipeline 里没有 face-detailer / face-restore

ComfyUI / Automatic1111 / Forge 的默认工作流不会专门跑一次脸。模型输出什么就是什么。没有专门的脸部 pass,眼睛不对齐是常态而不是例外。

如何判断:检查工作流 JSON。如果没有 FaceDetailer、ADetailer、CodeFormer 或 GFPGAN 节点,你就没有兜底。

4. 风格 LoRA 把五官比例压歪了

强风格 LoRA(尤其是动漫-写实混合或绘画风的 LoRA 在 1.0+ 权重下)经常会扭曲五官比例。风格盖在基础解剖结构上,把眼睛位置带偏。

如何判断:把 LoRA 权重从 1.0 降到 0.6 重生成。如果眼睛自己修正了,就是 LoRA 过力。

5. 步数太少或采样器选得不对

某些采样器(Euler a、DPM++ 2M Karras)需要 25-35 步才能把精细解剖跑完。如果你用 turbo 采样器只跑 15 步,模型还没来得及把五官细化完就停了。

如何判断:同 seed 把步数从 20 提到 35。如果眼睛改善,就是采样不够。

最短修复路径

Step 1:加一个 face-detailer pass

ComfyUI 里挂一个 Impact Pack 的 FaceDetailer 节点;Automatic1111 / Forge 装 ADetailer 扩展。推荐参数:

ADetailer 模型: face_yolov8n.pt
Inpaint denoise: 0.35-0.45
Mask blur: 4
Inpaint width/height: 768 或 1024(不是基础渲染尺寸)
采样器: 同基础,20 步

detailer 会先裁出脸、放大、在 1024x1024 下只重绘脸、再合成回去。眼睛区域这下拿到了完整的 latent 预算。

Step 2:用 CodeFormer 或 GFPGAN,权重适中

如果没有 face-detailer,退一步用 face-restore 模型:

CodeFormer weight: 0.5(不要 1.0,1.0 会把皮肤纹理全抹平)
GFPGAN weight: 0.4

这俩是在对齐过的人脸数据集上专门训的,能修正眼睛对称、瞳孔大小、虹膜朝向。代价是皮肤会被轻微平滑——权重压在 0.6 以下能保住质感。

Step 3:自动修不好时手动局部重绘

死活修不好的情况:

  1. 把图扔进 Automatic1111 / Forge 的 inpaint
  2. 只蒙住眼睛区域,mask blur 设 8
  3. inpaint denoise 设 0.45
  4. “Inpaint area” 选 “Only masked”,padding 32
  5. Prompt 改成 symmetric eyes, matching pupils, both eyes same size, looking at camera, sharp iris detail
  6. 生成 4 张挑最干净的一张

Step 4:生成时就预防

正向 Prompt 里加:

symmetric face, both eyes aligned, matching pupils, perfect eye anatomy, sharp iris detail, eye contact

负向 Prompt 里加:

asymmetric eyes, mismatched pupils, lazy eye, cross-eyed, different iris color, droopy eyelid

这些提示词本身解决不了分辨率问题,但能让模型在 face-detailer 兜底前先选个更好的默认。

预防建议

  • 人像默认就启用 face-detailer / ADetailer,不要每次手动加
  • 竖图先在 1024x1024 出图再纵向扩图,不要直接走 832x1216
  • CodeFormer 权重全局固定在 0.3-0.5,永远不要破坏皮肤纹理
  • 用风格 LoRA 时权重上限压在 0.7-0.8,给解剖结构留空间
  • 把带 face-detailer 的工作流存成 preset,永远从它开始

相关阅读

标签: #ai-image #排查 #anatomy #face-restore