引言
目标检测是计算机视觉中的一个非常重要的基础任务,与常见的的图像分类/识别任务不同,目标检测需要模型在给出目标的类别之上,进一步给出目标的位置和大小信息,在 CV三大任务(识别、检测、分割)中处于承上启下的关键地位。当前大火的多模态 GPT4在视觉能力上只具备目标识别的能力,还无法完成更高难度的目标检测任务。而识别出图像或视频中物体的类别、位置和大小信息,是现实生产中众多人工智能应用的关键,例如自动驾驶中的行人车辆识别、安防监控应用中的人脸锁定、医学图像分析中的肿瘤定位等等。
已有的目标检测方法如 YOLO系列、R-CNN系列等耳熟能详的目标检测算法在科研人员的不断努力下已经具备很高的目标检测精度与效率,但由于现有方法需要在模型训练前就定义好待检测目标的集合(闭集),导致它们无法检测训练集合之外的目标,比如一个被训练用于检测人脸的模型就不能用于检测车辆;另外,现有方法高度依赖人工标注的数据,当需要增加或者修改待检测的目标类别时,一方面需要对训练数据进行重新标注,另一方面需要对模型进行重新训练,既费时又费力。一个可能的解决方案是,收集海量的图像,并人工标注Box信息与语义信息,但这将需要极高的标注成本,而且使用海量数据对检测模型进行训练也对科研工作者提出了严峻的挑战,如数据的长尾分布问题与人工标注的质量不稳定等因素都将影响检测模型的性能表现。
发表于 CVPR2021的文章 OVR-CNN[1]提出了一种全新的目标检测范式:开放词集目标检测(Open-Vocabulary Detection,OVD,亦称为开放世界目标检测),来应对上文提到的问题,即面向开放世界未知物体的检测场景。OVD由于能够在无需人工扩充标注数据量的情形下识别并定位任意数量和类别目标的能力,自提出后吸引了学术界与工业界持续增长的关注,也为经典的目标检测任务带来了新的活力与新的挑战,有望成为目标检测的未来新范式。具体地,OVD技术不需要人工标注海量的图片来增强检测模型对未知类别的检测能力,而是通过将具有良好泛化性的无类别(class-agnostic)区域检测器与经过海量无标注数据训练的跨模态模型相结合,通过图像区域特征与待检测目标的描述性文字进行跨模态对齐来扩展目标检测模型对开放世界目标的理解能力。跨模态和多模态大模型工作近期的发展非常迅速,如 CLIP[2]、ALIGN[3]与R2D2[4](链接:https://github.com/yuxie11/R2D2)等,而它们的发展也促进了 OVD的诞生与 OVD领域相关工作的快速迭代与进化。
OVD技术涉及两大关键问题的解决:1)如何提升区域(Region)信息与跨模态大模型之间的适配;2)如何提升泛类别目标检测器对新类别的泛化能力。从这个两个角度出发,下文我们将详细介绍一些 OVD领域的相关工作。
OVD基本流程示意[1]
OVD的基础概念:OVD的使用主要涉及到 few-shot 和 zero-shot两大类场景,few-shot是指有少量人工标注训练样本的目标类别,zero-shot则是指不存在任何人工标注训练样本的目标类别。在常用的学术评测数据集 COCO、LVIS上,数据集会被划分为 Base类和 Novel类,其中Base类对应 few-shot场景,Novel类对应 zero-shot场景。如 COCO数据集包含65种类别,常用的评测设定是 Base集包含48种类别,few-shot训练中只使用该48个类别。Novel集包含17种类别,在训练时完全不可见。测试指标主要参考 Novel类的 AP50数值进行比较。
Open-Vocabulary Object Detection Using Captions
论文地址:https://arxiv.org/pdf/2011.10678.pdf
代码地址:https://github.com/alirezazareian/ovr-cnn
OVR-CNN是 CVPR2021的 Oral-Paper,也是 OVD领域的开山之作。它的二阶段训练范式,影响了后续很多的 OVD工作。如下图所示,第一阶段主要使用 image-caption pairs对视觉编码器进行预训练,其中借助 BERT(参数固定)来生成词掩码,并与加载 ImageNet预训练权重的 ResNet50进行弱监督的 Grounding匹配,作者认为弱监督会让匹配陷入局部最优,于是加入多模态 Transformer进行词掩码预测来增加鲁棒性。
第二阶段的训练流程与 Faster-RCNN类似,区别点在于,特征提取的 Backbone来自于第一阶段预训练得到的 ResNet50的1-3层,RPN后依然使用 ResNet50的第四层进行特征加工,随后将特征分别用于 Box回归与分类预测。分类预测是 OVD任务区别于常规检测的关键标志,OVR-CNN中将特征输入一阶段训练得到的 V2L模块(参数固定的图向量转词向量模块)得到一个图文向量,随后与标签词向量组进行匹配,对类别进行预测。在二阶段训练中,主要使用 Base类对检测器模型进行框回归训练与类别匹配训练。由于 V2L模块始终固定,配合目标检测模型定位能力向新类别迁移,使得检测模型能够识别并定位到全新类别的目标。
如下图所示,OVR-CNN在 COCO数据集上的表现远超之前的 Zero-shot目标检测算法。
RegionCLIP: Region-based Language-Image Pretraining
论文地址:https://arxiv.org/abs/2112.09106
代码地址:https://github.com/microsoft/RegionCLIP
OVR-CNN中使用 BERT与多模态 Transfomer进行 iamge-text pairs预训练,但随着跨模态大模型研究的兴起,科研工作者开始利用 CLIP,ALIGN等更强力的跨模态大模型对 OVD任务进行训练。检测器模型本身主要针对 Proposals,即区域信息进行分类识别,发表于 CVPR2022的 RegionCLIP[5]发现当前已有的大模型,如 CLIP,对裁剪区域的分类能力远低于对原图本身的分类能力,为了改进这一点,RegionCLIP提出了一个全新的两阶段 OVD方案。
第一阶段,数据集主要使用 CC3M,COCO-caption等图文匹配数据集进行区域级别的蒸馏预训练。具体地,
将原先存在于长文本中的词汇进行提取,组成Concept Pool,进一步形成一组关于Region的简单描述,用于训练。
利用基于LVIS预训练的RPN提取Proposal Regions,并利用原始CLIP对提取到的不同Region与准备好的描述进行匹配分类,并进一步组装成伪造的语义标签。
将准备好的Proposal Regions与语义标签在新的CLIP模型上进行Region-text对比学习,进而得到一个专精于Region信息的CLIP模型。
在预训练中,新的CLIP模型还会通过蒸馏策略学习原始CLIP的分类能力,以及进行全图级别的image-text对比学习,来维持新的CLIP模型对完整图像的表达能力。
第二阶段,将得到的预训练模型在检测模型上进行迁移学习。
RegionCLIP进一步拓展了已有跨模态大模型在常规检测模型上的表征能力,进而取得了更加出色的性能,如下图所示,RegionCLIP相比 OVR-CNN在 Novel类别上取得了较大提升。RegionCLIP通过一阶段的预训练有效地的提升了区域(Region)信息与多模态大模型之间的适应能力,但 CORA认为其使用更大参数规模的跨模态大模型进行一阶段训练时,训练成本将会非常高昂。
CORA: Adapting CLIP for Open-Vocabulary Detection with Region Prompting and Anchor Pre-Matching
论文地址:https://arxiv.org/abs/2303.13076
代码地址:https://github.com/tgxs002/CORA
CORA[6]已被收录于 CVPR2023,为了克服其所提出当前 OVD任务所面临的两个阻碍,设计了一个类 DETR的OVD模型。如其文章标题所示,该模型中主要包含了 Region Prompting与 Anchor Pre-Matching两个策略。前者通过 Prompt技术来优化基于 CLIP的区域分类器所提取的区域特征,进而缓解整体与区域的分布差距,后者通过 DETR检测方法中的锚点预匹配策略来提升 OVD模型对新类别物体定位能力的泛化性。
CLIP 原始视觉编码器的整体图像特征与区域特征之间存在分布差距,进而导致检测器的分类精度较低(这一点与 RegionCLIP的出发点类似)。因此,CORA提出 Region Prompting来适应 CLIP图像编码器,提高对区域信息的分类性能。具体地,首先通过 CLIP编码器的前3层将整幅图像编码成一个特征映射,然后由 RoI Align生成锚点框或预测框,并将其合并成区域特征。随后由 CLIP 图像编码器的第四层进行编码。为了缓解 CLIP 图像编码器的全图特征图与区域特征之间存在分布差距,设置了可学习的 Region Prompts并与第四层输出的特征进行组合,进而生成最终的区域特征用来与文本特征进行匹配,匹配损失使用了朴素的交叉熵损失,且训练过程中与 CLIP相关的参数模型全都冻结。
CORA是一个类 DETR的检测器模型,类似于 DETR,其也使用了锚点预匹配策略来提前生成候选框用于框回归训练。具体来说,锚点预匹配是将每个标签框与最接近的一组锚点框进行匹配,以确定哪些锚点框应该被视为正样本,哪些应该被视为负样本。这个匹配过程通常是基于 IoU(交并比)进行的,如果锚点框与标签框的 IoU 超过一个预定义的阈值,则将其视为正样本,否则将其视为负样本。CORA表明该策略能够有效提高对新类别定位能力的泛化性。
但是使用锚点预匹配机制也会带来一些问题,比如只有在至少有一个锚点框与标签框形成匹配时,才可正常进行训练。否则,该标签框将被忽略,同时阻碍模型的收敛。进一步,即使标签框获得了较为准确的锚点框,由于Region Classifier的识别精度有限,进而导致该标签框仍可能被忽略,即标签框对应的类别信息没有与基于CLIP训练的Region Classifier形成对齐。因此,CORA用CLIP-Aligned技术利用CLIP的语义识别能力,与预训练ROI的定位能力,在较少人力情形下对训练数据集的图像进行重新标注,使用这种技术,可以让模型在训练中匹配更多的标签框。
相比于RegionCLIP,CORA在COCO数据集上进一步提升了2.4的AP50数值。
360人工智能研究院在OVD技术上的实践
OVD技术不仅与当前流行的跨/多模态大模型的发展紧密联系,同时也承接了过去科研工作者对目标检测领域的技术耕耘,是传统AI技术与面向通用AI能力研究的一次成功衔接。OVD更是一项面向未来的全新目标检测技术,可以预料到的是,OVD可以检测并定位任意目标的能力,也将反过来推进多模态大模型的进一步发展,有希望成为多模态AGI发展中的重要基石。
360 人工智能研究院近年来的研发重点包括:21年跨模态方向,22年OVD和视频分析方向,23年AIGC和多模态大模型方向。在底层海量图文数据及多模态方向长期技术积累的加持下,360人工智能研究院自研OVD大模型,目前已在互联网、智能硬件等业务中落地,在长尾目标检测、巡店、看护、设备巡检等场景中实现广泛应用。未来我们计划将OVD与多模态大模型MLLM相结合,赋予LLM在基础的视觉能力之外更为重要的开放世界目标检测能力,让多模态大模型的能力向通用人工智能更近一步。
号外
为了推动OVD研究在国内的普及和发展,360人工智能研究院联合中国图象图形学学会举办了2023开放世界目标检测竞赛(链接:https://360cvgroup.github.io/OVD_Contest/),目前竞赛正在火热报名中。竞赛可以帮助大家找到OVD方向的研究同好,与他们切磋交流,并能接触实际业务场景数据,体验OVD技术在实际生产中的优势与魅力,欢迎报名和转发。
360人工智能研究院简介:360人工智能研究院隶属于360技术中台。自2015年成立以来积累了大量人工智能与机器学习前沿能力,范围包括但不限于自然语言理解、机器视觉与运动、语音语义交互等方面,技术水平行业领先,核心成员和团队多次荣获AI相关比赛冠军/提名奖项,发表顶会、顶刊论文数十篇。业务落地方面,研究院提供智能安全大数据、互联网信息分发、企业数字化、AIoT、智能汽车等360集团全量业务场景支持,支持千万级硬件设备,亿级用户,产生千亿规模数据量。2023年着重攻坚大语言模型、CV大模型和多模态大模型,为360集团和行业 AIGC技术发展应用提供底层技术支撑。
全部0条评论
快来发表一下你的评论吧 !