【计算机视觉 | 目标检测】Open-vocabulary Object Detection via Vision and Language Knowledge Distillation

简介: 在这项工作中,我们考虑借用预训练的开放词汇分类模型中的知识来实现open vocabulary检测。

CLIP是一种在大量图像和文本对上训练的神经网络。作为这种多模态训练的结果,CLIP可用于查找最能代表图像的文本片段,或查找给定文本查询的最合适图像。CLIP在image-level的分类上已经取得了非常令人印象深刻的效果。基于其巨大的潜力,在目标检测上应用也显得理所当然。

一、提出原因

现有的对象检测算法通常只学习检测检测数据集中存在的类别。增加检测词汇量的常用方法是收集带有更多标记类别的图像。有了如此丰富的词汇,为所有类别收集足够的训练示例变得相当具有挑战性。而对象类别自然地遵循长尾分布。为了为稀有类别找到足够的训练示例,需要大量的数据,这使得扩大检测词汇量的成本很高。

另一方面,互联网上有丰富的成对图像-文本数据,尽管在学习图像级表示法方面取得了巨大的成功,但学习用于开放词汇表检测的对象级表示法仍然具有挑战性。

在这项工作中,我们考虑借用预训练的开放词汇分类模型中的知识来实现open vocabulary检测。

二、相关工作

2.1 第一点:增加视觉识别中的词汇量

利用大词汇量识别物体是计算机视觉中的一个长期研究课题,其中的一个重点是zero-shot识别,旨在识别训练集中不存在的类别。早期使用视觉属性创建类别的二进制代码,用于将学到的知识转移到看不见的类别。在这方面,研究人员还探究了类层次结构、类相似性和对象部分作为有助于知识转移的区分特征。

另一个重点是学习对齐潜在的图像-文本嵌入,使用深度学习的视觉语义嵌入空间。最近的工作 CLIP 和 Align 通过收集百万级的图像-文本对,然后进行训练,突破了这一极限,使用对比学习的联合图像-文本模型。这些模型可以直接转换为一套分类数据集,并取得非常好的性能,在开放词汇的识别方面,我们侧重于检测的对象是使用任意文本作为输入的。

2.2 第二点:增加目标检测的词汇量

扩大数据收集的规模是昂贵的。之前有工作从多个数据集中统一了标签空间的目标检测。zero-shot检测(ZSD)提供了另一个方向。大多数 ZSD方法将区域特征对齐到预先训练的基本类别中的文本embedding。然而,和完全监学习相比存在着巨大的性能差距,为了解决这个问题,Zareian 等人(2021)利用图像对骨干模型进行了预训练,使用检测数据集来调整预先训练好的模型。相反,我们使用图像文本预训练模型作为教师模型来监督学生对象检测器,只评估了几十个类别,而我们是第一个评估超过1000个类别的工作。

三、整体思路

整体的思路是把检测问题转换为proposal分类问题。

【Open-Vocabulary Object Detection的第一个挑战是对本地新类别目标的检测,作者修改了标准的二阶段目标检测器,例如Mask RCNN进行修改,作者替换了它的定位模块,即第二阶段的边界框回归和对于每个感兴趣的区域掩码预测,这些模块只预测所有类别的单个边界框和单个掩码,而不是预测每一个类。这种分类不可知模块可以推广到新的目标检测上。】

看上图的中间,把每个类别的文本标签通过预训练的CLIP投影到多模态空间中得到类别文本向量,然后Inference的时候每个proposal的特征也投影到多模态空间中,再把proposal的特征和类别文本特征进行比对,就可以对proposal进行分类了。

image.png

在训练阶段,论文提出首先进行图像的ROI裁剪。先将标注区域的图片裁剪出来,再通过Pre-trained Image Encoder编码得到标注区域的image embeddings。

第二阶段就是通过Mask R-CNN产生类别无关的region embeddings。

那么怎么获得这些image embeddings和region embeddings呢?

论文给出的答案是进行知识蒸馏。

由于CLIP的模型太大,直接使用会计算开销显然过大,所以本文选择映入蒸馏来获得一个相对较小的模型。基本类别转化成文本送入pre-trained text encoder产生text embeddings,将region embeddings和text embeddings进行点积然后softmax归一化,监督信号是对应类别位置1,其余位置为0。

在推理阶段,首先将基本类别和新增类别转化成文本送入pre-trained text encoder产生text embeddings(分别为绿色和蓝色部分),同时通过Mask R-CNN产生类别无关的region embeddings,然后将region embeddings和text embeddings进行点积然后softmax归一化,新增类别(蓝色部分)取最大值的类别为该区域的预测结果。

