前言
9 L1 |/ l& Q g/ n& Q9 l" I) }& `+ }$ }5 m( N4 g3 g
( G0 ^1 [- m. S3 \
+ L% H$ H5 W' K; O$ w & z% N' o' C2 ? j/ {, y
9 C0 z5 G, ~3 G% Z
这样生成的二维码码点其实还是很明显的,并且站长也提出了图像偏绿的问题。 6 |1 i6 \& Y7 R4 y% U- N. ^
其实现在已经出现了更好的ControlNet模型去生成更好的二维码。 ! x, a6 Q& _3 Y% t3 n
准备
( Q6 I6 R) w$ U' p* q: Z1.Stable Diffusion WebUI
2 }0 L: B8 q: [" O! |* F2.ControlNet插件 - y5 B5 v4 w* a3 T
3.control_v1p_sd15_brightness.safetensors ) W: m# o" f# E# s
上述工具及模型及安装方式在站长的教程中都有分享,另外还需control_v1p_sd_qcode__monster.safetensors
7 Y9 m: o3 [1 X6 l
' [% |3 {! V' I F+ D$ q5 q+ m还有一个插件ADtailer 我没上传 大家自行安装吧(使用ADtailer是为了修复人物脸部,你也可以选择修复手部之类的,或者干脆不用) ( e; ?+ h! O7 R* M/ [
全都准备好就可以开始制作了 ; @0 s9 n, C# z6 J. d! X
+ i& x0 F: I) Q+ \- E
制作
- m" |1 x- _6 z$ b! g我们需要先准备更好的二维码底图
2 H7 j* N: t5 Z0 Z- C; Q( Phttps://qrcode.antfu.me/& S! V3 V3 t" J# U
0 J$ ~5 B+ G5 _. s) y6 S, u" _4 p这是一位开源社区大神的网站,可以生成更好的二维码,不想用网站的也可以安装同名插件。
. N) l( f9 M" y/ g/ Z9 p# y' k
4 S' V! T' e5 p$ Z/ q
: q' r1 |! v5 _' |+ H) |. ~1 F输入网址后,第一栏Error Correction是二维码纠错等级,等级从前往后依次递增,等级越高,码点约明显,识别成功率越高。 + U6 G- j' [. B7 }9 t
第二栏Mask Pattern代表二维码样式,建议选择分布更加均匀的样式。第三栏Style是二维码的风格,大家可以自己调试。
5 f* T3 L f) K; }2 \需要注意的是,二维码包含的文字越长,二维码越复杂,我们需要增加Margin的大小,并勾选Margin Noise来延申二维码边缘。
- G$ L$ |+ j; Y+ S! k( T
: Z( R5 ^7 L; `以上是我常用的设置。
7 _' G3 G" M2 g* O8 b5 M. e美化二维码
4 Q8 u/ D" W( h& _在Stable Diffusion中加载你常用的主模型
- j% z7 x: O8 `" B勾选ADtailer,并选择face_yolov8n.pt在Mask Preprocessing中把Mask (-) / dilation (+)这一项改成-4 0 y' k! f8 z# Q2 ~, H* ~# r. H/ o* _* c$ E
加载两个ControlNet单元,都上传准备好的二维码图片。
0 v9 A! a/ o+ U, P4 [9 J+ h第一个单元选择qcode__monster模型,勾选完美像素模式,控制权重1.35,启动步数0,结束步数1 8 I; L- z# l* o" O( M- d1 ^9 ~
第二个单元选择brightness模型,勾选完美像素模式,控制权重0.2-0.3,启动步数0.5,结束步数0.8 - \8 ]" ^& V: K) x6 e
$ S( f( B% h& m% l 8 J: \3 \7 U( g2 D( }
- S m U. B! @ V7 N- o! v a
8 M- S" D# L: U' I, i 3 u: P. }: q7 n5 ^7 P
最后设置完就像上述图片一样。 * m/ S. F* w/ ?+ `( P8 S7 g
然后随便写点你想要的prompt就可以生成啦。 2 @* j" E2 z1 H" `& b0 f0 z& S* J8 \
4 B% K$ w* k$ ~& ~ & k$ A7 I5 O$ U& ~( `1 a/ y
: |! f5 V+ L1 N4 @, Y0 W4 }
可以看到,二维码码点的融合度明显提升,并仍可以继续识别(我用的微信扫描) & F0 F6 ]: Q" E
如果无法识别的话就多生成几次试试,若都无法识别就在准备二维码底图的一步少设置点参数,使其像正常二维码的样子靠拢,或增加brightness模型的权重,比如0.2改为0.3 * M' V4 }6 i( {6 b0 N
结尾 7 ]! B5 D* z& z8 I
6 ^% y- G5 ^2 K$ i7 _+ s以上参数是我摸索出的容错率较高的方案,如果大家有更好的方案欢迎分享(毕竟我这方案码点还是能看出来) 4 \3 d* Z2 h0 `' X
( t9 _; a3 p% d2 d
|