最近,靠着出其不意的扩图效果,“AI扩图”功能凭借搞笑的补全结果频频出圈,火爆全网。网友们踊跃尝试,180度的大反转也让网友们直呼离谱,话题热度高居不。
在带来欢笑和热度的背后,也代表人们在时刻关注着AI究竟能不能真正帮助他们解决实际问题,优化使用体验。但可以预见的是,随着AIGC技术的快速发展,正在加速推动AI应用场景落地,我们也将迎来一场全新的生产力变革。
近日,美图公司旗下WHEE等产品上线AI扩图及AI改图功能,只需简单的提示性输入,用户就可以任意修改图像、移除画面元素、扩充画面,凭借便捷的操作与惊艳的效果,大大降低工具使用门槛,为用户带来高效、优质的图像创作体验。
由美图视觉大模型MiracleVision提供支持的AI改图效果
本次全新上线的AI扩图和AI改图功能基于美图自研的AI局部重绘技术,由美图影像研究院(MT Lab)依托美图视觉大模型MiracleVision倾力打造。现在,就一起来揭晓这项黑科技背后的奥秘吧!
众所周知,图像局部重绘是图像编辑细分功能中使用频率最高的功能之一,根据需要重绘的位置(即mask区域)不同可以进一步细分为内部区域重绘(inpaint)和外部区域重绘(outpaint)。
传统的图像局部重绘方法往往要求用户使用专业图像编辑工具手动重绘目标区域,或者根据用户划定的目标区域,使用基于GAN(生成对抗网络)的方法进行自动化的像素内容填充。前者需要用户具备一定的美术功底和对专业工具的熟练使用,门槛较高,对普通用户来说难度大;而后者填充出来的区域通常缺乏真实性,在纹理细节等方面表现欠佳,当用户划定的mask区域越大,填充出来的效果也会越来约失真。
除此之外,基于GAN的方法只能根据周围的像素信息进行填充,并不能够根据文本引导凭空生成出新的内容,这极大地限制了它的使用场景。
基于GAN方法的重绘结果
而当前大热的扩散模型(Diffusion Model)虽然将图像生成效果推向了一个新高度,但在图像重绘领域中仍在存在一些问题,比如常见的Stable Diffusion 1.5、Stable Diffusion 2.0、SDXL等扩散模型由于输入图像分辨率的限制,在生成纹理上有时无法与原图完全贴合,存在边界感;以及在执行目标消除任务时,容易不受prompt(提示词)的限制,凭空生成一些其它的前景目标,无法输出纯背景像素。
Stable Diffusion 1.5的局部前景消除结果
为了实现自然过渡的画面融合,达到“以假乱真”的目标,美图影像研究院(MT Lab)基于自研AI视觉大模型——MiracleVision(奇想智能)强大的图像生成能力以及多模态理解能力,实现了简单、高效且逼真的AI局部重绘效果。
用户只需要手动涂抹或通过智能分割算法,选择想要编辑的区域,再输入具体修改目标,就能够在保持图像主体特征的前提下,进行任意编辑。如果不擅长关键词,可以使用智能联想和创意词库帮助生成精准的关键词。为了更精细控制画面生成,还可以通过关键词,来控制不希望呈现的内容。
支持包括画面元素消除、修改、移动、替换及画面扩充等重绘操作,结合高精度纹理生成技术,生成部分与原图高度融合,真正做到画面“不失真”,不仅极大提升用户的图像编辑效率,还能让废片“变废为宝”。
MiracleVision(奇想智能)消除结果
MiracleVision(奇想智能)替换效果前
MiracleVision(奇想智能)替换效果后
MiracleVision(奇想智能)AI改图效果
美图AI局部重绘模型基于扩散模型(Diffision Model)技术构建了完整的inpaint & outpaint模型框架,将内部区域重绘、前景目标消除以及外部区域扩展等任务统一到同一个方案中进行解决,并针对一些特定的效果问题做了专门的优化设计。
MiracleVision(奇想智能)模型属于文生图模型,虽然可以通过改造第一卷积层,并将unet整体微调的方式,使其适应inpaint任务,但这样需要修改unet原有的权重,在训练数据量不足时可能会导致模型性能的下降。
因此,为了充分利用MiracleVision(奇想智能)已有的生成能力,团队在局部重绘模型中不对MiracleVision(奇想智能)的unet模型进行直接微调,而是使用controlnet的方式增加一个mask的输入分支进行控制。
同时,为了节约训练成本,加快推理速度,使用压缩后的controlnet模块进行训练,尽可能地减少计算量。在训练的过程中,unet模型的参数会被固定,只有controlnet模块会进行更新,最终使整个模型获得inpaint的能力。
美图AI局部重绘模型架构图
outpaint任务则是crop任务的反向操作。crop任务是沿着图像边界对原图像进行剪裁,只保留需要的部分,是一种图像内容的减法操作;而outpiant任务则是沿着图像边界向外进行扩展,借助模型的生成能力来凭空创造出原本不存在的内容,是一种图像内容的加法操作。
本质上,outpaint任务也可以看作是一种特殊的inpaint任务,只不过mask区域位于图像的外围。
MiracleVision(奇想智能)AI扩图效果
由于outpaint任务中的mask区域只能从图像内部获取引导信息,其他的方向上都是图像边界,因此生成的内容更加具有随机性,会更加的发散。为了填补图像外围的空白区域,同时保证画面拓展的准确性,团队依托场景识别算法对图像风格及内容进行推断,并充分利用图像内容的相关性,通过在扩展边缘处镜像复制原图中的像素并叠加随机噪声,为模型提供适合的初始先验,从而保证生成内容的合理性,并使得边界过渡更加平滑。
一般的扩散模型在执行inpaint任务时更擅长替换而不是消除,当需要消除某一目标时,模型很容易在mask区域中绘制出一些原本不存在的新前景目标,特别是当mask区域的面积比较大的时候这一现象尤为明显,即使这些目标并没有出现在prompt中。究其原因,主要是以下3个方面:
为了使MiracleVision(奇想智能)同时具备目标生成以及目标消除的能力,团队采用了多任务的训练策略:
由于训练集中高清的纹理数据只占全部训练数据的一小部分,因此在执行inpaint任务时,通常不会生成纹理非常丰富的结果,导致在原图纹理比较丰富的场景中,容易出现融合不自然、存在边界感的情况。
为了解决这个问题,团队基于自研纹理细节模型作为引导模型,以此来辅助MiracleVision(奇想智能)提高生成质量,抑制过拟合,使得生成区域和原图的其他区域之间能够更好地贴合在一起。
原图v.s未增加纹理细节v.sMiracleVision扩图效果
扩散模型类方案在推理时通常需要进行多步逆扩散过程,导致单张图片的处理耗时过长。为了在保持生成质量的同时优化用户体验,美图影像研究院(MT Lab)团队为AI局部重绘技术打造了专项调优方案,最终达到性能与效果的最佳平衡。
首先,将MiracleVision(奇想智能)前后处理与推理过程中大量的矩阵计算,尽可能地移植到GPU上并行计算,从而有效地加快了计算速度,并减少CPU端的负载。同时,在组图的过程中,尽可能的对layer进行fuse,使用FlashAttention来降低显存占用,提升推理性能,并对Kernel实现进行Tuning,针对NVIDIA不同的显卡最大化GPU算力使用。
除此之外,依托自研的模型参数量化方法,将MiracleVision量化至8bit而不明显损失精度。由于不同的GPU显卡对8bit量化的支持存在差异性,因此创新性采用混合精度策略,在不同的服务器资源环境下自适应地选取最优算子,从而实现总体加速的最优解。
而对于分辨率较高的用户输入图像,由于受限于服务器资源与时间成本,很难在原始分辨率情况下直接进行推理。对此,团队通过先压缩图像分辨率至合适的大小,再基于MiracleVision(奇想智能)进行推理,其后使用超分算法复原图像至初始分辨率下,再与原图进行图像融合,从而既保持生成图像的清晰效果,又节约推理过程中的显存占用和执行时间。
在MiracleVision(奇想智能)的助力下,基于AI局部重绘技术打造的AI扩图和AI改图功能,不仅为用户提供了更多有趣玩法,同时也大幅降低了专业图像编辑门槛,即使是没有专业技能的普通用户也能快速上手。依托美图影像研究院(MT Lab)强大的技术能力,MiracleVision(奇想智能)在不到半年时间已经迭代至4.0版本。未来,美图仍将持续致力于提升在电商、广告、游戏等行业的用户体验,助力不同场景的从业者工作流提效。