新文预览 | IoU-aware Single-stage Object Detector for Accurate Localization
论文基于RetinaNet提出了IoU-aware sinage-stage目标检测算法,该算法在regression branch接入IoU predictor head并通过加权分类置信度和IoU预测值得到anchor的最终分数,从实验结果看来,算法能有效提升定位的准确率
论文:IoU-aware Single-stage Object Detector for Accurate Localization

Introduction
论文希望是在保持实时性的同时,提高one-stage检测器的准确率。论文认为,one-stage的性能之所以低,是因为分类分数与定位精度之间的低相关性导致的(其实不止one-stage detector,几乎所有的detector都存在这个问题)。在提取anchor后,分类分支与定位分支是相互独立的,造成分类与定位间的mismatch。而在推理时,IoU是缺失的,这带来两个严重的问题:
- NMS时,只能使用分类置信度来进行anchor排序,导致高IoU但低分类分数的anchor被过滤
- 计算AP时,依然是使用分类置信度进行排序计算的,高分类置信度但低IoU的anchor会降低高IoU阈值时的AP,(mAP计算)
为了解决以上问题,论文在regression分支添加了一个同步的IoU预测head,基于提出IoU-aware single-stage目标检测算法。在训练的时候,IoU head与另外两个分支一起训练。而推理时,anchor的最终分数由分类置信度和预测的IoU相乘所得,并用于最后的NMS和AP计算
IoU-aware single-stage object detector

Model architecture
如图1所示,IoU-aware single-stage目标检测算法主要基于RetinaNet,使用相同的主干和FPN。在regression分支,论文添加了一个IoU预测head(3x3卷积+sigmod激活层),用于预测anchor的IoU($[0,1] $)。论文提到可以设计一个与分类和regression一样完全独立的分支,但这样的设计会影响模型的效率,添加head的方式能在带来最少额外计算下提升AP,是个不错的折中
Training

跟RetinaNet一样,分类分支使用focal loss,regression分支使用smooth L1。由于IoU$\in [0,1]$,IoU分支使用二值交叉熵
Inference

在推理时,每个anchor的分数计算方式如公式5,参数$\alpha$用于控制分类和IoU的权重。可以看出,最终分数能很好地关联分类置信度和定位准确率
Experiments
Implementation Details
论文大部分的实验基于MS COCO,为了说明算法的通用性,对比实验(ablation studies)中补充了PASCAL VOC上的结果
论文使用2张GPU配合 large minibatch sgd进行训练。在主要实验中,输入尺寸为$[800, 1333]$,训练12个周期。在对比实验中,输入尺寸为$[600, 1000]$,测试了不同backbone下的实验结果
Main Results

为了公平起见,论文用MMdetection复现了部分对比的算法(带*的),结果如table1所示。从表可以看出,不同主干的IoU-aware RetinaNet能整体带来大约1.0%~1.6%的AP提升。在AP50时,性能提升不太稳定,而在AP75时,则能大幅提升1.7%~2.3%,这说明IoU-aware能有效地提高定位的准确率。此外,IoU-aware RetinaNet的性能已经超过了two-stage的Faster R-CNN,得益于其定位的高准确率
Ablation Studies
- IoU Prediction Loss

论文进行了不同的IoU loss函数的实验,在实验时,最终的分数由预测的IoU和分类置信度直接相乘所得。baseline估计是RetinaNet,文中没提到。从结果可以看出,BCE loss的结果是最好的
- Detection Confidence Computation


论文对$\alpha$的值进行了实验,实验使用IoU predictor+BCE loss,仅改变最后分数计算时的权重。如Table 3和Table4所示,实验结果有以下几点:
- 当$\alpha=1$(即仅用分类置信度)时,AP提升0.2%,这说明multi-task训练对模型是有作用的
- 当$\alpha=0.5$和$\alpha=0.4$时,AP达到最高,AP50提升0.4%-0.8%,AP70和AP80提升2.0%~2.7%,说明论文提出的方法提升了IoU的准确率
- 当$\alpha$降低时,AP70和AP80在提升,说明预测的IoU与定位准确率十分有关系。此外,若将预测的IoU和分类置信度直接相乘,结果也是很明显的,AP提升1.1%
- Ablation Studies on PASCAL VOC

在PASCAL VOC上,IoU-aware RetinaNet能大约提升1.1%~2.2%AP,说明论文提出的算法在其它训练集也有实用性
Conclusions
论文提出IoU-aware single-stage目标检测算法,添加IoU prediction head以及加权得分来解决分类置信度与定位准确率之间的mismatch问题。从实验结果看来,该算法是有效的
笔者补充
这篇论文是一篇arxiv上的初稿,论文提出的IoU predict head以及联合分类分数输出最终结果是一个不错的trick,加到别的算法中应该也能很好地提升AP。但论文整体看起来需要更多的亮点来支撑,特别是$\alpha$值的提出和实验,结果跟直接相乘差不多,感觉不够惊艳,希望后面能看到对这篇文章更好的补全
参考文章
写作不易,未经允许不得转载~
更多内容请关注个人微信公众号【晓飞的算法工程笔记】

