Stable Diffusion Segmentation语义分割:像素级场景控制
发布日期:2025-05-10 | 作者:白兔AI | 阅读时间:约8分钟
🐰 关注公众号「白兔AI」
扫码关注公众号,获取更多AI绘画教程和提示词
✨ 白兔去水印小程序
免费去水印工具,一键去除图片/视频水印
一、语义分割简介
语义分割(Semantic Segmentation)是计算机视觉中的一项技术,它将图像中的每个像素分类到预定义的类别中(如天空、地面、人、车等)。在Stable Diffusion的ControlNet中,Segmentation预处理器让创作者可以精确控制生成图像中各个元素的位置、形状和类型。
如果说Canny控制的是"轮廓",Depth控制的是"空间",那么Segmentation控制的就是"内容分布"。
二、Segmentation的工作原理
Segmentation预处理器将图像转换为彩色分割图,每种颜色代表一个语义类别:
- 不同颜色 = 不同物体类别
- 相同颜色的区域 = 同类别物体
- AI根据颜色-类别映射生成对应内容
三、Segmentation预处理器类型
1. seg_ofade20k
基于ADE20K数据集,包含150个常见场景类别,适合室内和一般场景。
2. seg_ufade20k
ADE20K的升级版,分割效果更精细。
3. seg_ofcoco
基于COCO数据集,对人物和日常物体识别更好。
四、颜色-类别对照表(ADE20K常用类别)
| 颜色 | 类别 |
|---|---|
| 浅蓝 | sky(天空) |
| 深绿 | tree(树) |
| 浅绿 | grass(草地) |
| 棕色 | ground(地面) |
| 灰色 | road(道路) |
| 蓝色 | water(水) |
| 红色 | person(人) |
| 黄色 | building(建筑) |
五、Segmentation的基本使用
步骤:
- 上传参考图到ControlNet
- 选择Segmentation预处理器(如seg_ofade20k)
- 选择Segmentation模型(如control_v11p_sd15_seg)
- 预览分割图,确认各类别颜色正确
- 输入文本提示词
- 生成图像
六、自定义分割图
最强大的用法是手绘或程序化创建自定义分割图:
方法1:手绘分割图
- 在Photoshop中创建新图像
- 使用对应类别的颜色填充不同区域
- 保存为PNG上传到ControlNet
- 输入提示词生成
方法2:使用分割图生成工具
- 在线分割图编辑器
- 3D软件渲染语义通道
- 专门的分割图制作工具
七、Segmentation的典型应用
1. 精确场景构图
指定"左边是树,中间是人,右边是建筑":
- 创建分割图,左侧绿色(树),中间红色(人),右侧黄色(建筑)
- 输入提示词:park scene with person and building
- 生成符合布局的图像
2. 室内设计布局
控制家具和装饰的位置:
- 用不同颜色标记沙发、桌子、灯具的位置
- 生成符合布局的室内设计图
3. 城市规划概念
控制道路、建筑、绿地的分布:
- 创建城市分割图
- 生成不同风格的城市效果图
4. 多人场景控制
精确控制多个人物的位置:
- 用红色标记每个人物区域
- 配合OpenPose控制姿势
八、Segmentation的高级技巧
1. 结合Depth使用
Segmentation控制"有什么",Depth控制"在哪里"(空间位置)。两者结合实现全方位的场景控制。
2. 渐进式生成
先用Segmentation生成大致布局,再用Inpainting细化每个区域。
3. 批量生成变体
保持分割图不变,改变提示词生成同一布局的不同风格版本。
九、注意事项
- 分割图的颜色必须准确对应类别
- 过于复杂的分割图可能导致某些区域效果不佳
- Control Weight建议保持在0.8-1.0
- 分割图的边缘不需要非常精确
- 某些类别在模型中表现更好(如天空、地面)
十、总结
Segmentation是ControlNet中控制力最强的工具之一,它让创作者可以从"内容分布"的层面规划画面。虽然学习和使用门槛略高于其他预处理器,但一旦掌握,你就能实现像素级的场景控制,这对于复杂的商业项目和精细的艺术创作来说 invaluable。
← 返回博客首页