|
前言 8 v/ p3 g& k8 y2 j J# l
( b, a+ ~$ b+ k2 a: ?1 g. ?/ R _8 v+ p. i7 i% F
) P% V4 l; E- {" z, P5 R+ T
7 E. V+ q+ ~9 a7 V- J/ h" d
, Q3 h$ |8 k4 @9 V. t4 K: }* Y
这样生成的二维码码点其实还是很明显的,并且站长也提出了图像偏绿的问题。
$ t! H4 T/ O$ o$ Y/ k* g4 }/ i 其实现在已经出现了更好的ControlNet模型去生成更好的二维码。
& y+ W4 S* y" e w( n8 }准备 8 }& ? H2 B4 t2 @& J% t
1.Stable Diffusion WebUI
. h& I- T u) ~( S2.ControlNet插件
0 M0 Y; }- M7 l* u5 ~1 C3.control_v1p_sd15_brightness.safetensors * p, S2 A- p% A! q
上述工具及模型及安装方式在站长的教程中都有分享,另外还需control_v1p_sd_qcode__monster.safetensors
# M9 j1 s* [+ d& v! o
( l$ L0 Z7 D3 `; [( V5 s; p还有一个插件ADtailer 我没上传 大家自行安装吧(使用ADtailer是为了修复人物脸部,你也可以选择修复手部之类的,或者干脆不用) . ?, ?" x: c8 X9 u- x8 U3 ?
全都准备好就可以开始制作了 9 ~) F& p$ z0 W& A8 W) k
/ g8 _$ G5 P6 p- c' h+ N+ L9 |
制作 g4 @0 j% a6 x: o ^$ \
我们需要先准备更好的二维码底图
# K3 W1 O4 |! S9 [ hhttps://qrcode.antfu.me/
: _3 R' A+ e' }. F) M7 C+ D
% b! g. r1 D# X; e" n这是一位开源社区大神的网站,可以生成更好的二维码,不想用网站的也可以安装同名插件。
: Z9 j1 t$ }2 s3 Z2 a' X, s
8 U3 x6 T" ~ V! ] ?, S + A5 ?. P* ?9 ~3 s" ~6 |" F9 I
输入网址后,第一栏Error Correction是二维码纠错等级,等级从前往后依次递增,等级越高,码点约明显,识别成功率越高。
3 `, h* y. T& P/ }" c# l2 k第二栏Mask Pattern代表二维码样式,建议选择分布更加均匀的样式。第三栏Style是二维码的风格,大家可以自己调试。
) v$ h2 w$ |0 Z/ k8 C1 ^需要注意的是,二维码包含的文字越长,二维码越复杂,我们需要增加Margin的大小,并勾选Margin Noise来延申二维码边缘。 & ^/ ]7 J! u+ H% O6 {+ M
5 {! Y F1 {. o以上是我常用的设置。
1 ^, K! N$ ?9 o3 w美化二维码
4 I- |8 [6 r4 X$ H! s在Stable Diffusion中加载你常用的主模型 * ^7 I! U; \2 u" y5 [6 J/ x
勾选ADtailer,并选择face_yolov8n.pt在Mask Preprocessing中把Mask (-) / dilation (+)这一项改成-4
6 d9 }. c) _, f- h: _7 x1 D9 B* {' v加载两个ControlNet单元,都上传准备好的二维码图片。
/ U) {# }9 ~5 N2 @0 Z第一个单元选择qcode__monster模型,勾选完美像素模式,控制权重1.35,启动步数0,结束步数1 ! e9 P) B& E" c" t- v
第二个单元选择brightness模型,勾选完美像素模式,控制权重0.2-0.3,启动步数0.5,结束步数0.8
* b& Q2 t7 x ` ~; G5 _
" Q1 b. [4 U* c3 O6 C / _& C) T8 s4 H
9 r8 q$ K3 p Y4 R8 L* ]. r
. v2 O, @8 i: j4 ^+ q% z; z& p & c2 d; K/ A4 [+ N% r
最后设置完就像上述图片一样。 : S6 ?8 P" @1 ^
然后随便写点你想要的prompt就可以生成啦。 3 n2 ~# q+ R+ h6 z& T# v
+ m) j9 Z; g* I, k- u! T4 I/ I) g9 p
, ^8 k7 F, P) G4 W& c
# g0 {1 k r/ T7 k可以看到,二维码码点的融合度明显提升,并仍可以继续识别(我用的微信扫描)
8 y$ n D, \5 z) s如果无法识别的话就多生成几次试试,若都无法识别就在准备二维码底图的一步少设置点参数,使其像正常二维码的样子靠拢,或增加brightness模型的权重,比如0.2改为0.3 - A7 i: {+ M8 Y6 s: s) v1 u: L, K
结尾
& b4 }/ T7 K* c/ D$ h, ~7 B/ a' A6 O
以上参数是我摸索出的容错率较高的方案,如果大家有更好的方案欢迎分享(毕竟我这方案码点还是能看出来) " h4 b; R8 G7 A3 m# _/ F7 Q
0 z$ l7 `+ q3 U. F5 d7 w! M |