其中proposal特征的提取是通过用CLIP的模型进行蒸馏学习到的,如下图最右侧所示:

image.png
proposal经过head来得到proposal在多模态空间中的特征,其中ViLD-text是在文本模态上,使得proposal的特征逼近文本类别标签的多模态空间特征;而ViLD-image是在视觉模态上,使得proposal的特征逼近用proposal裁剪下的图片送入CLIP之后得到的多模态空间特征。
image.png

文本嵌入作为分类器(ViLD-文本):我们使用 CLIP 生成的文本嵌入评估 ViLD-文本,并将其与 (大型纯文本语料库)GloVe 文本embedding中对比。

蒸馏图像embedding(ViLD-image):我们评估 ViLD-image,它从裁剪区域提案的图像嵌入,由 CLIP 的图像编码器推断,蒸馏权重为 1.0。

实验表明,结合客观性的表现对其他方面没有帮助ViLD 的变体提高性能,所以我们只将它应用于 ViLD-image。 在没有使用任何对象类别标签进行训练的情况下,ViLD-image的APr达到了11.2 APr ,而整体 AP的达到了11.5。 这表明视觉蒸馏有效用于开放词汇检测,但在裁剪区域上的性能不如CLIP。

文本+视觉embedding (ViLD):ViLD 显示了使用文本嵌入 (ViLD-text) 将蒸馏损失 (ViLDimage) 与分类损失相结合的好处。 我们在附录表 7 中探索了不同的超参数设置,并观察到两个AP之前存在trade-off,这表明 ViLD-text 和 ViLD-image 之间存在竞争。 在上表中,我们比较ViLD 与其他方法。 它的 APr 比 ViLD-text 高 6.0,比 ViLD-image 高 4.9,这一实验结果表明结合这两个学习目标可以提高新类别的表现。 ViLD优于 Supervised-RFS 3.8 APr,表明我们的开放式词汇检测方法在尾部较少的类别,优于其他的全监督模型。

因为基于CLIP这样强大的预训练模型,才能使得object detection能够真正的面向open world。同时就结构来看,novel AP达到了27.6,相较于之前Zareian的方法,提高了将近五个点,也将这个领域的性能带到了新高度。

相关文章
|
4月前
|
算法 计算机视觉
计算机视觉目标检测性能指标
目标检测是计算机视觉领域中的一个重要任务,其目标是在图像或视频中识别出物体的位置和类别。为了评估目标检测算法的性能,需要使用一系列指标来量化模型的准确性、召回率、精确率以及对不同类别的处理能力。本文将详细介绍常见的目标检测性能指标,包括精确率、召回率、F1分数、IoU、AP、mAP、P-R曲线等,同时提供相关公式和案例。
|
3月前
|
机器学习/深度学习 编解码 监控
计算机视觉实战项目4(单目测距与测速+摔倒检测+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A_路径规划+行人车辆计数+动物识别等)-1
计算机视觉实战项目4(单目测距与测速+摔倒检测+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A_路径规划+行人车辆计数+动物识别等)-1
107 1
|
3月前
|
机器学习/深度学习 监控 算法
计算机视觉实战项目(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别)
计算机视觉实战项目(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别)
50 1
|
2月前
|
机器学习/深度学习 算法 计算机视觉
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A路径规划+单目测距与测速+行人车辆计数等)
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A路径规划+单目测距与测速+行人车辆计数等)
33 2
|
3月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
100 0
|
3月前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
56 1
|
3月前
|
机器学习/深度学习 编解码 算法
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A*路径规划+单目测距与测速+行人车辆计数等)-2
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A*路径规划+单目测距与测速+行人车辆计数等)-2
68 1
|
3月前
|
机器学习/深度学习 监控 算法
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A*路径规划+单目测距与测速+行人车辆计数等)-1
计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A*路径规划+单目测距与测速+行人车辆计数等)-1
49 0
|
4月前
|
机器学习/深度学习 编解码 人工智能
Vision Mamba:将Mamba应用于计算机视觉任务的新模型
Mamba是LLM的一种新架构,与Transformers等传统模型相比,它能够更有效地处理长序列。就像VIT一样现在已经有人将他应用到了计算机视觉领域,让我们来看看最近的这篇论文“Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Space Models,”
255 7
|
2月前
|
SQL Java 关系型数据库
MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法
MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法
18 0

热门文章

最新文章