CVPR目标检测:少见的知识蒸馏用于目标检测(附论文下载)-程序员宅基地

技术标签: python  机器学习  计算机视觉  深度学习  人工智能  

欢迎关注“

计算机视觉研究院

547d6ee969bb73547719be13964badad.gif

计算机视觉研究院专栏

作者:Edison_G

近年来,知识蒸馏已被证明是对模型压缩的一种有效的解决方案。这种方法可以使轻量级的学生模型获得从繁琐的教师模型中提取的知识。

89048059a6add6030082b26ff1569726.png

长按扫描二维码关注我们

回复“GID”获取论文

1、简介

然而,以往的蒸馏检测方法对不同的检测框架具有较弱的泛化性,并且严重依赖于GT,忽略了实例之间有价值的关系信息。因此,研究者提出了一种新的基于鉴别实例的检测方法,而不考虑GT的正负区别,称为通用的实例蒸馏(GID)。

新提出的方法包含了一个通用的实例选择模块(GISM),以充分利用基于特征、基于关系和基于响应的知识进行蒸馏。大量的结果表明,学生模型在各种检测框架中取得了显著的AP改进,甚至优于教师。具体来说,ResNet-50的RetinaNet在COCO数据集上使用GID在mAP中达到39.1%,超过基线36.2%,甚至优于基于ResNet-101的38.1%AP教师模型。

d46c219981b24bf3fd28d127b05c93e2.png

2、背景及动机

由Hinton等人【Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network, 2015】提出的知识蒸馏(KD)是解决上述问题的一种很有前途的方法。知识蒸馏是将大模型的知识传递给小模型,从而提高小模型的性能,达到模型压缩的目的。目前,知识的典型形式可分为三类:反应型知识、特征型知识和关系型知识。然而,大多数蒸馏方法主要是针对多分类问题而设计的。 

直接将分类特定蒸馏方法迁移到检测模型中的效果较差,因为检测任务中正实例和负实例的比例极不平衡。 

一些为检测任务设计的蒸馏框架处理了这个问题,并取得了令人印象深刻的结果,例如。Li【Quanquan Li, Shengying Jin, and Junjie Yan. Mimicking very efficient network for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 2017】通过提取RPN和Wang等人【Tao Wang, Li Yuan, Xiaopeng Zhang, and Jiashi Feng. Distilling object detectors with fine-grained feature imitation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2019】抽样一定比例的正负实例来解决这个问题。进一步提出只提取近GT区。然而,蒸馏的正负实例之间的比率需要精心设计,而仅蒸馏与GT相关的区域可能会忽略背景中潜在的信息区域。此外,目前的检测蒸馏方法不能同时在多个检测框架中工作:如two-stage, anchor-free。因此,研究者希望设计一种通用的蒸馏方法,用于各种检测框架,以有效地使用尽可能多的知识,而不涉及正或负。

3、新框架优势

fa37ff274f560266c39a8e166dd793fe.png

通过上图可以知道,新框架有如下优势:

(i)可以对一个图像中实例之间的关系知识进行建模,以便进行蒸馏。Hu【Han Hu, Jiayuan Gu, Zheng Zhang, Jifeng Dai, and Yichen Wei. Relation networks for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2018】演示了关系信息对检测任务的有效性。然而,基于关系的知识蒸馏在目标检测中还没有被探索。 

(ii)避免手动设置正、负区域的比例,或只选择与GT有关的区域进行蒸馏。虽然GT相关的领域几乎是信息丰富的,但极其困难和简单的实例可能是无用的,甚至来自背景的一些信息块也可以帮助学生学习教师的泛化。此外,研究者还发现,自动选择学生和教师之间的一些判别实例进行蒸馏,可以使知识传递更加有效。这些判别实例被称为一般实例(GIS),因为新方法不关心正实例和负实例之间的比例,也不依赖于GT标签。

(iii)新方法对各种检测框架具有强大的泛化能力。基于学生和教师模型的输出计算GIS,而不依赖于特定检测器的某些模块或特定检测框架的某些关键特性,如anchor。

4、General Instance Distillation

先前的工作【Tao Wang, Li Yuan, Xiaopeng Zhang, and Jiashi Feng. Distilling object detectors with fine-grained feature imitation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2019】提出,目标附近的特征区域有相当多的信息,这对于知识蒸馏是有用的。然而,研究者发现,不仅目标附近的特征区域,而且即使是来自背景区域的判别块也有意义的知识。基于这一发现,设计了通用实例选择模块(GISM),如下图所示。

08df45c3fd1732b9974989f98ae8dc66.png

