手把手教你使用stable diffusion生成自己的艺术二维码

艺术二维码制作指南

  • 导读
    • midjourney
    • stable diffusion
  • 环境准备安装
    • stable diffusion webui
    • sd-webui-qrcode-toolkit
      • 安装
    • 草料二维码
    • 模型准备
      • QR Pattern
      • QR Code Monster
      • IoC Lab Control Net
  • 艺术二维码制作
    • 1. 二维码信息提取
    • 2. 使用`QR Tookit`生成二维码
    • 3. 下载二维码图片
    • 4. prompt设置
    • 5.Controlnet参数设置
    • 6. 调节参数,生成艺术二维码图片
    • 7. 最终出图
  • 总结
    • 1. 关于扫码
    • 2. 关于调参

导读

随着AIGC的发展,CV领域也涌出了一大批优秀的工具,如md(midjourney)和sd(stable diffusion)

midjourney

  • 上手简单(只需要学一些prompt的写法和命令的使用)
  • 需要一个discord账号
  • 效果稳定比较容易出图
  • 可定制性差

stable diffusion

  • 成本高,需要显卡(可以是云服务器)
  • 上手难度大,需要自己配置环境,熟悉各种参数的设置
  • 可玩性强,社区(C站)提供了大量的base model和lora模型等
  • 可定制,可以自己用某个领域(模特、场景、产品)的数据训练checkpoint、lora、dreambooth等模型

上面列举了一些mdsd的一些优缺点,今天我们的主角就是stalbe diffusion,下面我就来介绍一下如何使用sd来生成自己的艺术二维码

环境准备安装

stable diffusion webui

stable diffusion webui基于web的一个工具,用来进行AI生图,你可以去安装一些大神开源的安装包

  • 下载地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui

sd-webui-qrcode-toolkit

用来生成出能够用于AI生成艺术二维码的二维码,正是因为它的出现才让我们能够基于sd来生成艺术二维码,sd-webui-qrcode-toolkitsd-webui的一款插件
在这里插入图片描述

  • 下载地址:https://github.com/antfu/sd-webui-qrcode-toolkit

安装

  1. 进入到stable-diffusion-webui/extensions目录下
  2. git clone sd-webui-qrcode-toolkit到extensions中,如果网络不行可以直接下载再解压
  3. 重启sd-webui即可
  4. 安装成功打开sd-webui会出现QR ToolKit选项
    在这里插入图片描述

草料二维码

用来解析二维码的内容,然后我们再利用sd-webui-qrcode-toolkit来生成二维码

  • 网址:https://cli.im/deqr

模型准备

需要提前下载好以下几个模型,我们需要利用这三个模型结合Controllnet来控制生成艺术二维码

  • QR Pattern
  • QR Code Monster
  • IoC Lab Control Net

QR Pattern

下载好controlnetQRPatternQR_v2Sd15.safetensors模型,将其放入到stable-diffusion-webui/extensions/sd-webui-controlnet/models目录下

从这两天生成的艺术二维码来看,QR Pattern V2QR Code Monster的效果要好很多,无论是从出图率还是从生成图片的可观赏性来说,毕竟V2版是最近几天才更新的版本
在这里插入图片描述

QR Code Monster

下载好control_v1p_sd15_qrcode_monster.safetensorscontrol_v1p_sd15_qrcode_monster.yaml两个文件,将其放入到stable-diffusion-webui/extensions/sd-webui-controlnet/models目录下
在这里插入图片描述

IoC Lab Control Net

下载control_v1p_sd15_brightness.safetensors放到stable-diffusion-webui/extensions/sd-webui-controlnet/models目录下即可,这个主要是用来调节二维码检测点的亮度配合二维码的controllnet来提高二维码扫码的成功率

艺术二维码制作

1. 二维码信息提取

如果是想要制作个人二维码收款码等,就需要先保存二维码,然后通过草料二维码进行解析,最后复制解析的内容,粘贴到QR Toolkit中

2. 使用QR Tookit生成二维码

大家可以根据提供的参数来设置自己用于生成艺术二维码的二维码,这些参数主要用于调整二维码中像素点的变化以及margin和生成二维码的宽高等,这些调整对于最终生成的艺术二维码都会有一定的影响,并不会影响二维码的生成。
QT Toolkit相关参数解释

  • Error Correction:二维码错误的容忍程度,由低到高
  • Mask Pattern:二维码的模式,按照不同模式来生成二维码
  • Rotate:二维码选择的角度
  • Pixel Style:二维码像素点的风格
  • Marker:一共有三个,用来设置二维码三个角像素的风格
  • Margin:用来调节二维码距离上下边缘的距离
  • Margin Noise:给二维码上下边缘填充噪点
    在这里插入图片描述

3. 下载二维码图片

