Anderson 视角
稳定扩散如何发展成为主流消费者产品

具有讽刺意味的是,稳定扩散,这款最近风靡全球的AI图像合成框架,并不像其名称所暗示的那样“稳定”或“扩散”——至少目前还不是这样。
该系统的全部功能被分散在几个开发人员不断交换最新信息和理论的各种不断变化的产品中,这些产品的安装程序往往需要命令行或BAT驱动的安装,通过GIT、Conda、Python、Miniconda等前沿开发框架进行安装,这些软件包在普通消费者中非常罕见,其安装往往被防病毒和反恶意软件供应商标记为受损主机系统的证据。
消息线程中充满了与黑客Python脚本和标准安装相关的提示和技巧,以实现改进的功能或解决频繁的依赖错误和其他问题。
这使得普通消费者想要创建令人惊叹的图像的文本提示几乎完全依赖于大量的商业化API网页接口,大多数这些接口在提供少量免费图像生成后需要购买令牌。
此外,大多数这些基于Web的产品拒绝输出与Stable Diffusion区别于OpenAI的DALL-E 2的NSFW内容(其中许多可能与非色情主题相关,例如“战争”).
稳定扩散的“Photoshop”
被推特上的#stablediffusion标签每天发布的精彩、诱人或超现实的图像所吸引,人们正在等待一个跨平台的可安装应用程序,它将Stability.ai架构的最佳和最强大的功能与新兴的SD开发社区的各种创新融合在一起,而无需浮动CLI窗口、模糊和不断变化的安装和更新例行程序或缺失的功能。
我们目前拥有的,大多数更强大的安装中,是一个各种优雅的网页被一个分离的命令行窗口所跨越,其URL是localhost端口:
毫无疑问,一个更流线型的应用程序正在到来。已经有几个Patreon上的整合应用程序可以下载,例如GRisk和NMKD(见下图)- 但没有一个能够整合Stable Diffusion更高级和不太容易访问的实现所提供的全部功能范围。
让我们来看看一个更完善和更整合的Stable Diffusion实现可能会是什么样子,以及它可能面临的挑战。
全资商业稳定扩散应用的法律考虑
NSFW因素
Stable Diffusion的源代码已在非常宽松的许可下发布,该许可不禁止商业重新实现和从源代码中派生的作品。
除了众多Patreon上的Stable Diffusion版本和为Figma、Krita、Photoshop、GIMP和Blender(等)开发的众多应用程序插件外,还没有实际的理由阻止一家资金充足的软件开发公司开发一个更先进和更强大的Stable Diffusion应用程序。
“埋葬”NSFW开关
尽管Stability.ai的开源许可证包括一份可以使用Stable Diffusion的应用程序清单(可能包括色情内容和深度伪造),但要有效地禁止此类使用,供应商必须将NSFW过滤器编译成不透明的可执行文件,而不是Python文件中的一个参数,或者在包含NSFW指令的Python文件或DLL上执行校验和比较,以便在用户修改此设置时无法渲染图像。
这将使该应用程序在某种程度上“阉割”,就像DALL-E 2一样,从而降低其商业吸引力。另外,很可能会出现经过篡改的这些组件的反编译版本(无论是原始的Python运行时元素还是现在在Topaz线的AI图像增强工具中使用的编译DLL文件),以绕过此类限制,只需替换阻塞元素并否定任何校验和要求。
深度伪造责任
如我们最近指出,Stable Diffusion的持续模型所训练的4.2亿张图像中,包括LAION美学数据库,包含大量名人图像,允许用户有效地创建深度伪造,包括名人色情深度伪造。
这是一個与生成(通常)合法的“抽象”色情内容(不描绘“真实”人物,但从训练材料中的多个真实照片推断而来)不同的、更有争议的问题。
由于越来越多的美国州和国家正在制定或已经制定了禁止色情深度伪造的法律,Stable Diffusion创建名人色情的能力可能意味着一个不完全审查的商业应用程序可能需要某种方式来过滤被认为是名人面孔的图像。
可能包含的功能
任何Stable Diffusion发行版的核心功能都应是任何资金充足的商业应用程序所期望的。这些包括使用文本提示生成图像的能力(文本到图像);使用草图或其他图像作为新生成图像的指南的能力(图像到图像);指示系统“想象力”的程度的能力;在渲染时间和质量之间进行权衡的能力;以及其他“基本”功能,例如可选的自动图像/提示存档和通过RealESRGAN进行的常规可选上采样,以及使用GFPGAN或CodeFormer进行的基本“面部修复”。
随机冻结
即使您重用前一次成功渲染的种子,如果提示或源图像(或两者)的任何部分发生变化,Stable Diffusion很难准确地重复转换。
这在您想使用EbSynth将Stable Diffusion的转换强加于真实视频时是一个问题,方法是以时间一致的方式进行:
EbSynth通过将少量“修改”的关键帧外推到渲染为一系列图像文件的视频(稍后可以重新组装回视频)来工作。
用户创建了这个视频评论,说,可能更有效的鸭子转换,只需要一个转换的关键帧,而行走的裤子需要渲染50个Stable Diffusion图像,并且需要五次尝试才能使每个关键帧保持一致性。
因此,对于一个真正全面的Stable Diffusion应用程序来说,提供一种保留特征的功能将是非常有益的,以最大限度地跨关键帧保持一致性。
基于云的文本逆转
实现时间一致的角色和对象的更好解决方案是将它们“烘焙”到一个文本逆转中- 一个可以在几个小时内基于仅五个注释图像进行训练的5KB文件,然后可以通过特殊的‘*’提示调用,允许在一个叙事中包含持续出现的新角色。
文本逆转是Stable Diffusion使用的非常大且完全训练好的模型的附加文件,基本上可以“滑入”调用/提示过程中,以便它们可以从模型的巨大知识数据库中受益,并参与模型派生的场景。
然而,虽然文本逆转的训练时间并不长,但它需要大量的VRAM;根据各种当前的教程,大约需要12、20甚至40GB。
由于大多数普通用户不太可能拥有这样的GPU能力,已经出现了可以处理此操作的云服务,包括Hugging Face版本。虽然有Google Colab实现,可以为Stable Diffusion创建文本逆转,但所需的VRAM和时间要求可能会使其对免费层Colab用户具有挑战性。
多功能提示加权
目前有许多实现允许用户为长文本提示中的一个部分赋予更大的强调,但这些实现之间的工具性差异很大,通常是笨拙或不直观的。
例如,AUTOMATIC1111的Stable Diffusion分支可以通过将单词括在单个或多个括号(用于去强调)或方括号(用于额外强调)中来降低或提高提示单词的值。
其他Stable Diffusion版本使用感叹号进行强调,而最通用的版本允许用户通过GUI为提示中的每个单词赋亢权重。
外画
在Stable Diffusion开源后不久,OpenAI试图通过宣布“外画”来重新获得一些DALL-E 2的风头,这允许用户使用语义逻辑和视觉连贯性将图像扩展到其边界之外。
自然地,这已经在各种形式中为Stable Diffusion实现,包括在Krita中,并且应该包含在一个全面、Photoshop风格的Stable Diffusion版本中。
有效的遮罩理解上下文
遮罩可能是Stable Diffusion中非常困难的事情,具体取决于分支或版本。频繁地,即使可以绘制一个连贯的遮罩,指定的区域最终会被填充上不考虑整个图片上下文的内容。
语义编辑也是可能的,通过识别构造图像的噪音,这允许用户在不干扰图像其余部分的情况下解决图像的特定结构元素:
语义过滤器用于生理错误
正如我们之前提到的,Stable Diffusion经常会添加或删除肢体,主要是由于数据问题和训练图像的注释中存在缺陷。
因此,对于一个全面的Stable Diffusion应用程序来说,包含一个使用语义分割来计算传入图像是否存在严重的解剖学缺陷(如上图所示)的解剖学识别系统将是有用的,并在呈现给用户之前丢弃它以获取新的渲染。
LAION基于自动面部增强
正如我在之前关于Stable Diffusion的三个挑战的文章中提到的,Stable Diffusion不应仅仅依赖于GFPGAN来尝试“改进”渲染的面部。
GFPGAN的“改进”是非常通用的,通常会破坏所描绘个人的身份,并且只针对面部进行处理,这与图片的其他部分一样,既没有得到更多的处理时间,也没有得到更多的关注。
因此,一个专业标准的Stable Diffusion程序应该能够识别面部(使用一个相对轻量级的库,如YOLO),并将可用的全部GPU能力应用于重新渲染面部,然后将改进的面部融入原始的全上下文渲染中,或者将其单独保存以进行手动重新组合。
应用内LAION搜索
从用户开始意识到搜索LAION数据库可以帮助更好地使用Stable Diffusion以来,已经创建了几个在线LAION浏览器,包括haveibeentrained.com。
虽然这些基于Web的数据库通常会显示一些与图像相关的标签,但模型训练期间发生的泛化过程意味着不太可能通过使用其标签作为提示来召唤任何特定图像。
结论
有很多其他功能我希望在一个全面的本地桌面Stable Diffusion实现中看到,例如本地CLIP基于图像分析,它反转了标准的Stable Diffusion过程,并允许用户从源图像中提取短语和单词,这些短语和单词是系统自然关联的。
此外,真正的基于图块的缩放将是一个受欢迎的补充,因为ESRGAN几乎和GFPGAN一样是一个笨拙的工具。幸运的是,txt2imghd的GOBIG实现正在迅速地在所有分发中实现这一点,并且它似乎是桌面迭代的一个明显选择。
一些其他流行的请求来自Discord社区,对我来说不那么有趣,例如集成的提示词典和适用的艺术家和风格列表,尽管应用程序中的笔记本或自定义短语词典似乎是一个合乎逻辑的补充。
同样,Stable Diffusion中的人类中心动画的当前限制,尽管由CogVideo和其他项目启动,但仍然非常初步,并且受制于对真实人类运动的时间先验的上游研究的摆布。
对于现在来说,Stable Diffusion视频严格来说是迷幻的,尽管它可能在深度伪造木偶方面有一个更光明的近期未来,通过EbSynth和其他相对初生的文本到视频计划(并且值得注意的是,在Runway的最新宣传视频中,没有合成或“修改”的人物).
另一个有价值的功能将是透明的Photoshop传递,早已在Cinema4D的纹理编辑器中等类似实现中确立,以便可以轻松地在应用程序之间传递图像,并使用每个应用程序来执行它擅长的转换。
最后,也许最重要的是,一个全面的桌面Stable Diffusion程序应该能够不仅仅在检查点(即驱动系统的底层模型的版本)之间轻松切换,还应该能够更新自定义的文本逆转,这些逆转曾经适用于以前的官方模型版本,但可能会被后来的模型版本破坏(正如官方Discord的开发人员所指出的)。
讽刺的是,处于创建此类强大和集成工具矩阵的最佳位置的组织,Adobe ,与内容真实性倡议结盟得如此紧密,以至于这可能看起来像是一个倒退的公关错误——除非它要像OpenAI对DALL-E 2所做的那样彻底地限制Stable Diffusion的生成能力,并将其定位为其在库存摄影方面的巨大持有的自然演变。
最初发布于2022年9月15日。












