admin管理员组文章数量:1122852
【Real
A Comprehensive Study of Real-Time Object Detection Networks Across Multiple Domains: A Survey
文章目录
- A Comprehensive Study of Real-Time Object Detection Networks Across Multiple Domains: A Survey
- 导言
- 1. 总览
- 论文贡献点
- 2. 目标网络结构介绍
- 2.1 目标检测网络的基本组件
- 2.2 目标检测难点
- 2.3 常见的实时检测头
- 2.3.1 ThunderNet
- 2.3.2 YOLO
- 2.3.3 SSD
- 2.3.4 CenterNet
- 2.3.5 FCOS
- 2.3.6 NanoDet
- 2.3.7 DETR
- 2.3.8 TTFNet
- 2.4 常见的Backbone
- 2.5 常见的公开数据集
- 2.6 评价指标
- 3 实验结果
- 3.1 COOC上mAP, FPS和Energy
- 3.2 不同head和不同backbone下,参数量、FPS、mAP对比
- 3.3 所有网络结构组合性能完全对比
- 3.4 不同网络在小、中、大目标上的性能对比
- 3.5 不同输入尺度对速度和精度的影响
- 3.6 不同anchor大小对速度和精度的影响
- 3.7 不同置信度阈值大小对速度和精度的影响
- 3.8 是否使用Deformable Conv对速度和精度的影响
- 4. 目标检测矫正(Calibration)
- 5. 天气变化和噪声对检测算法精度、鲁棒性的影响
- 6. MAC和算法精度,
- 7. 通用GPU和边缘设备部署、量化结果对比
- 8. CASE, 肠息肉检测
导言
A Comprehensive Study of Real-Time Object Detection Networks Across Multiple Domains: A Survey
今天分享一篇关于实时目标检测网络综述的论文,22年8月发表在TMLR。本文在多个数据集(COCO、VOC、BDD、Cityscapes等)上,分析了多种实时目标检测算法(基于anchor的、基于关键点检测的、基于transformer)在多种目标特性(精度、可靠性、延时、资源占用、耗能、灵活性、鲁棒性)上的表现。还分析了诸多变量(如输入尺寸、anchor大小、置信度阈值、网络层类型)对以上性能指标的影响。还分析了这些检测网络在数据分布偏移、自然环境变化、对抗攻击等因素影响下的鲁棒性,以及提供对预测结果可靠性的校准分析。另外分析了诸多网络在两个真实任务上(自动驾驶检测、肠道息肉检测)的表现。最后还进一步分析了多种网络结构在边缘嵌入式设备上(NVIDIA Jetson TX2,Jetson Xavier)的实时性能表现。论文实验非常丰富,给出了工业界和学界可能忽然的一些问题的经验指导,值得一读。
1. 总览
本文对比的检测框架包括二阶段的ThunderNet、一阶段的YOLOv2、SSD、基于transformer的端到端检测器DETR、基于点检测的CenterNet、TTFNet、FOCS、NanoDet。同时对比了多种Backbone。网络特点汇总如下:
并绘制了属性八边形对比。
从图上可看出 NanoDet 在多数属性上都取得了较好的结果,SSD具有最低的校准误差。
论文贡献点
- 九种特征提取网络、八种检测头的组合研究。涉及两阶段、一阶段、基于anchor、基于关键点检测、基于transformer的实时检测网络对比实验。
- 在基线数据集上对比各网络的
精度
,速度
,参数量
,计算量
,能耗
。 - 分析输入尺寸、anchor大小、置信度阈值、和特定结构对网络性能的影响。
- 分析网络在不同自然干扰、不同强度下对抗攻击下的鲁棒性。
- 通过评估网络校准分数分析网络结构的可靠性。
- 在自动驾驶BDD数据检测应用和分布外数据上的泛化能力对比。
- 通过TensorRT加速优化的 边缘设备部署分析:Jetson-Xavier,Jetson-Tx2
- 医学图像病灶检测的应用分析:Kvasir-SEG上检测癌性息肉。
2. 目标网络结构介绍
目标检测任务同时对目标实例进行分类和定位。通常可分为一阶段
和两阶段
网络。
两阶段检测网络
通常包括一个独立的Region Proposal Network (RPN)。通过RPN提取到感兴趣区域,然后分别输入到分类head进行分类,输入到回归head得到定位坐标。通常两阶段网络很少用于实时检查。ThunderNet通过轻量化的RPN结构实现了实时检测。
一阶段检测网络
不包含独立的Proposal 结构,而是考虑所有可能的目标点。一阶段检测网络通常可分为基于anchor
的和基于关键点定位
的网络架构。
anchor based
通过预定义的anchor(锚点)辅助预测。比较有名的就是YOLO系列。将输入图像分成网格点,当框的中心点落在格子内时,这个格子就对应一个预测框。每个网格点可以输出多个预测框。SSD 通过FPN(特征金字塔)结构预测不同尺度的目标框和类别。
缺点在于anchor的定义是数据集相关的,包含了较多的超参数,比如anchor数量,长宽比等。
后续研究提出的keypoint based
将目标看做是点或者点的集合,而不是矩形框。关键点通常是目标的中心点或者四周的角点,通过点直接回归框的位置、长宽,而不是通过预定义的anchor框。基于点检测的检测网络主要包括CornetNet,CenterNet,FCOS, NanoDet和TTFNet。
基于CNN的检测网络通常缺乏全局上下文信息,而且需要较为复杂的后处理,比如NMS(非极大值抑制,过滤重复的框)。20年有研究提出基于Transformer的端到端目标检测框架DETR。以集合预测的形式直接预测目标框集合,省去了NMS的麻烦,取得了非常高的精度。
2.1 目标检测网络的基本组件
目标检测:给定一张图像,以及预定义的类别,输出目标实例的坐标(cx,cy,w,h, θ \theta θ)和目标的类别。目标检测网络通常包括一个Backbone 提取多维特征。提取到的特征输入检测Head 分别对目标进行分类和坐标回归。
目标检测常用的损失函数包括:
- 分类交叉熵Loss
L c e = − ∑ i = 1 n C i log ( p i ) L_{ce}=-\sum_{i=1}^{n}C_{i}\log(p_i) Lce=−∑i=1nCilog(pi) 其中 p i p_i pi为类别概率。
交叉熵损失未考虑检测任务中的正负样本不平衡问题。Focal Loss 提出将困难样本赋予更高的权重,降低简单样本权重提高性能。
- focal loss
L F L = − α i ( 1 − p i ) λ log ( p i ) L_{FL}=-\alpha_i(1-p_i)^{\lambda}\log(p_i) LFL=−αi(1−pi)λlog(pi)
回归loss通常为L1 Loss或者L2 Loss. 此外还有辅助回归的IOU Loss, GIOU Loss等,提高收敛速度和检测精度。
典型的检测网络架构图如下:
NMS(Non-Maximum Suppression)
传统目标检测会输出大量重复的检测框,通过极大值阈值后处理操作过滤。具体来说,将预测框置信度从大到小排序,选择置信度最高的框,剩下目标框和当前置信度最高框的IOU大于阈值的将被剔除。重复这个过程直到过滤掉所有重复目标。在密集目标检测任务中,可能有部分目标因为和其他框距离太近而被过滤掉。为了解决该问题提出了Soft-NMS。
soft-nms中给IOU大于阈值的目标置信度加了(1-IOU)的惩罚。
而基于关键点检测的算法中不采用基于IOU的NMS,而是通过简单的给headmap 取峰值实现过滤
2.2 目标检测难点
理想的目标检测器需要同时取得高精度和高速度。精度和速度同时依赖于输入图像大小和目标尺寸。通常高分辨的输入带来更好的精度,但是速度会同时下降。如何取得精度和速度上的平衡是具有挑战性的。
通常来说,目标检测器在小目标检测性能要弱于中等目标和大目标。密集目标检测和旋转框检测也相对更有难度。
为了取得较高的精度,检测算法需要足够的鲁棒,以适应巨大的类内差异(尺寸,形状,类型,姿态,形变)等。基于anchor的检测器需要根据不同的数据集设计不同的anchor。
另一个挑战在于,在真实场景下的目标检测,需要适应不同的自然天气变化(雨天、雾天、雪天)和灯光条件。在自动驾驶领域,需要考虑复杂的背景、拥挤的场景和摄像头参数。
最后,深度神经网络依赖短期学习线索,很容易在训练数据分布上过拟合,而在分布外的样本上性能下降。在未见过的分布外数据上的泛化能力也是需要重点考虑。
2.3 常见的实时检测头
2.3.1 ThunderNet
2.3.2 YOLO
2.3.3 SSD
2.3.4 CenterNet
2.3.5 FCOS
2.3.6 NanoDet
2.3.7 DETR
2.3.8 TTFNet
2.4 常见的Backbone
基础网络 | 特性 |
---|---|
ReNet | 经典网络,引入shortcut机制 |
DarkNet | 轻量特征提取 |
Xception | 基于Depth-wise separable conv |
MobileNet | inverted residual blocks, Depth-wise separable conv, 轻量化网络 |
Shuffle-Net | 将通道数一分为二,输入两个residual block, shuffle channel,减少延时 |
VoVNet | One-shot Aggregation,降低加乘法计算量,提高GPU运算效率 |
EfficientNet | 基于mobile和NAS的轻量化网络,用了Mobile Inverted Bottleneck Conv和 Squeeze & Excitation 模块, 根据参数化网络的深度,宽度和输入大小,获取不同尺度的网络结构 |
HarDNet | 采用 Harmonic Densely Connected |
DeiT | Date-efficient image Transformer |
2.5 常见的公开数据集
2.6 评价指标
在特定IOU阈值下根据像本的分类结果可以定义TP和FP,从而计算precision和recall。
precision表示网络预测样本中,正确样本的比率
recall 表示网络检测出所有正样本的能力
p r e c i s i o n = T P T P + F P precision=\frac{TP}{TP+FP} precision=TP+FPTP
r e c a l l = T P T P + F P recall=\frac{TP}{TP+FP} recall=TP+FPTP
根据precision和recall可以计算F1:
F 1 = 2 × p r e c i s i o n × r e c a l l p r e c i s i o n + r e c a l l F1=2\times\frac{precision\times{recall}}{precision+{recall}} F1=2×precision+recallprecision×recall
F1分数在precision和recall中取得均衡。PR 曲线表示precision和recall在不同阈值下的动态变化趋势。AP值(average of precision)表示IOU阈值从[0,1]时PR曲线下面积。mAP为所有类别的AP值平均。
PASCAL VOC 中 采用mAP50为评价指标,即IOU阈值为0.5时的mAP。
COCO中将IOU阈值[0.5,0.95]根据步长为0.05分成10等份,然后计算mAP。
MAC (multiply-accumulate operations)统计卷积,BN, FC计算量。
3 实验结果
3.1 COOC上mAP, FPS和Energy
其中mAP越高颜色越深,FPS速度越快颜色越深,Energy能耗越低颜色越浅
3.2 不同head和不同backbone下,参数量、FPS、mAP对比
右上角模型表示速度最快,精度最高
3.3 所有网络结构组合性能完全对比
3.4 不同网络在小、中、大目标上的性能对比
3.5 不同输入尺度对速度和精度的影响
3.6 不同anchor大小对速度和精度的影响
按表格中可见、对于ThunderNet,适当降低anchor大小可以提升速度和精度
3.7 不同置信度阈值大小对速度和精度的影响
3.8 是否使用Deformable Conv对速度和精度的影响
可见Deformable Conv基本都能明显提升算精度,但是也会降低推理速度。
4. 目标检测矫正(Calibration)
一些对安全性要求较高的应用,(如自动驾驶、医学影像分析)需要目标检测算法具有高精度和高可靠性。检测器输出的结果,不仅需足够准确,还需要在提示出结果不正确的概率。一般的检测网络输出置信度和目标的可信度之间没有正比的关系。模型矫正提供对检测器不确定度的评估,可以将不确定度提供给终端用户,或者用于模型输出的进一步分析处理。它反映了模型预测结果最终可能的精度的度量。大多数论文和模型旨在优化最终的算法精度,而很少考虑输出的可信度。
主流的模型矫正工作均集中于分类任务,Expected Calibration Error (ECE) 是一种常见的评估校准以及评估精度和置信度差异的评价指标。在分类域中,该得分表示分类精度与估计置信度的偏差。【Multivariate confidence calibration for object detection,2020cvpr】将该指标扩展到目标检测领域,提出 Detection-ECE, 在考虑分类置信度的同时,还会计算目标框的特性。
D-ECE计算时,将置信度空间和Bounding-box空间等份成区间,然后遍历所有的区间,并累计每个区间内AP值和置信度之间的差值。分类时只考虑置信度,但是在检测任务中,还需要考虑目标框的置信度,cx, cy, w,h。下图为基于HarDNet-backone下不同检测框架的可靠性图。绿色带阴影的部分表示相对于完美矫正结果的差异。深色阴影表示低估置信度的结果,即准确的预测目标置信度低,如YOLO网络。浅绿色表示网络输出过于自信,如DETR,倾向于给假阳性结果较高的置信度得分。矫准越好的网络,可靠性越高,如SSD网络。通常一阶段网络倾向于欠自信,二阶段网络倾向于过度自信。
ECE和D-ECE的数值结果
5. 天气变化和噪声对检测算法精度、鲁棒性的影响
6. MAC和算法精度,
7. 通用GPU和边缘设备部署、量化结果对比
8. CASE, 肠息肉检测
本文标签: Real
版权声明:本文标题:【Real 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1702391025a590521.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论