该模块利用教师和学生模型的预测来选择蒸馏的关键实例。此外,为了更好地利用教师提供的信息,提取并利用基于特征、基于关系和基于响应的知识进行蒸馏,如下图所示。实验结果表明,新的蒸馏框架对于目前最先进的检测模型是通用的。

ecca1fed364c4ae7a197404ead6d7bc8.png

5、实验

为了验证该方法的有效性和鲁棒性,在不同的检测框架和异构主架构上进行了实验,并在COCO和Pascal VOC数据集的少数类检测上进行了实验。具体来说,在【Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In C. Cortes, N. D. Lawrence, D. D. Lee, M. Sugiyama, and R. Garnett, editors, Advances in Neural Information Processing Systems 28, pages 91–99. Curran Associates, Inc., 2015】中的设置之后,对于PascalVOC数据集,选择在VOC2007中分割的5k训练图像和在VOC2012中分割的16k训练图像进行训练,在VOC2007中分割的5k测试图像进行测试。对于COCO,选择默认的120k训练图像分割进行训练,5k Val图像分割进行测试。所有蒸馏性能均以AP进行评价。

0bb963964fafa0458b1151ca553db428.png

42c39a49aa09e60019afeb0d09d6f1c2.png

5aaae462af86e7760d9acc7b861319a5.png

acb90ced78176619529bd0d56225ce06.png

绿色、红色、黄色和青色框分别表示GT、正、半正和负实例。为了进一步分析了每种类型的一般实例的贡献,并验证了GISM的有效性,对每种类型的一般实例进行了实验。引入了一个名为intersection over proposals (IoP),以帮助分离这些GI:

8d33c8dfb473fff4c14afe0c24508386.png

GI的每个类型定义如下:

ac2a1d8cf310e07b002b29a3128ead72.png

1ddfba013d6aa6bd02c18b1f432e4493.png

 THE END

我们开创“计算机视觉协会”知识星球一年有余,也得到很多同学的认可,我们定时会推送实践型内容与大家分享,在星球里的同学可以随时提问,随时提需求,我们都会及时给予回复及给出对应的答复。

49eae1abe29d180427c450612c361e60.png

如果想加入我们“计算机视觉研究院”,请扫二维码加入我们。我们会按照你的需求将你拉入对应的学习群!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

1ee95f8dea5298685d073b6f96d58746.png

计算机视觉研究院

长按扫描二维码关注我们

回复“GID”获取论文

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/gzq0723/article/details/122659828

智能推荐

hive使用适用场景_大数据入门:Hive应用场景-程序员宅基地

文章浏览阅读5.8k次。在大数据的发展当中,大数据技术生态的组件,也在不断地拓展开来,而其中的Hive组件,作为Hadoop的数据仓库工具,可以实现对Hadoop集群当中的大规模数据进行相应的数据处理。今天我们的大数据入门分享,就主要来讲讲,Hive应用场景。关于Hive,首先需要明确的一点就是,Hive并非数据库,Hive所提供的数据存储、查询和分析功能,本质上来说,并非传统数据库所提供的存储、查询、分析功能。Hive..._hive应用场景

zblog采集-织梦全自动采集插件-织梦免费采集插件_zblog 网页采集插件-程序员宅基地

文章浏览阅读496次。Zblog是由Zblog开发团队开发的一款小巧而强大的基于Asp和PHP平台的开源程序,但是插件市场上的Zblog采集插件,没有一款能打的,要么就是没有SEO文章内容处理,要么就是功能单一。很少有适合SEO站长的Zblog采集。人们都知道Zblog采集接口都是对Zblog采集不熟悉的人做的,很多人采取模拟登陆的方法进行发布文章,也有很多人直接操作数据库发布文章,然而这些都或多或少的产生各种问题,发布速度慢、文章内容未经严格过滤,导致安全性问题、不能发Tag、不能自动创建分类等。但是使用Zblog采._zblog 网页采集插件

Flink学习四:提交Flink运行job_flink定时运行job-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏2次。restUI页面提交1.1 添加上传jar包1.2 提交任务job1.3 查看提交的任务2. 命令行提交./flink-1.9.3/bin/flink run -c com.qu.wc.StreamWordCount -p 2 FlinkTutorial-1.0-SNAPSHOT.jar3. 命令行查看正在运行的job./flink-1.9.3/bin/flink list4. 命令行查看所有job./flink-1.9.3/bin/flink list --all._flink定时运行job

STM32-LED闪烁项目总结_嵌入式stm32闪烁led实验总结-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏6次。这个项目是基于STM32的LED闪烁项目,主要目的是让学习者熟悉STM32的基本操作和编程方法。在这个项目中,我们将使用STM32作为控制器,通过对GPIO口的控制实现LED灯的闪烁。这个STM32 LED闪烁的项目是一个非常简单的入门项目,但它可以帮助学习者熟悉STM32的编程方法和GPIO口的使用。在这个项目中,我们通过对GPIO口的控制实现了LED灯的闪烁。LED闪烁是STM32入门课程的基础操作之一,它旨在教学生如何使用STM32开发板控制LED灯的闪烁。_嵌入式stm32闪烁led实验总结

