CVPR2021 | 开放世界的目标检测
本文将介绍一篇很有意思的论文,该方向比较新,故本文保留了较多论文中的设计思路,背景知识等相关内容。
前言:
人类具有识别环境中未知对象实例的本能。当相应的知识最终可用时,对这些未知实例的内在好奇心有助于了解它们。 这促使我们提出一个新的计算机视觉问题,称为:“开放世界对象检测”,其中模型的任务是:
1)将尚未引入的对象识别为“未知”,无需明确监;
2)在逐渐接收到相应的标签时,逐步学习这些已识别的未知类别,而不会忘记先前学习的类别。
我们制定了这个问题,引入了评估协议并提供了一种新颖的解决方案,我们称之为 ORE:开放世界对象检测器,基于对比聚类和基于能量的未知对象识别。
我们的实验评估和消融研究分析了 ORE 在实现开放世界目标方面的功效。作为一个有趣的副产品,我们发现识别和表征未知实例有助于减少增量心理对象检测设置中的混乱,在那里我们实现了SOTA性能,而无需额外的方法论。我们希望我们的工作能够吸引对这个新确定但至关重要的研究方向的进一步研究。
论文:Towards Open World Object Detection
源码:https://github.com/JosephKJ/OWOD
关注公众号CV技术指南,及时获取更多计算机视觉技术总结文章。
本文出发点
深度学习加速了目标检测研究的进展,其中模型的任务是识别和定位图像中的对象。 所有现有的方法都在一个强有力的假设下工作,即所有要检测的类在训练阶段都可用。当我们放宽这个假设时会出现两个具有挑战性的场景:
1)测试图像可能包含来自未知类的对象,这些对象应该被归类为未知。
2)当有关此类已识别未知数的信息(标签)可用时,模型应该能够逐步学习新类。
发展心理学研究发现识别未知事物的能力是吸引好奇心的关键。这种好奇心激发了学习新事物的欲望。 这促使我们提出一个新问题,即模型应该能够将未知对象的实例识别为未知对象,然后在训练数据逐渐到达时以统一的方式学习识别它们。 我们将此问题设置称为开放世界对象检测。
开放世界对象检测设置比现有的封闭世界、静态学习设置更自然。 世界在新类的数量、类型和配置方面是多样化和动态的。 我们不能假设在训练期间可以看到推理时期望的所有类。 检测系统在机器人、自动驾驶汽车、植物表型分析、医疗保健和监控中的实际部署无法在内部训练的情况下全面了解推理时预期的类别。
人们可以从部署在这种设置中的对象检测算法中期望的最自然和现实的行为是自信地将未知对象预测为未知,并将已知对象归入相应的类。 当有关已识别未知类的更多信息可用时,系统应该能够将它们合并到其现有的知识库中。 这将定义一个智能对象检测系统,我们正在努力实现这一目标。

计算机视觉任务难度图
本文贡献
• 我们引入了一种新颖的问题设置,即开放世界对象检测,它更接近地模拟现实世界。
• 我们开发了一种称为 ORE 的新方法,它基于对比聚类、未知感知提议网络和基于能量的未知识别,以应对开放世界检测的挑战。
• 我们引入了一个全面的实验设置,它有助于测量对象检测器的开放世界特征,并根据竞争基线方法对其进行基准测试。
• 作为一个有趣的副产品,所提出的方法在增量对象检测方面实现了最先进的性能,即使主要不是为此而设计的。
Open World Object Detection

