本次提出了一种新的范式,使用大视觉和基于语言的文本到图像合成框架,为对象检测和分割任务生成大规模标记数据。该方法在对象检测任务的流行基准上演示了轻松的标记数据生成。 借助DALL-E生成的图像改进目标检测的性能

原文链接:https://arxiv.org/abs/2206.09592v2

在今天,众所周知,训练一个很强大的深度模型需要大量的标记数据集。由于需要大量的人力资源,获得这样的数据集既昂贵又耗时。这就提出了一个问题:我们能否有效地生成大规模的标记数据,同时在新的下游任务上高精度地完成感知任务?作者首先对这种setting做出了一定的假设,任何以此为目标的方法都应该满足以下的特性:

  • 减少人的参与,同时能使得任何新类在环境中实现自动的泛化
  • 可拓展(scalable),生成高质量和多样化的图像集
  • 可解释,可组合,并保护隐私。

回顾之前的工作,我们可以发现,一种很有影响力的方法是使用计算机图形学的知识来完成数据的生成。然而,这些方法可能需要收集物体和场景的3D模型,这可能需要大量具有专业知识的熟练劳动力,这阻碍了这种图形生成的合成标记数据的可拓展性。

另一种方法是使用对象剪切和粘贴,这是一种2D合成生成方法,但这些方法有局限性,因为它们仍然需要前景对象的源和这些对象的精确的matting。

第三种方法可能是使用基于机器学习的神经渲染器技术,如基于NeRF的方法,而这些方法通常需要为任何新的对象类重新训练模型,因此不能迅速扩展到大量的对象类。

作者提供了一个非常有趣的角度:能不能利用根据文本生成图像的模型来帮助完成感知任务?

文本到图像合成_人工智能

在这项工作中,我们提出了一种新的文本到图像合成范式,涉及两个组件,以生成具有精确标签的大规模训练数据,用于对象检测和实例分割等任务。第一部分涉及为感兴趣的对象类准确地生成前景对象掩码。这是由于DALLE不能生成对于image的captioning的原因,例如,它们不能为对象生成边界框。

为了生成不同的前景对象的mask,我们首先生成的图像主要包含与兴趣类对应的一个对象。我们使用一个简单的模板,将类名作为DALL-E的pipeline的输入。例如,为了生成带有猫的图像,我们使用输入作为纯背景上的猫图像。然后,采用简单的背景-前景分割方法获得感兴趣类的前景对象掩码。

第二步涉及生成各种背景图像,为训练识别模型提供良好的上下文信息。背景在学习一个好的目标识别模型中起着重要的作用。Divalla的工作提供了实证证据来支持这一说法。之前的研究已经说明了,寻找一致的上下文有助于提高目标检测任务的准确性。例如,将飞机和船只放在它们的自然环境中有助于提高准确性,例如,飞机通常在天空中,船只在水面上。

然后下一步,方法再次利用DALL-E来生成各种高质量的上下文图像。新方法的核心在于利用上下文的语言描述和语言驱动的图像生成之间的相互作用。给定少量表示上下文环境的图像,我们使用图像的captioning自动生成上下文的高级语言描述。上下文的语言描述在DALL-E这种text-to-image的模型中使用,以生成不同的图像集。这些生成的不同图像集被用作上下文图像。

最后,为了生成标记数据,我们遵循一个简单的策略,即将第一步中获取的前景对象的mask粘贴到第二步中获取的随机上下文的图像上,就像对象剪切和粘贴方法一样。所提出的管道满足标签图像生成的所有所需属性。数据可以在没有人工参与的情况下轻松高效地生成。前景和背景图像生成的语言描述有助于提供可解释的组合数据生成。在语言域中可以轻松地添加或删除对象或设置。到此就完成了利用DALL-E生成感知任务的全部步骤。

文本到图像合成_人工智能_02

根据上图的对比,论文提出的新方法很好地完成了初始提到的设计目的,具有较高的可行性。而且就后续的实验来看,效果也比较不错,能够借助DALL-E较好地拓展数据集,完成感知任务性能的提升。

