如何控制 AI 绘画的构图与风格
扩散模型能画出惊艳的图,但”惊艳”是随机的:同一句 prompt 每次结果不同,构图、姿势、风格全凭运气。从”抽卡”到”可控创作”,靠的是四件工具:ControlNet、LoRA、img2img 与局部重绘。本文按控制粒度从全局到局部讲透这套组合拳。
先理解可控性的来源
文生图的随机性来自初始噪声 seed 与文本条件的模糊性:prompt 只约束语义,不约束空间布局。控制工具的本质是给扩散过程追加额外条件——结构条件(ControlNet)、风格条件(LoRA)、像素条件(img2img/重绘)。
ControlNet:锁住构图与结构
ControlNet 在扩散 U-Net 旁挂一个可训练分支,把结构图作为硬条件注入:
- 线稿(canny/lineart):给一张草图,生成严格遵循线条的上色成品
- 姿态(openpose):给骨架图,人物姿势精确可控
- 深度(depth):给深度图,控制空间前后关系与透视
- 边缘/分割图:控制物体轮廓与区域布局
工作流:先画/提取结构图 → 选对应 ControlNet 模型 → 设控制权重(0.6-1.0,越高越贴结构)→ 生成。它是”构图失控”的正解:prompt 负责内容,ControlNet 负责形状。
LoRA:锁住风格与角色
LoRA(低秩适配)用几十张图微调出一个小权重包(几十 MB),挂载后模型获得:
- 风格 LoRA:特定画风(水彩/赛博/某画师风),触发词激活
- 角色 LoRA:固定人物的脸与服装,多张图保持同一角色——做连续剧式创作的前提
使用要点:权重 0.6-0.9 防过拟合式”糊脸”;多 LoRA 可叠加(风格+角色各一);与 prompt 的风格词配合而非冲突。
img2img 与 denoising strength:以图控图
给一张参考图+prompt,从”加噪后的参考图”开始去噪:
- denoising strength 是控制旋钮:0.3 高度保留原图(微调上色/质感),0.7 大幅重绘(只留构图大意),1.0 等于纯文生图
- 用途:草图精修、照片转画风、构图继承下的变体探索
局部重绘(inpainting):只改该改的
框选区域+局部 prompt,区域外像素不动:
- 修脸修手(全身满意只毁在手?框手重绘)
- 换局部元素(换衣服颜色、加道具)
- 配合 mask 羽化让接缝自然
参数三件套:可复现性的基础
- seed:固定 seed 则同参数同结果——调参时锁 seed 单变量对比,满意后记录 seed 复现
- steps:去噪步数(20-40 常见),过低欠拟合过高收益递减
- CFG scale:prompt 遵循强度(5-9),过高色彩过饱和且易崩,过低自由发挥
组合工作流示例(角色海报)
- openpose 提取/摆出姿势骨架 → ControlNet 锁姿态
- 挂角色 LoRA + 风格 LoRA → 锁人与画风
- prompt 写场景与光效 → 定内容
- seed 固定出 4 张候选 → 选最佳
- inpainting 修手部细节 → 成品
从”抽卡”到”导演”:ControlNet 管空间、LoRA 管身份与风格、img2img 管继承、inpainting 管修补、seed/steps/CFG 管复现与强度——五层条件叠加,扩散模型才真正变成可控的创作工具而非随机艺术机。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 非鱼小站!
评论
WalineDisqus