Debezium安装部署和将服务托管到systemctl-程序员宅基地

文章浏览阅读63次。本文介绍了安装和部署Debezium的详细步骤,并演示了如何将Debezium服务托管到systemctl以进行方便的管理。本文将详细介绍如何安装和部署Debezium,并将其服务托管到systemctl。解压缩后,将得到一个名为"debezium"的目录,其中包含Debezium的二进制文件和其他必要的资源。注意替换"ExecStart"中的"/path/to/debezium"为实际的Debezium目录路径。接下来,需要下载Debezium的压缩包,并将其解压到所需的目录。

Android 控制屏幕唤醒常亮或熄灭_android实现拿起手机亮屏-程序员宅基地

文章浏览阅读4.4k次。需求:在诗词曲文项目中,诗词整篇朗读的时候,文章没有读完会因为屏幕熄灭停止朗读。要求:在文章没有朗读完毕之前屏幕常亮,读完以后屏幕常亮关闭;1.权限配置:设置电源管理的权限。

随便推点

目标检测简介-程序员宅基地

文章浏览阅读2.3k次。目标检测简介、评估标准、经典算法_目标检测

记SQL server安装后无法连接127.0.0.1解决方法_sqlserver 127 0 01 无法连接-程序员宅基地

文章浏览阅读6.3k次,点赞4次,收藏9次。实训时需要安装SQL server2008 R所以我上网上找了一个.exe 的安装包链接:https://pan.baidu.com/s/1_FkhB8XJy3Js_rFADhdtmA提取码:ztki注:解压后1.04G安装时Microsoft需下载.NET,更新安装后会自动安装如下:点击第一个傻瓜式安装,唯一注意的是在修改路径的时候如下不可修改:到安装实例的时候就可以修改啦数据..._sqlserver 127 0 01 无法连接

js 获取对象的所有key值,用来遍历_js 遍历对象的key-程序员宅基地

文章浏览阅读7.4k次。1. Object.keys(item); 获取到了key之后就可以遍历的时候直接使用这个进行遍历所有的key跟valuevar infoItem={ name:'xiaowu', age:'18',}//的出来的keys就是[name,age]var keys=Object.keys(infoItem);2. 通常用于以下实力中 <div *ngFor="let item of keys"> <div>{{item}}.._js 遍历对象的key

粒子群算法(PSO)求解路径规划_粒子群算法路径规划-程序员宅基地

文章浏览阅读2.2w次,点赞51次,收藏310次。粒子群算法求解路径规划路径规划问题描述    给定环境信息,如果该环境内有障碍物,寻求起始点到目标点的最短路径, 并且路径不能与障碍物相交,如图 1.1.1 所示。1.2 粒子群算法求解1.2.1 求解思路    粒子群优化算法(PSO),粒子群中的每一个粒子都代表一个问题的可能解, 通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。    在路径规划中,我们将每一条路径规划为一个粒子,每个粒子群群有 n 个粒 子,即有 n 条路径,同时,每个粒子又有 m 个染色体,即中间过渡点的_粒子群算法路径规划

量化评价:稳健的业绩评价指标_rar 海龟-程序员宅基地

文章浏览阅读353次。所谓稳健的评估指标,是指在评估的过程中数据的轻微变化并不会显著的影响一个统计指标。而不稳健的评估指标则相反,在对交易系统进行回测时,参数值的轻微变化会带来不稳健指标的大幅变化。对于不稳健的评估指标,任何对数据有影响的因素都会对测试结果产生过大的影响,这很容易导致数据过拟合。_rar 海龟

IAP在ARM Cortex-M3微控制器实现原理_value line devices connectivity line devices-程序员宅基地

文章浏览阅读607次,点赞2次,收藏7次。–基于STM32F103ZET6的UART通讯实现一、什么是IAP,为什么要IAPIAP即为In Application Programming(在应用中编程),一般情况下,以STM32F10x系列芯片为主控制器的设备在出厂时就已经使用J-Link仿真器将应用代码烧录了,如果在设备使用过程中需要进行应用代码的更换、升级等操作的话,则可能需要将设备返回原厂并拆解出来再使用J-Link重新烧录代码,这就增加了很多不必要的麻烦。站在用户的角度来说,就是能让用户自己来更换设备里边的代码程序而厂家这边只需要提供给_value line devices connectivity line devices