开放世界对象检测设置考虑了一个对象检测模型 Mc,该模型经过训练可以检测所有以前遇到的 C 个对象类。 重要的是,模型 MC 能够识别属于任何已知 C 类的测试实例,并且还可以通过将其分类为未知类实例来识别新的或未见过的类实例,用标签(0) 表示。然后人类将未知的实例集 Ut识别 n 个新的感兴趣类(在潜在的大量未知数中)并给模型提供训练示例。
学习器逐步添加 n 个新类并自行更新以生成更新的模型 MC+n,而无需在整个数据集上从头开始重新训练。已知类集也更新 Kt+1 = Kt + {C + 1, ... . . ,C+n}。这个循环在物体检测器的整个生命周期中持续,在那里它用新知识自适应地更新自己。
ORE(开放世界目标检测器)
一种成功的开放世界对象检测方法应该能够在没有明确监督的情况下识别未知实例,并且在将这些识别出的新实例的标签呈现给模型以进行知识升级(无需从头开始重新训练)时,不会忘记早期实例。 我们提出了一个解决方案 ORE,它以统一的方式解决了这两个挑战。
设计思路如下:
神经网络是通用函数逼近器,它通过一系列隐藏层学习输入和输出之间的映射。在这些隐藏层中学习的潜在表示直接控制每个功能的实现方式。 我们假设在对象检测器的潜在空间中学习明确区分类别可能会产生双重影响。
首先,它帮助模型识别未知实例的特征表示与其他已知实例有何不同,这有助于将未知实例识别为新颖性。 其次,它有助于学习新类实例的特征表示,而不会与潜在空间中的先前类重叠,这有助于在不遗忘的情况下进行增量学习。帮助我们意识到这一点的关键部分是我们在潜在空间中提出的对比聚类。
为了使用对比聚类对未知数进行最佳聚类,我们需要对未知实例进行监督。 即使是潜在的无限未知类集的一小部分,手动注释也是不可行的。 为了解决这个问题,我们提出了一种基于区域提议网络(RPN) 的自动标记机制来伪标记未知实例。 潜在空间中自动标记的未知实例的固有分离有助于我们基于能量的分类头区分已知和未知实例。

如上图所示,选择 Faster R-CNN 作为基础检测器。与单阶段的Retina Net 检测器和YOLO 检测器相比,它具有更好的开放集性能。
Faster R-CNN是一个两阶段的目标检测器。在第一阶段,一个与类别无关的区域提议网络 (RPN) 从共享骨干网络的特征图中提出可能具有对象的潜在区域。第二阶段对每个提议区域的边界框坐标进行分类和调整。由感兴趣区域 (RoI) 头部中的残差块生成的特征进行对比聚类。RPN 和分类头分别用于自动标记和识别未知数。
对比聚类算法如下:

Auto-labelling Unknowns with RPN
我们基于区域提议网络 (RPN) 与类别无关的事实。给定输入图像,RPN 为前景和背景实例生成一组边界框预测,以及相应的对象分数。我们将那些具有高对象分数但不与真实对象重叠的提议标记为潜在的未知对象。简单地说,我们选择前 k 个背景区域提议,按其对象性分数排序,作为未知对象。
Energy Based Unknown Identififier

由于通过对比聚类在潜在空间中实施了清晰的分离,可以看到已知类数据点和未知数据点的能级明显分离,如上图所示。我们通过energy based models(EBMs)来学习一个能量函数,使用单个输出标量来估计观察变量 F 和可能的输出变量集 L 之间的兼容性。
Alleviating Forgetting
我们考虑了终身学习中的很多方法,最终决定使用相对简单的 ORE 方法来减轻遗忘,即我们存储一组平衡的示例并在每个增量步骤之后微调模型。在每一点上,我们确保每个类的最少 Nex 实例存在于示例集中。
评协议

实验结果

蓝色部分为刚开始作为背景,在经过ORE训练后自主识别的准确度。

该图展示了ORE通过RPN很好地识别了一些未知对象,但在第三张图中也有指鹿为马的现象出现。
本文来源于公众号 CV技术指南 的论文分享系列。
欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。
在公众号中回复关键字 “技术总结” 可获取以下文章的汇总pdf。

