一、前言
本章是《Stable Diffusion 从入门到企业级实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》第03节, 利用Stable Diffusion ControlNet Canny模型精准控制图像生成。本部分内容,位于整个Stable Diffusion生态体系的位置如下图黄色部分所示:
二、定义
ControlNet v1.1 共提供了14个功能模型,每一个模型对应一个适用的业务场景,具体的模型信息如下图所示:
本文介绍的是ControlNet Canny模型,Canny边缘检测算法是一种提取图像中边缘信息的算法,它由John F. Canny于1986年开发,是最广泛使用的边缘检测算法之一。stable diffusion 结合 canny 边缘检测,将经典边缘检测算法与 AI 生成结合的创新尝试,可以获得更好的生成效果,有效拓展了 Stable diffusion 的应用范围。
三、工作流程
使用ControlNet Openpose工作流程如下图所示:
完整的工作流程描述,如下所示:
- 对输入图像进行 canny 边缘检测,得到边缘图像。
- 将边缘图像中的边缘线条部分作为 mask,与原图中的非边缘部分组合,得到输入图像的边缘 mask 图。
- 将组合后的边缘 mask 图作为条件之一,输入到 stable diffusion 模型中。
- stable diffusion 根据边缘信息及其他文本描述,生成包含相应边缘特征的新图像。
- 可以创建多个不同边缘样式的 mask,输入到 stable diffusion 中,生成具有这些边缘样式的图片。
四、创作成果
利用ControlNet Canny技术,通过姿态检测,实现的图像精准控制效果如下图所示:
目标建筑和源建筑,具有相同的边缘特征。首先识别源图像的边缘特征,然后根据边缘特征,进行目标图像生成。
五、创作过程
5.1 工作步骤
整个的创作过程可以分为4个步骤,如下图所示:
环境部署:启动ControlNet Canny WebUI服务;
模型下载:下载ControlNet Canny 模型;
操作实战:选择输入、配置参数和调试;
运行演示:展示图像生成的效果;
5.2 环境部署
为了降低集成封装对于我们了解底层实现的影响,我们采用的ControlNet v1.1 原生框架部署,而非集成可视化界面环境,具体的ControlNet Openpose服务程序如下图所示,我们只需要启动该程序即可:
5.3 模型下载
ControlNet v1.1 canny 预训练模型主要有两个,如下图所示:
5.4 操作实战
因为是可视化操作界面,可以一目了然的了解操作的方法和过程,具体细节我们不再赘述,直接上配置界面,如下图所示:
5.5 运行演示
六、小结
本章是《Stable Diffusion 从入门到企业级实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》第03节, 利用Stable Diffusion ControlNet Canny模型精准控制图像生成。下一节,我们将给大家带来,利用Stable Diffusion ControlNet Depth深度信息精准控制图像生成。