1-7 Canny+IPAdapter轮廓形象合成:一张图给姿势,一张图给长相,AI合成新形象

2026-09-02 13:21 · 43 阅读
1-7 Canny+IPAdapter轮廓形象合成:一张图给姿势,一张图给长相,AI合成新形象

准备工作:这篇教程要用到的材料

本教程演示的工作流是「1-7_[图像生成]_Canny_IPAdapter轮廓形象合成」,位于工作流大合集的 01 图像生成 分类目录下。它的作用一句话概括:上传两张图——一张图定姿势轮廓,一张图定人物长相,AI 合成一张"姿势像图 A、长相像图 B"的新图。让照片里的人物摆出参考姿势、给角色换个动作、让同一个人出现在不同姿势里,用它都合适。

这个工作流用到 4 个模型,其中 3 个在之前的教程里已经下过(1-4 的 CLIP 图像编码器、1-6 的 IPAdapter 模型和 Canny 控制网),只有一个底模可能需要新下载。完整清单如下:

  • SD1.5 底模:工作流原配是 majicMIX realistic(v7)(写实人像模型,作者默认配置),如果之前没下载,在 Civitai 或模型站搜索 majicMIX 下载即可(约 2.1GB)→ models\checkpoints\。也可以换成你已有的任何 SD1.5 底模——底模决定画风,写实底模出照片风,动漫底模(如 1-6 的 Anything V5)出二次元风
  • IPAdapter 模型 ip-adapter-plus_sd15.safetensors(约 98MB,1-6 教程已下载)→ models\ipadapter\
  • CLIP 图像编码器 ip_adaptor_sd15_pytorch_model.bin(约 2.5GB,1-4 教程已下载)→ models\clip_vision\
  • Canny 控制网 control_v11p_sd15_canny.fp16.safetensors(约 700MB,1-6 教程已下载)→ models\controlnet\(工作流里写的是 .pth 后缀,那是原作者保存时的文件名,选 fp16 的 .safetensors 版即可,两者是同一份权重)

image.png

一、这个工作流能干什么

和 1-6 教程最大的不同:1-6 是同一张照片喂两条控制链,把照片转成插画;而这个工作流是两张图各管一摊——它有两个 LoadImage 节点,分别服务两条链路:

  • 姿势图 → Canny 线稿 → 锁住姿势轮廓(构图、动作、姿态)
  • 形象图 → IPAdapter → 锁住人物长相和画风

出图时,姿势跟着姿势图走,长相跟着形象图走,两边的优点合到同一个人物身上。最直观的玩法:上传一张姿势好看的参考图 + 一张自己喜欢的人物图,让这个人摆出那个姿势。

二、工作流原理:一图一职

从节点图上看,原作者把两条链路分得很清楚(画布上的分组框写着「轮廓姿势输入」和「风格装扮输入」):

  • 姿势链路(Canny):LoadImage 载入姿势参考图 → CannyEdgePreprocessor 提取边缘线稿 → ControlNet 用线稿约束生成。线稿把人物姿势、构图"框死",生成图的结构跟着线稿走
  • 形象链路(IPAdapter):另一张 LoadImage 载入形象图 → CLIP 图像编码器提取形象特征 → IPAdapter 把特征注入生成过程,保证人物的长相、画风接近这张图

image.png

两条链路的输入图不能传反:姿势图必须传给连 Canny 的那条链路(有 CannyEdgePreprocessor 的那个 LoadImage),形象图传给连 IPAdapter 的那条链路——传反了,出图就会变成"长相跟着姿势图、姿势跟着形象图",整个效果反过来。

三、实操:两张图合成一个形象

第一步:认准两个 LoadImage 的分工。工作流里有两个 LoadImage 节点,默认加载的是两张网络示例图(远程地址,可能已失效)。在节点图上确认:连到 CannyEdgePreprocessor 的是姿势图位,连到 IPAdapterAdvanced 的是形象图位。

第二步:上传姿势图。在姿势图位的 LoadImage 里上传你想要的动作参考——姿势明显、轮廓清晰的图最合适(站、坐、蹲、跳舞都行)。工作流的画布是 512x768 竖版,姿势图尽量也传竖版、人物完整的图。

第三步:上传形象图。在形象图位的 LoadImage 里上传你想要的长相参考——想生成谁的形象就传谁的照片。想换画风(比如动漫风、写实风)就换一张对应风格的图,或者直接换底模。

第四步:先看 Canny 线稿。右键 CannyEdgePreprocessor 节点 → Preview Image,看一眼提取出的线稿:线稿干净清晰,出图上限就高(和 1-6 教程同一个命门)。

第五步:跑图。直接运行。出图就是"姿势图的姿势 + 形象图的长相"。

image.png

image.png

image.png

四、提示词:留空也能跑,想写按这个来

这个工作流和 1-6 不一样的地方:作者把正面和负面提示词都留空了——因为两条控制链已经把姿势和形象定死,提示词空着就是"完全信任参考图",这也是它"简单"的原因。

留空能直接跑,但建议补上质量词和防缺陷词,成品会更干净。原则和 1-6 一样:只写质量和画风,不写主体("男人""蹲着"这类词会和参考图冲突,可能画出两个人):

正面:

masterpiece, best quality, photorealistic, detailed face, soft lighting

负面:

blurry, low quality, bad anatomy, extra limbs, multiple people, two people, duplicate

(multiple people / two people 防止画面出现多个人,duplicate 防重复人影,extra limbs 防多手多脚)

image.png

image.png

五、参数与玩法

  • 底模=画风开关:想换画风不用动别的,直接在 CheckpointLoaderSimple 里换底模——写实底模出照片风,动漫底模出二次元风(1-6 下过的 Anything V5 就能直接用)
  • 形象锁定的强弱:IPAdapterAdvanced 的 weight 控制形象贴合度,和 1-6 实测规律一致——0.9~0.95 日常最稳,1.0 上限最高但要求 Canny 线稿干净,0.7 以下长相会跑偏
  • embeds_scaling 默认是 V only:作者默认档,色调/风格迁移最明显。如果形象图背景颜色太艳、把整张图染色了,改成 K+mean(V) w/ C penalty(1-6 教程实测的颜色惩罚档)即可
  • 轮廓锁得太死就降 strength:ControlNet 的 strength 默认 1(全强度锁轮廓)。想给生成图多一点自由发挥空间,可以降到 0.7~0.8
  • 记住固定 seed:KSampler 的种子是随机模式,跑出满意效果后把 seed 固定(点一下锁图标),方便对比调参

六、常见问题排查

  • 出图的长相和姿势"对调"了:两张图传反了——姿势图要传给连 Canny 的 LoadImage,形象图传给连 IPAdapter 的 LoadImage(看画布连线,别只看位置)
  • 模型下拉框是空的:对应模型没放进目录,或文件名不一致,把文件放到正确目录(见准备工作清单)后刷新
  • 出图不像形象图:IPAdapter weight 往 0.9~1.0 调,同时看 Canny 预览线稿是否清晰
  • 人物比例奇怪/变形:原图比例和画布 512x768 差太多,换竖版、人物完整、背景简单的图
  • 画面出现两个人:提示词里写了主体描述(如"男人""女人"),删掉,主体交给参考图
  • LoadImage 加载报错/出图异常:原工作流用的是网络示例图,可能已失效,务必先替换成本地图片
登录后分享可赚邀请积分
评论 (0)

登录后才能发表评论

去登录