4. prompt设置

  • 底模:大家可以根据自己的喜好选择你想要生成艺术二维码的风格(风景、漫画等)来决定选择的底模
  • 其它参数设置:这个大家可以去C站去找自己喜欢的图片,然后copy参数到sd-webui中,然后点击右边的向左下角的箭头,就会自动填充参数
    在这里插入图片描述

5.Controlnet参数设置

  • QR Pattern参数设置
    上传二维码图片,模型选择QR Pattern_v2,Control Weight、Starting Control step已经Ending Control Step可以先保持默认,记得一定要选中Enable否则设置没有生效
    在这里插入图片描述

6. 调节参数,生成艺术二维码图片

这一步最关键也最难,我们需要根据最终生成的图片效果来调节参数,我们需要在生成二维码的效果和扫码通过率之间做权衡,通过调节一些参数来选择最终我们喜欢的艺术二维码,不同的二维码和prompt设置的参数不同,这里简单的教大家如何调节参数帮助快速出图

  • 如果生成出来的图片,无法扫码识别,可以尝试调节以下参数
    增大QR Pattern的权重
    增加brightness控制器
    在这里插入图片描述

  • 如果图片中二维码的像素点痕迹太严重了
    就调小QR Pattern的权重和brightness控制器的权重

  • 调参
    调参其实就是在图片效果扫码率之间做权衡

7. 最终出图

在这里插入图片描述

总结

1. 关于扫码

我们这个生成的二维码主要是针对微信扫码,所以微信能扫出来的其他软件不一定能,所以这也给我们提供了一个艺术二维码的使用方向。很多平台都会禁止在文章中使用二维码,如果用这种方式做出来的二维码就能完美避免这种问题。

扫码和长按识别二维码,通常来说长按识别二维码对于二维码的要求更高,也就是能扫码出来的不一定能够长按识别。android能够识别的二维码,IOS一定可以。

2. 关于调参

这篇文章,我只介绍了调节两个控制器的参数来出码,除此之外我们还能够通过调节很多其他的参数,例如:迭代步数、上采样、分辨率等。下一篇文章将会详细向大家介绍,如何通过调节这些参数来生成更漂亮的二维码
在这里插入图片描述

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

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

相关文章

大数据Flink(五十):流式计算简介

文章目录 流式计算简介 一、数据的时效性 二、流式计算和批量计算

【手机】三星手机刷机解决SecSetupWizard已停止

