AI 图片手指多出来怎么修

6 根手指、长在手腕的拇指、关节反方向。这篇按 ROI 给修复路径:能不画就不画、画就给够像素、最后跑一遍手部专用 inpaint。

人像挺好、姿势也对,然后视线移到手上——6 根手指、拇指长到手腕上、整只手糊成连指手套。手是扩散模型里仅次于牙齿的难点。修复几乎从来不是改 prompt,而是工作流:能不画就不画,必须画就给够像素,构图非要露出来就跑一遍手部专用 inpaint。

常见原因

按命中率排序。

1. 手占的像素太少

1024x1536 的全身像里,每只手大约 60-90 像素高。模型很难把五根分明的手指塞进去。每只手低于 128 像素,几乎必崩。

如何判断:把一只手 100% 裁出来量。包围盒小于 100x100 像素,就是手太小。

2. 手在动作里或有遮挡

“拿着咖啡杯”、“挥手”、“弹吉他”——模型要同时合成手和物体。关节复杂的物体(乐器、工具、武器)最难;圆润光滑的物体(杯子、球)相对好。

3. 画面里出现多只手

握手、合影里的露手、搭肩这类姿势。模型把本就有限的手部预算平摊到每只手上。

4. 手的角度极端

侧看的手、从指节正上方俯瞰、纯手心正对镜头(强透视收缩)——这些角度训练数据少。

5. 风格化与写实打架

“毕加索风格的写实手”——模型在风格之间取平均,手是最先垮的部分,因为训练信号最弱。

6. 模型旧 / 步数低

SD 1.5 的手是出了名的差,SDXL 明显改善,Flux、Imagen 3、Midjourney v7 又好不少。SDXL 步数低于 20 也会跳过原本能精修手指几何的迭代。

动手前先确认

  • 想清楚手到底需不需要露出来——裁掉是最快的修复。
  • 把出问题那张图的 seed、prompt、模型、档位都存下来。
  • 同 prompt 4 个 seed 出 4 张。4 张都崩是结构问题;1 张崩是噪声。
  • 看其他部位(脚、脸)是不是也崩。都崩说明整体像素不足,不是手特有的问题。

需要收集的信息

  • 完整 prompt、负面 prompt、模型、seed、sampler、步数、宽高比。
  • 把崩掉的手 100% 裁出来并量像素。
  • 手是否在和某个物体交互。
  • 用途——印刷产品 hero 对准确度要求远高于博客头图。

一步步修复

按 ROI 排序。Step 1 + Step 2 能解决约 70% 的情况。

Step 1:能不画就别画

最便宜的修复是构图。手不是叙事重点的话:

  • 取景到胸口,不到腰,手不入画。
  • 手放背后、插口袋、拿到画面外。
  • 用道具遮(用手背端杯子镜头侧;袖口遮住指节)。

商业人像里”手不入画或插口袋”几乎是默认交付方案。

Step 2:给手部区域更多像素

必须露手:

  • 改成竖比例,让人物有更多纵向像素。
  • 取景更紧——半身代替全身。
  • 提高基础分辨率。Flux 用 1024x1280,SDXL 用 1024x1536。

Step 3:加手部专用负面 prompt

SDXL 类模型,一段手部负面通常能帮上忙:

extra fingers, missing fingers, fused fingers, malformed hand,
mutated hand, six fingers, deformed hand, extra thumb,
wrong hand anatomy

救不了一只完全崩的手,但能在群体层面降低崩率。

Step 4:跑一遍手部专用 inpaint

走完 1-3 还是不对的手,这一步收益最高。

  • SDXL / A1111:开 ADetailer,模型选 hand_yolov8n.pt。默认参数能搞定约 70% 的情况,denoise 从 0.5 起步。
  • ComfyUI:用 Hand Detailer 节点,或者串 MediaPipe Hand Mesh + Inpaint 生成显式 mask。
  • Midjourney:对手部 Vary (Region),prompt 写 well-defined hand, five fingers, natural finger anatomy, sharp focus
  • Flux:ComfyUI 里用 Flux Fill + 手动手部 mask。
  • Photoshop:对手部 Generative Fill。

ADetailer 还没修好就把 denoise 拉到 0.7 + 收紧 mask 再来一遍。

Step 5:换更强的模型

模型本身就弱:

  • Flux Pro:当前写实手部最强。
  • Midjourney v7:配合 Vary (Region) 修手最稳。
  • Imagen 3:手稳,柔光 / 编辑风格下尤好。
  • 任何需要露手的活,避免用 SD 1.5。

怎么确认已经修好

  • 数每只可见手的手指。每只 5 根,拇指位置正确。
  • 关节方向。手指应该朝手心方向弯,不是反向。
  • 看手指有没有粘连。每根之间应有可见的阴影分界。
  • 找第二双眼睛看一眼。自己看自己的渲染会盲。
  • 同 prompt 出 4 张候选,4 张都过”数+弯曲”检查。

长期预防

  • 任何系列人像,构图阶段默认遮手,除非手就是主题。
  • 准备一段手部专用负面 prompt 模板,写实人像每次都粘。
  • 任何露手的人像都跑一遍手部 inpaint——把它当工作流,而不是修复手段。
  • 手关键的活默认用 Flux Pro 或 Midjourney v7。
  • 维护一份自己模型常踩雷的姿势 / 道具黑名单。

常见坑

  • 同 prompt 重摇 20 次等出好手。4 次后就换工作流。
  • 只看缩略图。手必须 100% 缩放检查。
  • ADetailer denoise 太高,会把手腕、前臂也一起改了。
  • 在正向 prompt 里加 “perfect hands” 期待奇迹,单独写几乎没用。

FAQ

Q:为什么手比脸难那么多? A:脸有很强的对称先验——两眼一鼻一嘴,位置固定。手姿势可变、关节可动、互相遮挡,每只手 14 个手指关节。训练数据里清晰正脸远比清晰摆好的手多。

Q:新模型能不能彻底解决? A:在快速变好。Flux Pro 和 Midjourney v7 比 2023 年的模型明显强。但在生成阶段彻底解决,还要再几代模型。

Q:在正向 prompt 里加 “five fingers” 有没有用? A:边际效果。负面 prompt + inpaint 才是真正干活的部分。

Q:能不能用手部姿势 ControlNet? A:可以。SDXL 上有 OpenPose-Hand 和 DWPose-Hand ControlNet,能把手强制成特定姿势。手关键的活这是最稳的路线,代价是搭建工作流的成本。

相关阅读

标签: #ai-image #排查 #anatomy #inpaint