【CVPR2023】可持续检测的Transformer用于增量对象检测

目录

导读

动机

本文贡献

相关工作/概念

本文方法

实验

实验结果

消融实验

可视化结果

结论


 

代码已开源:https://github.com/yaoyao-liu/CL-DETR

图片

导读

本文旨在解决增量目标检测(IOD)问题,模型需要逐步学习新的目标类别,同时不忘记先前学到的知识。在这个背景下,论文提出了一种创新性的方法,称为ContinuaL DEtection TRansformer(CL-DETR),它基于Transformer架构,并允许有效地使用知识蒸馏(KD)和示例重播(ER)等技术来解决增量学习中的挑战。该方法不仅解决了目标检测中的灾难性遗忘问题,还提供了在增量学习任务中更好的性能,并通过实验证明了其有效性。

动机

人类学习的方式:人类在学习新知识时往往会保留之前学到的知识,不会因为学习新知识而忘记以前的知识。这种增量学习的方式对于机器学习领域具有重要的启发,因为它使得模型可以不断地积累新的知识,而不会丢失旧有的知识。

避免灾难性遗忘:在传统的机器学习中,当模型接触到新的数据时,往往会覆盖或忘记之前学到的知识,这被称为灾难性遗忘。在目标检测领域,灾难性遗忘可能导致模型无法有效地识别旧有的目标类别,从而降低了模型的实用性。因此,解决灾难性遗忘问题是增量目标检测的重要动机之一。

适应实际应用场景:在现实世界的应用中,目标检测模型可能需要逐步适应新的目标类别,而不是一次性地训练模型以识别所有可能的目标。例如,安全监控系统可能需要在不同时间学习新的监测对象。因此,增量目标检测有助于使模型更适应实际应用场景。

综上,本文旨在提出一种有效的方法来解决增量目标检测中的灾难性遗忘问题,使得模型可以逐步学习新的目标类别,同时保留之前学到的知识,从而更好地适应实际应用需求。

本文贡献

  • Detector Knowledge Distillation (DKD) 损失:本文引入了一种名为Detector Knowledge Distillation(DKD)的损失,该方法改进了知识蒸馏(KD)的方式,解决了蒸馏知识与新证据之间的冲突,并忽略冗余背景检测。(此处的"新证据" 指的是在增量目标检测任务中,模型在学习新的目标类别时所观察到的有关这些新类别的训练数据和标签。)

  • 示例重播(ER)校准策略:将存储的样本与训练集分布匹配,以解决示例重播方法在不平衡目标分布情况下的问题。

  • IOD基准协议的重新定义:避免在不同训练阶段观察相同的图像,更贴近实际应用场景。

  • 进行了广泛的实验,包括最先进的结果、消融研究和进一步的可视化。

相关工作/概念

相关工作包括增量学习、增量目标检测、以及基于Transformer的目标检测方法

增量学习:增量学习(Incremental Learning)是一个备受关注的领域,也被称为持续学习(Continual Learning)或终身学习(Lifelong Learning)。它的目标是使模型能够逐步学习新的知识,而不会忘记已经学到的知识。先前的增量学习方法可以分为两大类:一是知识蒸馏(Knowledge Distillation,KD),它试图通过匹配新模型和旧模型之间的输出来保留先前知识;二是示例重播(Exemplar Replay,ER),它通过保存旧数据的样本并在后续阶段重播它们来保留知识。

增量目标检测(IOD):增量目标检测是一种特殊的目标检测任务,其中模型需要逐步学习新的目标类别,而不会忘记旧有的目标类别。在以前的研究中,知识蒸馏和示例重播方法已经被应用于增量目标检测中。一些方法将知识蒸馏应用于目标检测的输出,而另一些方法则将示例重播用于保存旧有的数据。

基于Transformer的目标检测方法:近年来,基于Transformer的目标检测方法得到了广泛的关注,例如DETR(DEtection TRansformer)等。这些方法采用了Transformer架构,具有一定的优势,但传统的增量学习方法不一定适用于它们,因为它们的工作原理和传统目标检测器不同。

本文方法

图片

 

Detector Knowledge Distillation

作者提出了一种新的知识蒸馏方法,称为Detector Knowledge Distillation(DKD)。该方法从旧模型中选择最有信心的前景目标预测,并将它们用作伪标签。作者故意忽略背景预测,因为它们不平衡,并且可能与当前阶段提供的新类别的标签相矛盾。

