首次不依赖生成模型,一句话让AI修图!
2022 年是人工智能生成内容(AI Generated Content,AIGC)爆发的一年,其中一个热门方向就是通过文字描述(text prompt)来对图片进行编辑。已有方法通常需要依赖在大规模数据集上训练的生成模型,不仅数据采集和训练成本高昂,且会导致模型尺寸较大。这些因素给技术落地于实际开发和应用带来了较高的门槛,限制了 AIGC 的发展和创造力发挥。
针对以上痛点,网易互娱 AI Lab 与上海交通大学合作进行了研究,创新性地提出一套基于可微矢量渲染器的解决方案——CLIPVG,首次实现了在不依赖于任何生成模型的情况下,进行文字引导的图像编辑。该方案巧妙地利用矢量元素的特性对优化过程进行约束,因此不仅能够避免海量数据需求和高昂的训练开销,在生成效果上也达到了最优的水准。其对应的论文《CLIPVG: Text-Guided Image Manipulation Using Differentiable Vector Graphics》已被 AAAI 2023 收录。
- 论文地址:https://arxiv.org/abs/2212.02122
- 开源代码:https://github.com/NetEase-GameAI/clipvg
部分效果如下(按次序分别为人脸编辑、车型修改、建筑生成、改色、花纹修改、字体修改)。
在生成效果方面,CLIPVG 相比业界已知的其他方案,将语义准确度提高了 15.9%,生成质量提高了 23.6%,即能够自动编辑并输出更贴合语义和无错误的图像。在框架灵活性方面,由于 CLIPVG 可自动将像素图像转变为矢量图形,它相比其他基于像素图像的研究框架可更加灵活地对图片颜色、形状、子区域等进行独立编辑。在应用场景方面,由于 CLIPVG 完全不依赖生成模型,因此可适用于更广泛的场景,如人像风格化、卡通图编辑、字体设计和自动上色等等,它甚至能够实现多文本条件下对一张图的不同部分实现同时编辑。
思路和技术背景
从整体流程的角度,CLIPVG 首先提出了一种多轮矢量化方法,可鲁棒地将像素图转换到矢量域,并适应后续的图像编辑需求。然后定义了一种 ROI CLIP loss 作为损失函数,以支持对每个感兴趣区域 (ROI) 使用不同文字进行引导。整个优化过程通过可微矢量渲染器对矢量参数 (如色块颜色,控制点等) 进行梯度计算。
CLIPVG 融合了两个领域的技术,一是像素域的文字引导图像编辑,二是矢量图像的生成。接下来会依次介绍相关的技术背景。
文字引导图像翻译
要让 AI 在图像编辑时”听懂”文字引导,典型方法是利用对比图文预训练(Contrastive Language-Image Pre-Training,CLIP)模型。CLIP 模型可以将文字和图像编码到可比较的隐空间中,并给出”图像是否符合文字描述”的跨模态相似度信息,从而建立起文字和图像之间的语义联系。然后,事实上仅仅使用 CLIP 模型很难直接对于图像编辑进行有效引导,这是因为 CLIP 主要关注于图像的高层语义信息,而对于像素级别的细节缺乏约束,导致优化过程很容易陷入到局部最优(local minimum)或者对抗性的解决方案(adversarial solutions)。
现有的常见方法是将 CLIP 和一个基于 GAN 或 Diffusion 的像素域生成模型相结合,例如 StyleCLIP (Patashnik et al, 2021),StyleGAN-NADA (Gal et al, 2022),Disco Diffusion (alembics 2022),DiffusionCLIP (Kim, Kwon, and Ye 2022),DALL·E 2 (Ramesh et al, 2022) 等等。这些方案利用生成模型来对图像细节进行约束,从而弥补了单独使用 CLIP 的缺陷。但同时,这些生成模型严重依赖于训练数据和计算资源,并且会让图像编辑的有效范围受到训练集图片的限制。受限于生成模型的能力,StyleCLIP,StyleGAN-NADA,DiffusionCLIP 等方法都只能将单个模型限制在某个特定的领域,比如人脸图片。Disco Diffusion、DALL·E 2 等方法虽然能编辑任意图片,但需要海量的数据和计算资源来训练其对应的生成模型。
目前也有极少数不依赖于生成模型的方案,例如 CLIPstyler (Kwon and Ye 2022)。CLIPstyler 在优化时会将待编辑图像分为随机小块(random patch),并在每个 patch 上利用 CLIP 引导加强对于图像细节的约束。问题是此时每个 patch 都会单独反映输入文字所定义的语义,导致该方案只能进行风格迁移(style transfer),而无法对图像进行整体的高层语义编辑。
不同于以上的像素域方法,网易互娱 AI Lab 提出的 CLIPVG 方案通过矢量图形的特性来对图像细节进行约束,以取代生成模型。CLIPVG 可以支持任意输入图片,并能够进行泛用型的图像编辑。其输出为标准的 svg 格式矢量图形,不受分辨率的限制。
矢量图像生成
一些现有工作考虑了文字引导的矢量图形生成,例如 CLIPdraw (Frans, Soros, and Witkowski 2021),StyleCLIPdraw (Schaldenbrand, Liu, and Oh 2022)等。典型的做法是将 CLIP 和一个可微矢量渲染器相结合,并从随机初始化的矢量图形开始逐渐逼近文字所表示的语义。其中用到的可微矢量渲染器为 Diffvg (Li et al. 2020),能够将矢量图形通过可微渲染栅格化为像素图。CLIPVG 同样使用了 Diffvg 来建立矢量图到像素图之间的联系,不同于已有方法的是 CLIPVG 关注如何对已有图像进行编辑,而非直接生成。
由于已有图像中的绝大多数都是像素图,需要先进行矢量化才能够利用矢量图形特性进行编辑。现有的矢量化方法包括 Adobe Image Trace (AIT), LIVE (Ma et al. 2022)等,但是这些方法都没有考虑后续的编辑需求。CLIPVG 在已有方法的基础上引入了多轮矢量化的增强手段,以针对性提高图像编辑时的鲁棒性。
技术实现
CLIPVG 的总体流程如下图所示。首先会对输入的像素图进行不同精度的多轮矢量化 (Multi-round Vectorization),其中第 i 轮得到的矢量元素集合记为Θi。各轮得到的结果会被叠加到一起整体作为优化对象,并通过可微矢量渲染 (Differentiable Rasterization) 转换回到像素域。输出图片的起始状态是输入图片的矢量化重建,然后按照文字描述的方向进行迭代优化。优化过程会根据每个 ROI 的区域范围和关联文字,计算 ROI CLIP loss (下图中的),并根据梯度优化各个矢量元素,包括颜色参数和形状参数。
整个迭代优化的过程可见下例,其中的引导文字为”Jocker, Heath Ledger”(小丑,希斯 · 莱杰)。
矢量化
矢量图形可以定义为矢量元素的集合,其中每个矢量元素由一系列参数控制。矢量元素的参数取决于其类型,以填充曲线 (filled curve) 为例,其参数为,其中是控制点参数,是 RGB 颜色和不透明度的参数。对矢量元素做优化时存在一些自然的约束,比如一个元素内部的颜色始终是一致的,其控制点之间的拓扑关系也是固定的。这些特性很好地弥补了 CLIP 对于细节约束的缺失,能够极大增强优化过程的鲁棒性。
理论上来说,CLIPVG 可以借助任何一种已有方法来进行矢量化。但是研究发现这样做会导致后续的图像编辑出现几个问题。首先,通常的矢量化方法能够保证图像在初始状态时相邻的矢量元素之间是严丝合缝的,但是各个元素会随着优化的过程发生移动,导致元素之间出现“裂缝”。其次, 有时候输入图像比较简单,只需要少量矢量元素即可拟合,而文字描述的效果需要更加复杂的细节来表现,导致图像编辑时缺失必要的原材料(矢量元素)。
针对以上问题, CLIPVG 提出了多轮矢量化的策略,每一轮会调用已有方法得到一个矢量化的结果,并进行依次叠加。每一轮会相对前一轮提高精度,即用更小块的矢量元素进行矢量化。下图体现了矢量化时不同精度的差异。
第 i 轮矢量化得到的矢量元素集合可以表示为, 而所有轮产生的结果叠加后得到的矢量元素集合记作
,也就是 CLIPVG 总的优化对象。
损失函数
类似于 StyleGAN-NADA 和 CLIPstyler,CLIPVG 使用了一个方向性的 CLIP 损失来度量生成图像和描述文字之间的对应关系,其定义如下,
其中表示输入的文字描述。
是一个固定的参考文字,在 CLIPVG 中设为 "photo",
是生成的图像(要优化的对象)。
是原始图像。
和
分别是 CLIP 的文字和图像编解码器。ΔT 和ΔI 分别表示文字和图像的隐空间方向。优化该损失函数的目的是使得图像编辑后的语义变化方向符合文字的描述。后面的公式中会忽略固定不变的 t_ref。在 CLIPVG 中,生成的图像是矢量图形经过可微渲染的结果。此外,CLIPVG 支持对每一个 ROI 分配不同的文字描述。此时方向性的 CLIP loss 会转化为如下的 ROI CLIP loss,
其中 Ai是第 i 个 ROI 区域,是其关联的文字描述。R 是可微矢量渲染器,R(Θ)是渲染出来的整张图像。
是输入的整张图像。
代表一个裁剪操作,表示从图像 I 中将区域
裁剪出来。CLIPVG 同时也支持了类似 CLIPstyler 中基于 patch 的增强方案,即从每个 ROI 中可以进一步随机裁剪出多个 patch, 并根据该 ROI 对应的文字描述对每个 patch 分别计算 CLIP loss。
总的 loss 是所有区域的 ROI CLIP loss 之和,即
这里的一个区域可以是一个 ROI, 或是从 ROI 中裁剪出来的一个 patch。是各个区域对应的 loss 权重。
CLIPVG 会根据以上损失函数对于矢量参数集合Θ进行优化。优化时也可以只针对Θ的一个子集,比如形状参数、颜色参数,或者特定区域对应的部分矢量元素。
实验结果
在实验部分,CLIPVG 首先通过消融实验验证了多轮矢量化策略和矢量域优化的有效性,然后和已有的 baseline 进行了对比,最后展示了特有的应用场景。
消融实验
研究首先对比了多轮矢量化 (Multi-round) 策略和只进行一轮矢量化 (One-shot) 的效果。下图中第一行是矢量化后的初始结果,第二行是编辑后的结果。其中 Nc表示矢量化的精度。可以看到多轮矢量化不仅提高了初始状态的重建精度,并且能够有效消除编辑后矢量元素之间的裂缝,并增强细节表现。
为了进一步研究矢量域优化的特性,论文对比了 CLIPVG (矢量域方法) 和 CLIPstyler (像素域方法) 采用不同 patch size 进行增强时的效果。下图中第一行为 CLIPVG 采用不同 patch size 的效果,第二行为 CLIPstyler 的效果。其文字描述为 "Doctor Strange"。整张图的分辨率为 512x512。可以看到当 patch size 较小 (128x128 或 224x224) 时,CLIPVG 和 CLIPstyler 都会在局部小块区域出现 "Doctor Strange"(奇异博士)代表性的红蓝配色,但是整张脸的语义并没有明显变化。这是因为此时的 CLIP 引导没有施加到图片整体。当 CLIPVG 将 patch size 增加到 410x410 时可以看到明显的人物身份变化,包括发型以及脸部特征都按照文字描述进行了有效编辑。如果去除 patch 增强,则语义编辑效果和细节清晰度都会有所下降,说明 patch 增强依然有正面效果。不同于 CLIPVG,CLIPstyler 在 patch 较大或去除 patch 时依然无法实现人物身份的变化,而只是改变了整体颜色和一些局部纹理。原因是 patch size 放大后像素域的方法失去了底层约束,而陷入到局部最优。这一组对比说明 CLIPVG 能够有效利用矢量域对于细节的约束,结合较大的 CLIP 作用范围 (patch size) 实现高层语义编辑,这是像素域方法难以做到的。
对比实验
在对比实验中,研究首先将 CLIPVG 和两种能对任意图片进行编辑的像素域方法进行了对比,包括 Disco Diffusion 和 CLIPstyler,下图中可以看到对于 "Self-Portrait of Vincent van Gogh" 的例子,CLIPVG 能够同时对于人物身份和绘画风格进行编辑,而像素域方法只能达到其中的一项。对于 "Gypsophila",CLIPVG 相对 baseline 方法能更精确地编辑花瓣的数量和形状。在 "Jocker, Heath Ledger" 和 "A Ford Mustang" 的例子中,CLIPVG 也能鲁棒地改变整体语义,相对来说 Disco Diffusion 容易出现局部瑕疵,而 CLIPstyler 一般只是调整了纹理和颜色。
(自上而下:梵高画、满天星、希斯莱杰小丑、福特野马)
研究者接着对比了针对特定领域图片 (以人脸为例) 的像素域方法,包括 StyleCLIP、DiffusionCLIP 和 StyleGAN-NADA。由于对使用范围进行了限制,这些 baseline 方法的生成质量通常更为稳定。CLIPVG 在这组对比中依然展现了不逊于已有方法的效果,尤其是和目标文字的符合程度往往更高。
(自上而下:奇异博士、异鬼、僵尸)
更多应用
利用矢量图形的特性以及 ROI 级别的损失函数,CLIPVG 能够支持一系列已有方法难以实现的创新玩法。比如本文一开始展示的多人图的编辑效果,就是通过对于不同人物定义不同的 ROI 级别文字描述实现的。下图的左边为输入,中间为 ROI 级别文字描述的编辑结果,右边为整张图只有一个整体文字描述的结果。其中 A1 到 A7 区域对应的描述分别为 1. "Justice League Six"(正义联盟),2. "Aquaman"(海王),3. "Superman"(超人),4. "Wonder Woman"(神奇女侠),5. "Cyborg"(钢骨),6. "Flash,DC Superhero"(闪电侠,DC) 和 7. "Batman"(蝙蝠侠)。可以看到 ROI 级别的描述可以对各个人物进行分别编辑,而整体描述则无法生成有效的个体身份特征。由于各个 ROI 互相之间是有重叠的,已有方法即使对每个人物单独编辑,也很难达到 CLIPVG 的整体协调性。
CLIPVG 还可以通过优化一部分的矢量参数,实现多种特殊的编辑效果。下图中第一行展示了只编辑部分区域的效果。第二行展示了锁定颜色参数,只优化形状参数的字体生成效果。第三行和第二行相反,通过只优化颜色参数来达到重新上色的目的。
(自上而下:子区域编辑、字体风格化、图像改色)
以上是首次不依赖生成模型,一句话让AI修图!的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

