|
前言 ; R) F; Z8 C, p. w1 @2 j
/ I$ N9 q3 x9 B# [1 R; }
, g) f/ ]! z* i/ ^* y
8 }3 Y% H$ i' Z& t! H; b2 U + N3 W% C6 K: y% W% n2 Z" `8 f
5 w0 O5 w# m) a 这样生成的二维码码点其实还是很明显的,并且站长也提出了图像偏绿的问题。
1 m# ~# N1 ^' \% `: h' o 其实现在已经出现了更好的ControlNet模型去生成更好的二维码。
+ |! R: v7 [6 s$ B. g* `准备
" A/ s! ?5 g' C# f7 B$ I1.Stable Diffusion WebUI . o/ M6 r- D! U1 ?9 ]$ Z! q
2.ControlNet插件
( q" F( \2 N+ X& h @3.control_v1p_sd15_brightness.safetensors
' P5 W" F" u( O3 G# T7 V上述工具及模型及安装方式在站长的教程中都有分享,另外还需control_v1p_sd_qcode__monster.safetensors
: A( }2 l* v! U) s4 b0 w% a
. z& w4 |! L9 q还有一个插件ADtailer 我没上传 大家自行安装吧(使用ADtailer是为了修复人物脸部,你也可以选择修复手部之类的,或者干脆不用) / Q2 c5 X0 g' U/ j" X8 r
全都准备好就可以开始制作了
. ?/ D, x$ S3 `3 j# |9 w1 {$ L; I7 G9 Q( q* ]/ w7 }2 K2 u; @
制作
& C8 `- o& G' e2 F- o我们需要先准备更好的二维码底图
4 y$ g& ]- N0 Z" ^/ F, mhttps://qrcode.antfu.me/2 p' t Y( h) L d4 f
" [5 c+ Q4 l$ N2 i5 N这是一位开源社区大神的网站,可以生成更好的二维码,不想用网站的也可以安装同名插件。 9 N* V2 e# l6 i6 f" D; Z
6 k8 |5 i& O) {" `# y& y5 r 0 u. x1 B* U8 C! Q$ O8 l! q
输入网址后,第一栏Error Correction是二维码纠错等级,等级从前往后依次递增,等级越高,码点约明显,识别成功率越高。
" Y# a! m0 ?: V9 ^/ v第二栏Mask Pattern代表二维码样式,建议选择分布更加均匀的样式。第三栏Style是二维码的风格,大家可以自己调试。 ' |; ?% n( R1 M
需要注意的是,二维码包含的文字越长,二维码越复杂,我们需要增加Margin的大小,并勾选Margin Noise来延申二维码边缘。 & R) I0 \, k- e+ {/ C0 @, Z
2 U& a. p, z3 o/ [, M% W以上是我常用的设置。
8 B. ]! x% z% o) d* o美化二维码 " A8 |) a) w( d3 O1 q- [
在Stable Diffusion中加载你常用的主模型
7 c' e6 P( w: w$ h* ?" P勾选ADtailer,并选择face_yolov8n.pt在Mask Preprocessing中把Mask (-) / dilation (+)这一项改成-4 ) \$ C' u/ `+ Q1 D% `
加载两个ControlNet单元,都上传准备好的二维码图片。
b: Z' h" p/ k5 a9 o! {第一个单元选择qcode__monster模型,勾选完美像素模式,控制权重1.35,启动步数0,结束步数1 + z8 Y) p% {& f' ~' o+ v8 m) B2 X
第二个单元选择brightness模型,勾选完美像素模式,控制权重0.2-0.3,启动步数0.5,结束步数0.8 % u R! ^. [% M8 R" i! l
$ ?9 W! ?9 X6 ^8 [+ h; n
, }. p- h: ~6 M) U2 M% V7 T
0 M9 A4 Y7 ]3 o1 N, ?* T% i' Q: h! E u3 M3 P$ ^4 L
* G0 f9 E, f' I- X Q9 {
最后设置完就像上述图片一样。 ' H- P, o) V; F1 v2 C y$ e
然后随便写点你想要的prompt就可以生成啦。
" m8 w" j0 \2 O- [. h" d4 X8 h7 q0 r4 |. u8 _ G& A6 ^
, ]% Q- P# S3 N) @" X! V; _8 l
% q6 m1 L, S3 `) f
可以看到,二维码码点的融合度明显提升,并仍可以继续识别(我用的微信扫描)
h0 |9 ?" J9 M& ?2 k) z如果无法识别的话就多生成几次试试,若都无法识别就在准备二维码底图的一步少设置点参数,使其像正常二维码的样子靠拢,或增加brightness模型的权重,比如0.2改为0.3
% \- G8 J7 Y; t9 S! b$ w: {结尾
; D( U! ]. v ~9 m/ D$ n) K. m: [, L& @, G* p! t
以上参数是我摸索出的容错率较高的方案,如果大家有更好的方案欢迎分享(毕竟我这方案码点还是能看出来) 0 t# z6 ?) h0 x2 l0 u6 e
5 W6 i9 w8 G9 W: g4 R |