艺术二维码制作
本文最后更新于 345 天前,如有失效请评论区留言。

本文基于 Stable Diffusion Webui 制作,艺术二维码的制作流程并不复杂,但想要一个满意的效果需要不断尝试和调整控制参数,运气加上熟练使用,出图的概率会提高很多

环境准备

1、安装 QR Toolkit https://github.com/antfu/sd-webui-qrcode-toolkit
2、下载 ControNet 模型

二维码制作

在草料二维码平台 https://cli.im 进行二维码的生成,例如直接输入文字就可以生成一个二维码,扫码出来就是对应的文字了

Pasted image 20240101175851

本文的内容主要是介绍如何给二维码进行艺术化操作,首先打开二维码解码器 https://cli.im/deqr

Pasted image 20240101180122

直接将二维码拖进去就可以了,然后复制右边的解码url,再粘贴到下面 SD 的 QR Toolkit 插件里

Pasted image 20240112010634

QR Toolkit

二维码生成

关于 QR 工具的详细使用可以参考文档 https://antfu.me/posts/ai-qrcode-101

这里做简要的说明

error Correction: 纠错码是控制容错率的,L到H越往后容错率越高,但二维码就越复杂,也意味着融合的效果可能越差,一般选择 M 或者 Q

  1. L(Low):7%的字码可被修正
  2. M(Medium):15%的字码可被修正
  3. Q(Quartile):25%的字码可被修正
  4. H(High):30%的字码可被修正

Pasted image 20240111204125

Markers 这几个参数是控制码点的形状和类型,需要控制二维码的图案分布尽可能均匀一点,少一些直角块。可以大概参考图中的设置,具体可以按需调整

Pasted image 20240111205246

Magin 设置二维码间距,点击右边的箭头可以展开,进行间距宽高的设置
Margin Noise 控制图案边缘部分的噪点,可以丰富画面的细节
例如,设置图案为长方形时,可以通过添加噪点的方式,可以对边缘的空白进行填充

Pasted image 20240111213857

version 二维码版本,是控制二维码的容量大小,保持 1 和 40
Safe space 保持 Full 填充
Pixel Size 像素大小,像素越大能被识别的概率越大

Transform 是对二维码图案进行变换的设置,可以变换 X和Y轴的角度,Scale 设置尺寸,可以微调,一般为1.04

最后点击 Save state 可以保存当前的设置,也可以点击 Reset State 进行重置

二维码验证

将生成好的图片二维码拖到这里,即可验证能否被微信长按识别,识别成功则微信长按大概也能识别成功,如果识别失败,则微信中识别一定不会成功

Pasted image 20240111220914

模型设置

二维码的融合需要借助 ControlNet 来实现

ControlNet 0

Pasted image 20240111223655

Pasted image 20240111223907

模型这里选择 qrcode_monster,这个在第一节中已经下载过了

控制权重 - 控制网络的权重。权重越高,输出将更受控制网络的影响
启动控制步骤 - 控制网络开始生效的生成过程百分比
结束控制步骤 - 控制网络停止生效的生成过程百分比

Pasted image 20240111224152

Pasted image 20240111225134

上图分别设置了引导的不同开始时机,越早介入,二维码的识别效果越好,画面的如何效果越差
为了能显示较好的效果,控制权重需要设置为1 ~ 1.3 左右,引导时机为 0 ~ 1,这样既保持了二维码的识别,也能让图案融合的更好看些

正向提示词

a young beauty,a beautiful dress,flower sea,(a lot of flowers:1.1),multicolored hair,zleaves are falling,wearing floral clothes,green skirt,(masterpiece:1,2),best quality,

负面提示词,直接用的 embedding

EasyNegative,

Pasted image 20240112004438

上面这个图片有时候可以通过扫码的方式识别的,识别率比较低,使用QR toolkit 的 Verify 无法识别,则基本可以认为在微信中也无法长按识别

Pasted image 20240112004513

这种情况就需要借助第二个 ControNet

ControlNet 1

通常无法完美的识别二维码,是因为二维码定位点的问题,这个时候需要增加一个 ControNet 模型,控制二维码的明暗程度,让定位点更加容易被识别到

如果你的界面只有一个 ControlNet 可以用,可以在设置里设置 ControlNet unit 的数量

Pasted image 20240111232905

与 ControlNet 0 一样的设置用法,需要改变的是控制模型,这里选用 Brightness 模型,这个模型用来控制明暗程度的,权重一般设置的较小以为我们只需要部分地方二维码更明显一些,引导时机也是相对控制的更短,一般差值在0.3左右,介入时机需要具体的调整,可以默认从 0.3 ~ 0.6 开始,然后根据显示的结果做出调整

Pasted image 20240112004312

生成的效果如下,这样的图片就可以被微信长按识别了

Pasted image 20240112004813

注意:少部分情况下使用一个 ControNet 就足以完成二维码的识别,额外增加一个 ControNet 模型会导致融合的效果更差,从上面的结果你也会发现,只用 ControNet 0 的图片效果明显是要更加好看的,但是为了二维码的识别准度,增加 ControNet 1 就不得不做一些取舍

人物细节修复

如果生成的是人物图片,会发现面部或者手部会有缺陷,可以使用 ADetailer 工具进行修复,如果没有可在扩展中下载 adetailer:https://gitcode.net/ranting8323/adetailer.git

Pasted image 20240112005125

哪里有问题就选择哪种算法模型,上图中面部的细节不太完美,使用face_yolov8n.pt 后, 对比修复前和修复后的效果,面部有了明显的改善

Pasted image 20240112004239

案例中完整的图片信息如下

正面提示词

a young beauty,a beautiful dress,flower sea,(a lot of flowers:1.1),multicolored hair,zleaves are falling,wearing floral clothes,green skirt,(masterpiece:1,2),best quality,

负面提示词

EasyNegative,

其他信息

Steps: 30, Sampler: Euler a, CFG scale: 7, Seed: 2623946212, Size: 768x768
Model: revAnimated_v122, Clip skip: 2,

ControlNet 0: "Module: none, Model: control_v1p_sd15_qrcode_monster [a6e58995], Weight: 1.3, Resize Mode: Crop and Resize, Low Vram: False, Guidance Start: 0, Guidance End: 1,

ControlNet 1: "Module: none, Model: control_v1p_sd15_brightness [5f6aa6ed], Weight: 0.3, Resize Mode: Crop and Resize, Low Vram: False, Guidance Start: 0.3, Guidance End: 0.61, Pixel Perfect: True,
版权声明:除特殊说明,博客文章均为Gavin原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