想象一下,一个人工智能模型,不仅拥有超越传统计算的能力,还能以更低的成本实现更高效的性能。这不是科幻,DeepSeek-V2[1],全球最强开源MoE模型来了。DeepSeek-V2是一个强大的专家混合(MoE)语言模型,具有训练经济、推理高效的特点。它由236B个参数组成,其中21B个参数用于激活每个标记。与DeepSeek67B相比,DeepSeek-V2性能更强,同时节省了42.5%的训练成本,减少了93.3%的KV缓存,最大生成吞吐量提高到5.76倍。DeepSeek是一家探索通用人工智

AI,的确正在改变数学。最近,一直十分关注这个议题的陶哲轩,转发了最近一期的《美国数学学会通报》(BulletinoftheAmericanMathematicalSociety)。围绕「机器会改变数学吗?」这个话题,众多数学家发表了自己的观点,全程火花四射,内容硬核,精彩纷呈。作者阵容强大,包括菲尔兹奖得主AkshayVenkatesh、华裔数学家郑乐隽、纽大计算机科学家ErnestDavis等多位业界知名学者。AI的世界已经发生了天翻地覆的变化,要知道,其中很多文章是在一年前提交的,而在这一

波士顿动力Atlas,正式进入电动机器人时代!昨天,液压Atlas刚刚「含泪」退出历史舞台,今天波士顿动力就宣布:电动Atlas上岗。看来,在商用人形机器人领域,波士顿动力是下定决心要和特斯拉硬刚一把了。新视频放出后,短短十几小时内,就已经有一百多万观看。旧人离去,新角色登场,这是历史的必然。毫无疑问,今年是人形机器人的爆发年。网友锐评:机器人的进步,让今年看起来像人类的开幕式动作、自由度远超人类,但这真不是恐怖片?视频一开始,Atlas平静地躺在地上,看起来应该是仰面朝天。接下来,让人惊掉下巴

