提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:龚雪|2023-11-08 10:49:53.673|阅读 14 次
概述:本文将大家了解JetBrains 的 AI 图形发展历程,文中附带热门IDE下载哦~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
Jetbrains技术交流群(QQ):786598704 欢迎一起进群讨论
JetBrains 不断完善用作网站元素和发布图形的图稿创建方式,使命是将平面设计师从日常任务中解放出来,让他们能够专注于自己的核心能力 – 创造力,JetBrains 用于生成图稿的内部工具的历史大约开始于十年前。起初主要使用基于WebGL的工具,这些工具可以在浏览器中实时随机生成所有内容,下面的图像就是用这种方式创建的。
2020年,JetBrains发布了第一款基于深度神经网络的工具,自那时起所有内容都在K8s GPU 集群中使用适用于本地和远程开发的 PyCharm 和 Datalore 生成,浏览器仅用于输入输出。 通过这种基于神经网络的方式,实现了更高程度的个性化,这让我们能够迎合设计师的需求,并且一直在努力改进。
以下图片使用组合图案生成网络(CPPN,上图)和 Stable Diffusion(SD,下图)制作而成, 本文将介绍这两种方式的技术细节,以及如何结合这两种方式来创造更精彩的设计。
CPPN是最简单的生成网络之一,它们只是简单地将像素坐标 (x, y) 映射到图像颜色 (r, g, b)。 CPPN通常使用特定的图像或图像集进行训练,不过当初始化正确执行时,随机初始化的 CPPN 会生成漂亮的抽象图案。
利用早期内部版本生成器的使用数据,我们改进了算法以提高视觉质量。 除此之外,还通过引入多个虚拟参数略微扩展了 CPPN 的经典架构,因此现在CPPN 会将 (x, y, a, b, c, f) 映射到 (r, g, b),这个简单的更改允许我们引入一种易于使用(但有些不可预测)的方法来更改图像,如下所示。
这些虚拟参数不一定是常量,例如我们可以将每个像素的虚拟参数 f 的值映射到此像素到图像中心的距离,这一技巧能够确保图像呈现圆形。或者我们可以将 f 映射到像素坐标的绝对值之和,这将产生菱形图案,这就是数学与艺术的真正结合!
为了确保随机初始化的 CPPN 始终产生漂亮的设计,我们训练了一个推荐系统来预测给定的参数集是否会生成具有一定美感的图像。根据内部测试期间收到的用户反馈来训练算法,下图显示了随机初始化的 CPPN 创建的两个图像示例以及它们对应的“美感”分数。
当 CPPN 生成的图稿被转换成视频图形时,它们真正变得栩栩如生。 通过将虚拟参数 (a, b, c) 映射到任何闭合的参数曲线(在同一点开始和结束的曲线),可以创建任何所需长度的无缝循环动画!
曲线函数的选择至关重要,在平面圆上对虚拟参数添加动画是最简单的方式。 不过,它有一个缺点:当参数的符号发生变化(例如,从 0.01 变成 -0.01),而它具有较低的一阶导数值(在圆形轨迹的情况下为零)时,生成的动画通常会抖动。 为了解决这个问题,我们使用伯努利双纽线来确保虚拟参数的符号永远不会改变(见下图)。对于大多数动画帧,其中一个参数仅以增量方式更新,这使动画看起来过于简单,我们通过切换到随机样条函数解决了这个问题。 使用的轨迹越复杂,动画看起来就越丰富!
还有一个更重要的细节:色彩校正。 CPPN(以及由此产生的图像)是随机生成的,但需要确保每个图像都使用我们的品牌颜色。 第一次迭代(在 2020 版本中使用)依赖于浏览器中的 SVG 重新着色(使用 feColorMatrix 和 feComponentTransfer),这种方式速度很快,因为重新着色在浏览器中进行,可以更新调色板,而无需在服务器端重新呈现图像。 不过实现起来却很棘手,因为有些调色板对于 feColorMatrix 和 feComponentTransfer 来说太过复杂,而且通常不可靠。经过大量实验后,我们发现最终的颜色会因浏览器和操作系统而异,以下是在 2020 年初进行的实验的一个示例,左边是在 macOS 上通过使用 Safari 的设置由早期版本生成器生成的背景的屏幕截图,右边是在 Ubuntu Linux 上通过使用 Google Chrome 的设置由生成器生成的相同背景的屏幕截图。 请注意细微的亮度差异,应用的后期处理效果越多,亮度差异就越明显。
另一个示例是 MDN 的 feComponentTransfer 示例,这一次两个图像都在同一台机器上使用Ubuntu Linux 和 Google Chrome 制作,但在左侧的屏幕截图中,硬件加速被禁用。存在明显的色彩差异,尤其是在表查找示例之间。 因此尽管速度非常快,但这种色彩校正的方式非常不一致。
目前的方式(从 2021 年开始使用)更直接,以 32 位灰度来呈现源图像,这意味着CPPN 只返回单个明亮度值,而不是 RGB。 然后将每个像素映射到具有预计算理想 RGB 值的查找表,这种方式速度较慢,但会产生像素级精确的结果。
将CPPN 的另一个显著特性是,得益于其简单的架构,可以轻松地将其计算图转换为 GLSL 代码。 在动画视频就绪之后,我们可以将其导出为 WebGL 片段着色器,然后直接在浏览器中运行。
Stable Diffusion 提供了高水平的广泛应用和视觉保真度,这使其成为图稿生成器的完美支柱。为了使 Stable Diffusion 适合用作发布图形源,必须遵守以下标准:
虽然始终存在改进的空间,但目前已经满足了所有上述要求,最新的图像已公开,所有技术细节如下。
为了产生始终符合所有标准的结果,使用设计师提供的各种参考资料对 Stable Diffusion 进行了微调,下面是一些根据不同风格生成的图像示例。
在深入研究微调过程的技术细节之前,先来看看 Stable Diffusion 的内部原理。 它在本质上由三部分组成:CLIP 文本编码器(用于将文本编码成多模态嵌入向量空间的微型 Transformer 模型),将图像压缩到隐空间以及从隐空间解压缩的变分自动编码器,以及降噪 UNet。
生成过程大致如下:
Stable Diffusion 的好处在于,可以用很少的数据对其进行微调,并获得很好的结果! 作为“副作用”,数据高效的微调方法在计算上也是高效的,这使它变得更好。
最直接的微调方式是文本反转 (p-tuning),冻结所有权重,例如 UNet、VAE 和文本编码器(这意味着不会在训练期间更新它们),并且只为文本编码器的每个嵌入向量训练一个新词。 因为每个嵌入向量只训练一个新词,只有 768 个可训练参数!
这些自定义嵌入向量是可组合的,这意味着最多可以在单个提示中使用 77 个嵌入向量。 最重要的是它们很容易训练,在单张 RTX 4090 上需要大约 2 个小时。以下是训练过程的示例,用于生成以下两个图像的提示均为“digital art in the style of ”,其中“”是我们正在训练的新词嵌入向量。 随着执行的训练步骤的增多,图像会发生演变,新的视觉风格会变得越来越明显。
另一种热门且高效的微调方法是低秩自适应,简称 LoRA。 LoRA 的关键思想类似于文本反转,只是这次除了冻结权重之外,还通过在 UNet 内的注意力层中添加小的适配器层来引入新权重。
与文本反转相比,这种方式可以从微调数据中捕获更复杂的图案(例如,“AI 肖像”应用会使用用户的面孔训练适配器层),但它使用的资源略多,最重要的是,多个 LoRA 无法组合。 在具体用例中,我们发现 LoRA 在使用 Stable Diffusion XL 时最有效。 相比之下,在早期版本的 Stable Diffusion(1.4、1.5 或 2.1)中,文本反转可以实现更广泛的应用。
使用 Stable Diffusion 的标准之一是需要确保生成的图像遵循某个特定品牌的调色板,这正是 CPPN 的用武之地! 在使用 Stable Diffusion 生成图像之前,使用自己的梯度生成器(如上所述)利用 CPPN 生成图像,以像素级精度应用所需的颜色,然后使用 VAE 对其进行编码并使用高斯噪声进行混合。 UNet 使用生成的隐图像作为其起点,从而保留原始色彩和构图。
在 CPPN 图像就绪后,也可以直接在浏览器中对其进行编辑,以实现我们所能想象的任何形状和设计!
最后,使用“CPPN → Stable Diffusion”流水线生成多个图像后,就可以用这些图像来训练另一个 CPPN,并将它们转换为动画,如上面的 CPPN:动画部分所述!
希望这篇关于我们的 AI 图稿发展历程的深入介绍对您有所启发!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
文章转载自:慧都网IntelliJ在业界被公认为优秀的Java开发平台之一,在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面表现突出,并支持基于Android平台的程序开发。
CEETRON Envision是一款功能强大的CAE数据分析与可视化工具包,凭借其卓越的数据提取、分析、渲染能力,能够帮助工程师和开发人员提升分析效率、改善工作流程,并通过高效的数据共享报告和生成功能,进一步优化团队协作与决策过程。
Burp Suite是一款专业的Web应用安全测试工具,集成了Proxy、Scanner、Intruder等功能,帮助渗透测试人员识别和修复Web应用中的安全漏洞,是提升Web应用安全性和防护能力的必备利器。
2024年对于FastReport来说是充满挑战和收获的一年。FastReport在多个领域取得了重要突破和创新成果,不仅不断优化现有产品,
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
IntelliJ在业界被公认为优秀的Java开发平台之一,在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面表现突出,并支持基于Android平台的程序开发。
PyCharmPyCharm是一种提高Python语言开发效率的IDE
WebStorm深受广大程序员喜爱的JavaScript 开发和Web前端开发神器。
PhpStormPhpStorm是一款智能的PHP IDE
CLionCLion是一款专为开发C及C++所设计的跨平台IDE。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