三星手机恢复出厂设置之后,出现SecSetupWizard已停止的解决方案 零、问题 我手上有一部同学给的三星 GT-S6812I,这几天搞了张新卡,多余出的卡就放到这个手机上玩去了。因为是获取了root权限的(直接使用KingRoot就可以&#xff0…

数据安全:DataSecurity Plus

随着数字化时代的来临,数据成为了企业和个人生活中不可或缺的一部分。然而,数据的增长和广泛应用也带来了许多安全挑战。数据泄露、黑客攻击和恶意软件成为了威胁数据安全的主要因素。在这个充满风险的环境中,DataSecurity Plus作为一种强大的…

一起学算法(选择排序篇)

距离上次更新已经很久了,以前都是非常认真的写笔记进行知识分享,但是带来的情况并不是很好,一度认为发博客是没有意义的,但是这几天想了很多,已经失去了当时写博客的初心了,但是我觉得应该做点有意义的事&a…

测试常见前端bug

目录 协作 测试方法 标签:标签 内容/ref/ 判断 arr&&arr.length 交互 样式不生效:devtools查找,编译前的标签,运行时不一定存在 可交互的需要提示 hover样式 没有交互逻辑,就不要设置交互 无法交互…

为 Google Play 即将推出基于区块链的内容政策做好准备

作者 / Joseph Mills, Group Product Manager, Google Play 作为一个平台,Google Play 一直致力于帮助开发者将创新理念变为现实。Google Play 上托管了许多和区块链相关的应用,我们深知合作伙伴们希望扩展这些应用,并利用 NFT 等代币化数字资…

使用WGCLOUD监测安卓(Android)设备的运行状态

WGCLOUD是一款开源运维监控软件,除了能监控各种服务器、主机、进程应用、端口、接口、docker容器、日志、数据等资源 WGCLOUD还可以监测安卓设备,比如安卓手机、安卓设备等 我们只要下载对应的安卓客户端,部署运行即可,如下是下…

Vue3 Radio单选切换展示不同内容

Vue3 Radio单选框切换展示不同内容 环境&#xff1a;vue3tsviteelement plus 技巧&#xff1a;v-if&#xff0c;v-show的使用 实现功能&#xff1a;点击单选框展示不同的输入框 效果实现前的代码&#xff1a; <template><div class"home"><el-row …

优化 SQL 体验:五款 AI 驱动工具助力 SQL 查询

SQL AI 工具能够极大提高跟数据和数据库打交道人员&#xff08;e.g. 数据分析师、数据科学家、数据库管理员、开发者&#xff09;的效率和生产力&#xff0c;比如可以根据自然语言输入自动生成 SQL 查询&#xff08;非技术用户也能轻松访问和分析数据了&#xff01;&#xff09…

【分布式能源的选址与定容】基于多目标粒子群算法分布式电源选址定容规划研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 1.1 功率损耗 ​编辑1.2 电压质量 1.3 DG总容量 &#x1f4da;2 运行结果 &#x1f308;3 Matlab代码实现 &#x1f389;4 参考文献 &#x1f4a5;1 概述 参考文献&#xff1a; 本文采用的是换一个算法解决&#xff0c; 基于基于多目标粒子群算法分布…

AB 压力测试

服务器配置 阿里云Ubuntu 64位 CPU1 核 内存2 GB 公网带宽1 Mbps ab -c100 -n1000 http://127.0.0.1:9501/ -n&#xff1a;在测试会话中所执行的请求个数。默认时&#xff0c;仅执行一个请求。 -c&#xff1a;一次产生的请求个数。默认是一次一个。 ab -c 100 -n 200 ht…

Doris注意事项,Doris部署在阿里云,写不进去数据

1.Doris官网 Doris官网https://doris.apache.org/ 2.根本原因 本地idea访问FE&#xff0c;FE会返回BE的地址&#xff0c;但是在服务器上通过ip addr查看&#xff0c;发现只有局域网IP&#xff0c;所以FE返回了局域网的IP&#xff0c;导致idea连接不上BE 3.解决办法 重写Ba…

二十三章:抗对抗性操纵的弱监督和半监督语义分割的属性解释

0.摘要 弱监督语义分割从分类器中生成像素级定位&#xff0c;但往往会限制其关注目标对象的一个小的区域。AdvCAM是一种图像的属性图&#xff0c;通过增加分类分数来进行操作。这种操作以反对抗的方式实现&#xff0c;沿着像素梯度的相反方向扰动图像。它迫使最初被认为不具有区…

10. Mybatis 项目的创建

目录 1. Mybatis 概念 2. 第一个 Mybits 查询 2.1 创建数据库和表 2.2 添加 Mybatis 框架支持 2.3 添加配置文件 2.4 配置 MyBatis 中的 XML 路径 2.5 添加业务代码 在学习 Mybatis 之前&#xff0c;我们需要知道 Mybatis 和 Spring 没有任何的关系。如果一定要强调二者…

建造者设计模式 + 高阶函数 => DSL

该设计模式适用于创建复杂对象&#xff0c;该复杂对象通常是由各个部分的子对象用一定的算法或者步骤构成&#xff0c;针对每个子对象内部算法和步骤通常是稳定的&#xff0c;但是该复杂对象的确实由于不同的需求而选择使用不同的子对象进行组装。对于构建该复杂的对象&#xf…

20.0 HTTP 通信

1. web开发 1.1 web开发介绍 Web指的是World Wide Web(万维网), 是一种基于互联网的信息系统. 万维网由一系列通过超文本链接相互连接的页面组成, 这些页面中包含了文本, 图像, 音频, 视频等多媒体内容. 用户可以通过浏览器访问万维网上的网页, 并通过超链接在不同页面之间导…

Golang速成

目录 Golang 语言特性Golang的优势Golang 的应用场景Golang 的不足 基础语法变量的声明常量与 iotastring字符串遍历strings 包bytes 包strconv 包unicode 包 循环语句range 函数多返回值init 函数闭包import 导包匿名函数 指针defer切片 slice数组sliceslice 操作… mapmap 的…

数据结构基础知识、名词概述

1.1 基本概念和术语1.1.1 数据、 数据元素、 数据项和数据对象1.1.2 数据结构1.1.3 数据类型和抽象数据类型 1.2 抽象数据类型的表示与实现1.3 算法与算法分析&#xff08;1&#xff09;1.4 算法与算法分析&#xff08;2&#xff09;1.5 算法与算法分析&#xff08;3&#xff0…

pytest 自定义HOOK函数

除了系统提过的HOOK函数外&#xff0c;也可以通过自定义HOOK的方式实现想要的功能。 首先创建一个py文件&#xff0c;里面定义自己的HOOK函数&#xff0c;主要pytest里面的hook函数必须以pytest开头。 #myhook.pydef pytest_myhook(user):"""自定义HOOK函数&q…

LeetCode[面试题04.08]首个共同祖先

难度&#xff1a;Medium 题目&#xff1a; 设计并实现一个算法&#xff0c;找出二叉树中某两个节点的第一个共同祖先。不得将其他的节点存储在另外的数据结构中。注意&#xff1a;这不一定是二叉搜索树。 例如&#xff0c;给定如下二叉树: root [3,5,1,6,2,0,8,null,null,7,…