其它文章
CVPR2021 | 开放世界的目标检测的更多相关文章
- 不带Anchors和NMS的目标检测
前言: 目标检测是计算机视觉中的一项传统任务.自2015年以来,人们倾向于使用现代深度学习技术来提高目标检测的性能.虽然模型的准确性越来越高,但模型的复杂性也增加了,主要是由于在训练和NMS后处理过 ...
- 经典论文系列 | 目标检测--CornerNet & 又名 anchor boxes的缺陷
前言: 目标检测的预测框经过了滑动窗口.selective search.RPN.anchor based等一系列生成方法的发展,到18年开始,开始流行anchor free系列,CornerNe ...
- 论文翻译——R-CNN(目标检测开山之作)
R-CNN论文翻译 <Rich feature hierarchies for accurate object detection and semantic segmentation> 用 ...
- 多加速器驱动AGX的目标检测与车道分割
多加速器驱动AGX的目标检测与车道分割 Object Detection and Lane Segmentation Using Multiple Accelerators with DRIVE AG ...
- Three.js 实现3D开放世界小游戏:阿狸的多元宇宙 🦊
声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 2545光年之外的开普勒1028星系,有一颗色彩斑斓的宜居星球 ,星际移民 ...
- GDC2016 执着于光影表现的【全境封锁】的开放世界渲染
执着于光影表现[全境封锁]的开放世界渲染 Snowdrop(雪莲花)引擎的全局照明技术介绍 补上原文链接:http://game.watch.impress.co.jp/docs/news/201 ...
- (转) 技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道
技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道 原创 2016-09-21 钟巧勇 深度学习大讲堂 点击上方“深度学习大讲堂”可订阅哦!深度学习大讲堂是高质量原创内容平台,邀请 ...
- YOLT:将YOLO用于卫星图像目标检测
之前作者用滑动窗口和HOG来进行船体监测,在开放水域和港湾取得了不错的成绩,但是对于不一致的复杂背景,这个方法的性能会下降.为了解决这个缺点,作者使用YOLO作为物体检测的流水线,这个方法相比于HOG ...
- 第三十五节,目标检测之YOLO算法详解
Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time object de ...
随机推荐
- table不能使用jQuery的slideDown的解决方法
table不能使用jQuery的slideDown的解决方法 一个后台管理项目中遇到了如下场景 要求父级栏目可以收纳子栏目,即折叠功能,而且要有过渡动画,不能太生硬. 它是用table来实现的,但是遇 ...
- 『动善时』JMeter基础 — 22、JMeter中实现参数化(CSV)
目录 1.参数化的定义 2.什么情况下需要用到参数化 3.JMeter实现参数化的方式 4.CSV数据文件设置界面详细说明 (1)CSV数据文件设置组件界面说明 (2)补充说明:Recycle on ...
- [转载]层叠与并排win10
三. 层叠与并排 如果要排列的窗口超过4个,分屏就显得有些不够用了,这时不妨试一试最传统的窗口排列法.具体方法是,右击任务栏空白处,然后选择"层叠窗口"."并排显示窗口& ...
- Linux下Shell实现服务器IP监测
实验室有一个服务器放在机房,装的是Ubuntu Server,IP为自动分配,因此一旦IP有变化就无法远程操作,必须去机房记录新的IP.学了几天Shell之后想,是不是可以定时检测其IP的变化,一旦有 ...
- 运维电子书PDF汇总
SRE Google运维解密 Nginx Cookbook 2019 链接:https://pan.baidu.com/s/1Sob4JSjNKe77wMACmDZHig 提取码:rhc6
- RabbitMQ 集群原理
RabbitMQ默认集群原理 rabbitmq 本身是基于erlang编写,erlang语言天生具备分布式的特性(通过同步Erlang集群各节点的erlang cookie实现),RabbiteMQ天 ...
- sklearn中,数据集划分函数 StratifiedShuffleSplit.split() 使用踩坑
在SKLearn中,StratifiedShuffleSplit 类实现了对数据集进行洗牌.分割的功能.但在今晚的实际使用中,发现该类及其方法split()仅能够对二分类样本有效. 一个简单的例子如下 ...
- JAVA基础语法-day02
五.变量.常量.作用域 静态量(类变量)只能写在类中,不能在外面,用static修饰. final修饰的变量为常量. 六.运算符 Math类是一个工具类,用于复杂数学运算,它的构造器被定义成priva ...
- unity给子物体添加Shader
分享两个自制Shader:http://pan.baidu.com/s/1nuRcF2L Shader存放路径:\Assets\Resources\Shader\ 定义Shader类型: public ...
- ASP.Net Core5.0 EF Core使用记录
打算把之前开源的 基于ASP.Net Core开发一套通用后台框架 重新用ASP.Net Core 5写一遍,也算是巩固一下旧知识,学习下新知识.本文是项目搭建初期关于 EF Core 的使用记录 1 ...