CVPR 2019 | 目标检测之面向更高精度的包围框回归
CVPR 2019 | 目标检测之面向更高精度的包围框回归
- 背景介绍
- 主要内容
- 包围框参数化
- 用于包围框回归的KL loss
- 测试阶段的方差投票机制
- 实验分析
- 实验细节:
- 实验结果:
- 总结
- 参考文献
本文为极市作者Panzer原创,欢迎加小助手微信(cv-mart) 备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群。
本文由CMU和旷视科技合作发表于CVPR2019,论文重点关注目标检测任务中的包围框回归问题,提出了一种区别于传统smooth L1的新的损失函数,显著提升了各类检测器的定位精度。
论文地址:
http://openaccess.thecvf.com/content_CVPR_2019/html/He_Bounding_Box_Regression_With_Uncertainty_for_Accurate_Object_Detection_CVPR_2019_paper.html
代码地址:
https://github.com/yihui-he/KL-Loss
背景介绍
在当前anchor-based类目标检测器中,目标包围框回归是一个不可或缺的组件,其目的是为了得到更紧致的更好地包围在目标周围的检测框。尽管近年来anchor-based类目标检测取得了长足进展,分类精度得到了突飞猛进的提升,大量的工作主要集中与网络架构的设计、正负样本的选取等,然而少有工作关注包围框回归的问题。
从这一问题出发,作者分析了目前检测器中通用的smooth L1损失函数的局限性,提出了一种新的包围框回归损失函数——KL loss,在网络预测阶段更有利于得到更高定位精度的检测结果。作者通过在PASCAL VOC 2007和MS-COCO上的实验验证了该损失函数的有效性。
主要内容
包围框参数化
目前检测器中常用目标中心点坐标和宽高来表示一个包围框,网络只要预测与anchor-box的偏差!,然后和利用ground truth计算得到的真实偏差进行比对得到训练损失,如下式所示:
而本文采用上顶点下顶点坐标来表示一个包围框,在预测目标位置的同时还要预测定位置信度。具体而言,将定位置信度简化建模为一个高斯分布,如下式所示:
其中是需要网络进行学习的参数,高斯函数中的标准差代表预测值的不确定性,也即当其趋于0时意味着预测值置信度非常高。这一思路的具体实现为在原有检测头的类别分类和位置回归两个分支之外,再添加一个新的分支如下图所示:
同样ground truth也可以构建为一个标准差趋于0的高斯分布,如下式所示:
用于包围框回归的KL loss
根据上一节的参数表示,本文的包围框回归分支的目的是最小化式(2)和(3)中的和之间的KL散度,如下式所示:
则包围框回归部分的损失函数定义如下:
上式后两部分和网络预测无关,所以包围框回归部分的损失函数只和前两部分有关:
对于不太准确的位置预测,上式会驱使网络预测更大的使得损失最小。具体实现细节在此不再赘述,详情可见原文。
测试阶段的方差投票机制
对于测试阶段而言,作者希望利用网络预测的方差用于非极大值抑制(NMS)后处理阶段来提高包围框的定位精度。具体而言,对于一个分类得分较高的包围框周围的包围框而言,我们希望将那些离它最近且定位不确定性较低的包围框分配更高的权重,如下式所示:
本质上该机制主要用于nms或soft-nms中,算法流程图如下:
实验分析
实验细节:
验证实验在PASCAL VOC 2007和MS-COCO上进行,对比实验分别在CityPersons验证集和Caltech测试集上和最新方法进行了全方位对比,评估指标采用行人检测通用的Miss rate。
实验结果:
从上表中的剥离实验结果分析,以AP为标准,利用KL loss带来的性能提升有1.6个点,而在soft-nms的基础上加上方差投票机制,又可以提升1.3个点,随着对精度要求的提高,性能提升更为明显。此外值得一提的是加上方差投票机制只带来2ms的耗时,显然是一种经济有效的涨点方案。
在上表中作者分析了不同检测头对采用KL loss能带来的性能提升的影响,从上表中可以发现,无论采用什么样的检测头,采用KL loss带来的性能提升是一致的,但利用resnet-50第五阶段卷积层作为检测头可以得到最明显的性能提升,而采用两层全连接层限制了KL loss带来的性能提升。
上表给出了在MS-COCO上的实验结果,作者采用的baseline为ResNet-50-FPN Mask R-CNN,在soft-nms的加持下,本文所提出的方法可以将baseline提升1.8个点,有意思的是在AP50的评估标准下,性能指标却有所下降,而在AP90评估标准下性能提升有6.2个点,充分说明了本文所提出的方法可以获得较高的定位性能。
上表展示了在PASCAL VOC 2007上的实验结果,可见无论在采用什么基础网络架构下,本文提出的方法都能将mAP性能提升2-3个百分点。下图给出了本文方法有效性的一个可视化例子,从上下两列的对比来看,经过网络预测的位置不确定性加权,包围框能更紧致地包围在目标周围。
总结
本文另辟蹊径,重点关注目标包围框的位置不确定性问题,围绕这一问题,在训练和测试阶段分别进行了精心设计,在训练阶段提出了KL loss,测试阶段提出了方差投票机制,实验结果充分证明了提出方法的有效性。值得一提的是,发表于ICCV 2019的Gaussian YoloV3[1]与本文有异曲同工之妙,将在后续进行解读。
参考文献
[1] Gaussian YOLOv3: An Accurate and Fast Object Detector Using Localization Uncertainty for Autonomous Driving. ICCV2019.
-End-
相关文章:
目标检测:Anchor-Free 时代
目标检测中的不平衡问题综述
DetNAS:首个搜索目标检测 Backbone 的方法
△ 关注极市平台
CVPR 2019 | 目标检测之面向更高精度的包围框回归相关推荐
- CVPR 2019 目标检测论文汇总
CVPR 2019 目标检测论文汇总(0506更新中)极市平台已认证的官方帐号84 人赞同了该文章前段时间,计算机视觉顶会CVPR 2019 公布了接收结果,极市也对此做了相关报道 ,目前官方公布了 ...
- 提升小目标检测的一种新的包围框相似度度量:Normalized Gaussian Wasserstein Distance...
点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 导读 本文分析了小目标检测中使用IoU的最大缺点,对于位置的微小变化太过敏感,因 ...
- 论文盘点:CVPR 2019 - 文本检测专题
作者丨燕小花 研究方向丨计算机视觉 CRAFT 论文主要思想 本文的主要思路是先检测单个字符(character region score)及字符间的连接关系(affinity score),然后根据 ...
- 做目标检测,这6篇就够了:CVPR 2020目标检测论文盘点
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 来源:机器之心 CVPR 2020 会议上,有哪些目标检测论文值得关注? 目标检测是计算机视觉 ...
- CVPR 2019 行人检测新思路:高级语义特征检测取得精度新突破
点击我爱计算机视觉置顶或标星,更快获取CVML新技术 今天跟大家分享一篇昨天新出的CVPR 2019论文<High-level Semantic Feature Detection:A New ...
- access open 知乎_做目标检测,这6篇就够了:CVPR 2020目标检测论文盘点
CVPR 2020 会议上,有哪些目标检测论文值得关注? 选自heartbeat,作者:Derrick Mwiti,机器之心编译,参与:陈萍. 目标检测是计算机视觉中的经典问题之一.凭借大量可用数据. ...
- coco数据集目标检测论文_做目标检测,这6篇就够了:CVPR 2020目标检测论文盘点...
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 选自heartbeat 作者:Derrick Mwiti 转载:机 ...
- Remix:高分辨率目标检测,面向边缘设备、可调谐
关注公众号,发现CV技术之美 编者按:目标检测技术在视频分析系统中是十分基础的功能模块,在许多视频分析场景中,若可以在边缘设备上直接运行目标检测模型,可极大提升检测效率,同时也可以降低使用成本.但是, ...
- CVPR 2019 | 文本检测算法PSENet解读与开源实现
点击我爱计算机视觉标星,更快获取CVML新技术 作者:刘恒 编辑:CV君 PSENet文本检测算法来自论文<Shape Robust Text Detection with Progressiv ...
最新文章
- 2D变3D,视角随意换,神还原高清立体感,还是不用3D建模的那种 | 代码数据开源...
- SQLSERVER DISTINCT的反例
- 蓝牙怎么实现传输的_不知道手机蓝牙有啥用?1分钟带你了解蓝牙这6种用法!涨知识啦...
- 非华为手机可以鸿蒙,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可
!【手机吧】_百度贴吧...
- SonarQube代码质量管理平台安装与使用--转载
- android textview import,android – textview中的镜像文本?
- eclipse源服务器未能找到,eclipse - HTTP状态[404]? [未找到](原始服务器未找到当前表示) - 堆栈内存溢出...
- 【计算机组成原理】程序中断与DMA
- php全站文章搜索,Discuz X3.1全站文章全文检索的实现方法
- 【论文解读】使用Lattice LSTM的中文NER
- CF 766C - Mahmoud and a Message (DP+字符串)
- 模电数电c语言笔试题,模电数电题面试题集锦
- C# ZipArchive 文件末端错误 的解决方案
- 【Excel 教程系列第 15 篇】Excel 中的简单排序(升序 / 降序)、多条件排序、按颜色排序、自定义排序、以及巧用“升序“制作工资条
- 用java做出长方体的表面积_计算长方体、四棱锥的表面积和体积(Java)acm.sdut...
- 造车失败后投身机器人和AI,我笑戴森太疯癫,戴森笑我看不穿
- 实时车辆行人多目标检测与跟踪系统-上篇(UI界面清新版,Python代码)
- 浅谈Java类加载:ClassLoader
- 强化学习之迷宫Q-Learning实践笔记——入门篇
- pyqt5 商店小票打印的实现模板