无需标注海量数据,目标检测新范式OVD

图片

       当前大火的多模态GPT-4在视觉能力上只具备目标识别的能力,还无法完成更高难度的目标检测任务。而识别出图像或视频中物体的类别、位置和大小信息,是现实生产中众多人工智能应用的关键,例如自动驾驶中的行人车辆识别、安防监控应用中的人脸锁定、医学图像分析中的肿瘤定位等等
       已有的目标检测方法如YOLO系列、R-CNN系列等目标检测算法在科研人员的不断努力下已经具备很高的目标检测精度与效率,但由于现有方法需要在模型训练前就定义好待检测目标的集合 (闭集),导致它们无法检测训练集合之外的目标,比如个被训练用于检测人脸的模型就不能用于检测车辆;另外,现有方法高度依赖人工标注的数据,当需要增加或者修改待检测的目标类别时,一方面需要对训练数据进行重新标注,另一方面需要对模型进行重新训练,既费时又费力。
        一个可能的解决方案是,收集海量的图像,并人工标注Box信息与语义信息,但这将需要极高的标注成本,而且使用海量数据对检测模型进行训练也对科研工作者提出了严峻的挑战,如数据的长尾分布问题与人工标注的质量不稳定等因素都将影响检测模型的性能表现。发表于CVPR 2021的文章OVR-CNN提出了一种全新的目标检测范式:开放词集目标检测 (Open-Vocabulary Detection,OVD,亦称为开放世界目标检测),来应对上文提到的问题,即面向开放世界未知物体的检测场景。OVD由于能够在无需人工扩充标注数据量的情形下识别并定位任意数量和类别目标的能力,自提出后吸引了学术界与工业界的持续关注,也为经典的目标检测任务带来了新的活力与新的挑战,有望成为目标检测的未来新范式。
       具体地,OVD技术不需要人工标注海量的图片来增强检测模型对未知类别的检测能力,而是通过将具有良好泛化性的无类别(class-agnostic) 区域检测器与经过海量无标注数据训练的跨模态模型相结合,通过图像区域特征与待检测目标的描述性文字进行跨模态对齐来扩展目标检测模型对开放世界目标的理解能力。
       跨模态和多模态大模型工作近期的发展非常迅速,如CLIP、ALIGN与R2D2等,而它们的发展也促进了OVD的诞生与OVD领域相关工作的快速迭代与进化。OVD技术涉及两大关键问题的解决: 1)如何提升区域(Region)信息与跨模态大模型之间的适配;2)如何提升泛类别目标检测器对新类别的泛化能力。从这两个角度出发,下面将详细介绍一些OVD领域的相关工作。 

图片

OVD基本流程示意

一、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数值进行比较。

论文1:Open-Vocabulary Object Detection Using Captions

图片

  • 论文地址:https://arxiv.org/pdf/2011.10678.pdf

  • 代码地址:https://github.com/alirezazareian/ovr-cnn

    OVR-CNN是CVPR 2021的Oral-Paper,也是OVD领域的开山之作。它的二阶段训练范式,影响了后续很多的OVD工作。如下图所示,第一阶段主要使用 imagecaption 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目标检测算法。 

图片

  • 论文地址:https://arxiv.org/abs/2112.09106

  • 代码地址:https://github.com/microsoft/RegionCLIP

OVR-CNN中使用BERT与多模态Transfomer进行image-text pairs 预训练,但随着跨模态大模型研究的兴起,科研工作者开始利用CLIP,ALIGN等更强大的跨模态大模型对OVD任务进行训练。检测器模型本身主要针对Proposals,即区域信息进行分类识别,发表于CVPR 2022的RegionCLIP发现当前已有的大模型,如CLIP对裁剪区域的分类能力远低于对原图本身的分类能力,为了改进这一点RegionCLIP提出了一个全新的两阶段OVD方案。

第一阶段,数据集主要使用CC3M,COCO-caption等图文匹配数据集进行区域级别的蒸馏预训练。具体地:
1.将原先存在于长文本中的词汇进行提取,组成Concept Pool,进一步形成一组
关于Region的简单描述,用于训练。
2.利用基于LVIS预训练的RPN提取Proposal Regions,并利用原始CLIP对提取到的不同Region与准备好的描述进行匹配分类,并进一步组装成伪造的语义标签
3.将准备好的Proposal Regions与语义标签在新的CLIP模型上进行Region-text对比学习,进而得到一个专精于Region信息的CLIP模型。
4.在预训练中,新的CLIP模型还会通过蒸馏策略学习原始CLIP的分类能力,以及进行全图级别的image-text对比学习,来维持新的CLIP模型对完整图像的表达能力。
第二阶段,将得到的预训练模型在检测模型上进行迁移学习。 

 