然后,将旧类别的伪标签与新类别的地面真实标签合并,并使用双分图匹配方法来训练模型,以使模型在联合标签上进行训练。这个方法继承了原始方法的良好特性,确保了标签和假设之间的一对一匹配,并避免了重复检测。

具体步骤如下:

从旧模型的预测中确定一个前景预测的子集 F。这些前景预测是被预测为目标物体的预测。

图片

 

图片

 

选择具有最高自信度的 K 个预测,形成 F 的子集 P。这些预测被认为是最有把握的前景预测。

图片

 

进一步限制了前景预测的子集,即 P 的子集 Q ,确保这些预测与新类别的地面真实标签没有太多重叠。

图片

 

保留了一个经过筛选的伪标签集合:

图片

 

从当前标签 y 和旧模型生成的伪标签蒸馏成一个一致的标签集合y^distill,这个集合包括了新类别的对象标签、伪标签和足够多的背景标签,以确保 y^distill 包含 N 个元素:

图片

 

最后,模型通过使用与标准损失相同的训练损失(eq. (1))来训练

图片

 

图片

 

与标准损失的主要区别在于,对于新标签的类别分布 pi 是确定性的,但对于伪标签则不是。因此,知识蒸馏通过使用伪标签可以更全面地传递模型的知识,包括了模型的不确定性,以实现更好的知识传递和学习。

保持分布的校准

Exemplar Replay(ER)方法的基本思想是存储一小部分样本示例(exemplars),然后在未来的训练阶段重放它们,这种思想已被证明在保留旧类别知识方面是有效的。但是,在IOD中,旧类别和新类别的注释之间存在严重的不平衡问题。因此,为了解决上述问题,作者提出了一种选择示例的算法,该方法步骤如下:

选择样本来匹配训练分布:在每个训练阶段,算法会选择一组示例(exemplars),这些示例的选择是通过最小化示例子集

图片

 

与当前数据子集

图片

 

的类别分布之间的Kullback-Leibler散度来实现的:

图片

在每个训练阶段,新选择的示例子集与之前的示例子集进行合并,以形成一个新的示例子集。这确保了最终的示例子集的类别分布大致匹配整个训练数据集的类别分布。

使用平衡数据进行训练:在训练模型时,算法分两步进行。第一步,模型使用Detector Knowledge Distillation(DKD)损失函数在所有可用数据(包括当前数据子集

图片

 

和示例子集

图片

 

)上进行训练。这一步可以看作是模型的初始训练,虽然使用了丰富的数据,但可能不太平衡。在第二步中,模型使用新的示例子集

图片

 

进行微调,而不使用当前数据子集

图片

 

。这一步的目标是进一步改进模型的校准性,因为示例子集已经与类别分布相匹配。

实验

实验结果

图片

 

两阶段设置(Two-phase setting):在两阶段设置中,研究人员比较了应用 CL-DETR 到 Deformable DETR 和 UP-DETR 模型的性能。这些设置分为两个阶段,每个阶段有不同数量的目标类别。实验结果表明,在这些设置中,CL-DETR 总体上表现优于其他现有的增量目标检测方法,包括最先进的方法[13]。

例如,在 70+10 和 40+40 的两阶段设置中,Deformable DETR 模型与 CL-DETR 的结合达到了最高的平均精度(AP),分别为 40.1% 和 37.5%。当第一阶段包含更多类别时,性能差距更大,这表明 CL-DETR 更容易受益于一个经过充分预训练的模型。

图片

 

多阶段设置(Multiple-phase setting):在多阶段设置中,研究人员对 CL-DETR 进行了更多的评估,包括 40+20×2 和 40+10×4 这两个实验变种。实验结果显示,CL-DETR 相对于其他增量目标检测方法在这些设置中表现出更大的优势。随着阶段数量的增加,CL-DETR 的相对优势也增加。

例如,在 40+10×4 设置中,CL-DETR 将与方法 [13] 相比,将平均精度(AP)提高了 7.4 个百分点。这表明 CL-DETR 在更具挑战性的设置中表现更出色,因为在这些设置中,由于训练阶段数量较多,遗忘问题更为严重。

消融实验

图片

 

表 2 的1-4行:对于 DKD 方法的消融研究

表 2 的5-6行:对于 ER  方法的消融研究

