AI 生成二维码,太好看了
输入“/”快速插入
AI
生成二维码,太好看了
飞书用户7871
2023年6月7日创建
什么效果?有什么用处?来看下面的例子。
这是一张平平无奇,看上去略有些错乱的 Stable Diffusion 生成的风格化图像:
但给它加上三个定位点后,这张图就变成一个可以扫描识别的二维码了:
长按识别二维码,跳转至
qrbtf.com
很神奇吧!下面是这个项目的缘起、训练过程和更多生图结果……
缘起
大二的时候,我和同学做了一个参数化二维码生成器,出于各种(摆烂)原因,至今没有继续更新。记得一次和创新工场的咏刚老师交流时,突然聊到,能不能在任何肉眼观察完全正常的图像中编码隐藏的信息。在那个
GAN
的年代,
机器学习
的生态远没有如今活跃,不说有 Gradio
Web UI
、Diffusers 这样好用的框架,但配环境就足够劝退我了,这个想法就此搁置。
直到 Stable Diffusion 横空出世、ControlNet 席卷各大行业,经历了很长一段时间的摸索,我才重新开了这个坑,能不能用扩散模型生成一个看上去很像一张图片的二维码?
最初的 ControlNet 尝试
训练的中国传统纹样
LoRA
AIGC All in One 文档,持续更新中
HuggingFace JAX/Diffusers Sprint
训练
ControlNet 训练的数据结构十分简单,仅为一张输入图(conditioning image)、一张输出图(image)和一段标注(caption)。官方给出了非常多
预训练模型
,包括 1.0 版本中的 Depth、HED、OpenPose 和 1.1 中非常有创意的
Shuffle
、Tile 和 Instruct Pix2Pix 等。
ControlNet 的训练对数据量和
算力
均有较高要求,论文中记录的
训练数据
量从 8 万到 300 万不等,训练时间可达 600 个 A100
GPU
小时。好在作者提供了基础的训练脚本,HuggingFace 也做了 Diffusers 实现。