RegionCLIP进一步拓展了已有跨模态大模型在常规检测模型上的表征能力,进而取得了更加出色的性能,如下图所示,RegionCLIP相比OVR-CNN在Novel类别上取得了较大提升。RegionCLIP通过一阶段的预训练有效地的提升了区域(Region)信息与多模态大模型之间的适应能力,但CORA认为其使用更大参数规模的跨模态大模型进行一阶段训练时,训练成本将会非常高昂。 

图片

论文3: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已被收录于CVPR 2023,为了克服其所提出当前OVD任务所面临的两个阻碍,设计了一个类DETR的OVD模型。如其文章标题所示,模型主要包含了RegionPrompting与Anchor Pre-Matching两个策略。前者通过Prompt技术来优化基于CLIP的区域分类器所提取的区域特征,进而缓解整体与区域的分布差距,后者通过DETR检测方法中的锚点预匹配策略来提升OVD模型对新类别物体定位能力的泛化性。 

CLIP原始视觉编码器的整体图像特征与区域特征之间存在分布差距,进而导致检测器的分类精度较低 (这一点与RegionCLIP的出发点类似)。因此,CORA提出Region Prompting来适应CLIP图像编码器,提高对区域信息的分类性能。具体地,首先通过CLIP编码器的前3层将整幅图像编码成一个特征映射,然后由RolAlign生成锚点框或预测框,并将其合并成区域特征。随后由CLIP图像编码器的第四层进行编码。为了缓解CLIP图像编码器的全图特征图与区域特征之间存在分布差距,设置了可学习的Region Prompts并与第四层输出的特征进行组合,进而生成最终的区域特征用来与文本特征进行匹配,匹配损失使用了朴素的交叉熵损失,目训练过程中与CLIP相关的参数模型全都冻结。 

图片

相比于RegionCLIP,CORA在COCO数据集上进一步提升了2.4的AP50数值。


二、总结与展望


        OVD技术不仅与当前流行的跨/多模态大模型的发展紧密联系,同时也承接了过去科研工作者对目标检测领域的技术累积,是传统AI技术与面向通用AI能力研究的一次成功衔接。OVD更是一项面向未来的全新目标检测技术,可以预料到的是,OVD可以检测并定位任意目标的能力,也将反过来推进多模态大模型的进一步发展,有希望成为多模态AGI发展中的重要基石。当下,多模态大模型的训练数据来源是网络上的海量粗糙信息对,即文本图像对或文本语音对。若利用OVD技术对原本粗糙的图像信息进行精准定位,并辅助预测图像的语义信息来筛选语料,将会进一步提升大模型预训练数据的质量,进而优化大模型的表征能力与理解能力。   
       一个很好的例子便是SAM(Segment Anything),SAM不仅让科研工作者们看到了通用视觉大模型未来方向,也引发了很多思考。值得注意的是,OVD技术可以很好的接入SAM,来增强SAM的语义理解能力,自动的生成SAM需要的box信息从而进一步解放人力。同样的对于AIGC(人工智能生成内容),OVD技术同样可以增强与用户之间的交互能力,如当用户需要指定一张图片的某一个目标进行变化或对该目标生成一句描述的时候,可以利用OVD的语言理解能力与OVD对未知目标检测的能力实现对用户描述对象的精准定位,进而实现更高质量的内容生成。当下OVD领域的相关研究蓬勃发展,OVD技术对未来通用AI大模型能够带来的改变值得期待。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/130974.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hbase 迁移小结:从实践中总结出的最佳迁移策略

在数据存储和处理领域,HBase作为一种分布式、可扩展的NoSQL数据库,被广泛应用于大规模数据的存储和分析。然而,随着业务需求的变化和技术发展的进步,有时候我们需要将现有的HBase数据迁移到其他环境或存储系统。HBase数据迁移是一…

Im即时通讯软件开发流程

一、需求分析 在进行软件开发之前,首先需要对需求进行分析,明确软件的功能和用户群体。即时通讯软件作为一款通讯工具,需要具备基本的通讯功能,例如聊天、文件传输、群聊等。除此之外,还需具备更多的特色功能以满足不…

​做好研发管理的三个条件​

1.制造鼓励创新的环境 要做好研发管理,首先要制造一个鼓励创新、适合研发的环境,必须采取弹性而目标化的管理,不以死板的制度限制员工的创意,必须要求实质的成果。 2.融入行销观念 将行销的观念融入研发中:为使有限的…

Linux系统编程——文件的光标移动

光标移动(lseek) 主要用于不断对文件写入数据或读取数据的的用法,每次写入数据后光标在数据尾,若要进行读取则只会没法读取到光标前的数据,这个时候就不需要重启文件,只需对光标位置做出调整就可以读取数据 使用lseek函数需要包…

十个使用Spring Cloud和Java创建微服务的实践案例