图片

 

表 3:伪标签选择策略的消融研究

表 3 的1-3行:选择最自信的非背景预测

表 3 的4-6行:使用预测分数的阈值进行预测

可视化结果

图片

 

图 4 展示了在COCO 2017数据集中一些训练样本中的旧类别伪标签(蓝色)和真实标签(绿色)的边界框。

  • 在图4(a, b)中,CL-DETR生成准确的伪标签边界框,与真实标签边界框完全匹配。这显示了伪标签选择策略的有效性。这表明在一些情况下,模型能够生成准确的伪标签,从而提高了性能。

  • 在图4(c, d)中,当图像中的目标太多时,CL-DETR无法为所有目标生成伪标签边界框。这是因为我们的策略是首先选择前K个最可信的非背景边界框作为伪标签,然后删除与新类别真实标签有过多重叠的边界框。因此,伪标签边界框的数量始终小于K。这种权衡是合理的,因为它在实验中的改进已经得到验证,它更倾向于正确但可能不完整的标注,而不是矛盾或嘈杂的标注。

结论

  • 论文引入了一种名为CL-DETR的新型增量目标检测方法,它能够有效地利用知识蒸馏(KD)和示例重放(ER)技术,尤其适用于基于Transformer的检测器。

  • CL-DETR通过引入Detector Knowledge Distillation(DKD)改进了标准KD损失,DKD能够选择最具信息性的旧模型预测,消除冗余的背景预测,并确保蒸馏的信息与新的地面真相一致。

  • CL-DETR还通过选择与训练集分布匹配的示例来改进ER方法,从而提高了性能。

  • 该方法具有通用性,可以应用于不同的Transformer-based检测器,包括Deformable DETR和UP-DETR,而且在这些检测器上实现了显著的性能提升。

  • 论文还重新定义了一种更加现实的增量目标检测基准测试协议,避免在不同的训练阶段中使用重复的图像。

 

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

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

相关文章

数据驱动与数据安全,自动驾驶看得见的门槛和看不见的天花板

作者 |田水 编辑 |德新 尽管心理有所准备,2023年智能驾驶赛道的内卷程度还是超出了大多数人的预期。 这一年,汽车价格战突然开打,主机厂将来自销售终端的价格压力,传导到下游智驾供应商,于是,市面上出现…

功能测试知识超详细总结

一、测试项目启动与研读需求文档 (一) 组建测试团队 1、测试团队中的角色 2、测试团队的基本责任 尽早地发现软件程序、系统或产品中所有的问题。督促和协助开发人员尽快地解决程序中的缺陷。帮助项目管理人员制定合理的开发和测试计划。对缺陷进行跟…

Python+OpenCV 零基础学习笔记(1):anaconda+vscode+jupyter环境配置

文章目录 前言相关链接环境配置:AnacondaPython配置OpenCVOpencv-contrib:Opencv扩展 Notebook:python代码笔记vscode配置配置AnacondaJupyter文件导出 前言 作为一个C# 上位机,我认为上位机的终点就是机器视觉运动控制。最近学了会Halcon发现机器视觉还…

基于SpringBoot + Vue的图书管理系统的设计与实现

基于SpringBoot Vue的图书管理系统的设计与实现 目录 1 引言 1.1 编写目的 1.2 项目背景 1.3 参考资料 2 总体设计 2.1 需求概述 2.2 软件结构 3 模块设计 3.1 模块基本信息 3.2 功能概述 3.3 算法 3.4 模块处理逻辑 4 数据库设计 4.1 ER图表 4.…

网页乱码问题(edge浏览器)

网页乱码问题(edge) 文章目录 网页乱码问题(edge)前言一、网页乱码问题1.是什么:(描述)2.解决方法:(针对edge浏览器)(1)下载charset插…

【力扣题解】P404-左叶子之和-Java题解

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P404-左叶子之和-Java题解🌏题目描述💡题解🌏总结…

量子密码学简介

量子密码学(英语:Quantum cryptography)泛指利用量子力学的特性来加密的科学。量子密码学最著名的例子是量子密钥分发,而量子密钥分发提供了通信两方安全传递密钥的方法,且该方法的安全性可被信息论所证明。目前所使用…

声明 | 为打击假冒账号、恶意抄袭账号等诈骗活动,提升本账号权威,本博主特此郑重声明

