扩图(Outpainting)是 AI 绘图中一项非常实用的技术,它能够让你在原始图片的边缘区域继续生成内容,从而扩展图片的尺寸和视野范围。无论是补充画面缺失的部分、调整图片的宽高比例,还是创造更大场景的视觉效果,扩图都能帮你实现。
ComfyUI 作为目前最强大的 Stable Diffusion 工作流工具,在扩图方面提供了灵活的控制方式和高质量的效果。今天我们就来详细讲解如何使用 ComfyUI 进行扩图,从基础原理到实际操作,帮你掌握这项强大的图像扩展技能。
1 扩图技术原理与基础概念
1.1 什么是扩图技术
扩图(Outpainting)是指在原始图片的边缘区域继续生成内容,从而扩展图片的尺寸的技术。这种技术的核心优势包括:
视野扩展:将图片的视野范围从中心向外扩展,创造更大的场景
比例调整:改变图片的宽高比例,适应不同的展示需求
内容补充:补充画面中缺失的部分,完善整体构图
场景延伸:延续原有的艺术风格和视觉元素
1.2 扩图的工作原理
扩图技术基于 Stable Diffusion 的 inpainting(内绘)技术实现:
空白区域创建:在原始图片的边缘添加空白区域
遮罩生成:为空白区域创建对应的遮罩
内容生成:使用 inpainting 模型对空白区域进行填充
风格保持:确保扩展内容与原始图片风格一致
1.3 扩图与内绘的区别
虽然扩图基于 inpainting 技术,但两者有明显区别:
内绘(Inpainting):在图片内部空白区域填充内容,通常用于修复或替换
扩图(Outpainting):在图片外部边缘区域添加内容,用于扩展图片尺寸
2 准备工作与环境配置
2.1 模型准备
扩图工作流需要使用两个关键模型:
basic-outpainting-workflow.json
生成模型:v1-5-pruned-emaonly.safetensors
- 用途:生成初始图像
- 仓库地址:Hugging Face 官方仓库
- 下载地址:Hugging Face 模型页面
扩图专用模型:sd-v1-5-inpainting.ckpt
- 用途:专门用于扩图操作
- 仓库地址:Hugging Face 官方仓库
- 下载地址:Hugging Face 模型页面
2.2 模型安装
将下载的模型文件放置在以下目录:
Path-to-your-ComfyUI/├── models/│ └── checkpoints/│ ├── v1-5-pruned-emaonly.safetensors│ └── sd-v1-5-inpainting.ckpt2.3 工作流文件准备
下载基础扩图工作流文件(.json 格式),包含所有必要的节点配置。将工作流文件拖入 ComfyUI 界面即可加载。
3 扩图工作流详细解析
3.1 工作流结构概述
ComfyUI 扩图工作流主要分为三个核心部分:
Text2Img 部分:生成初始图片
扩图区域创建:在原图周围添加空白区域
扩图生成:使用 inpainting 模型填充扩展区域
3.2 Text2Img 部分详解
EmptyLatentImage 节点:
- 设置画布尺寸,通常为 512x512
- 确定初始图像的基础分辨率
- 为后续扩图提供原始素材
CLIPTextEncode 节点:
- 设置正面提示词,描述想要的场景和风格
- 设置负面提示词,避免不想要的元素
- 确保提示词与目标扩图效果匹配
KSampler 节点:
- 配置采样参数(步数、CFG Scale 等)
- 选择合适的采样器
- 生成高质量的初始图像
3.3 扩图区域创建
ImagePadForOutpaint 节点:
这是扩图工作流的核心节点,负责在原图周围创建空白区域。
参数设置:
-
Left:左侧扩展像素数
-
Right:右侧扩展像素数
-
Top:顶部扩展像素数
-
Bottom:底部扩展像素数
遮罩生成:
节点会自动生成对应的遮罩,用于后续的扩图操作。
3.4 扩图生成阶段
模型切换:
- 第一阶段使用普通的 SD 模型生成初始图像
- 扩图阶段切换到 inpainting 专用模型
- 确保扩图效果的专业性和一致性
提示词保持:
- 保持与原始图像相同的提示词
- 确保扩展区域与原始部分风格统一
- 适当调整提示词以适应扩展场景
4 实际操作步骤
4.1 模型配置
在 ComfyUI 界面中找到工作流中的 Load Checkpoint 节点:
第一个节点:选择 v1-5-pruned-emaonly.safetensors
第二个节点:选择 sd-v1-5-inpainting.ckpt
4.2 扩展区域设置
在 ImagePadForOutpaint 节点中设置扩展参数:
单向扩展:只在一个方向扩展,如左侧扩展 256 像素
双向扩展:在相对的两个方向扩展,如左右各扩展 128 像素
四向扩展:在所有方向扩展,创造更大的画布
推荐设置:
- 初始尝试:单方向 128-256 像素
- 渐进扩展:逐步增加扩展像素数
- 最终目标:根据需求确定最终尺寸
4.3 提示词优化
正面提示词设置:
landscape, mountain, forest, river,beautiful scenery, natural lighting,high quality, detailed, photorealistic负面提示词设置:
blurry, low quality, distorted,bad composition, ugly,watermark, text, signature4.4 参数调整
采样参数:
-
步数:20-30 步通常足够
-
CFG Scale:7-12 之间效果较好
-
采样器:推荐 DPM++ 2M Karras
扩图专用参数:
-
Denoise:0.7-0.9 获得更好效果
-
Seed:使用固定种子确保一致性
5 实用技巧与最佳实践
5.1 扩图策略
渐进式扩图:
- 先从较小的扩展开始
- 逐步增加扩展区域
- 确保每一步的效果都满意
方向性扩图:
- 根据构图需要选择扩展方向
- 考虑视觉重心和平衡
- 避免破坏原有的视觉焦点
内容连贯性:
- 确保扩展内容与原始场景匹配
- 保持色彩和光线的一致性
- 维持相同的艺术风格
5.2 提示词优化技巧
场景描述:
- 详细描述扩展区域的场景内容
- 使用与原始图像相关的元素
- 考虑空间关系和透视
风格保持:
- 使用相同的艺术风格描述
- 保持色彩和质感的统一
- 确保光线和氛围的连贯
质量提升:
- 添加质量相关的关键词
- 使用细节描述提升效果
- 避免冲突的风格元素
5.3 参数调优策略
渐进式调整:
- 从保守的参数开始
- 逐步调整到理想效果
- 记录成功的参数组合
多版本测试:
- 生成多个版本进行对比
- 测试不同的参数组合
- 选择最佳效果进行保存
效果评估:
- 检查边缘融合的自然度
- 评估风格的一致性
- 确认细节的丰富程度
6 常见问题与解决方案
6.1 边缘融合不自然
问题原因:扩展区域与原图风格差异过大、参数设置不当
解决方案:
- 调整提示词以匹配原始风格
- 降低 Denoise 参数
- 使用更精确的遮罩
6.2 内容不连贯
问题原因:提示词描述不准确、场景理解偏差
解决方案:
- 详细描述扩展场景的内容
- 使用与原图相关的元素描述
- 考虑空间关系和透视
6.3 生成速度慢
问题原因:模型过大、参数设置过高、分辨率过大
解决方案:
- 使用较小的模型进行测试
- 降低采样步数和分辨率
- 优化参数设置
6.4 内存不足
问题原因:图像分辨率过高、批处理设置过大
解决方案:
- 降低生成分辨率
- 减少批处理数量
- 使用更轻量的模型
7 高级技巧与扩展应用
7.1 多阶段扩图
对于需要大幅扩展的场景,可以采用多阶段扩图:
第一阶段:基础扩图,建立整体框架
第二阶段:细节补充,丰富内容层次
第三阶段:最终优化,完善整体效果
7.2 风格迁移扩图
结合 LoRA 模型实现风格迁移:
加载风格 LoRA:选择目标艺术风格
调整权重:控制风格强度
保持一致性:确保整个图像的风格统一
7.3 批量扩图处理
对于相似的扩图任务:
建立模板:保存成功的工作流配置
参数预设:为不同场景建立参数预设
自动化流程:使用脚本批量处理
8 工作流优化建议
8.1 性能优化
模型选择:根据硬件配置选择合适的模型大小
分辨率控制:平衡质量与性能需求
参数优化:找到最佳的性能与质量平衡点
8.2 质量控制
预览检查:在正式生成前检查所有设置
多版本对比:生成多个版本选择最佳效果
后期处理:结合传统图像处理软件进行优化
8.3 工作流管理
配置保存:保存常用的节点配置
模板建立:为不同类型任务建立模板
版本控制:管理不同版本的工作流文件
9 总结
ComfyUI 的扩图功能为图像创作提供了强大的扩展能力,通过掌握基础技巧和不断实践,你能够创造出更大、更丰富的视觉作品。关键要点包括:
理解扩图原理:掌握基于 inpainting 的扩图技术
合理设置参数:通过参数调优获得最佳效果
保持内容连贯:确保扩展内容与原始图像的一致性
持续优化改进:通过实践不断提高扩图质量
无论是简单的场景扩展,还是复杂的全景创作,扩图技术都能帮你实现更大的创作可能。记住,好的扩图效果需要耐心调试和细心观察,只有通过不断的实践才能掌握这项技术的精髓。
希望这份指南能帮助你快速掌握 ComfyUI 扩图的精髓,让你的创作视野无限扩展。