【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.rhkb.cn/news/129186.html

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

相关文章

PyTorch深度学习实战(15)——迁移学习

PyTorch深度学习实战(15)——迁移学习 0. 前言1. 迁移学习1.1 迁移学习基本概念1.2 迁移学习的重要性1.3 ImageNet1.4 迁移学习流程 2. VGG16 架构3. 使用预训练 VGG16 模型实现猫狗分类小结系列链接 0. 前言 迁移学习( Transfer Learning )是一种利用从…

时序预测 | MATLAB实现ICEEMDAN-iMPA-BiLSTM时间序列预测

时序预测 | MATLAB实现ICEEMDAN-iMPA-BiLSTM时间序列预测 目录 时序预测 | MATLAB实现ICEEMDAN-iMPA-BiLSTM时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 ICEEMDAN-iMPA-BiLSTM功率/风速预测 基于改进的自适应经验模态分解改进海洋捕食者算法双向长短期记忆…

C语言深入理解指针(非常详细)(五)

目录 回调函数qsort使用举例qsort函数的模拟实现sizeof和strlen的对比sizeofstrlensizeof和strlen的对比一道关于sizeof的题 回调函数 回调函数就是一个通过函数指针调用的函数 如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指…

Python小知识 - Python装饰器

Python装饰器 在Python中,装饰器是一个特殊的函数,可以将其他函数包装在装饰器函数中,并且将被包装的函数作为参数传递给装饰器函数。 使用装饰器的好处是可以自动在被包装的函数前后执行一些额外的代码,比如在函数执行前后打印日…

ClickHouse的Join算法

ClickHouse的Join算法 ClickHouse是一款开源的列式分析型数据库(OLAP),专为需要超低延迟分析查询大量数据的场景而生。为了实现分析应用可能达到的最佳性能,分析型数据库(OLAP)通常将表组合在一起形成一个…

电脑文件批量重命名:高效操作技巧

随着时间的推移,我们积累的文件和文件夹数量越来越多,需要对它们进行合理的命名和管理,以便更方便地查找和利用。而文件批量重命名功能可以帮助我们更高效地管理文件夹。下面介绍五种方式,帮助你更好地利用文件批量重命名工具&…

ADASAPA场景设计分享

相信大家都对于ADAS与APA这两个车机功能都不陌生,对其场景设计过程可能并不是很清楚。今天小怿就跟大家分享一下自己的设计心得。 首先,我们来看一下ADAS和APA的定义,以便我们更好地了解其功能和应用场景。 ADAS定义 ADAS的全称叫Advanced …

Nosql数据库服务之redis

Nosql数据库服务之redis 一图详解DB的分支产品 Nosql数据库介绍 是一种非关系型数据库服务,它能解决常规数据库的并发能力,比如传统的数据库的IO与性能的瓶颈,同样它是关系型数据库的一个补充,有着比较好的高效率与高性能。 专…

视频讲解|3014 含分布式电源的配电网优化重构

目录 1 主要内容 2 讲解视频链接 3 部分程序 1 主要内容 该视频为程序目录中编号1034的讲解内容,该程序的链接为配电网优化重构matlab智能算法,本次重点讲解了基本环矩阵原理以及代码两步实现过程、如何利用基本环向量去创造可行解、粒子群优化过程、…

list【2】模拟实现(含迭代器实现超详解哦)

模拟实现list 引言(实现概述)list迭代器实现默认成员函数operator* 与 operator->operator 与 operator--operator 与 operator!迭代器实现概览 list主要接口实现默认成员函数构造函数析构函数赋值重载 迭代器容量元素访问数据修改inserterasepush_ba…

Kafka3.0.0版本——消费者(消费者组详细消费流程图解及消费者重要参数)

目录 一、消费者组详细消费流程图解二、消费者的重要参数 一、消费者组详细消费流程图解 创建一个消费者网络连接客户端,主要用于与kafka集群进行交互,如下图所示: 调用sendFetches发送消费请求,如下图所示: (1)、Fet…

【halcon】halcon字符识别——OCR

前言 OCR(Optical Character Recongnition)光学字符识别。 halcon 的OCR,提供了几种方式,我们应该如何选择? 自动文本阅读器(find_text)手动文本阅读器(find_text)自己…

Android USB电源管理

The USB peripheral detects the lack of 3 consecutive SOF packets as a suspend request from the USB host. 1 驱动shutdown顺序 系统关机或重启的过程中,会调用设备驱动的shutdown函数来完成设备的关闭操作,有需要的设备可以在驱动中定义该函数。其…

Python一行命令搭建HTTP服务器并外网访问 - 内网穿透

文章目录 1.前言2.本地http服务器搭建2.1.Python的安装和设置2.2.Python服务器设置和测试 3.cpolar的安装和注册3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 Python作为热度比较高的编程语言,其语法简单且语句清晰,而且python有…

射频功率放大器的指标有哪些内容

射频功率放大器是射频系统中至关重要的组件,用于放大射频信号的功率。本文将详细介绍射频功率放大器的指标,包括功率增益、带宽、线性度、效率、稳定性等关键指标。 一、功率增益 功率增益是射频功率放大器最基本的指标之一,表示放大器将输入…

taro h5 点击页面任意地方关闭弹窗组件 --- findDOMNode 判断点击节点是否属于某个组件

场景:如图,弹窗在大组件中,点击小组件显示弹窗,要求点击除弹窗外的任何元素都能关闭弹窗并且能执行元素原有的逻辑 方法一 最简单的是弹窗背后有一个覆盖整个页面的透明的cover, 点击直接关闭,但是这样虽然点击页面…

Spring最佳实践: 构建高效可维护的Java应用程序

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

【docker】私有仓库搭建

Docker 私有仓库搭建 在 Docker 中,当我们执行 docker pull xxx 的时候 ,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目push到公有仓库进行管理。…

试图替代 Python 的下一代AI编程语言:Mojo

文章目录 为什么叫 Mojo ?Python 家族的一员,MojoPython 的好处:Python 兼容性Python 的问题移动和服务器部署:Python 子集和其他类似 Python 的语言: Mojo 是一种创新的编程语言,结合了 Python 的可用性和…

浅谈redis未授权漏洞

redis未授权漏洞 利用条件 版本比较高的redis需要修改redis的配置文件,将bind前面#注释符去掉,将protected-mode 后面改为no 写入webshell config get dir #查看redis数据库路径 config set dir web路径# #修改靶机Redis数据库路径 config set dbfilen…