本月初,来自MIT等机构的研究者提出了一种非常有潜力的MLP替代方法——KAN。KAN在准确性和可解释性方面表现优于MLP。而且它能以非常少的参数量胜过以更大参数量运行的MLP。比如,作者表示,他们用KAN以更小的网络和更高的自动化程度重现了DeepMind的结果。具体来说,DeepMind的MLP有大约300,000个参数,而KAN只有约200个参数。KAN与MLP一样具有强大的数学基础,MLP基于通用逼近定理,而KAN基于Kolmogorov-Arnold表示定理。如下图所示,KAN在边上具

谷歌力推的JAX在最近的基准测试中性能已经超过Pytorch和TensorFlow,7项指标排名第一。而且测试并不是在JAX性能表现最好的TPU上完成的。虽然现在在开发者中,Pytorch依然比Tensorflow更受欢迎。但未来,也许有更多的大模型会基于JAX平台进行训练和运行。模型最近,Keras团队为三个后端(TensorFlow、JAX、PyTorch)与原生PyTorch实现以及搭配TensorFlow的Keras2进行了基准测试。首先,他们为生成式和非生成式人工智能任务选择了一组主流

今天我想分享一个最新的研究工作,这项研究来自康涅狄格大学,提出了一种将时间序列数据与自然语言处理(NLP)大模型在隐空间上对齐的方法,以提高时间序列预测的效果。这一方法的关键在于利用隐空间提示(prompt)来增强时间序列预测的准确性。论文标题:S2IP-LLM:SemanticSpaceInformedPromptLearningwithLLMforTimeSeriesForecasting下载地址:https://arxiv.org/pdf/2403.05798v1.pdf1、问题背景大模型

