大家好,这里是和你们一起探索 AI 的花生~
AI 绘画自出现以来一直都在不断发展完善,实现了很多我们在实际应用中迫切需要的功能,比如生成正确的手指、指定的姿势、准确的文本内容等。上周,又一个重磅新功能在开源的 SD 生态内实现了——直接通过文本直接生成晶莹底图象和图层!这将为 AI 绘画和设计领域带来了新的可能性,使图象形式更多样,也能给设计师带来更多便利。
今天我们就一起来了解实现这一新功能的技术 LayerDiffusion,以及如何在 SD WebUI Forge 和 ComfyUI 中利用 LayerDiffusion 生成晶莹底图片。
相关推荐:
一、 LayerDiffusion 简介
LayerDiffusion 是由 @ lllyasviel (没错就是那个开发出 Controlnet、Fooocus 和 SD WebUI Forge 的大神)最新推出的一种晶莹图象生成技术,它的核心所在是“潜在晶莹度”,即将 Alpha 通道整合到预训练模型的潜在结构中,使模型能够生成带有晶莹度的图。
官方给出的演示案例效果非常好,不仅可以生成一般物体,而且对于玻璃、发光这种晶莹/半晶莹的对象,以及头发丝这种精细的内容,生成的效果依旧完美。本文章封面图的卷发女生就是我直接用 LayerDiffusion 生成的,极大提升了出图效率,而且真正做到了“毫无抠图痕迹”,再也不用担心有白边了。
除了直接生成晶莹底图象,LayerDiffusion 还支持生成分层图象。包括根据一个晶莹底图象生成完美融合的后台,并将该后台提炼为残缺独立的图层;以及根据后台图象+提醒词生成远景主体,并将该主体提炼为晶莹底图层。
目前 SD WebUI Forge 和 ComfyUI 已经支持 LayerDiffusion 的晶莹底功能,并且在未来还将支持通过图象生成晶莹底图象,下面为大家介绍如何在这 2 款工具中实现对应的功能。
二、在 SD WebUI Forge 中使用 LayerDiffusion
由于是同一个作者开发的,所以 SD WebUI Forge 最先实现了对 LayerDiffusion 的支持,界面操作非常方便,生成速度也很快。具体操作如下:
① 装置 SD WebUI Forge
SD WebUI Forge 一键装置包: https://github.com/lllyasviel/stable-diffusion-webui-forge (附件有云盘资源,但但是软件后期会更新,还是建议去原网址下载)
先下载 WebUI Forge 官方一键装置包,解压后装置到本地;然后进入根目录,点击 update.bat 更新程序(必须点击),再点击 run.bat 启动 WebUI 界面。初次启动会下载很多配置文件,包括一个 1.99G 的 realisticVisionV51_v51VAE.safetensor 模型,所以时间会比较比较久,记得耐心等待,完成后会在浏览器中自动打开 UI 界面。
② 装置 LayerDiffusion 插件
Layerdiffusion 插件 Git 网址: https://github.com/layerdiffusion/sd-forge-layerdiffuse.git
装置方法与 SD WebUI 一样,即进入 Extensions 版块,挑选从 git 网站装置,然后重启 WebUI。或者进入 WebUI Forge 根目录,在 webui\extensions 文件夹中通过 git clone 命令装置。装置成功后,就能在界面上看到 LayerDiffusion 的插件面板了
③ 装置模型
LayerDiffusion 处理模型: https://huggingface.co/LayerDiffusion/layerdiffusion-v1/tree/main (网盘有资源包)
LayerDiffusion 插件目前仅支持 SDXL 模型,官方推荐了 Juggernaut XL V6 和 anima_pencil-XL 1.0.0 这两款模型进行操作(附件网盘有资源包),下载后装置到根目录的 webui\models\Stable-diffusion 文件夹中。此外还需要下载 8 个 LayerDiffusion 处理模型,装置到根目录的 webui\models\layer_model 文件夹中。
WebUI Forge 的 LayerDiffusion 插件目前支持生成晶莹底图象、根据后台图象生成远景图象和根据晶莹底远景生成后台图象。下面分别介绍一下它们的操作方法:
① 直接生成晶莹底图象
首先启用 LayerDiffusion 插件,Method 挑选 Only Generate Transparent Image (Attention Injection)。然后挑选大模型、设置生成参数(下方有参考数值)。LayerDiffusion 会一次性生成 2 张图象,第一张是带棋盘后台的预览图,第二张则是晶莹后台的 PNG 图片,下载后可以直接做为素材使用。
大模型:juggernautXL_version6Rundiffusion;VAE:automatic
正向提醒词:a red apple, high quality;
反向提醒词:bad, ugly;
生成参数:Steps: 25, Sampler: DPM++ 2M SDE Karras, CFG scale: 5, Size: 1024×1024,
layerdiffusion 插件:layerdiffusion_method: Only Generate Transparent Image (Attention Injection), layerdiffusion_weight: 1, layerdiffusion_ending_step: 1
② 根据后台图象生成晶莹底远景
首先在启用 LayerDiffusion 插件,并挑选 From background to Blending 模式并上传一张后台图象,然后挑选大模型、设置生成参数(下方有参考数值)。
大模型:JuggernautXL_version6Rundiffusion;VAE:automatic;Clip Skip: 1
正向提醒词:a man sitting, high quality;
反向提醒词:bad, ugly;
生成参数:Steps: 25, Sampler: DPM++ 2M SDE Karras, CFG scale: 7, Size:768×1024,
layerdiffusion 插件:layerdiffusion_method: From background to Blending, layerdiffusion_weight: 1, layerdiffusion_ending_step: 1, layerdiffusion_resize_mode: Crop and Resize
图象生成后,先更改 LayerDiffusion 的模式为 From Background and Blending to Foreground,然后将右侧的图象直接拖入空白的 blending 图象区,并将采样器更改为 Euler A 或 UniPC (否则会出现一些颜色误差,这一点作者正在研究改进);再次点击生成,就能得到远景人物的晶莹底图象。
③ 根据远景生成后台
先使用 LayerDiffusion 生成一张晶莹底的物体,比如一个玻璃杯或者一只小猫,然后保存图象。将 LayerDiffusion 模式修改为 From Foreground to Blending,上传刚刚生成的晶莹底图象,然后加上提醒词以及生成参数(下方有参考数值),点击生成。
大模型:JuggernautXL_version6Rundiffusion;VAE:automatic;Clip Skip: 1
正向提醒词:a dog sitting on the grass, in a spring park, high quality;
反向提醒词:bad, ugly;
生成参数:Steps: 25, Sampler: DPM++ 2M SDE Karras, CFG scale: 7, Size:896*1152,
layerdiffusion 插件:layerdiffusion_method: From Foreground to Blending, layerdiffusion_weight: 1, layerdiffusion_ending_step: 1, layerdiffusion_resize_mode: Crop and Resize
然后将 LayerDiffusion 模式修改为 From Foreground and Blending to Background,将生成的图象拖入 Blending 区域,然后将 stop_at 参数调整为 0.5、采样器更改为 Euler A 或者 UniPC,并将提醒词修改为 “a spring park,grass, high quality”,点击生成,就能得到一张残缺的后台图象了。
三、在 ComfyUI 中使用 LayerDiffusion
① 装置插件
ComfyUI-layerdiffuse 插件 git 网址: https://github.com/huchenlei/ComfyUI-layerdiffuse.git
首先将 ComfyUI 更新到最新版本。然后装置 layerdiffuse 插件,可以用过 manager 装置,也可以进入根目录的 custom_nodes 文件夹中,通过 git clone 命令装置;装置成功后,进入 ComfyUI-layerdiffuse 根目录,打开终端命令,运行 pip install -r requirements.txt 命令,装置 python 依赖项。
② 装置模型
LayerDiffusion 处理模型: https://huggingface.co/LayerDiffusion/layerdiffusion-v1/tree/main (网盘有资源包)
ComfyUI-layerdiffuse 插件目前仅支持 SDXL 模型,挑选大模型时需要注意;此外还需要下载 LayerDiffusion 处理模型,装置到根目录的 models\layer_model 文件夹中。
③ 加载工作流
插件官方提供了 7 种工作流,全部存放在 custom_nodes\ComfyUI-layerdiffuse\examples 文件夹中,可以实现生成晶莹底图象、通过后台图象生成晶莹底远景、通过晶莹底远景生成残缺后台等操作;我也进一步整理了这些文件,打包资源在文末网盘内。启动 ComfyUI 界面后,可以用 workspace 插件一次性将整个工作流文件夹导入 ComfyUI 中。
④ 直接生成晶莹底图象
layer_diffusion_fg_example_rgba 和 layer_diffusion_fg_example 两个工作流都可以生成晶莹底图象,且第二个工作流可以额外生成一个 Alpha 通道蒙版。
⑤ 生成远景&生成后台
layer_diffusion_cond_example 工作流可以同时实现 “根据晶莹底远景生成后台” 和 “根据后台晶莹底远景” ,使用时注意在 Layer Diffuse Cond Apply 节点中对应地将 layer_type 调节成 foreground 或者 background。
⑥ 提炼残缺后台
在根据一个晶莹底图象生成后台后,可以通过 layer_diffusion_diff_bg 工作流提炼一个残缺的后台图层。主体在提醒词中残缺描述后台内容,采样器需要挑选 Euler A 或者 Uni_pc。
⑦ 提炼远景图层
在一个后台图中生成一个新的主体后,可以再通过 layer_diffusion_diff_fg 工作流将主体提炼为晶莹底图层。注意修改提醒词,采样器依旧挑选 Euler A 或者 Uni_pc。
以上就是本期为大家介绍的 AI 绘画插件 layerdiffusion,装置后可以在 SD WebUI Forge 和 ComfyUI 中通过文本生成晶莹底图象及分层图象。文内提到的模型及工作流文件都在文末的云盘链接内,有需要的有需要的小伙伴可以记得下载~