前言
从2022年8月Stable diffusion开源以来,其论文和投入实践的技术井喷式爆发,AI图片生成的能力也在肉眼可见的变强,大量高质量的落地实践已经出现。
目前社区最常用的解决方案 stable-diffusion-webui ,在社区努力下已支持众多扩展型的模型和插件,近期最热门的应用场景是ControlNet和Lora实现的高可控图像生成。这里先进行一个总的介绍。
一、综述
首先,我们可以明确一下目前的AI画图在理论上可以做什么:
1.使用已有的大模型出发,从二次元到真人再到场景,只要是能画出来的都能画。
2.足够的素材进行训练以后,就可以学习到一个人物的特征或者画师的画风。
3.那么,目前的AI画图无法做到什么:
oneshot,即输入单个样本训练后,即产出符合对应特征的图片。
二、模型 / 结构 介绍
关于Stable Diffusion是如何工作的,这部分内容较为理论,感兴趣的话可以移步What are Diffusion Models?。
作为普通使用者的我们,只需要知道,在Stable Diffusion中,不同的模型会带来不同的画风、认识不同的概念(人物/物体/动作),这是模型众多的原因。常说的 NovelAI 就是特指 NovelAI 制作的一款 日系二次元特化 的模型。
Problem0 模型是什么
常见的模型可以分为两大类:
大模型,标准的 latent-diffusion 模型。拥有完整的 TextEncoder、U-Net、VAE。我们最为熟知的NovelAI、stable-diffusion-2都属于大模型。
用于微调大模型的小型模型。Textual inversion (Embedding模型)、Hypernetwork模型、LoRA模型。
Problem1 ControlNet是什么
ControlNet 直译就是控制网,通过额外的输入来控制预训练的大模型。解决了文生图大模型的关键问题:单纯的关键词的控制方式无法满足对细节控制的需要。ControlNet 把每一种不同类别的输入分别训练了模型,目前公开的有以下模型:边缘检测、深度信息估算、线条检测、法线贴图、动作检测、涂鸦、语义分割。
ControlNet大大加强了stable-diffusion生成图片的可控性和稳定性,使其生成图能更好的满足美术的要求,进而在产业中落地。
一些模型的概要:
Canny边缘检测:通过从原始图片中边缘检测, 提取线稿, 来生成同样构图的画面
MiDaS/LeReS深度信息估算:通过提取原始图片中的深度信息,可以生成具有同样深度结构的图。
HED边缘检测(保留细节):类似canny,但是边缘处理更细致. 相对于使用普通的 img2img ,细节上更加还原。
M-LSD线条检测(M-LSD line detection):线段识别,对直线识别较好,适用于建筑场景。
法线贴图(Normal map):用于3d模型中法线贴图生成,可以得到normal图一致的模型
OpenPose姿态检测:人物动作pose检测, 用于人物动作生成. 对人物设计和动画十分有利
PiDiNet边家检测(像素差分网络,可尝试配合HED模型)
涂鸦/伪涂鸦(scribble):AI自由度更大
语义分割(Semantic segmentation):对图像进行语义分割识别, ai能更好的理解每个部分是什么,适用于精准控制空间构图
Problem2 LoRA能做什么
风格融合/替换
三.热门应用场景 + 用例
1.高可控图像生成
2. 图生图 / 视频to视频
3.三渲二
4.人物设计(辅助生成三视图)
四.可行性分析
(一些商业数据&思路在此就不表了)
1.几个落地场景可能存在的问题
资源调度方面,多用户使用的场景,存在资源挤占的问题。在产品形态上需要考虑限制模型的使用、生成图片请求的并发量。
版权问题,目前有版权意识较强的真人、画师、coser已经对AI学习自己的作品产生了严重的抵触。在一些敏感领域,尤其是真人图像生成上,要注意侵犯肖像权的问题。
技术上仍然存在众多未实现的功能。如上下文相关的movie2moive,甚至是text2moive,这部分需要解决现有的movie2moive存在的问题,即逐帧画面之间上下文无关。两种解决思路:大批量生成单帧图片然后进行挑选,或者改进现有的模型。
来自有关部门的监管政策。
2.成本可行性
根据第三方的性能基准测试(见下图),RTX4090在512*512画幅下,每秒内sampling迭代次数最高为28.9。
社区常见的sampling step为20,可以理解为RTX4090的小画幅图片的出图时间是小于1s的。
3.成本估算
a.硬件&对应功耗:(略估一下,编错了轻喷)
假设单卡4090满载运行,则
电费:RTX 4090的功耗在游戏时大约为450-500瓦,在FurMark测试时大约为470-496瓦。
如果假设满载运行一年的时间为8760小时,那么RTX 4090一年的电量消耗为:500瓦 x 8760小时 = 4380千瓦时
RTX 4090一年的电费消耗为:4380千瓦时 x 1.232元 = 5394.6元
显卡损耗:(以ROG RTX4090 TUF 4090作为标准,首发价15000)
假设显卡一直满载运行,则估算显卡寿命为2年按照使用一年折算,RTX4090最小残值为 首发价*(1-5%故障率)*(首发价*剩余寿命/设计寿命)= 7125
b.开源授权:
stable-diffusion-webui使用AGPL-3.0 开源协议,在不进行二次分发的情况下无需授权或开源。
五、个人实践
个人实验机配置:
CPU:13th Gen Intel(R) Core(TM) i7-13700KF
GPU:NVIDIA GeForce RTX 3070
Memory:32G DDR5
软件配置:Stable Diffusion Webui
xformers: 0.0.14.dev
生成参数:AOM3大模型 + ControlNet + Lora,输出画幅512*512,耗时均值为4s。
六、魔导书指路
【AI绘画】启动器正式发布!一键启动/修复/更新/模型下载管理全支持!
【AI绘画】辅助插件帮你随机生成人物(以及三视图):Wildcards搭配LoRA以及ControlNet使用技巧
【AI绘画】AI图像生成技术时间轴(截至2023年2月28日)