特斯拉机器人Optimus最新视频出炉,已经可以在厂子里打工了。正常速度下,它分拣电池(特斯拉的4680电池)是这样的:官方还放出了20倍速下的样子——在小小的“工位”上,拣啊拣啊拣:这次放出的视频亮点之一在于Optimus在厂子里完成这项工作,是完全自主的,全程没有人为的干预。并且在Optimus的视角之下,它还可以把放歪了的电池重新捡起来放置,主打一个自动纠错:对于Optimus的手,英伟达科学家JimFan给出了高度的评价:Optimus的手是全球五指机器人里最灵巧的之一。它的手不仅有触觉

目标检测在自动驾驶系统当中是一个比较成熟的问题,其中行人检测是最早得以部署算法之一。在多数论文当中已经进行了非常全面的研究。然而,利用鱼眼相机进行环视的距离感知相对来说研究较少。由于径向畸变大,标准的边界框表示在鱼眼相机当中很难实施。为了缓解上述描述,我们探索了扩展边界框、椭圆、通用多边形设计为极坐标/角度表示,并定义一个实例分割mIOU度量来分析这些表示。所提出的具有多边形形状的模型fisheyeDetNet优于其他模型,并同时在用于自动驾驶的Valeo鱼眼相机数据集上实现了49.5%的mAP
