Paper | Inst-Inpaint, Instructing to Remove Objects with Diffusion Models | arXiv2023

Info

Abstract

现存的问题:

  • 现有的Inpainting任务都是填充二值掩膜(binary masks)区域的内容。现实应用时需要用户的标注,这浪费时间、乏味并且容易出错。

解决方法:

Instructional Image Inpainting:本文提出一种基于自然语言输入(natural language input)的目标移除的任务。

  • Dataset:为Inst-Inpaint构建了一个命名为GQA-Inpaint的数据集(原始source image、目标移除text prompt、目标移除后的target image三元组)。

  • Method:Remove objects from images based on the instructions given as text prompts。基于latent diffusion的有条件移除(Stable Diffusion有条件生成可以迁移到Inpainting任务,但是生成性能较好,面对移除问题时not work that well)。

Method

Dataset Generation

  • 在GQA数据集(visual reasoning)上创建benchmark数据集GQA-Inpaint,利用GQA数据集提供的场景关系图、以及sota实例分割模型和Inpainting模型来生成数据。
  • scene graphs:object、attribute、relation三元组,85K pairs。每一个结点代表一个物体,位置和大小会有bounding box标出;attribute包括color、shape和material;relation表示了空间位置。

  1. Selecting Objects from the Scene Graphs

    选择数据集中较常见的target objects,避免选择bounding box过大或过小的物体。

  2. Extracting Segmentation Masks

    基于Detectron2 code base,利用多个在COCO和LVIS数据集上的实例分割进行seg mask的提取,取和原始数据集bounding box IoU最大的mask。

  3. Removing Objects From Images

    利用Cascade PSP模型refine预测的seg mask,再利用结构元素为11×11像素的形态学扩张在边缘处展开seg mask。最后使用CRFill模型进行填充。

  4. Generating Textual Prompts

    如果选择的物体在图像中是一个unique实例,不存在关系问题,生成简单text prompt“remove the [object]”

    如果存在多个实例是同一个物体类别的,使用scene graph中的关系信息来构造具有相对位置的text prompt。

Model

  • 第一步是独立训练变分自编码器,encoder、decoder来将图像降到低维并重建。
  • 加噪去噪的过程和Stable Diffusion相同架构。

  • additional conditioning:source image、text prompt
    • 利用target图片(移除物体后的)经过encoder获取。每一个time stepsource image也通过编码器作为额外的条件输入和 concat。
    • T是transformer model,i为文本instruction。利用BERT tokenizer生成token,训练一个transformer model from scratch来获取instruction embeddings,供U-Net layers中的cross attention mechanism使用。

  • 训练细节

    • 在CLEVR(三维物体编辑数据集,包括source/target image和text)、GQA-Inpaint上训练了模型(5405train、2362test)。
    • GQA-Inpaint(训练使用44500unique source images、88369unique target images、173715 unique source-target-prompt pairs;测试使用4811 unique source images、9485 unique target images、18883 unique source-target-prompt pairs)
    • CLEVR的VAE是从零训练,GQA-Inpaint的VAE使用pretrained VQGAN模型(在Open Images数据集上训练的, has 16384 number of codebook entries)
    • CLEVR使用八层transformer、4-head cross attention和activation layers。GQA-Inpaint使用16层transformer、8-head cross attention。
  • 对比的一个Instruct X-Decoder生成分割图然后进行物体移除,结合了X-Decoder的图片理解能力、GPT-3的语言理解能力和stable diffusion的生成能力。(训练数据集比提出的GQA-Inpaint 大很多)

  • 模型方面,和Stable Diffusion的区别就是输入图像没mask区域,指令是source image需要移除部分的text prompts。

Evaluation

Paper | Inst-Inpaint, Instructing to Remove Objects with Diffusion Models | arXiv2023

https://jennyvanessa.github.io/2023/04/08/2304081525/

Author

Vanessa Ni

Posted on

2023-04-08

Updated on

2023-04-08

Licensed under

Comments

You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.