【AIGC专题】Stable Diffusion 从入门到企业级实战0403

一、前言

本章是《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工作流程如下图所示:

完整的工作流程描述,如下所示:

  1. 对输入图像进行 canny 边缘检测,得到边缘图像。
  2. 将边缘图像中的边缘线条部分作为 mask,与原图中的非边缘部分组合,得到输入图像的边缘 mask 图。
  3. 将组合后的边缘 mask 图作为条件之一,输入到 stable diffusion 模型中。
  4. stable diffusion 根据边缘信息及其他文本描述,生成包含相应边缘特征的新图像。
  5. 可以创建多个不同边缘样式的 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深度信息精准控制图像生成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/100415.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【易售小程序项目】修改“我的”界面前端实现;查看、重新编辑、下架自己发布的商品【后端基于若依管理系统开发】

文章目录 “我的”界面修改效果界面实现界面整体代码 查看已发布商品界面效果商品数据表后端上架、下架商品ControllerMapper 界面整体代码back方法 编辑商品、商品发布、保存草稿后端商品校验方法Controller 页面整体代码 同项目其他文章 “我的”界面修改 效果 界面实现 界…

【算法】冒泡排序

冒泡排序 冒泡排序代码实现代码优化 排序: 排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性: 假定在待排序的记录序列中,存在多个具有相同的关键字的记录&…

Lesson5-2:OpenCV视频操作---视频追踪

学习目标 理解meanshift的原理知道camshift算法能够使用meanshift和Camshift进行目标追踪 1.meanshift 1.1原理 m e a n s h i f t meanshift meanshift算法的原理很简单。假设你有一堆点集,还有一个小的窗口,这个窗口可能是圆形的,现在你可…

eclipse进入断点之后,一直卡死,线程一直在运行【记录一种情况】

问题描述: 一直卡死在某个断点处,取消断点也是卡死在这边的进程处。 解决方式: 将JDK的使用内存进行了修改 ① 打开eclipse,window->preference->Java->Installed JREs,选中使用的jdk然后点击右侧的edit,在…

C++初阶:C++入门

目录 一.iostream文件 二.命名空间 2.1.命名空间的定义 2.2.命名空间的使用 三.C的输入输出 四.缺省参数 4.1.缺省参数概念 4.2.缺省参数分类 4.3.缺省参数注意事项 4.4.缺省参数用途 五.函数重载 5.1.重载函数概念 5.2.C支持函数重载的原理--名字修饰(name Mangl…

Socks5 与 HTTP 代理在网络安全中的应用

目录 Socks5和HTTP代理在网络安全中的应用。 Socks5代理和HTTP代理的优点和缺点。 选择合适的代理IP需要考虑的因素: 总结 在网络安全领域中,Socks5和HTTP代理都扮演着重要的角色。作为两种不同的代理技术,它们在网络安全中的应用各有特点…

界面控件DevExpress WPF(v23.2)下半年发展路线图

本文主要概述了DevExpress官方在下半年(v23.2)中一些与DevExpress WPF相关的开发计划。 通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress …

NoSQL之 Redis介绍与配置

目录 一、关系数据库和非关系数据库概述 1、关系型数据库 2、非关系型数据库 二、关系数据库和非关系数据库的区别 1、数据存储格式不同 2、扩展方式不同 3、对事务的支持不同 三、非关系数据库产生背景 1、总结 四、Redis简介 1、 Redis的单线程模式 2、Redis优点…

CVE-2023-3450:锐捷 RG-BCR860 命令执行漏洞复现

锐捷 RG-BCR860 命令执行漏洞(CVE-2023-3450)复现 0x01 前言 本次测试仅供学习使用,如若非法他用,与本文作者无关,需自行负责!!! 0x02 漏洞描述 Ruijie Networks RG-BCR860是中国锐捷网络(R…

Bytebase 和 GitLab 签署 Technology Partner 技术合作伙伴协议

Bytebase 和 GitLab 签署技术合作伙伴协议,携手为开发者提供流畅的数据库协作开发和管理体验。 GitLab 是世界领先的开源 AI 驱动 DevSecOps 平台,旨在帮助开发者团队更好协作、更高效交付软件。Bytebase 是一款为 DevOps 团队准备的数据库 CI/CD 工具&a…

【业务功能篇98】微服务-springcloud-springboot-电商订单模块-生成订单服务-锁定库存

八、生成订单 一个是需要生成订单信息一个是需要生成订单项信息。具体的核心代码为 /*** 创建订单的方法* param vo* return*/private OrderCreateTO createOrder(OrderSubmitVO vo) {OrderCreateTO createTO new OrderCreateTO();// 创建订单OrderEntity orderEntity build…

【启扬方案】启扬多尺寸安卓屏一体机,助力仓储物料管理系统智能化管理

随着企业供应链管理的不断发展,对仓储物料管理的要求日益提高。企业需要实时追踪和管理物料的流动,提高物流效率、降低库存成本和减少库存的风险。因此,仓储物料管理系统的实现成为必要的手段。 仓储物料管理系统一体机作为一种新型的物料管理…