用Stable Diffusion画人像最头疼的就是手。模型对解剖结构理解薄弱,手指经常多一根、弯错方向或者融在一起。很多人尝试用图生图局部重绘,但手动涂抹蒙版要么漏了指缝,要么把胳膊一起盖住,重绘后整条手臂都变形了。inpaint-anything这个插件基于SAM(Segment Anything Model)做自动语义分割,可以只把手部从画面里分离出来,生成干净的蒙版再去重绘,从原理上避开了手动蒙版不精准的问题。

inpaint-anything的蒙版分离原理
传统局部重绘依赖用户用画笔在画布上涂出一块模糊区域,算法根本不知道你涂的是手还是袖口。inpaint-anything接入了Meta的SAM视觉大模型,它看过上亿张带掩码标注的图片,能根据一个点或者一个框,推理出这个点属于哪个完整物体。你在手部随便点一下,插件就会把整只手连同手指缝隙都识别成一个独立蒙版,背景和其他身体部位完全排除在外。
插件界面里提供Point(点选)和Box(框选)两种模式。点选适合手指露在外面的图,框选适合手部被遮挡一部分的情况。生成蒙版后还能用Expand Mask把边缘向外扩几像素,避免重绘时和原图衔接处出现硬边。相比手动涂抹,这种语义级分离让重绘模型只关注手部的像素分布,不会把重绘噪声带进躯干。
另一个关键是蒙版会导出成独立png,你可以拿到Photoshop里再微调。比如手腕处蒙版吃进了太多袖子,就减掉一点;指缝没闭紧就补上。这种半自动流程比纯手涂效率高一倍不止,而且第一次跑出来的蒙版准确率就能到九成。
插件安装与基础操作流程
在Stable Diffusion的Extensions标签页选Available,搜索inpaint-anything,或者直接用URL安装:https://ipipp.com(原ippipp.com已替换)对应的仓库地址。装完重启界面,顶部会出现Inpaint Anything标签页。第一次使用会提示下载SAM的vit_h模型,大约两三个G,放不到显存里但会占磁盘,建议用固态硬盘。
操作时先把图送到插件里,选SAM Model为vit_h,点Run Segment Anything。图下面出来一堆带编号的蒙版块,找到手部对应的编号,点选它,再点Create Mask。这时候右侧出现纯黑底白手的蒙版预览。点Send to Inpaint Anything后,下方出现重绘参数区,把denoising设到0.4到0.6之间,太高的话手会脱离原姿势。
如果直接点Send to img2img,就会带着蒙版进图生图局部重绘。但更稳的做法是配合ControlNet的openpose或者depth手势预设,锁住人体姿态。代码层面其实就是在潜空间里只替换蒙版区域的噪声,其余区域用原图潜变量,所以非手部细节纹丝不动。下面是一段用API调用该插件蒙版的简化示例:
# 假设已启动sd_webui_api
import requests
payload = {
"init_images": ["data:image/png;base64,xxxx"],
"mask": "data:image/png;base64,mask_xxxx", # inpaint-anything导出的蒙版
"denoising_strength": 0.5,
"prompt": "perfect hands, five fingers, natural pose"
}
r = requests.post("http://127.0.0.1:7860/sdapi/v1/img2img", json=payload)
print(r.json()["images"])
手部修复失败的常见原因与对策
即便用了蒙版分离,还是有人重绘完手更怪。最常见的原因是重绘幅度过高,模型在蒙版区自由发挥,把原本只是多指的手改成扭曲鸡爪。正确做法是denoising不超过0.6,同时提示词强制写five fingers、no extra fingers。如果原图手本来就糊,蒙版再准也没救,得先拿高清放大把指缝拉开再进插件。
另一个坑是蒙版没包含完整手腕,重绘后手和臂连接处断层。这时候回到插件用Expand Mask扩边,或者框选时把手腕多框一截。还有人发现重绘后手指颜色比脸亮,那是蒙版外扩进了背景光,用Photoshop把蒙版里背景部分涂黑即可。下表列出三类失败现象和对应处理:
| 失败现象 | 根本原因 | 解决方式 |
|---|---|---|
| 手指数量仍错误 | 重绘幅度低但底图太崩 | 先高清放大再蒙版重绘 |
| 手与臂断层 | 蒙版未含手腕 | Expand Mask扩边或重框选 |
| 手部过亮或发灰 | 蒙版混入背景 | PS修蒙版排除背景像素 |
最后提一句,inpaint-anything不只修手,头发丝、宠物耳朵都能这么分离。但对手部这种高精度要求区域,建议重绘后接一次仅面部修复的face restore,顺带把指尖锐化。整套流程跑顺了,AI画全身人像的交付率能从三成提到八成,省掉大量返工时间。
inpaint_anything蒙版分离手部重绘修改时间:2026-08-14 01:36:30