【Real-Time Detection survey】实时目标检测网络综述论文 A Comprehensive Study of Real-Time Object Detection Network

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 目标检测网络的基本组件

导言

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. 总览

【Real-Time Detection survey】实时目标检测网络综述论文 A Comprehensive Study of Real-Time Object Detection Network_第1张图片
本文对比的检测框架包括二阶段的ThunderNet、一阶段的YOLOv2、SSD、基于transformer的端到端检测器DETR、基于点检测的CenterNet、TTFNet、FOCS、NanoDet。同时对比了多种Backbone。网络特点汇总如下:
【Real-Time Detection survey】实时目标检测网络综述论文 A Comprehensive Study of Real-Time Object Detection Network_第2张图片
并绘制了属性八边形对比。
【Real-Time Detection survey】实时目标检测网络综述论文 A Comprehensive Study of Real-Time Object Detection Network_第3张图片
从图上可看出 NanoDet 在多数属性上都取得了较好的结果,SSD具有最低的校准误差。

论文贡献点

  1. 九种特征提取网络、八种检测头的组合研究。涉及两阶段、一阶段、基于anchor、基于关键点检测、基于transformer的实时检测网络对比实验。
  2. 在基线数据集上对比各网络的 精度, 速度,参数量,计算量,能耗
  3. 分析输入尺寸、anchor大小、置信度阈值、和特定结构对网络性能的影响。
  4. 分析网络在不同自然干扰、不同强度下对抗攻击下的鲁棒性。
  5. 通过评估网络校准分数分析网络结构的可靠性。
  6. 在自动驾驶BDD数据检测应用和分布外数据上的泛化能力对比。
  7. 通过TensorRT加速优化的 边缘设备部署分析:Jetson-Xavier,Jetson-Tx2
  8. 医学图像病灶检测的应用分析: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。
【Real-Time Detection survey】实时目标检测网络综述论文 A Comprehensive Study of Real-Time Object Detection Network_第4张图片

基于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(1pi)λlog(pi)

回归loss通常为L1 Loss或者L2 Loss. 此外还有辅助回归的IOU Loss, GIOU Loss等,提高收敛速度和检测精度。
典型的检测网络架构图如下:
【Real-Time Detection survey】实时目标检测网络综述论文 A Comprehensive Study of Real-Time Object Detection Network_第5张图片

  • NMS(Non-Maximum Suppression)
    传统目标检测会输出大量重复的检测框,通过极大值阈值后处理操作过滤。具体来说,将预测框置信度从大到小排序,选择置信度最高的框,剩下目标框和当前置信度最高框的IOU大于阈值的将被剔除。重复这个过程直到过滤掉所有重复目标。在密集目标检测任务中,可能有部分目标因为和其他框距离太近而被过滤掉。为了解决该问题提出了Soft-NMS。

未完待续。。。

你可能感兴趣的:(综述论文,paper,reading,目标检测,计算机视觉,综述)