新文预览 | IoU-aware Single-stage Object Detector for Accurate Localization的更多相关文章
- C# 9.0 新特性预览 - 类型推导的 new
C# 9.0 新特性预览 - 类型推导的 new 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大 ...
- C# 9.0 新特性预览 - 空参数校验
C# 9.0 新特性预览 - 空参数校验 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它 ...
- C# 9.0 新特性预览 - 顶级语句
C# 9.0 新特性预览 - 顶级语句 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它们 ...
- C# 9.0 新特性预览 - init-only 属性
C# 9.0 新特性预览 - init-only 属性 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章 ...
- 20天等待,申请终于通过,安装和体验IntelliJ IDEA新UI预览版
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于IDEA的预览版 IDEA会启用新的UI,这事情之 ...
- Windows Phone 8.1SDK新特性预览
前言 Windows Phone 8.1的预览版将在近期推送,WP 8.1的SDK也已经进入到RC阶段,可以从这里安装.本次更新的SDK被直接集成到了VS2013Update2里面,不再是单独的 ...
- (转)Visual Studio 2013新功能预览:增代码的透明度和可追溯性
微软打破了Visual Studio两年升级一次的传统,Visual Studio 2012发布还不足一年,微软就计划发布了Visual Studio 2013了.在今天的TechEd大会上,微软宣布 ...
- avalon1.3的新特性预览
avalon1.2的性能优化风暴很快就告一段落,入职也快一个月了,许多乱七八糟的事也少了下来,估计未来一个月会有许多好东呈现给大家. 首先是一个性能检测工具.由于MVVM是将原本由人脑干的事,转到各种 ...
- .NET6系列:C#10新功能预览
系列目录 [已更新最新开发文章,点击查看详细] 2021年4月19日微软发布公告称将于今年夏季发布首款64位的 Visual Studio 2022,2021年5月20日又发布了 Visual ...
随机推荐
- 中国的规模优势,有望帮助AI芯片后来者居上?
芯片一直是个神奇的东西,表面上看是电脑.笔记本.智能手机改变了世界,其实,真正改变世界的硬件内核是芯片,芯片相关的技术才是科技界最实用.最浪漫的基础技术,也正因如此,谁掌握了芯片基础技术,谁就能立于 ...
- java对象POJO和JavaBean的区别
"Plain Ordinary Java Object",简单普通的java对象.主要用来指代那些没有遵循特定的java对象模型,约定或者框架的对象.POJO的内在含义是指那些:有 ...
- 收费的QQ群 改变的不只是所谓的在线教育
改变的不只是所谓的在线教育" title="收费的QQ群 改变的不只是所谓的在线教育"> 如果说国内互联网企业中最会捞钱的,腾讯敢认第二,恐怕没有其他的企业敢认第一 ...
- coreseek 在gcc 4.9+ 上编译不通过 [sphinxexpr.o] Error 1 错误解决方案
这几天玩hhvm,把gcc环境都装到4.9了,然后编译coreseek的时候就出问题,google一大圈,貌似捕风捉影看到一些信息说是gcc4.7+的c++作用域必须用this->去引用,这里整 ...
- Vue.observable()使用方法
前言 随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vue.js ...
- C++走向远洋——31(六周,项目一,1.1)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:fenshu.cpp * 作者:常轩 * 微信公众号:World ...
- RTL8812AU双频无线网卡在ubuntu19和20上的驱动安装
旧爱已去 疫情在家,突然邻居敲门说,我这网上不了,帮下忙呗兄弟:兄弟都叫了,哥就冒回险,口罩扎起,一顿xxxx,原来是路由器没插到wlan口,看他拉网线可怜,就把我台式机上无线网卡送给他了,这就是又送 ...
- 视频描述(Video Captioning)近年重要论文总结
视频描述 顾名思义视频描述是计算机对视频生成一段描述,如图所示,这张图片选取了一段视频的两帧,针对它的描述是"A man is doing stunts on his bike", ...
- [LeetCode] 面试题 10.01.合并排序的数组
题目: 这道题有多种实现的思路,这里使用双指针结合数组有序的特点进行解决 思路: m代表A初始时有效元素的个数,n代表B中元素的个数,那么n+m才是A的总长度 从A的最后一个位置开始,设为cur,分别 ...
- C++泛化双向链表
泛型双向链表 双向链表(doublyLinkedList.h) /******************************************************************* ...