作者丨Herschel@知乎
来源丨/p/495892085
编辑丨CVer
论文:/abs/2103.09136
代码(已开源):
/ChenhongyiYang/QueryDet-PyTorch
摘要:
虽然在过去的几年中,基于深度学习的通用目标检测已经取得了巨大的成功,但在检测小目标的性能和效率方面却远远不能令人满意。推广小目标检测最常见和有效的方法是使用高分辨率图像或特征图。然而,这两种方法都会导致昂贵的计算,因为计算成本会随着图像和特征大小的增加而增加。我们提出了QueryDet,它使用一种新颖的查询机制来加快基于特征金字塔的目标检测器的推断速度。该pipeline由两个步骤组成:首先在低分辨率特征上预测小目标的粗定位,然后利用这些粗位置稀疏引导的高分辨率特征计算出准确的检测结果。这样既可以获得高分辨率feature map的benefit,又可以避免对背景区域使用较少的计算量。在popular COCO数据集上,该方法将mAP提高了1.0,mAP-small提高了2.0,将高分辨率的推理速度平均提高到3.0×。在包含更多小对象的VisDrone数据集上,我们获取了新的SOTA,同时获得了平均2.3×高分辨率的加速。
1.研究背景
当使用现有的通用目标检测器在常规目标检测数据集上进行检测时,中等尺度和大尺度目标可以获得的结果远高于小目标。本文认为,小目标检测中出现性能衰减主要由三方面因素所导致:
1. 由于下采样操作导致引导小目标的特征消失,或被background中的噪声污染。
2. 低分辨率特征对应的感受野无法与小目标的尺度相匹配。
3. 小目标较小的偏差就会导致IoU上较大的扰动,导致小目标检测先天难于大目标。
现有的小目标检测方法通常通过放大输入图像尺寸或减少降采样率来维持较大分辨率的特征,进而提升小目标检测的性能。引入FPN可以在一定程度上缓解高分辨率引入大量计算的问题,但其在low-level特征上检测的计算复杂度仍很高。
QueryDet的目标是在引入更浅层高分辨率的特征助力小目标检测的同时,保证计算的轻量化。
本文提出的QueryDet的出发点来自于观察到的两个事实:
1. low-level特征层上的计算中,有很大部分是冗余的。
2. FPN结构中,即使低分辨率(high-level)的特征层无法精确的检测出小目标,但也能以较高的置信度来粗略判断出小目标是否存在以及对应的区域。
QueryDet检测流程
基于以上出发点,QueryDet提出了Cascade Sparse Query(CSQ)机制,其中Query代表使用前一层(higher-level feature with lower resolution)中传递过来的query来指导本层的小目标检测,再预测出本层的query进一步传递给下一层,对下一层的小目标检测进行指导,Cascade传递了这种级联的思想。Sparse表示通过使用sparse convolution(稀疏卷积)来显著减少low-level特征层上检测头的计算开销。
总体上,higher-level feature with lower resolution负责对小目标的初筛,higher-resolution feature再进行精找,这种“glance and focus”的two-stage结构可以有效的进行动态推理,检测出最终结果。
2. 模型方法
2.1 计算量开销比较
QueryDet在实现中使用RetinaNet作为baseline。文中首先分析了RetinaNet中使用的FPN中不同level P对应的FLOPs开销:
FLOPs distribution of different module
可以看出原版RetinaNet中,最低层P3就占据了总计算量的很大部分;引入更高分辨率的P2助力小目标检测后,P2的计算开销占到了总开销的一半以上;加入最终模型QueryDet进行比较,可以看出QueryDet在减小 高分辨率上的计算开销同时提高了推理速度。
2.2 使用Sparse Query加速推理
本节对文中的核心模块Query进行介绍。Query总体是一个由粗到细的过程:在粗(low-resolution)的特征图上对小目标进行粗略定位,再到细(high-resolution)特征图的对应位置上进行计算(使用sparse convolution)。在这个query过程中,粗糙定位可以看作query keys,而对应用于小目标检测的high-resolution特征图可被视为query values。
QueryDet在detection head中额外添加了用于产生小目标coarse location的,平行于classification和localization head,的query head。模型的总体结构如下图所示:
The whole pipeline of the QueryDet
接下来, Pl-1 上对应的三个head只会在key位置集中对应的位置上计算head和用于下一层的queries。这个计算过程通过sparse convolution实现,极大的节剩了计算量。sparse convolution的提出主要是为了解决3D场景下进行运算的特征中存在很多零的情况,对稀疏卷积感兴趣的话,可以通过这篇博文简单学习一下,Rulebook构建中的Getoffset指的是kernel中每个weight对应其kernel中心位置的偏移坐标量。
Cascade Sparse Query结构保证每层生成的query并不是来自单一的P,可以通过stride的不断降低扩张对应key position的尺度。
2.3 训练过程
query head对应GT的计算过程为:首先计算 Pl 上每个位置与对应的所有小目标中心的距离,当该位置上与小目标中心的距离小于指定阈值时,其在 Vl 上的GT标记为1。query head被当作二分类问题进行处理,使用focal loss作为损失函数。
模型的总体损失表示为:
其中加入了权重来调节每个level的损失,因为在 P2 上的训练样本数量很可能要比前5层上对应样本的总数量还要多,如果不减小权重,整个训练将由small objects主导。
3. 实验结果
本文做了如下实验:
在COCO mini-val上比较RetinaNet & QueryDet
在Visdrone上比较RetinaNet & QueryDet
在COCO mini-val上进行消融实验,比较HR(hight-resolution feature),RB(loss re-balance,就是给不同层加权重),QH(额外的Query Head)
在COCO和Visdrone 上使用不同的query threshold比较AP、AR、FPS的trade off
在COCO mini-val上比较不使用query方法和使用三种不同query的方法:CSQ最优
在COCO mini-val上比较从不同层开始query,对应的AP和FPS
换用不同的backbone(MobileNet V2 & ShuffleNet V2)测试结果
在COCO mini-val上使用嵌入QueryDet的FCOS,比较结果
在COCO test-dev & VisDrone validation上比较不用的methods:
COCO test-dev上的比较结果
Visdrone validation set
4. 总结
QueryDet利用high-resolution feature来提升小目标检测性能的同时,通过CSQ机制,利用高层低分辨率特征初筛含有小目标的区域,在高分辨特征层上利用初筛获得的位置,使用sparse convolution,极大地节约了计算消耗。
本文仅做学术分享,如有侵权,请联系删文。
干货下载与学习
后台回复:巴塞罗那自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件
后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf
后台回复:3D视觉课程,即可学习3D视觉领域精品课程
计算机视觉工坊精品课程官网:
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
重磅!计算机视觉工坊-学习交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉+ 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
CVPR | 图森未来提出小目标检测工作QueryDet:使用级联稀疏query加速高分辨率下的小目标检测...