文章摘要 如何使用CLIP做图像检测 RegionCLIP:基于区域的文本-图像预训

摘要:使用图像-文本对的对比语言图像预训练模型(CLIP)在零样本和迁移学习环境下的图像分类方面都取得了令人印象深刻的结果。但直接应用CLIP模型识别图像区域进行对象检测效果并不好,这是因为CLIP被训练为将图像作为一个整体与文本描述相匹配,而没有进行图像区域和文本之间的细粒度对齐。为了缓解这个问题,我们提出了一种称为RegionCLIP的新方法,该方法显著扩展了CLIP以学习区域级视觉特征,从而实现图像区域和文本概念之间的细粒度对齐。我们的方法利用剪辑模型将图像区域与模板标题匹配,然后预训练我们的模型以在特征空间中对齐这些区域文本对。项目链接:https://github.com/microsoft/RegionCLIP

介绍:CLIP,ALIGN等工作取得了令人印象深刻的结果。继他们在图像分类方面取得成功之后,一个自然的问题是这些模型是否可以用于对图像进行推理?

为了回答这个问题,我们使用预训练CLIP模型构建了一个简单的R-CNN式对象检测器。该检测器从输入图像中裁剪候选对象区域,并通过将裁剪区域的视觉特征匹配到对象类别的文本嵌入来应用剪辑模型进行检测。结果当将预训练CLIP模型应用于对象检测时,性能会严重下降。原因有二,第一,CLIP训练时并不需要将局部图像区域和文本标记之间对齐。因此,模型无法将文本概念精确地定位到图像区域。第二,裁剪图像区域并将其与文本标记匹配在很大程度上忽略了对对象识别至关重要的背景环境。

 

在本文中,我们探索了通过视觉语言预训练实现目标检测。我们的关键思想是在预训练期间显式对齐图像区域和文本标记。然而,出现了两个关键挑战。首先,图像区域和文本标记之间的细粒度对齐在图像-文本对中并不可靠。其次,图像的文本描述通常不完整,即许多图像区域不由文本描述。为了解决这些挑战,我们建议从预训练的视觉语言模型中进行引导,以对齐图像区域和文本标记,并填充缺失的区域描述。

 具体来说,我们的方法从文本语料库解析的对象概念池开始,并通过将这些概念填充到预定义模板中来合成区域描述。给定来自对象建议或密集滑动窗口的输入图像及其候选区域,使用预训练CLIP模型对齐区域描述和图像区域,为区域文本对齐创建“伪”标签。此外,我们使用“伪”区域文本对和地面真实图像文本对,通过对比学习和知识提炼来预训练我们的视觉语言模型。虽然“伪”区域文本对是有噪声的,但它们仍然为学习区域表示提供了有用的信息,从而弥补了与对象检测之间的差距,我们的实验验证了这一点。

方法(使用RPN划定感兴趣区,再创建文本概念库,进行区域图像-文本特征比较):

1 问题描述:

我们的目标是学习涵盖丰富对象概念的区域视觉语义空间,以便用于开放词汇对象检测。定义图像I中区域r的内容对应的文本描述为t。在视觉语义空间中,从r中提取的视觉区域特征V(I, r)应与文本特征L(t)匹配。V是获取图像I和区域位置r并输出该区域的视觉特征的视觉编码器。L是一种语言编码器,它将自然语言中的文本转换为语义特征。

图像理解的识别与定位:图像区域理解有两个关键组成部分:定位和识别。我们将这两个组成部分分离开来,使用现有的区域定位器,并通过学习区域视觉语义空间来专注于区域识别,而无需大量人工注释。

方法概述。如图所示,我们将VtL表示为经过预训练的教师视觉和语言编码器,以将图像与其描述(如CLIP)相匹配。我们的目标是训练视觉编码器V,使其能够对图像区域进行编码,并将其与语言编码器L编码的区域描述相匹配。为了解决缺乏大规模区域描述的挑战,如图底部所示,我们构建了一个对象概念池,通过将概念填充到提示中来创建区域描述,并利用教师编码器Vt将这些文本描述与图像区域定位器提出的图像区域对齐。给定创建的区域文本对,我们的视觉编码器V通过对比学习和概念提炼学习匹配这些对。

 

 

 2 基于区域的语言图像预训练

2.1 视觉和语义区域特征

视觉区域特征。图像区域可以由现成的对象定位器(如RPN)或密集滑动窗口(如随机区域)提取。默认情况下,我们使用一个RPN,该RPN在没有手工制作标签的边界框上进行预训练。我们使用RPN将所有图像提取出包含目标的图像区域,最后总共获得N个图像区域。(这里使用的是RoIAlign池化,其使用插值从完整图像的特征图中汇集区域视觉特征。)

 语义区域特征。单个图像通常包含丰富的语义,涵盖数千个类别中的一个或多个对象。在大规模图像文本数据集中注释所有这些类别的成本很高。为此,我们首先构建一个大型概念库,以详尽地涵盖区域概念,而不考虑单个完整图像。我们创建了一个对象概念池,通过使用现成的语言解析器从文本语料库(例如,从互联网收集的图像描述)中解析这些概念。区域的语义表示通过两个步骤创建:(1)通过填充提示模板(例如CLIP的提示),为每个概念创建一个短句。例如,“风筝”概念将转换为“风筝照片”。(2) 我们使用预训练语言编码器L将所创建的文本描述编码为语义表示。

2.2 区域的视觉-文本语义对齐

区域文本图像对的对齐。我们利用教师视觉编码器Vt来创建图像区域和我们创建的文本(表示为语义嵌入)之间的对应关系。我们计算区域图像特征每个之前创建的概念特征之间的匹配分数。匹配分数S(V,L)由下式给出:

 预训练策略。我们的预训练利用了创建的区域文本对和来自互联网的图像文本对。给定对齐的区域文本对(由{vi,lm}表示),我们基于不同图像的图像区域,使用对比损失和蒸馏损失预训练视觉编码器。损失函数如下:

1 对比损失

 

 2 蒸馏损失 

3 总损失函数

 

 

 

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,CLIP可以用于无监督的异常检测任务,即只使用正常图像进行训练。 CLIP是一个具有跨模态理解能力的预训练模型,它通过在大规模图像文本数据上进行无监督学习来学习图像文本之间的对应关系。CLIP的目标是将图像文本嵌入到一个共享的向量空间中,使得相关的图像文本在这个空间中更接近,而不相关的则更远离。 在无监督异常检测任务中,我们可以利用CLIP学习到的图像表示来判断一张图像是否属于正常样本。具体步骤如下: 1. 预训CLIP模型:使用大规模的正常图像数据集对CLIP进行预训练,以学习图像的特征表示。 2. 提取图像特征:使用预训练的CLIP模型,将输入的图像转换为对应的特征向量。 3. 构建异常检测模型:根据任务需求,可以使用各种机器学习或深度学习算法构建异常检测模型。这些模型可以基于图像特征进行训练,以区分正常样本和异常样本。 4. 异常检测:将待检测图像转换为特征向量,然后使用训练好的异常检测模型进行预测。根据模型的输出,可以判断图像是否属于正常样本或异常样本。 需要注意的是,在无监督异常检测任务中,我们只使用正常图像进行训练,而没有具体的异常样本进行监督。因此,模型的性能可能受限于训练数据的多样性和覆盖程度。 此外,为了提高模型的性能,可能需要对CLIP进行微调或结合其他的无监督学习方法。具体的实现方式和效果取决于具体的应用场景和数据集。 希望这个解答对你有帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值