本方案基于秋叶大佬的stable diffusion一键启动包。需要安装包及安装教程,文末扫码我给大家安排~
安装插件
Sd-webui-qrcode-toolkit
- 扩展→加载扩展列表→搜索里输入qrcode→安装Sd-webui-qrcode-toolkit;
controlnet模型
需要用到两个controlnet没有自带的模型,分别是control_v1p_sd15_qrcode_monster和control_v1p_sd15_brightness,可以在huggingface上下载到,无需科学上网,打不开的话,多尝试几次就行。
- control_v1p_sd15_qrcode_monster,下载地址是 https://huggingface.co/monster-labs/control_v1p_sd15_qrcode_monster/tree/main。
- control_v1p_sd15_brightness,下载地址是 https://huggingface.co/ViscoseBean/control_v1p_sd15_brightness/tree/main。
- 下载完的文件放到这个路径下:
生成二维码
-
拿到二维码图片,(以AI破局俱乐部的星球二维码为例),
-
在草料二维码网站上(网址:https://cli.im/deqr)解析,拿到解码结果。
- 打开QR Toolkit页签,将解码结果输入,可以通过调整Style的子参数来调整二维码的形状,这点在后续会用到。
controlnet模型的作用
在B站上看了几个视频教程,只讲了这两模型的参数大概在什么范围,好奇宝宝想知道下这两模型的参数到底怎么生效的,于是花了点时间测试下。
control_v1p_sd15_qrcode_monster
- 先测试control_v1p_sd15_qrcode_monster的作用,启用之后,只修改控制权重
-
启用一个Controlnet的情况下,修改控制权重,从0.1一直到1.2;在值为1.1的时候生成了带可扫描二维码的图片;图片中从完全看不到二维码的样子,逐渐变成了二维码的基础上多了一点点Prompt描绘的画面。
-
以1.2权重的前提下,测试引导终止时机,
-
当开始时机为0时,终止时机在0.6的情况出现了可扫描的二维码;
-
当终止时机为1时,开始时机在0.2的情况下出现了可扫描的二维码;
-
结论
-
控制权重作用是影响controlnet里面图片在最后结果中的占比,越高影响越大,越小,结果则越受Prompt的控制;qrcode_monster对结果的影响方式更像是与Prompt的融合,通过控制权重来调整受谁的影响更大。
-
引入时机和终止时机就是controlnet生效时间,大概是从开头就开始生效,在0.7左右就基本生效完成。
control_v1p_sd15_brightness
- 再测试control_v1p_sd15_brightness的作用,只启用brightness一个controlnet模型,相同的Prompt下,控制权重从0.1、0.2、0.3、0.4出现以下的图片,可以看到0.3的时候已经出现了明显的二维码,0.4的时候的二维码已经可以扫描到。
- 将控制权重设定在0.4,测试引导终止时机的值,也差不多是在0.7的时候出现的结果可以被扫描识别。
-
结论
-
brightness对图片结果的影响更像是叠加,将二维码的叠加到Prompt生成的图片上;同时控制权重生效更大,值为0.4时就叠加上了很明显的二维码;
-
引入时机的作用都差不多,0.7附近基本就生效完成了。
controlnet的使用方式
单指上面两个模型在二维码生成这里的使用方式。
-
主要使用control_v1p_sd15_qrcode_monster来融合生成结果,默认控制权重为1,引导终止时机为0.7;
-
通过随机生成,筛选出合适的种子图后再优化,需求是图合理且能识别出二维码信息,优化有以下手段:
-
按最小刻度提高qrcode_monster的控制权重,提高引导终止时机的值;
-
启用controlnet的control_v1p_sd15_brightness模型,一点点增加brightness的控制权重和引导终止时机,控制权重从0.05开始,引导终止时机从0.1左右开始;
-
根据结果调整Prompt的内容;
结果的思考
需求
用AI绘画来美化二维码,我们的期望肯定是二维码越不明显越好,毕竟目的就是要美化那些单调的黑白块;但实际上那些黑白块又记录着信息,不够明显的话,就影响到了二维码原本的功能。
猜想
二维码的信息是通过简单明暗关系来记录的,去搜索了下二维码的原理,没咋看懂!!
不过应该是通过将01处理成黑白来记录信息的。这时候脑海里面想的是,如果qrcode-monster是基于二维码的明暗关系来融合Prompt生成最后的结果的话,我提供给SD的Prompt是不是就应该要去契合二维码那种乱但是自然的画面,第一个想到的是沙漠,明是沙漠和沙丘的阳面,暗是沙丘的阴面、灌木、仙人掌等。
验证
基于猜想开始验证一下吧:
沙漠主题
- 先处理下二维码,(不确定这一步是否必要,凭直觉行事了),沙丘和灌木丛边缘对比较柔和,就不使用方块这种硬的形状了。相对比较柔和的情况下保存图片;
- 添加Controlnet,预处理器默认,模型选择control_v1p_sd15_qrcode_monster,控制权重默认为1;
- 输入Prompt和反向提示词,正向提示词我只用了简单的(golden desert, many shrubes, much dunes,sun shine,),反向提示词从别人的人像提示词里面删了一大半留下几个跟品质相关的;调整下参数,点击生成
- 可以扫描的结果图(大图在移动下镜头,镜头相对模糊的情况下容易扫出来的,上面的小图更容易扫出来),可逆推参数
星空主题
-
星空主题原本构想的明是星星和星云,暗是宇宙相对暗淡的区域,加入的关键词是夜晚、星空、银河、星云等,在随机的过程中选择了下面这张作为种子图来优化;
-
星空主题还是使用跟沙漠主题相同的二维码图片;
-
添加Controlnet,预处理器默认,模型选择control_v1p_sd15_qrcode_monster,控制权重默认为1,引导终止时机为0.72;
- 附生成的原图(Prompt:masterpiece, The best quality, ultra-high definition,extreme detail,8k,3d,
night,starry sky Night, galaxy,nebula,)(Negative prompt: pale skin,(worst quality, low quality, normal quality:1.4),(inaccurate limb:1.2),white background,simple background,bad anatomy, bad hands, house, building, (man made),)天空的乌云让画面整体略显得有点脏;
写字楼主题
-
写字楼的主题构想的明是996和007的公司所在的楼层,暗则是955的公司所在的楼层;随机过程中选中下面这张,
-
写字楼主题还是使用了沙漠主题的二维码图片;
-
添加Controlnet,预处理器默认,模型选择control_v1p_sd15_qrcode_monster,控制权重默认为1,引导终止时机为0.7;
- 附原图(Prompt:masterpiece, The best quality, ultra-high definition,extreme detail, one tall building,light from window,night, from side, a constant stream of people, little of dark clouds,) (Negative prompt: pale skin,(worst quality, low quality, normal quality:1.4),(inaccurate limb:1.2),white background,simple background,bad anatomy, bad hands, house, building, (man made),)人造建筑占比多,二维码的印记相对明显。
水族馆主题
-
水族馆主题的明是假山的亮面、珊瑚、清澈的海水;暗则是假山的暗面,深色的鱼等;
-
添加Controlnet,预处理器默认,模型选择control_v1p_sd15_qrcode_monster,控制权重默认为1,引导终止时机为0.7;这时候出来的图还不能识别;
-
添加新的controlnet,预处理器默认,模型选择control_v1p_sd15_brightness,控制权重先调整为0.1,引导终止时机为0.2;出来的结果已经可以被识别了,最后图也很美且比较自然;
- 附原图(Prompt:masterpiece, The best quality, ultra-high definition,extreme detail,8k,3d, aquaria,many fishes,coral,rockery,)(Negative prompt: pale skin,(worst quality, low quality, normal quality:1.4),(inaccurate limb:1.2),white background,simple background,bad anatomy, bad hands, house, building, (man made),)
写在最后
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
![](https://img-blog.csdnimg.cn/img_convert/953959acb1c575326eabd158410b9fee.jpeg)