本文提出一项全新的图像编辑任务EditWorld,它基于真实世界和虚拟世界中的场景来定义图像编辑指令。该方法通过分类和定义各种世界指令,利用大型预训练模型(如 GPT-3.5、Video-LLava 和 SDXL)生成具有丰富场景的输入-指令-输出三元组数据集。EditWorld训练了一个基于扩散模型的图像编辑模型,并设计了一种后编辑策略来提高模型遵循指令的能力,并增强非编辑区域的外观一致性。广泛的实验表明,EditWorld在这项新任务中的表现显著优于现有的图像编辑方法。
论文题目:
EditWorld: Simulating World Dynamics for Instruction-Following Image Editing
论文链接:
https://arxiv.org/abs/2405.14785
代码链接:
https://github.com/YangLing0818/EditWorld
图1
现有的方法通过多种途径实现高质量的图像编辑,包括但不限于文本控制、拖动操作以及inpainting。其中,利用instruction进行编辑的方法由于使用方便受到广泛的关注。尽管现有的图片编辑方法能够产生高质量的结果,但它们在处理传达物理世界中真实视觉动态的世界动态方面仍然存在困难。如图1所示,无论是InstructPix2pix还是MagicBrush都无法生成合理的编辑结果。
为了解决这一问题,我们引入了一项新的任务,称为world-instructed image editing,使图像编辑能够反映真实物理世界和虚拟媒体中的’世界动态’,如图1所示。具体来说,我们定义并分类了各种世界动态指令,并基于这些指令创建了一个新的多模态训练数据集,该数据集包含大量的输入-指令-输出三元组。
最后,我们使用精心制作的数据集训练了一个文本引导的扩散模型,并提出了一种零样本图像操作策略,以实现world-instructed image editing。
根据现实世界以及虚拟媒体中的任务场景,将world-instructed image editing分为7种认为类别,如上图中所示,我们对每一种类别进行了定义与介绍,同时提供了一个数据样例。
图3
如图3所示,我们设计了文本到图片生成以及视频分镜提取两个分支来获取我们的数据集。文本生成图片分支是为了丰富数据场景的丰富性,在该分支下,我们首先利用GPT生成文本四元组(包括input图片描述、instruction、output图片描述以及关键词)。
接着利用input以及output描述生成对应文本的图片,利用关键词对应的attention map对编辑位置进行定位获取编辑mask,与此同时为了保证前后两张图关键特征的一致性,我们引入了image prompt adaption的方法IP-Adapter。最后我们使用IP-Adapter以及ControlNet,结合output image的canny map以及input image的image prompt feature,利用Image Inpainting对output image进行调整,从而获得比较有效的编辑数据。
利用文本生成图片分支得到场景丰富的数据后,为了能向数据集中添加真实数据,我们从视频中提取高质量的关键帧作为编辑数据。具体来说,我们从视频分镜中提取相关性强且结构差异大两帧作为起始与末尾帧,并切分出一段新的分镜,利用多模态大模型对这段分镜的变化进行描述,最后我们以起始与末尾帧作为input image以及output image,以得到的描述作为instruction,这样就获得了需要的编辑数据。
再进一步,我们利用人工对生成数据进行recheck,从而进一步提升数据质量。
图4
图5
我们利用数据集对InstructPix2Pix模型进行finetune,同时为了保护非编辑区域实现更为精确的编辑,我们提出了post-edit策略。如图4与图5所示,我们的方法可以很好地实现world-instructed image editing。