【摘要】 当前主流的目标检测器模型在训练时即确定了需要检测的物体种类,如果想要增加新的类别,只能重新训练。本文介绍了一种增量式的物体检测模型,可以随时增加新的类别,更符合实际场景。

文章信息:Konstantin Shmelkov, Cordelia Schmid, Karteek Alahari. Incremental Learning of Object Detectors without Catastrophic Forgetting. ICCV 2017.

文章主要介绍一种针对深度学习中物体检测任务的增量式学习方法。具体来说,问题的设置为:假设在一开始的时候已经有了一个用一些数据训练得到的物体检测模型;之后又有一批新的数据,这批数据上只标注了新的、未见过的类别的bounding box和类别,增量式物体检测方法的目标是在已有模型的基础上,学习一个新的模型,可以同时检测之前的类别和新类别的物体。

这个设置的难点在于,如果不对方法进行特殊的设计,而只使用新的数据更新模型,则模型在原来的类别上的表现会非常差,这个现象被称作“灾难性遗忘”。为了解决这个问题,作者提出将原始模型中的知识“蒸馏”出来,并在更新模型的时候既对新类别进行学习,也对这部分蒸馏出来的知识进行学习,从而保证模型不会遗忘已有的知识。

具体来说,该方法的模型设计如上图所示。本文中,为了保证候选的region proposal不是针对原有模型中特定的类别,而是针对通用的物体,方法的基本架构基于Fast RCNN。当更新模型的时候,需要两个版本的模型,其中上路的Network A为原始的模型(模型参数完全固定,不进行调整),下路的Network B为可以更新的模型。模型的整体流程如下:

1.以新类别的图像作为Network A的输入,从背景得分最低(即物体得分最高)的128个RoI中随机选取64个,并在Network B中计算这64个RoI的预测输出(包括分类预测的logits和bounding box regression输出),约束Network B的预测输出和相应的Network A的预测输出相同(使用L2损失进行约束,忽略Network B中对应新类别的输出项)。通过约束新模型在已有类别上的输出和旧模型在已有类别上的输出相同,保证旧类别的知识可以迁移到新模型上;

2.针对新增的类别,使用标准的Fast RCNN损失进行训练。

从实验结果来看,相比于在具有完整标注的全部数据上的模型训练的方式来说,增量式物体检测方法在性能上有一定的下降,但是相比于不考虑“灾难性遗忘”问题的方案有明显的提升。

点击这里,了解更多

【华为云技术分享】【论文阅读】增量式物体检测相关推荐

  1. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)

    [华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...

  2. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3

    4. 微观层面 4.1 个体动机 在开源软件发展之初, 商业组织的投入很少甚至没有, 完全是靠Richard Stallman 或者 linus Torvalds 这样的个人在努力推动开源软件艰难前行 ...

  3. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1

    前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...

  4. 【华为云技术分享】直播回顾丨激发数据裂变新动能,HDC.Cloud云数据库前沿技术解读

    3月24日14:00-17:00,HDC.Cloud开发者沙龙系列云数据库专场直播线上开启,此次华为云数据库通过三场直播从NoSQL数据库新技术.数据库迁移.行业解决方案等方面对云端数据库进行深度解读 ...

  5. 【华为云技术分享】【论文阅读】增量学习近期进展及未来趋势预测

    [摘要] 本文通过三篇发表在CVPR 2019上的论文,对增量学习任务进行简单的介绍和总结.在此基础上,以个人的思考为基础,对这一研究领域的未来趋势进行预测. 一.背景介绍 目前,在满足一定条件的情况 ...

  6. 【华为云技术分享】在 K8S 大规模场景下 Service 性能如何优化?

    摘要:Kubernetes 原生的 Service 负载均衡基于 Iptables 实现,其规则链会随 Service 的数量呈线性增长,在大规模场景下对 Service 性能影响严重.本文分享了华为 ...

  7. 【华为云技术分享】Python大神编程常用4大工具,你用过几个?

    摘要:Python是一种跨平台的编程语言,能够在所有主要的操作系统上,运行你编写的任何Python程序.今天介绍几款常见的工具:Python自带的解释器.文本编辑器(Geany.Sublime Tex ...

  8. 【华为云技术分享】HDC.Cloud|华为云Stack大咖说:如何实现微服务架构下的分布式事务

    离华为开发者大会2020(Cloud)开幕仅剩一月左右,让开发者们和华为大咖近距离沟通的扫地僧早午餐会也已经开放预约.但是,有些小伙伴们已经等不及到二月了,别急,福利这不就来了吗!华为云Stack混合 ...

  9. 【华为云技术分享】前端工程师必备:从浏览器的渲染到性能优化

    摘要:本文主要讲谈及浏览器的渲染原理.流程以及相关的性能问题. 问题前瞻 1. 为什么css需要放在头部?2. js为什么要放在body后面?3. 图片的加载和渲染会阻塞页面DOM构建吗?4. dom ...

最新文章

  1. 一阶导与二阶导的关系_数学分析|第九章 定积分关于二阶导函数正负和定积分结合证明不等式问题总结...
  2. Java语法基础-1
  3. mysql按章_mysql按时间范围分区
  4. 传说之下地图素材_文旅黄陵——轩辕黄帝传说故事(十一) 杜康酿酒的传说...
  5. 用tomcat 发布mule 服务 (转)
  6. 【Android】Eclipse JNI开发
  7. 工作218:页面样式调整
  8. 向后转动作要领_跆拳道腿法之转身侧踢动作要领
  9. keras demo - fashion_mnist
  10. 网站建设-学习笔记1-建站
  11. Win10 dell驱动触摸板安装
  12. 从物联网到元宇宙 PPT
  13. boost斩波电路控制系统C语言,Boost升压斩波电路[精华]
  14. 使用Future取消超时任务
  15. 4 Kubernetes资源-Pod控制器(1)
  16. 计算机视觉-语义分割论文总结
  17. C语言完整代码实现:二叉树的先序遍历、中序遍历、后序遍历
  18. 使用cmd命令创建vue2脚手架
  19. 店梯erp供应链模块有什么?
  20. 神雕侠侣手游服务器维护,《神雕侠侣》10月25日更新维护公告

热门文章

  1. kafka查看broker上主副本_kafka分区及副本在broker的分配
  2. watch gt3 鸿蒙,华为Watch3有什么功能-华为Watch3功能介绍
  3. oracle连接操作符,Oracle操作符,函数
  4. 为什么没有看到webcontent_环卫工人工资低工作辛苦,为什么还有那么多人愿意做呢?...
  5. 理想CEO李想在2020年的一些分享演讲
  6. EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public?
  7. [翻译] DoImagePickerController
  8. 实现类的构造函数,析构函数和赋值函数
  9. [转]ubuntu apt错误解决办法
  10. CCF201403-2 窗口