条件生成
条件生成让我们能够精确控制图像生成的内容和风格。从简单的文本提示词到复杂的结构控制,掌握条件生成是AI绘画进阶的必修课。
条件生成概述
条件生成是指在图像生成过程中,通过特定条件(如文本、图像、结构等)来控制生成结果的技术。它是实现可控AI绘画的核心。
条件类型
📝 文本条件
通过自然语言描述控制生成
🖼️ 图像条件
基于参考图像控制生成
📐 结构条件
控制布局、姿态、边缘等结构
🎨 风格条件
迁移参考图的风格
为什么需要条件生成
- • 可控性:精确控制生成内容,而非随机输出
- • 一致性:保持多张图像的风格和结构一致
- • 效率:减少随机尝试次数,提高出图效率
- • 创意实现:将脑海中的想法准确转化为图像
文本条件
文本是最基本也是最常用的条件控制方式。通过自然语言描述,引导模型生成期望的图像。
Cross-Attention机制
文本条件通过Cross-Attention机制注入生成过程:
- Query(Q):来自图像特征,表示"需要什么信息"
- Key(K):来自文本嵌入,表示"有哪些信息"
- Value(V):来自文本嵌入,表示"具体信息内容"
- 计算过程:图像特征通过注意力机制"询问"文本信息
- 结果:图像特征融入了文本语义信息
Cross-Attention的工作流程
- 文本通过CLIP编码为token序列
- 每个token转换为Key和Value向量
- 图像特征的每一层都有对应的Query
- 计算Query与所有Key的相似度(注意力权重)
- 使用权重加权求和Value,得到融入文本信息的特征
Classifier-Free Guidance (CFG)
CFG是增强文本控制的关键技术:
工作原理:
- 同时训练有条件(有文本)和无条件(空文本)模型
- 推理时计算两种预测
- 从有条件预测中"放大"与无条件的差异
- 数学表达:
pred = uncond + scale × (cond - uncond)
CFG Scale(引导强度)通常设置为7-12,值越高文本控制越强,但过度可能导致图像过饱和
💡 CFG Scale 调参建议
- • 3-5:柔和自然,适合写实风格,创意自由度高
- • 7-9:平衡选择,日常推荐,文本控制与创意平衡
- • 10-15:强控制,适合艺术创作,严格遵循提示词
- • 15+:可能过饱和、颜色异常,谨慎使用
负面提示词
负面提示词告诉模型"不要生成什么":
常用负面提示词模板:
low quality, worst quality, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, jpeg artifacts, signature, watermark, username, blurry, artist name分类负面提示词
质量相关
low quality, worst quality, blurry, jpeg artifacts, noise, grain
人物相关
bad anatomy, bad hands, missing fingers, extra fingers, bad face, malformed
内容相关
text, watermark, signature, logo, username, artist name
特定排除
nsfw, nude, gore(根据需求添加)
💡 负面提示词使用技巧
- • 负面提示词同样受CFG Scale影响
- • 建立适合自己的负面提示词模板
- • 过多负面词可能影响生成质量
- • Embeddings(如EasyNegative)可替代长负面词
图像条件
图像条件允许基于参考图像生成新图像,这是实现图生图、风格迁移等功能的基础。
图生图(Img2Img)
图生图是最基础的图像条件生成方式:
- 编码:将输入图像编码到潜在空间
- 加噪:根据去噪强度(Denoising Strength)添加噪声
- 扩散:从加噪后的状态开始扩散过程
- 解码:将结果解码为输出图像
去噪强度详解
| 强度值 | 保留程度 | 变化程度 | 适用场景 |
|---|---|---|---|
| 0.1-0.3 | 90%-70% | 轻微 | 细节优化、颜色调整、微调 |
| 0.3-0.5 | 70%-50% | 中等 | 风格转换、局部修改 |
| 0.5-0.7 | 50%-30% | 较大 | 内容重构、大范围修改 |
| 0.7-0.9 | 30%-10% | 大幅 | 重构构图、完全重绘 |
| 1.0 | 0% | 完全 | 等同文生图,仅保留尺寸 |
💡 去噪强度选择建议
- • 保持原图细节:0.2-0.4
- • 平衡修改与保留:0.4-0.6(常用)
- • 大幅修改:0.6-0.8
- • 配合ControlNet可在高去噪下保持结构
IP-Adapter详解
IP-Adapter是实现图像风格迁移的强大工具:
工作原理
- • 将参考图像通过图像编码器(如CLIP)编码为特征向量
- • 通过适配器模块转换为条件特征
- • 将条件特征注入到UNet的Cross-Attention层
- • 与文本条件并行作用,实现风格或内容迁移
| 类型 | 用途 | 推荐权重 | 特点 |
|---|---|---|---|
| IP-Adapter Face | 人脸迁移 | 0.5-0.8 | 保持人脸特征 |
| IP-Adapter Style | 风格迁移 | 0.6-1.0 | 迁移艺术风格 |
| IP-Adapter Plus | 通用 | 0.5-1.0 | 效果更好,推荐 |
| IP-Adapter FaceID | 人脸ID | 0.6-1.0 | 保持人物身份 |
💡 IP-Adapter使用技巧
- • 使用 Plus 版本效果更好
- • 多张参考图可以组合使用
- • 配合 ControlNet 实现精确控制
- • 低权重适合风格迁移,高权重适合内容复制
- • 可以在WebUI中调整"Start/End"控制作用范围
结构控制
结构控制让我们能够精确控制图像的布局、姿态、边缘等结构信息,是实现精确生成的关键。
ControlNet详解
ControlNet是最流行的结构控制方案:
工作原理:
- 复制原UNet的编码器部分作为"可训练副本"
- 零卷积层连接原网络和可训练副本
- 训练时只更新可训练副本,保持原模型能力
- 推理时条件信号通过可训练副本注入
- 初始时零卷积输出为0,不影响原模型行为
常用ControlNet类型详解
Canny边缘检测
- • 原理:检测图像边缘,生成边缘图作为条件
- • 特点:边缘精确,适合保持轮廓
- • 推荐权重:0.8-1.0
- • 适用场景:建筑、产品、明确的轮廓控制
- • 参数:低阈值、高阈值控制边缘检测灵敏度
OpenPose姿态检测
- • 原理:检测人体关键点,生成骨架图
- • 特点:只控制姿态,不限制外观
- • 推荐权重:0.7-1.0
- • 适用场景:人物姿态控制、多人场景
- • 扩展:支持手部、面部关键点
Depth深度图
- • 原理:估计图像深度,生成深度图
- • 特点:控制空间关系和前后层次
- • 推荐权重:0.8-1.2
- • 适用场景:室内、建筑、场景重构
- • 优势:比边缘更灵活,允许风格变化
Tile分块
- • 原理:将图像分块处理,保持局部细节
- • 特点:不改变构图,增强细节
- • 推荐权重:0.8-1.0
- • 适用场景:图像放大、细节增强、重绘
- • 配合:常与放大脚本配合使用
多条件组合
可以同时使用多个ControlNet实现复杂控制:
常用组合
OpenPose + Depth
控制人物姿态和空间深度,适合人物场景
Canny + Tile
保持边缘同时增强细节,适合高清重绘
Lineart + IP-Adapter
线稿上色并参考风格,适合插画创作
SoftEdge + Depth + IP-Adapter
三重控制,精确控制构图、空间和风格
💡 多ControlNet权重调整
- • 多个ControlNet时,权重总和建议在1.5-2.5之间
- • 主要控制条件权重设高,辅助条件设低
- • Control Mode选择"ControlNet is more important"增强控制
- • 使用"Resize Mode"处理输入图尺寸不匹配问题
高级技巧
T2I-Adapter
T2I-Adapter是轻量级的条件适配方案:
- • 参数量:仅约70M,远小于ControlNet
- • 速度:推理速度快,资源占用低
- • 兼容性:可与其他ControlNet配合使用
- • 效果:精度略低于ControlNet但更灵活
Reference Only
使用参考图控制生成的另一种方式:
- • 原理:将参考图的特征直接注入UNet
- • 优势:无需额外训练,即插即用
- • 局限:需要与生成图保持相似的构图
- • 参数:style_fidelity控制风格保留程度
Regional Prompter
实现不同区域使用不同提示词:
- • 将图像划分为多个区域(如左、中、右)
- • 每个区域使用独立的提示词
- • 适合复杂场景的精确控制
- • 需要配合分割遮罩使用
- • 支持渐变过渡避免硬边界
实践指南
场景化推荐方案
简单文生图
纯文本 + 负面提示词 + CFG 7-9
修改已有图像
图生图 + 去噪强度 0.4-0.6 + 局部重绘
风格迁移
IP-Adapter Style + 权重 0.6-0.8
人物姿态控制
OpenPose + Depth + CFG 7
建筑/室内设计
Canny/Depth + Tile放大
复杂场景
Regional Prompter + 多ControlNet组合
💡 条件生成核心原则
- • 从简单条件开始,逐步添加复杂控制
- • 条件越多,CFG可适当降低
- • 多条件组合时注意权重平衡
- • 保持提示词与条件的一致性
- • 使用seed复现满意效果进行迭代