【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.mzph.cn/news/74492.shtml

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

相关文章

JavaScript 数组中常用的方法

添加 push:数组末尾添加unshift:数组首位添加splice(1, 0, ‘新增内容’):再指定位置插入,第二参数为0,表示新增;大于0,表示修改 删除 pop:删除末尾shift:删除首位slice(…

安全学习DAY23_CookieSessionToken

文章目录 Cookie和Session的区别Token的作用 Cookie和Session的区别 Cookie和Session都是用来在Web应用程序中跟踪用户状态的机制 1、存储位置不同: Cookie是存储在客户端(浏览器)上的,而Session是存储在服务器端的。 2、安全…

王道数据结构编程题 二叉树

二叉树定义 以下为本文解题代码的二叉树定义。 struct TreeNode {int val;TreeNode* left, *right;TreeNode(int val 0, TreeNode* left nullptr, TreeNode* right nullptr): val(val), left(left), right(right) {} };非递归后序遍历 题目描述 编写后序遍历二叉树的非递…

网络编程day6——基于C/S架构封装的线程池

一、线程竞争基本概念 竞争与同步 同一个进程中的线程共享进程中的绝大多数资源,当它们随意竞争时可能会导致资源被破坏、脏数据、不完整问题 通过一些手段让线程在竞争资源时相互协调、避免出现以上问题,这就称为线程同步 原子操作: 操作过程…

第16节-PhotoShop基础课程-修复工具组-去水印

文章目录 前言1.污点修复画笔1.功能原理2.调整1.调整大小 Alt 右键 左右2.调整软硬 Alt 右键 上下 2.修复画笔工具 Alt 选取源1.常规2.选择图案 3.修补工具1.类型1.源2.目标 2.扩展 4.内容感知移动工具5.红眼工具 前言 去水印等 1.污点修复画笔 比如把下面的土豆&#xff08…

Scrum敏捷模式的优势点、实践经验及适用企业

Scrum敏捷模式是一种灵活、适应性强的开发方法,其核心理念是以短周期、高频率的方式进行项目开发,确保团队能够快速响应变化。 Scrum包含三个角色:产品负责人(Product Owner)、Scrum Master和开发团队(Tea…

【程序员装机】Windows常见问题解决指南

文章目录 前言从专业版升级到企业版禁用Y空间的录制IDM扩展失效Edge浏览器安装CRX扩展 总结 前言 本文将介绍如何将Windows操作系统中的专业版升级为企业版,以及一些与系统和应用程序相关的常见问题的解决方法。 从专业版升级到企业版 如果您希望将专业版的Window…

【交叉熵损失torch.nn.CrossEntropyLoss详解-附代码实现】

CrossEntropyLoss 什么是交叉熵softmax损失计算验证CrossEntropyLoss 输入输出介绍验证代码 什么是交叉熵 交叉熵有很多文章介绍,此处不赘述。只需要知道它是可以衡量真实值和预测值之间的差距的,因而用交叉熵来计算损失的时候,损失是越小越…

详解TCP/IP协议第一篇:网络基础知识

文章目录 写给自己的话 一:前言 1:手握金刚钻的TCP/IP 2:计算机中的协议 3:分组

深入了解HTTP代理的工作原理

HTTP代理是一种常见的网络代理方式,它可以帮助用户隐藏自己的IP地址,保护个人隐私和安全。了解HTTP代理的工作原理对于使用HTTP代理的用户来说非常重要。本文将深入介绍HTTP代理的工作原理。 代理服务器的作用 HTTP代理的工作原理基于代理服务器的作用。…

Android常用的工具“小插件”——Widget机制

Widget俗称“小插件”,是Android系统中一个很常用的工具。比如我们可以在Launcher中添加一个音乐播放器的Widget。 在Launcher上可以添加插件,那么是不是说只有Launcher才具备这个功能呢? Android系统并没有具体规定谁才能充当“Widget容器…

2023年“羊城杯”网络安全大赛 Web方向题解wp 全

团队名称:ZhangSan 序号:11 不得不说今年本科组打的是真激烈,初出茅庐的小后生没见过这场面QAQ~ D0n’t pl4y g4m3!!! 简单记录一下,实际做题踩坑很多,尝试很多。 先扫了个目录,扫出start.sh 内容如下…

Linux CentOS7 系统中添加用户

在linux centOS7系统中,添加用户是管理员的基本操作。作为学习linux系统的基本操作,对添加用户应该多方面了解。 添加用户的命令useradd,跟上用户名,就可以快速创建一个用户。添加一些选项,可以设置更人性化的用户信息…

【论文阅读】Pay Attention to MLPs

作者:Google Research, Brain Team 泛读:只关注其中cv的论述 提出了一个简单的网络架构,gMLP,基于门控的MLPs,并表明它可以像Transformers一样在关键语言和视觉应用中发挥作用 提出了一个基于MLP的没有self-attentio…

docker 笔记11: Docker容器监控之CAdvisor+InfluxDB+Granfana

1.原生命令 docker stats命令的结果 是什么 2.是什么 容器监控3剑客 CAdvisor监控收集InfluxDB存储数据Granfana展示图表 3.CAdvisor 4.InfluxDB 5.Granfana 6.总结 7.compose容器编排,一套带走 新建目录 7.1新建3件套组合的 docker-compose.yml version: 3.1vo…

网络原理

网络原理 传输层 UDP 特点 特点:无连接,不可靠,面向数据报,全双工 格式 怎么进行校验呢? 把UDP数据报中的源端口,目的端口,UDP报文长度的每个字节,都依次进行累加 把累加结果&a…

人脸识别技术,如何解决学校门禁安全?

在当今社会,学校安全已经成为一个备受关注的议题,而门禁监控系统已经成为学校管理和保障学生安全的重要工具之一。随着社会的不断发展和技术的不断进步,学校不再只是知识传授的场所,它们也成为了数百、数千甚至数万学生和教职员工…

Elasticsearch——Docker单机部署安装

文章目录 1 简介2 Docker安装与配置2.1 安装Docker2.2 配置Docker镜像加速器2.3 调整Docker资源限制 3 准备Elasticsearch Docker镜像3.1 下载Elasticsearch镜像3.2 自定义镜像配置3.3执行Docker Compose 4 运行Elasticsearch容器4.1 创建Elasticsearch容器4.2 修改配置文件4.3…

入门人工智能 —— 使用 Python 进行文件读写,并完成日志记录功能(4)

入门人工智能 —— 使用 Python 进行文件读写(4) 入门人工智能 —— 使用 Python 进行文件读写打开文件读取文件内容读取整个文件逐行读取文件内容读取所有行并存储为列表 写入文件内容关闭文件 日志记录功能核心代码:完整代码:运…

题目:2677.分块数组

​​题目来源: leetcode题目,网址:2677. 分块数组 - 力扣(LeetCode) 解题思路: 按要求分块即可。 解题代码: /*** param {Array} arr* param {number} size* return {Array[]}*/ var chunk …