速递!【AI绘画】Stable-Diffusion入门级实践调研

2023-03-07 02:00:22 来源:哔哩哔哩

前言

从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绘画入门教程——魔法导论

【AI绘画】启动器正式发布!一键启动/修复/更新/模型下载管理全支持!

【AI绘画】辅助插件帮你随机生成人物(以及三视图):Wildcards搭配LoRA以及ControlNet使用技巧

【AI绘画】AI图像生成技术时间轴(截至2023年2月28日)

标签: 边缘检测 法线贴图 人物动作

推荐阅读>