其中,StableDiffusion作为一种新兴的AIGC方法,在建筑效果图渲染中展现出巨大的潜力。本文将深入探讨StableDiffusion在建筑领域中的应用,并结合ControlNet技术,精准控制建筑设计内容,输出高质量建筑效果图,为您呈现一份超细致的保姆级教程,帮助您轻松掌握这一令人激动的技术。
StableDiffusion官网
在众多AI绘画产品中,StableDiffusion(SD)和Midjourney可以说是两颗璀璨的明星。它们通过深度学习和图像生成技术,能够自动将文字内容或草图转化为逼真的建筑效果图。然而,在这两者之间,SD凭借其独特的可控性和渲染效果的卓越表现,成为了设计师们的首选。相较于Midjourney,SD在可控性方面表现更为出色。设计师们可以通过微调参数,精确控制每个细节的渲染效果,实现更符合设计意图的成果。这一点对于建筑设计的精准呈现至关重要,尤其是在追求特定风格或效果时,SD能够更好地满足设计师的要求。
接下来我们先用弗兰克·盖里的古根海姆博物馆草图生成一些图片,看看AI如何理解抽象的内容。
手绘草图
强控制下的效果图
平衡控制下的效果图
弱控制下的效果图
通过上面几张绘画结果的对比,我们可看到SD对于输出结果的强大可控性,同一个绘图模型通过不不同控制强度,输出的图像结果也非常不同。我们可以通过调整各项参数,来精准地控制我们想要的结果,这对于建筑设计领域来说至关重要。
接下来我将会从软件的安装,到出一张简单的建筑图,再到精准控制下的超高清效果图进行一一讲解!如果您已经安装了SD和ControlNet插件,但是不懂如何设置参数来控制出图,可跳过安装教程,从03概念绘图章节开始学习!
a.显卡(最重要!!!):N卡(Nvidia)显存4GB以上,但是至少8GB用起来才会比较舒服,不然渲染一张512*512的小图就需要几分钟体验感很差。不推荐A卡(AMD),最低配置GTX1060,不到一分钟一张图;建议配置GTX3060(AI绘图入门甜品卡,但小心矿卡)10秒左右一张图;高配GTX3080GTX4090,体验三秒一张图,抽奖抽到爽。
b.内存:尽量16GB及以上,因为在出图的时候我们除了开SD软件,可能同时会打开各种参考图网站,SU模型,PS修图等等,容易卡死,体验贼差。
c.cpu处理器:AI绘图主要用gpu计算,不太吃cpu,与显卡相匹配的处理器就可以。
d.硬盘储存空间:100GB以上,软件本体在20-30GB,后期还需要下载很多大的模型,每个模型一般也有2-5GB,还有各种lora模型,所以储存越大越好。
在这里推荐大家直接安装StableDiffusionWebUI资源整合包,
秋叶整合包软件界面
哩布哩布AI网站界面
秋叶整合包里面内置有ControlNet的插件,但是没有相应的模型,因为模型太大,而且不是所有都用得到,需要自己单独下载,并放进相应文件夹,再重新启动SD就可以自动加载了。
ControlNet模型描述
ControlNet模型下载
把下载的模型文件放入你安装SD的文件夹相应路径:models\ControlNet中,之后重新启动SD,在ControlNet下选择相应的模型,就可以使用啦。
CIVITAI网站界面
你可以在这个网站上下载几乎多有的模型,本次教程用到的模型也全都在这里能下载到。把下载的模型(checkpoint)文件放入你安装SD的文件夹相应路径:models\Stable-diffusion,如果是Lora模型需要放在路径:models\Lora。
安装好软件、插件、模型后,接下来我们就可以开启AI绘画之旅啦。
概念绘图大纲
使用文生图进行AI绘画,主要需要三步a.输入提示词/反向词,b.基础参数设置,c.ControlNet模型控制
a.输入提示词/反向词
首先选择StableDiffusion模型:architectureExterior_v40Exterior,其他设置保持默认就好。
第一次使用我们我们可以直接去网上搜索别人写好的提示词,找到别人生成的效果比较好的,直接复制过来就可以。很多时候反向词都可以通用,提示词也有事一些通用效果类提示词,然后再自己输入一些自己希望可以出现的内容,需要英文,每个提示词用逗号分隔。
这里我输入的提示词:
dvArchModern,85mm,f1.8,portrait,photorealistic,hyperrealistic,orante,superdetailed,intricate,dramatic,sunlightlighting,shadows,highdynamicrange,house,masterpiece,bestquality,(8k,RAWphoto:1.2),((ultrarealistic)),modernvilla,blackandwhite,architecture,building,cloud,vividcolour,masterpiece,bestquality,superdetailed,realistic,photorealistic,8k,sharpfocus,aphotoofabuilding
反向词:
(worstquality,lowquality:1.4),lowres,(Text:1.3),(logo:1.3),normalquality,cropped,blurry,drawing,painting,signature,soft,blurry,drawing,sketch,poorquality,ugly,type,word,pixelated,lowresolution,saturated,highcontrast,oversharpened
文生图提示词与反向词填写
b.基础参数设置
出图尺寸尽量选额512512左右的小图,这里我用的640460的横向图幅,因为生成的图不一定是我们满意的,所以可以先生成小图,然后用小图在图生图放大。
出图张数根据自己需求和电脑配置,建议一次1-9张,总张数=生成批次*每批数量,这里我生成的4张,分四批每批一张。
种子默认-1。如果有别人生成的绘画是你想要的效果,也可以直接复制它的种子。
文生图基础参数设置
这里我们没有用到ControlNet,所以画面是随机的,输出的结果如下。
文生图输出结果
c.ControlNet模型控制
接下来我们看看加入ControlNet后的效果:
我上传了一张建筑速写,然后添加了两个ContorlNet模型MLSD和Canny,记住一定要点击启用按钮,不然就不会应用,选择好模型,点击按钮运行,允许预览可以看到运行后的结果。
MLSD控制权重我设置的0.7,canny控制权重我设置的0.2。0-1内,数值越高控制越强。因为MLSD模型识别图片中的主要直线,控制权重可以高一些,canny是轮廓线,但是因为本身就是手绘图,希望生成的是真实的建筑效果,所以要低一些,给一个0.2就好。
所有的参数设置都不是固定的,要适情况而定,大家可以控制设置不同的数值,对比查看效果,这样对这些参数的设置会更加直观。
MLSD模型参数设置
Canny模型参数设置
通过ContorlNet的控制我们可以看到,画面的建筑空间结构和我们上传的草图基本一致。
ControlNet参考底图
ControlNet控制下的文生图效果
使用图生图进行AI绘画,主要需要四步a.输入提示词/反向词,b.上传图生图参考,c.基础参数设置,d.ControlNet模型控制
为了方便大家理解,模型选择、提示词和反向词我还是保持和刚才文生图一样的内容。
b.上传图生图参考
图生图,顾名思义就是通过一张参考图来生成一张新的图,这里我上传了一张同种类型的住宅图片。缩放模式选择拉伸。
图生图选项设置
c.基础参数设置
基础参数设置和之前文生图同理,图片尺寸选择和上传图像一样的尺寸。这里多了一个重绘幅度的选项,数值在0-1之间,0表示整幅图不重绘,1表示整幅图全部重绘,0.7就是重绘70%。
图生图基础参数设置
首先我们还是不启用ControlNet选项,重绘幅度分别选择0、0.2、0.5、0.7、0.85、1这6个数值,看一下输出的结果。
图生图不同重绘幅度输出结果对比
可以看到AI在重绘幅度大于0.5以后逐渐放飞自我,甚至完全看不到和原图有什么关系。
接下来我们启用ControlNet试试吧!
d.ControlNet模型控制
这次我们添加了三个模型分别是MLSD、Depth、Canny。参数设置如下图,这次我们找的参考图跑出来的Depth深度图效果一般,空间感不强,其实他在很多时候至关重要,所以如果空间效果比较好的话,给一个高数值,他可以对生成的画面控制的很出色。
Depth模型参数设置
来看一下生成的结果,跟不添加ControlNet相比,我们可以明显感觉到,建筑的整体结构始终没有改变。所以通过ControlNet的控制,我们可以对原始参考图进行图生图,生成很多张不同类型的建筑效果图,极大地提高了工作效率,再也不怕甲方一星期要三套方案,每套方案出三种类型啦!
ControlNet控制下图生图不同重绘幅度输出结果对比
精准控制绘图大纲
想要做到精准控制绘图,首先要清楚整个过程是人在控制AI,所以我们自己要先清楚画面内容,不然AI也很难按照我们的想法来。
我们以一个建筑改造为例。这是一个城市旧街道,我们要对其进行更新改造,设计成一条中式老街,沿街设置商业店铺。首先要对原始底图进行PS设计意向处理。
a.PS设计意向:
以下是我在ps中进行的操作,首先清理背景中的旧电线,接着添加青石板路地面,然后寻找一些传统老街、古镇的图片素材,将合适的立面角度直接扣下来ps在墙面,为场景增加灯笼配景、背景树木等等,最后添加一些人物增加场景感。
效果图PS设计意向操作步骤
这是最终ps后的设计效果,我们目前可以不用在意太多细节,只要整体透视没大问题就可以。
效果图PS设计意向
b.ControlNetSegment图层
接下来进行第二步,根据ps设计意向绘制segment语义分割图层(语义分割是将标签或类别与图片的每个像素进行关联的一种方法。)每一种标签分类都有对应的颜色,我们可以在网上搜索controlnetcategoriesandcolor等关键词,进行查询。
Segment语义分割类别与对应颜色
下图是ps设计意向图和对应seg图层,我主要对以下四种类别进行了绘制:road(道路),building(建筑),tree(树),person(人物)。分的越细致,画面效果越好。
PS设计意向图与Segment图
准备好PS设计意向图和Segment图后,我们就可以打开SD,先进行小图渲染啦。
a.选择SD模型:realisticVisionV50_v50VAE
提示词:
85mm,f1.8,portrait,photorealistic,hyperrealistic,superdetailed,intricate,dramatic,sunlightlighting,shadows,highdynamicrange,house,masterpiece,bestquality,(8k,RAWphoto:1.2),((ultrarealistic)),cloud,vividcolour,masterpiece,bestquality,superdetailed,realistic,photorealistic,8k,sharpfocus,Chinesearchitecture,ancientChinesestreets,ancientChinesetowns,touristattractions,shops,accommodation,homestays,grocery
小图渲染提示词与反向词
b.上传PS设计意向图,缩放模式选择:拉伸
PS设计意向图上传
c.基础参数设置中图像尺寸选择和意向图同比例小图尺寸(在512*512px左右,电脑配置高可以稍微提高,但不建议超过1000px),重绘幅度在0.2-0.3之间都合适,如果生成的图和PS设计意向图太过接近,效果不明显,可适当提高重绘幅度。
小图渲染基础参数设置
d.ControlNet控制
打开ControlNet,分别添加Depth模型、MLSD模型和Seg模型。
小图渲染Depth模型参数设置
小图渲染MLSD模型参数设置
Seg模型由于是我们事前在PS中绘制好的,所以预处理模型那里选择none就可以。
小图渲染Seg模型参数设置
点击生成,等待结果,不满意的话微调参数,可以多生成几张,直到满意为止。这是我生成的结果,人物有变形和脸部不完整没有关系,因为小尺寸下,人物像素过小,AI生成的效果不好,下一步高清渲染后会好很多。
小图渲染输出结果
选择满意的小图,直接发送到图生图进行高清渲染,通过以下四类参数设置进行渲染:基本参数设置、人物修复、高清放大图像、放大辅助。
a.基本参数设置
缩放模式这里选择:直接缩放。出图尺寸依然保持小图原尺寸,重绘幅度0.2-0.3,种子使用小图的默认种子,不用修改。
高清渲染基础参数设置
b.人物修复-ADetailer
点开ADetailer选项(没有这个选项的可以直接跳过,后期通过局部修改对人物进行修复),第一步1st选择person模型,对人体进行修复,下方输入英文描述提示词;第二步2nd选择face模型,对脸部进行修复,下方输入英文描述提示词。
ADetailer人体修复
ADetailer面部修复
c.高清放大图像-TiledDiffusion
点开TiledDiffusion选项,打开选项:保持输入图像尺寸;Method方法选择MultiDiffusion;放大算法选择:R-ESRGAN4x+Anime6B;ScaleFactor放大比例选择4。其他默认就好。
高清放大图像-TiledDiffusion参数设置
d.放大辅助-分块VAE+LatentUpscale
这里点开分块VAE,选择:EnableTiledVAE,脚本选择:LatentUpscale,方法选择:nearest-exact,调度器选择:simple。
记住一定要把ControlNet中之前的三个模型取消应用,因为他在小图渲染中已经起到控制作用了,目前高清放大渲染,不需要ControlNet。
放大辅助参数设置
高清渲染输出结果
可以看到整体效果还是比较好的,人物也几乎没有变形。图片分辨率大小可以达到4000px左右,单张图片大小10MB以上,放大看细节处理也很棒,效果真实,是传统的3D模型渲染难以达到的水平。(AI对文字的处理目前还是不太成熟的,可以在PS意向中尽量减少文字内容,如果特别需要可以生成大图后,在PS中把文字加上,然后局部重绘一下,强度设置在0.2-0.3之间。)
高清渲染输出结果细节展示
之前有提到秋叶的整合包没有ADetailer插件,不能在高清渲染时对人体进行修复,那么我们来看一下没有ADetailer控制的输出结果。
缺少ADetailer控制下的高清渲染
缺少ADetailer控制下的渲染细节展示
不难发现,除了人物,其他建筑、配景等效果几乎没有区别。人像会有出现手脚变形严重,脸部渲染细节不够等问题。即便是应用ADetailer对人物进行修复,有时候效果也不一定满意,所以还是会需要对一些细节进行微调,这时就可以用到SD图生图中的局部修改功能。
我们可以先吧需要修改的部分进行裁切,并上传至图生图局部重绘(手绘蒙版)部分,在图中直接将需要修改的部分涂黑,提示词记得更换至你想要生成的内容,比如:Awomanintraditionaldresswithherbacktous.
图生图局部重绘(手绘蒙版)功能
缩放模式:拉伸,选择重绘蒙版内容、填充、仅蒙版选项。
局部重绘参数设置
图片尺寸和你裁切下来的图片尺寸保持一致,如果尺寸过小,人物渲染依然不清晰,可等比放大2-4倍,重绘幅度0.5左右,效果不好适当微调。
下面的ADetailer、TiledDiffusion、分块VAE、ControlNet脚本全都不需要启用,记得取消,其他参数不知道怎么设置的保持默认就好。最后点击生成,可一次多张或多次生成,重绘效果很难一次就满意,多试几次,选择一张满意的效果,在PS中将生成局部图放进高清大图原位置上,最终完成高清绘图!
局部绘制输出结果对比
局部修改后的高清大图
以上就是StableDiffusion+ControlNet建筑绘图的全部流程,过程中所涉及到的参数根据大家部署的SDWebUI版本不同或使用的在线绘图网站差异,会有部分功能缺失或参数翻译不同,可通过选择选项下其他参数尝试,过程中参数都不是唯一固定的,尝试理解参数背后的作用,才能让我们对功能更加了解。