声明 | 为打击假冒账号、恶意抄袭账号诈骗活动,提升本账号权威,本博主特此郑重声明 一、本账号为《机器学习之心》博主CSDN唯一官方账号,唯一联系方式见文章底部。 二、《机器学习之心》博主未授权任何第三方账号进行模型合作、程序设计、源…

AMEYA360:佰维发布CXL 2.0 DRAM,赋能高性能计算

导语:CXL是一种开放式全新互联技术标准,可在主机处理器与加速器、内存缓冲区、智能I/O设备等设备之间提供高带宽、低延迟连接,从而满足高性能异构计算的要求,并且其维护CPU/GPU内存空间和连接设备内存之间的一致性,突破…

性能测试必备基础知识(一)

1. 平均负载 平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和CPU使用率并没有直接关系。 可运行状态的进程是指正在使用CPU或者等待CPU资源的进程。当我们使用类似于"ps"命令时…

金三银四,软件测试面试题总结,offer稳稳的。。。

前言 前面看到了一些面试题,总感觉会用得到,但是看一遍又记不住,所以我把面试题都整合在一起,都是来自各路大佬的分享,为了方便以后自己需要的时候刷一刷,不用再到处找题,今天把自己整理的这些…

基于springboot,vue在线聊天系统

开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:TypeScriptVue3.0ElementUI-Plus 服务端技术:springboo…

HarmonyOS4.0系统性深入开发06Stage模型开发概述

Stage模型开发概述 基本概念 下图展示了Stage模型中的基本概念。 图1 Stage模型概念图 UIAbility组件和ExtensionAbility组件 Stage模型提供UIAbility和ExtensionAbility两种类型的组件,这两种组件都有具体的类承载,支持面向对象的开发方式。 UIAbili…

Solana 生态铭文跨链桥 Sobit 是何神圣?其场外白名单已达到1200U

在短暂的沉寂,在与 Solana 手机 Saga 联合生态 Meme 币 Bonk 掀起一波 meme 浪潮,以及GPU 计算网路Render network 宣布将从公链Polygon迁往Solana 后,Solana 生态再次迎来爆发。随着 SOL 代币在 12 月暴涨,SOL 也在市值上超越了 …

最新多模态大模型SOTA - EMU (Generative Multimodal Models are In-Context Learners)

前言 设计的模型叫EMU,通过统一的自回归方式(其预测的输出依赖于过去的输出)训练。参数37B(370亿)。指标在目前多项视觉(图像,视频)问答的SOTA tips: 不过这里吐槽一点…

计算机网络——网络层(四)

前言: 前面我们已经对物理层和数据链路层有了一个简单的认识与了解,现在我们需要对数据链路层再往上的一个层,网络层进行一个简单的学习与认识,网络层有着极其重要的作用,让我们对网络层进行一个简单的认识与学习吧 目…

加强-jdbc与连接池的关系,连接池有哪些

0驱动什么是数据库驱动 开发人员编写好应用程序之后想要操作数据库,平常就了解到有很多种数据库如oracle\mysql\sql server,代码已经写好了是一套总不能在使用不同的数据库技术的时候代码就要写不同方式连接来连接数据库吧,所以开发商在开发数…

什么是公网IP和弹性公网IP

目录 公网IP 弹性公网IP 公网IP 公网IP是由公共网络运营商分配且具有独立性、全球唯一性和全球可达性等特点,可让用户通过互联网与其他用户实现数据交流和信息传递。 用户会使用网站的域名访问网站,而域名会通过DNS域名解析服务解析为公网IP地址&…

本地登陆页面:对本地搜索词进行排名的策略

位置着陆页没有得到足够的尊重。 你用你的姓名、地址、电话号码和工作时间来设置它们。也许您嵌入了用于行车路线的 Google 地图。 也许你写了一些没人会读的副本,如果你有多个位置,你在每一页上重复相同的副本,只是更改位置名称。 如果你…

【Unity6.0+AI】Sentis加载模型识别手写数字案例实现

按照国际惯例,看效果: 素材准备: 自己在PS中绘制黑底白字手写字体,导出jpg,尺寸28*28! 素材设置 基本步骤 准备工作:从 ONNX Model Zoo 下载手写识别 ONNX 模型文件 【下载模型】MNIST 手写数字识别模型 mnist-12.onnx,并将其拖入项目窗口的 Assets 文件夹。 【下载模…