方法

首先明确,本文的目标是有效地生成大量标记数据,用于使用文本到图像合成框架来完成目标检测模型的训练。特别地,该方法将训练数据的生成解耦为不同的前景对象掩码生成集和不同的背景(上下文)图像生成集。获得前景对象的mask后,按照对象剪切粘贴策略合成到背景图像上。此外,所提出的方法还允许组合和可解释的数据生成。新的framework在文本指导下利用现成的语言生成框架来生成前景掩码和上下文图像。   

文本到图像合成_人工智能_03

如上图,论文提出方法的pipeline主要分成两部分:由前景生成和上下文背景生成。

前景生成:

(1)将兴趣类名称(如dog)填充到固定的提示模板中,生成前景句子。如何完成的呢?第一步是获得Context description images,首先假设我们已经得到了一个group完成对上下文的图像的描述。例如,如果测试场景包括一个厨房环境,那么一小组厨房图像可以从任何公共数据集或web图像中获取。下一步就是生成image captioning,描述来自给定context的上下文信息。语言可以用来提供对上下文的简明描述。

(2)然后,我们将句子输入DALL-E(或稳定扩散),以生成高质量的前景图像,易于分离背景。作者特意强调,我们的前景zero-shot,只需要类别标签。这样可以很容易地分离对象,因为prompt engineering允许在简单的隔离背景上生成对象。然后,使用通用的无监督前景提取方法来获得mask。

(3)我们使用现成的图像分割方法从前景图像中提取前景片段。

背景的上下文生成:

其实到这里跟上面获取前景的工作也就非常类似了,只是完成的对象不一致。

(4)我们使用图像字幕方法(例如ScsT)为用户提供的CDls(用户可以提供少至一张图像)生成字幕。

(5)利用词汇网络和模型提取背景上下文词(例如,草地),并基于ConceptNet增强更多相关的上下文图像(例如,森林)。

(6)我们根据上下文词和模板创建上下文的captioning句子。

(7)我们将句子输入DALL-E(或stable diffusion)生成高质量的背景图像。

(8)使用CLIP的score进行过滤,进一步保证生成的图像没有兴趣类。简单来说就是利用CLIP来计算captioning和image的相似度,对于相似度较低的类别给过滤掉。

(9)将前景片段和背景图像结合起来,通过剪切粘贴得到带有相应注释的合成图像。

(10)最后,当然就是使用合成数据集来训练目标检测/分割模型。

如何解释生成文本的质量,进而和图像进行matching呢?

文本到图像合成_数据_04

作者用上图强调方法的组成和可解释的性质。具体来说,当提供的CDI不能完美地描述真实的测试场景时,语言的组合属性可以通过删除/添加/样式更改来帮助纠正上下文描述。例如,如果初始描述包含男性和女性的噪声信息,我们可以直接进行干预,去除噪声信息,生成一致的上下文描述。注意,测试场景的4个例子都来自GMu厨房数据集。红色框为未进行语言干预的生成图像,绿色框为干预后的生成图像。可以发现,生成的质量还是相对较高的。

实验

文本到图像合成_数据_05

这里的实验细节较多,采用了生成和真实的数据集进行对比,可以发现其实本文生成的背景已经可以超过了COCO自己本身收集的背景,而CDI上涨的时候,对于mAP也有较为明显的提升作用。

文本到图像合成_背景图_06

根据消融实验,也可以发现,采用上述方法生成foreground非常重要,可以提升三个点之多,达到了40%左右的性能改进。 

文本到图像合成_人工智能_07

可视化效果也不得不让人感叹获取的前景和后景质量之高。

结论

本文提出了一种新的范式,使用大视觉和基于语言的文本到图像合成框架,为对象检测和分割任务生成大规模标记数据。论文提出的方法在对象检测任务的流行基准上演示了轻松的标记数据生成。使用这些数据训练的计算机视觉模型比使用大量真实数据训练的模型提高了性能。从而减少了昂贵的人工标记过程的需要。作者还强调了在分布不足和zero-shot数据生成场景下数据生成方法的组成性质。