|
前言
- ^- ^( J" R/ m5 c! F# K% r* |
1 U8 z, b! s: ]5 D: T& s
, Y6 H7 p7 R K8 ?+ I0 ?( t( y- O
) ` A- R8 D/ o4 a, x. b 6 r: Q3 u4 W- }' ]3 b" y* [
8 J) }: V' i6 E8 ]8 P8 c O 这样生成的二维码码点其实还是很明显的,并且站长也提出了图像偏绿的问题。
) Y$ [1 G M: P' K2 Q: c9 {3 b 其实现在已经出现了更好的ControlNet模型去生成更好的二维码。 - l' Y- Z; _" s2 H6 v6 Z% h
准备
5 y1 a/ G" Y4 N% J1.Stable Diffusion WebUI
9 r/ j. A8 n; j5 }& Y$ `/ h2.ControlNet插件
0 h. e- W3 @) G3.control_v1p_sd15_brightness.safetensors
, T8 e# w# z- b' s3 ^/ i3 m- f* \上述工具及模型及安装方式在站长的教程中都有分享,另外还需control_v1p_sd_qcode__monster.safetensors 8 G+ i1 b4 J3 D& a# @/ h$ q; h
! H! I( v; `. G: o9 P- v
还有一个插件ADtailer 我没上传 大家自行安装吧(使用ADtailer是为了修复人物脸部,你也可以选择修复手部之类的,或者干脆不用)
7 `" C: @' m' `8 |全都准备好就可以开始制作了 4 _& D, y+ `1 _0 n9 z" m
) `7 P; x" {, l# x5 }, Y M; d6 [
制作
$ {/ J# v1 _0 Q" o# i我们需要先准备更好的二维码底图 / y" R& }% p9 h$ D
https://qrcode.antfu.me/; Q/ g- E w2 _+ f2 d
! s. R$ x8 L+ c( W1 q
这是一位开源社区大神的网站,可以生成更好的二维码,不想用网站的也可以安装同名插件。
9 w' {* ]; o, q5 _
3 Q1 k A! c* E0 c % D4 A% x4 z, N& M4 I" B
输入网址后,第一栏Error Correction是二维码纠错等级,等级从前往后依次递增,等级越高,码点约明显,识别成功率越高。
/ D" y8 k) |/ v/ z- o, q" [第二栏Mask Pattern代表二维码样式,建议选择分布更加均匀的样式。第三栏Style是二维码的风格,大家可以自己调试。
" e- A8 S) x1 P C需要注意的是,二维码包含的文字越长,二维码越复杂,我们需要增加Margin的大小,并勾选Margin Noise来延申二维码边缘。
) Q/ X; Z1 b7 D; Z) F
% F% y3 |* a6 x9 f: j4 l以上是我常用的设置。
* j$ q+ v; E! z# _! i" ]* s美化二维码
' V# @5 i w8 a# W9 B% z- [在Stable Diffusion中加载你常用的主模型 9 u, _% L0 h4 T4 \
勾选ADtailer,并选择face_yolov8n.pt在Mask Preprocessing中把Mask (-) / dilation (+)这一项改成-4 ; U4 q6 g/ M3 L3 I) a
加载两个ControlNet单元,都上传准备好的二维码图片。
4 }9 M: s# E% [7 h x- v6 G第一个单元选择qcode__monster模型,勾选完美像素模式,控制权重1.35,启动步数0,结束步数1
8 @+ o8 p, s( @$ Y第二个单元选择brightness模型,勾选完美像素模式,控制权重0.2-0.3,启动步数0.5,结束步数0.8 . v* ~) }3 I2 l9 H* U" h
3 ^3 _& k5 U8 M% u( g* h
+ X# u1 n$ j H6 S' ^
~- b d) F& c2 h
* C$ k- X7 X7 j$ _ 4 o" `1 k6 x$ ~$ l$ n
最后设置完就像上述图片一样。
: U3 H: S& p$ F; s% D然后随便写点你想要的prompt就可以生成啦。 3 N1 s. ~1 F# M% j# T$ Y
. u$ x4 x, w# G% i G0 g& Q
, g: C, @8 ~$ A
5 o h6 Z/ w" j ~) q2 ]可以看到,二维码码点的融合度明显提升,并仍可以继续识别(我用的微信扫描) / \+ @7 r6 W! f1 D
如果无法识别的话就多生成几次试试,若都无法识别就在准备二维码底图的一步少设置点参数,使其像正常二维码的样子靠拢,或增加brightness模型的权重,比如0.2改为0.3
5 b, v5 z8 @: R6 T g( p- f7 W/ ?结尾 : P7 ~$ `' ]' h
4 ~9 a3 Q2 j! L以上参数是我摸索出的容错率较高的方案,如果大家有更好的方案欢迎分享(毕竟我这方案码点还是能看出来)
r0 L' a+ M3 A- B6 S9 B* M; H7 V+ ?6 y" o) `
|