在使用Java构建微服务时,许多人认为只要学习一些微服务设计模式就足够了,比如CQRS、SAGA或每个微服务一个数据库。虽然这是正确的,但同时学习一些通用的最佳实践也是很有意义的。本文分享一些最佳实践。 1 设计模块化的微服务 微服务应该专…

仙侠类型游戏开发2D3D仙侠古风游戏

仙侠类游戏是一种以仙侠文化为背景的角色扮演游戏,玩家在游戏中扮演修仙者或武侠,通过修炼技能、完成任务和与其他玩家互动,逐步提升角色的实力和境界。这类游戏通常融合了仙侠小说中的幻想元素、武侠的武技和修仙的奇遇,创造了一…

数字化工厂管理系统的三个关键技术是什么

随着科技的飞速发展,数字化工厂管理系统已经成为了现代制造业的重要发展方向。数字化工厂管理系统通过充分运用建模技术、仿真技术和单一数据源技术,实现了产品设计和生产的虚拟化,为制造业带来了前所未有的效率和创新能力。本文将深入探讨这…

Ubuntu 20.04编译Chrome浏览器

本文记录chrome浏览器编译过程,帮助大家避坑qaq 官网文档:https://chromium.googlesource.com/chromium/src//main/docs/linux/build_instructions.md 一.系统要求 一台64位的英特尔机器,至少需要8GB的RAM。强烈推荐超过16GB。至少需要100…

嵌入式系统中,输入网址之后,发生了什么?

让我们一步一步地来看这个过程。 步骤1: 用户在浏览器中输入一个URL(比如www.bytebytego.com),然后按下回车键。首先,我们需要将这个URL转换成一个IP地址。通常,这个映射关系会被存储在缓存中&#xff0c…

Jmeter —— jmeter参数化实现

jmeter参数化 在实际的测试工作中,我们经常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件的功能。这种测试方式在业界称为数据驱动测试, 而在实际测试工作中,测试工具中实现不同数据输入的过程称…

Leetcode刷题详解——全排列 II

1. 题目链接:47. 全排列 II 2. 题目描述: 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]]示例 2: 输…

ros1 基础学习04- 自定义Publisher消息编程实现示例

整理步骤 cd进入工作空间下的代码空间, 创建功能包,并配置依赖 在功能包里面的代码空间里编写C代码文件 在cmakelist文件里面配置编译规则 cd到工作空间,编译工作空间,source设置环境变量 打开roscore, 运行海龟仿真节点,运行功能…

Django——orm模块创建表关系

django orm中如何创建表关系 1. 表关系分析 表与表之间的关系: 一对多 多对多 一对一 没有关系 判断表关系的方法: 换位思考用4张表举例: 图书表 出版社表 作者表 作者详情表图书和出版社是一对多的关系 外键字段建在多的那一方图书和作者是多对多的关系 需要创建第三张表来…

一致性算法介绍(二)

1.4. NWR N :在分布式存储系统中,有 多少份备份数据 W :代表一次成功的更新操作要求至少有 w 份数据写入成功 R : 代表一次成功的读数据操作要求至少有 R 份数据成功读取 NWR值的不同组合会产生不同的一致性效果,当WR…

leetcode:141. 环形链表

一、题目 函数原型: bool hasCycle(struct ListNode *head) 二、算法 判断不是环形链表,只需遍历链表找到空结点即可。 判断是环形链表,由于链表是环形的,遍历不会永远不会结束。所以要设置快慢指针,慢指针一次走一步&…

解锁潜在商机的钥匙——客户管理系统公海池

在竞争激烈的市场环境下,企业需要更智能、高效的方式管理客户,从而挖掘潜在商机。客户管理系统的公海池,就是为此而生的利器,让你轻松解锁商机,提升客户管理效能。 公海池,打破信息孤岛,释放潜在…

最新itvboxfast源码如意itvbox影视仓二开会员版新增支持多线路仓库自动换源等功能支持对接苹果CMS和tvbox接口搭建教程

此套源码包含前后端源码,也有打包好的APK,不知道打包的也可以反编译,有视频教程 这次更新支持自动换源以及支持多线路仓库,首页轮播图优化,新增主题,积分签到还有很多新增功能,由于这里不能发太多详细的东…

新浪微博一键删除所有内容

亲自测试用 具体操作如下: 对应的 1 2 如下,进入这个界面是按F12 就可以看到 最后画横线的位置 替换自己的id 对应的就是 3 具体代码如下 //向删除接口发起请求,删除对应节点 function del_weibo(id) {var myHeaders new Headers();myHea…

Vuex:模块化Module

由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。 这句话的意思是,如果把所有的状态都放在/src/store/index.js中,当项目变得越来越大的时候,Vue…

C#,数值计算——函数计算,Epsalg的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Convergence acceleration of a sequence by the algorithm.Initialize by /// calling the constructor with arguments nmax, an upper bound on the /// number of term…