大家好,我是写编程的木木。
你是否已经厌倦了传统的室内设计方式,想探索新方法来增强作品设计感?本期小编就同大家分享一个新武器,用Stable Diffusion的ControlNet来打造一个室内设计全新工作流。无论你是经验丰富的室内设计师还是初学小白,都将使你的日常工作如虎添翼、告别爆肝,焕发出令甲方爸爸们赞叹的设计感。
ControlNet将毛坯房照片转换为高清室内装饰效果图
ControlNet介绍
ControlNet是一种通过添加额外条件来控制扩散模型的AI神经网络结构,它提供了一种增强稳定扩散的方法。在文本生成图像的过程中,使用诸如涂鸦、边缘映射、分割映射、pose关键点等条件输入,可使生成图像更接近输入图像,对比传统图像到图像的生成方式有大幅的改进。
对初识Stable Diffusion的小伙伴们来说,看到ControlNet有这么多预处理器选项,一定很抓狂。
是的,随着ControlNet插件的不断更新,在v1.1.227版本,已经内置了15种预处理器。但没关系,为了方便大家使用,小编对每种预处理器的功能给出了简单的描述,并会在后续的分享中结合实例,演示具体的使用方法:
○ Canny 硬边缘: 黑色背景带有白色边缘的单色图像;
○ Depth 深度: 灰度图像,黑色代表深区域,白色代表浅区域;
○ Normal 常规: 法线图,表示物体的凹凸纹理,常用在3D模型的绘制上;
○ OpenPose 姿态: 生成角色动作姿态的骨架图;
○ MLSD 直线: 黑色背景上带有白色直线的单色图像;
○ Lineart 线稿: 黑色背景上带有白色线稿单色图像;
○ SoftEdge 软边缘: 黑色背景上带有白色软边缘的单色图像;
○ Scribble 涂鸦: 黑色背景上带有白色轮廓的手绘单色涂鸦图像;
○ Seg 语义分割: 根据原图中不同素材以相应颜色进行区分的彩色图像;
○ Shuffle 随机洗牌: 通过使用随机流的方式来洗牌原图像,在控制稳定扩散的前提下重构出新图;
○ Tile 分块: 将原图分割为一块一块的小区域(Tile/瓦块),然后分别对每个瓦块进行图生图放大,最后集合所有放大后的瓦块,拼成完整的大图;
○ Inpaint 局部重绘: 用于蒙版部分重绘,能在统一整体效果的前提下,补全蒙版部分的内容;
○ IP2P 像素对像素指令: 该模型会自动识别像素对应提示词与新输入提示词的关系,并选择性的向新提示词迁移;比如把图片的光照调暗,让白天变为夜晚,在正向提示词中加入(make it night:1.3)、(night:1.3)即可;
○ Reference 参考: 根据给定的参考图,画同一张图,但是有一定的变化,常用来保持人物角色的一致性;
○ T2IA 自适应: 提取图片色彩或边缘,用于风格迁移;
到这里小编感觉一定有很多小伙伴们要开始抱怨了,这么多的预处理器,用哪个啊。别担心,本篇中的演示只会运用到两种最具代表性的预处理器,MLSD(直线)和Seg(语义分割),选择它们两个,并按照小编的步骤,即便你只有一张随手拍摄的毛胚房照片,也能完成一副有高级既视感的室内装饰效果图。光看文字有点晦涩,让我们先来看下这两种预处理器的实际效果。
可以看到两种预处理器的处理方式完全不同,接下来就告诉大家具体的使用步骤。
MLSD的使用方法
在日常设计流程中,根据不同的需求,可选择不同的预处理器,也可将几种预处理器组合在一起使用。比如,只想保留原图中屋子的结构线,不需要地毯、家具装饰等细节,而是让AI去自由发挥这些,那么MLSD预处理器就很适合。
1.首先用手机拍摄一张毛胚房照片,并将照片文件导入ControlNet中;
2.控制类型选择MLSD(直线),系统会自动把预处理器和模型都设置为MLSD对应的选项;
3.然后点击启用(让ControlNet生效)、低显存优化(GPU显存8G以下推荐开启)、完美像素****模式(Pixel Perfect),允许预览(Allow Preview),最后点击中间的“爆炸”按钮,就可以预览预处理器生成的线稿图。
勾选“完美像素模式”系统将会自动检测底图像素。相较未开启,生成的预处理图线条会更加细致,这边推荐大家开启哦!
4.最后我们也可以调整 “MLSD Value Threshold” 和 “MLSD Distance Threshold” 来改变图片线条的细节程度,这两个参数大家可以理解为调整线条的细节程度。
到这里ControlNet的参数我们已基本设定好了。接下来便是调整Stable Diffusion的基础参数。Stable Diffusion的基础参数设定并不是固定的,更多是靠各位设计师通过尝试各种创意,绘制出最适合的风格。这里小编就手把手教大家如何设置Stable Diffusion的基础参数。
首先设置Stable Diffusion模型,模型风格有很多种,比如二次元、写实风、插画、中国风等,小编推荐采用以下四个写实类风格的常用模型:
○ anything-v4.5
○ realisticVisionV20
○ PrimeMix_V2.1
○ chilloutmix_NiPrunedFp32Fix;
接下来是输入正向提示词和反向提示词:
○ 正向提示词包括: best quality, ultra high res, 8K, Interior Design, Warm, simple, High-rise landscape;
○ 反向提示词包括: low quality,worst quality,bad anatomy,bad composition;
接着我们设置采样迭代步数Steps,默认为20,视不同图片尺寸和Stable Diffusion模型而定,通常设置在15-40左右,小编用10、15、20、25四个参数做演示。
最后设置采样方法Sampler,从界面中可选择的采样方法类型有很多,不同的采样方法生成图片的过程各不相同,这里小编列举了四个常用的采样方法:Eulera、DPM++ 2S a Karras、DPM++ 2M Karras、DPM++ SDE Karras。
到这里设计师们可能会问,上面列了那么多组参数,生成的图片都有啥区别呢?
要回答这样的问题,少不了各种模型间的对比测评。如果使用中低阶GPU卡来完成这类对比测评任务,可能要花好几个小时。但作为LoveGPU的小编,当然要好好利用一下平台的资源优势,给大家带福利咯。使用地表最强出图卡Nvidia GeForce RTX 4090,短短十几分钟,小编就完成了这组测试。下面就给大家看一下anything-v4.5、realisticVisionV20、PrimeMix_V2.1、chilloutmix_NiPrunedFp32Fix四种模型的对比效果。
通过对比可以看出,不管是哪个参数都对出图的效果和质量有一定程度的影响。有了完整的测试效果支持,最终小编推荐选择下面这组Stable Diffusion参数设置:
○ StableDiffusion模型: realisticVisionV20;
○ 正向提示词: best quality, ultra high res, 8K, Interior Design, Warm, simple, High-rise landscape;
○ 反向提示词: low quality,worst quality,bad anatomy,bad composition;
○ 采样迭代步数(Steps): 25;
○ 采样方法(Sampler): DPM++ SDE Karras;
最后一步是调整图像分辨率,点击预处理图下方最右边的箭头符号。
可以看到Stable Diffusion基础参数里的宽度和高度已经和ControlNet中放入的图片尺寸同步了。
现在所有的参数都调好了,让我们来看一下出图效果吧!
哇!甲方爸爸梦想中的大平层出现了,还不错是吧!但房间有点空哦,能放些家具进去就更好了。那么如何添加家具呢?这就与下面要介绍的控制权重(Control Weight)和关键词填写有关。
先解释一下控制权重(Control Weight)的作用,权重越高则代表被原图约束越强。如果我们需要AI帮我们自由发挥一下,通常会适当地减低权重值,当然如果权重太小了,则会距离原图效果越远。通过以下的几组图例,大家可参考一下控制权重(Control Weight)对出图效果的影响。
通过对比,我们更能直观感受到当权重设置越低,AI的创造力更强。上图权重为0.1时,生成的图片与原图基本无关;当权重逐渐提升,生成的图片与原图越来越接近。小编我希望AI为我们在图中添加沙发和地毯,因此我们适当的降低权重到0.7。
接下来我们看下关键词对出图的影响。在正向提示词中添加sofa(沙发),carpet(地毯)。点击生成后,我们可以看到地毯已经生成出来了,但是沙发并没有生成出来。看来关键词sofa被忽略了,我们需要提高关键词sofa的权重值。鼠标选择sofa关键词,按住ctrl键+方向键上,就可以提高关键词的权重值。现在将关键词sofa权重提升到1.3,沙发就生成出来了。
然而,单靠关键词帮我们添加家具,最后摆放的位置往往是随机的。如果我们要在指定的位置安放家具,可用Photoshop甚至手绘的方式来先自行修改**MLSD(直线)**图,这样就能按照自己的想法来设计房间布置了!是不是已经迫不及待地想要给房间添加新家具了?小编来为大家简单演示一下。
右键保存MLSD(直线)图,将保存的图片导入Photoshop。然后在需要的位置简单勾勒出床的轮廓,大家也可以根据自己的喜好画,并不需要画的非常细致,只要大致描绘出轮廓就行了。
将绘制好的图片重新拖到ControlNet中,把关键词sofa改为bed,因为这已经是预处理好的图片了,所以预处理器选择none。这次,我希望生成图片的布局和我修改过的MLSD(直线)图一致,所以我把控制权重调高至1。
现在设置完毕啦,点击生成让我们来看一下设计效果吧!
可以看床已经放到我们想要的位置,而且生成图片的内容和结构都遵循了手动修改过后的线稿图。看到这里,我相信大家已经理解了ControlNet中**MLSD(直线)**的用途和使用方法了!但到这里还仅仅是本篇的一半内容,后面更精彩哦。
Seg语义分割的使用方法
我们知道MLSD是通过线条去识别物体的。大家有没有想过,当两件物体的外形是一样的,比如一个衣柜和一个冰箱,它们都是长方体,仅仅通过线条来识别,并不能很好的区分它们。显然,此时仅有MLSD已经无法胜任了,这时就需要用到S****eg(语义分割), Seg可分割并用颜色标记原图物体,通过颜色对应物体的方式来引导Stable Diffusion生成希望获得的物体。以下小编就为大家介绍S****eg的具体使用方法。
1.保存刚才生成的效果图,将它重新导入ControlNet中;
2.控制类型选择Seg(语义分割),在预处理器栏中我们可以看到有**seg_**ofade20k、seg_ofcoco、seg_ufade20k三种预处理器可供选择。
seg_ofade20k和seg_ufade20k都使用了ADE20k协议,所以这两种预处理器识别图片中素材所用标记颜色是相同的。区别在于它们采用了不同的算法:OneFormer算法会在颜色不同处使用白线分割;而UniFormer算法没有分割线。
seg_ofcoco则采用了COCO协议,所以它的标记颜色和ADE20k协议有所区别。另外它采用了OneFormer算法,因此在颜色不同处也会有白线分割。
光看文字比较抽象,小编直接上效果图:
从三种预处理器的效果来看,都可以很好地分割原图中的各类素材区域。
3.这里小编选择预处理器seg_ufade20k,点击启用、低显存模式(GPU显存8G以下推荐开启)、完美像素模式(Pixel Perfect)、允许预览(Allow Preview),点击“爆炸”按钮,我们可以看到图片中各素材已用不同的颜色标记出来了;
4.这里小编分享一个ADE20k协议的色号表,里面记录了不同的颜色所对应的材质或物件
5.现在我们想在床边添加一张桌子,先保存S****eg预处理效果图,并将其导入Photoshop,简单画出桌子的轮廓,颜色参考ADE20k色号表,选择将第34行“desk桌子”,将它的色号**#0AFF47**复制出来,填充进轮廓中。
6.回到Stable Diffusion,在正向提示词里添加desk,然后将Photoshop处理过的图片放入ControlNet中,预处理器选择none, 其他参数保持不变;
7.点击生成,让我们品鉴一下最终的设计效果吧!
太棒啦!已经顺利将桌子添加到预设位置。
结语
除了本篇演示的 MLSD(直线)和Seg(语义分割) 之外,大家还可以通过组合使用ControlNet的其它功能,比如采用OpenPose(姿态)和Depth(深度),能将人物或者其他物品添加至画面。掌握这些将大大提升室内装饰设计的工作效率,使大家的作品在甲方爸爸的各种Pitch比稿中脱颖而出、独特且富有个性化创意。
好啦,这次的分享就到这里,相信大家一定迫不及待想尝试一下了吧。那还等啥呢,立刻,打开Stable Diffusion使用AI技术的力量,彻底改变你的设计工作流。相信大家定能从Stable Diffusion / ControlNet中获得能力加持,拿出令人耳目一新的创意设计,让客户们惊叹不已哦!
写在最后
感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
若有侵权,请联系删除
总结
**总结文章:探索Stable Diffusion的ControlNet在室内设计中的新应用****作者:写编程的木木**
---
### 引言
文章开篇介绍了Stable Diffusion的ControlNet这一AI技术,作为提升室内设计作品设计感的新武器,帮助设计师无论是经验丰富还是初学者,都能够提高工作效率,创作出令人赞叹的设计作品。
### ControlNet介绍
- **基本概念**:ControlNet是一种通过添加额外条件来控制扩散模型的AI神经网络结构,增强了Stable Diffusion在图像生成过程中的稳定性和灵活性。
- **预处理器选项**:ControlNet提供多种预处理器选项,包括Canny硬边缘、Depth深度图、Normal常规(法线图)、OpenPose姿态等,更新至v1.1.227版本已内置15种预处理器。
### 重点示例:MLSD(直线)和Seg(语义分割)
**MLSD(直线)用法:**
1. **准备**:拍摄毛坯房照片,导入ControlNet。
2. **设置预处理器**:选择MLSD,调整“完美像素模式”和线条细节阈值。
3. **Stable Diffusion参数设置**:选择合适的模型(如realisticVisionV20)、输入正向提示词和反向提示词,调整采样迭代步数和采样方法。
4. **生成效果与优化**:根据需求调整控制权重,添加关键词并优化权重值以生成理想家具布局。
**Seg(语义分割)用法:**
1. **导入已有效果图**:重新将图片导入ControlNet。
2. **选择Seg预处理器**:比较seg_ofade20k、seg_ofcoco和seg_ufade20k,选用合适的预处理器。
3. **颜色标注**:观察ADE20k色号表,根据物体类别标注颜色。
4. **Photoshop修改**:在Photoshop中添加新物体轮廓并填充对应颜色。
5. **再生成图片**:将修改后的图片重新导入,调整Stable Diffusion参数生成新的设计图。
### 实际应用效果与展望
- **高效性与创造力结合**:ControlNet通过不同的预处理器和灵活的权重调整,使得设计师在保持原图基础结构的同时,能够充分发挥AI的创造力。
- **广泛应用前景**:不仅限于MLSD和Seg,通过结合使用OpenPose和Depth等预处理器,能够进一步扩展应用场景,如添加人物、调整物体深度等。
### 学习资源与未来展望
文章最后还提供了AIGC(人工智能生成内容)相关的学习资源和学习路径,包括学习路线、必备工具、视频教程、学习笔记和实战案例等,帮助读者深入学习和应用这一前沿技术。
### 结语
ControlNet作为Stable Diffusion的强大工具,不仅简化了室内设计的工作流程,还为设计师带来了更多的创作自由度和效率提升。随着人工智能技术的不断发展,AIGC技术在未来必定会有更广泛的应用和突破。希望读者能够通过学习和实践,掌握这一技术,创作出更多令人惊叹的作品。