SSD没有错付 | SSD改进版本来啦!PSSD携实时性与高精度归来!

简介: SSD没有错付 | SSD改进版本来啦!PSSD携实时性与高精度归来!

dad4173c5ed51676b0a211a741bb8bab.png

背景和目标:深度学习在各种任务中表现出色。其中,单阶段目标检测器(SSD)主要依靠分类网络来提取特征,多个特征图来预测,以及分类置信度来指导对重叠预测框的过滤。然而,仍有两个问题导致一些不准确的结果:


在特征提取过程中,随着语义信息的逐层获取,局部信息逐渐丢失,导致具有代表性的特征图较少;


在非最大抑制(NMS)算法中,由于分类和回归任务的不一致性,分类置信度和预测检测位置不能准确指示预测框的位置。


方法:为了解决上述问题本文提出了一种新的架构,即SSD的改进版本,称为精确单阶段检测器(PSSD)。首先,通过向SSD添加额外的层来改进特征。其次,构造了一个简单有效的特征增强模块,以逐步扩展每一层的感受野,并增强其局部和语义信息。最后,设计了一个更有效的损失函数来预测预测框和GT框之间的IOU,阈值IOU指导分类训练并衰减NMS算法使用的分数。


主要结果:得益于上述优化,所提出的模型PSSD实现了令人兴奋的实时性能。具体而言,使用Titan Xp的硬件和320像素的输入大小,PSSD在MS COCO基准测试中以45 FPS的速度达到33.8 mAP,在Pascal VOC 2007中以66 FPS的速率达到81.28 mAP。


此外,所提出的模型在较大的输入量下表现良好。在512像素下,PSSD可以在MS COCO上以27 FPS获得37.2 mAP,在Pascal VOC 2007上以40 FPS获得82.82 mAP。

1、简介

近年来,深度学习算法已成为一种强大的工具,可以自动捕获非线性和分层特征,并在各种应用中取得了巨大成功,尤其是在图像领域,如分类、分割、检测等。此外,它还扩展到了不同的分类任务,包括音频分类、文本分类、各种信号分类、多模态对象分类、事件检测和各种其他应用。其中,目标检测一直是绝大多数研究人员的兴趣。

为此,有各种算法,如YOLO、Fast RCNN、Faster RCNN等,多年来已成功用于目标检测。在过去几十年中,用于目标检测的深度学习算法得到了极大的关注。目标检测旨在从自然图像中的大量预定义类别中定位目标实例,是计算机视觉中最基本和最具挑战性的问题之一。


随着CNN的快速发展,目标检测取得了令人瞩目的进展,并逐渐演变为两阶段和单阶段两种主要结构。两阶段算法,如快速递归神经网络(FRCNN),其中第一阶段仅区分大量背景区域,并在不考虑目标的特定类别的情况下获得粗糙目标proposals。接下来是第二阶段,根据从CNN网络提取的特征对每个proposals进行分类并优化位置。

由于存在第二阶段进行的细化,两阶段算法无法实现实时性能。因此,由于实时检测,单阶段算法已成为各种目标检测应用的主要优先事项,因此,这是当前工作的特别兴趣。单阶段算法基于默认框直接执行分类和位置优化。例如,You Look Only Once(YOLO)和SSD实现了快速的实时检测速度,但同时牺牲了检测精度。近年来,单阶段检测器正在提高其精度,但仍然无法在速度和精度之间取得更好的平衡。

在本文中,在保证模型实时性能的前提下,在原始SSD的基础上提出了一种新的架构,称为精确单阶段检测器(PSSD),该架构为以下两个关键问题提供了解决方案:

  1. 如何在不依赖像ResNet-101这样的模型深层骨干的情况下,丰富预测器使用的特征信息?
  2. 在NMS算法的过程中,依靠分类置信度来确定重叠框的过滤是否合理?

1.1、Feature richness

考虑到图像金字塔造成的巨大开销,SSD提出了一种特征金字塔来解决多尺度检测问题。分类网络中的深层特征包含更多的语义信息,适合识别大目标,而浅层特征更适合识别小目标。然而,浅层特征中缺少语义信息以及深层特征中局部细节的丢失会降低SSD的精度。特征金字塔网络(FPN)能够将深度语义信息添加到浅层特征中,以获得更有效的特征金字塔,这提高了小目标检测的效果。


DetNet结合了空洞卷积,通过减少下采样步长来减少局部信息损失,从而提高大目标的定位精度。从上述网络可以看出,每个尺度预测器中使用的特征不仅需要合适的语义信息,还需要局部纹理信息,以实现更准确的定位。每个层次特征的信息丰富度对检测效果有重要影响。但问题是如何以尽可能少的开销构建一个高性能的特征金字塔。

1.2、Filtration of overlapping boxes

通常,为了防止结果重叠,将NMS设置为目标检测的最终操作。在NMS算法中,当两者之间的IOU大于阈值时,保留具有最高分类置信度的预测框,并过滤其他框。如图1所示,这可能导致不准确的结果。IOUNet指导NMS通过预测回归框和它们的GT之间的IOU来缓解这个问题。在此,关键问题出现了——如何使其在单阶段算法中更有效?

664f0b38fc08c4458b2e74356d7de42a.png

1.3、贡献

为了提高检测效果,作者基于SSD模型缓解了上述问题。首先,通过在SSD中引入额外的层来改进特征,使基本特征金字塔更适合于特征融合。其次,将这些特征发送到特征增强模块(FEM)。FEM由两个子模块组成,即感受野扩展模块(RFM)和双向FPN。RFM用于逐步扩展每个特征的感受野,双向FPN用于补充更多的局部和语义信息。最后,设计了一个新的损失函数来预测回归框和它们的GT之间的IOU。然后使用IOU标签来指导分类训练,以提高分类和回归任务的一致性,并使用预测IOU来指导推理,以衰减低质量框的得分。


作者也已经在MS COCO和Pascal VOC基准上验证了本文所提的方法。在输入尺寸为320像素的Titan Xp硬件下,所提出的PSSD可以在COC上以45 FPS获得33.8 mAP,在Pascal VOC 2007上以66 FPS获得81.28 mAP。此外,模型在较大的输入量下也表现得非常好。在512像素下,PSSD可以在MS COCO上以27 FPS获得37.2 mAP,在Pascal VOC 2007上以40 FPS获得82.82 mAP。

2、本文方法

2.1、SSD backbone optimization

SSD的主干由VGG16和额外的层组成,如图3所示,为每个卷积层添加BatchNorm,并用平衡l1损失函数替换平滑l1。为了提高小目标检测的效果,作者尝试了4层FPN结构。然而,实验结果表明,改进并不像预期的那么显著。


因此,定义了从SSD主干获得并由预测器使用的特征图作为基本特征图1675308247633.png。SSD主干的一部分如图3(a)所示。基本特征图是。为了获得1675308265194.png,执行三次3×3卷积和一次空洞率为6的3×3空洞卷积。大的空洞率导致从1675308276949.png的一些对象语义和局部信息丢失。

同时,FPN使用的基本特征图的感受野扩展是不均匀的。1675308300762.png的空洞率远大于1675308342684.png的空洞率。因此,FPN的效果不如预期明显。

因此,在以下条件下重新设计额外的层。

  • 基本特征图的接受范围应均匀扩展。
  • 没有预训练模型的额外层的参数不应急剧增加。
  • 应适当扩大每个特征图的感受野覆盖范围。

1302cc6666ea99acf0ef7281bf791509.png

图3(b)显示了拟议模型中引入的新额外层。使用空洞率为2的3×3卷积,而不是两个3×3的标准卷积。这样,1675308368179.png的感受野的延伸率与从1675308386999.png的相似,但网络参数的数量减少。

考虑到第三个方面,使用FEM模块来扩展每个特征图的感受野,而不会影响其他特征图。总体而言,通过这种优化,基本特征图的感受野分布现在更加均匀,适合于多尺度特征融合结构,如FPN。

2.2、Feature Enhancement Module

2.2.1、Receptive field expansion module

RFBNet的成功表明,使用空洞卷积来扩大感受野是有效的。考虑到更大感受野的有效性,作者设计了一个简单但有效的感受野扩展模块(RFM)。

5a04f2be4a9035b1e038888a3ec15479.png

如图4所示,为了防止大的空洞率影响计算速度,作者采用了分离残差结构。首先,使用1×1卷积对原始特征图X进行特征转换,然后将X划分为4个块:1675308407591.png1675308423424.png。其中X1直接映射到最终特征Y1以防止信息丢失;Y2是通过对X3进行3×3,d=1卷积得到的,然后将其与相加,并将其和发送到3×3、d=3卷积获得3。类似地,对Y3和X4的和进行3×3,d=5卷积得到Y4。最后,使用1×1卷积对扩展特征进行跨通道信息集成和降维。

分离的残差设计确保了在参数数量没有显著增加并且尽可能保持原始特征细节的情况下,基本特征的感受野范围大大扩展。这个模块并不昂贵,除了最后一层外,每个层的输入和输出尺寸都相同。

2.2.2、Two-way FPN

特征金字塔的设计决定了特征的丰富性和检测性能。FPN将高级语义信息引入到浅层以丰富特征。然而,由于在特征提取过程中丢失了局部细节,关于高级特征的信息也不够。与DetNet、RSSD、PANet等带来更高维或更多卷积计算的技术不同,本文实现了一个简单的双向FPN来缓解这个问题。

a41ff2b9c66f8447543a1fcfdd93d1f4.png

如图5所示,在RFM之后构建了两个信息流。首先,从Y4特征引入传统的FPN来构造向下语义信息流,得到1675308540560.png。其次,从VGG 3-3的较浅层构造向上局部信息流,获得1675308563531.png

最后,将S特征与L特征相结合,并使用3×3卷积层进行特征转换。为了减少开销并保留每个特征的信息,使用256维构建信息流,双线性插值进行上采样,平均池化进行下采样。最后,生成512个维度特征,用于具有更强预测因子的训练。

3、Loss Settings based on IOU

3.1、IOU branch

分类和回归任务相对独立,分类置信度不能准确地表示预测框的位置。因此,NMS会过滤一些更准确的预测框。作者使用一种成本较低的独立于类别的方法,对NMS中使用的分数进行基于IOU的衰减。

8429c9b300016b61a1f9ea6534bff596.png

如图6所示,添加了一个分支来预测回归框和它们的GT之间的IOU。结果是通过在增强的特征图上直接应用3×3卷积,然后使用sigmoid函数将其归一化为0-1得到的。计算回归框与GT之间的IOU。

为了确保损失的凸性并增加梯度值,设计了一种新的IOU回归损失(1675308582883.png),如下所示:

798aa7cb026dd5f983e3a7b33a64fa25.png

其中1675308602652.png是预测的并集上的交集,1675308613900.png是并集上目标交集,分别是IOU和目标IOU的精度。

3.2、Regression Loss

为了使大目标更好地回归,使用由Libra-RCNN提出的balance  ():

2eee39cc395008c16def0078a089dca9.png

其中,默认参数设置为α=0.5和γ=1.5。

3.3、Cross-entropy of joint IOU loss:

对于一般的单阶段检测算法,如RetinaNet,IOU在0.4-0.5范围内的样本被忽略,因为模型很难学习分类边界。然而,仍然存在以下问题:

  • 存在一些假阳性样本(回归结果的IOU小于0.5),模型仍然迫使它们被识别为吗,这导致低质量预测框。
  • 有些样本的IOU在0.4-0.5之间,可以学习,忽略这些样本不利于提高模型的学习能力。
  • 传统的交叉熵损失没有考虑推理过程中NMS中使用的分数生成。

因此,采用了新的正样本规则,并设计了一个新的联合IOU(1675308634814.png)交叉熵损失,如下所示:

ac3d1f48e58b4de1cecc4f0d41e0f7ac.png

其中1675308653981.png是梯度值,1675308664822.png是预测类概率。将其GT值大于0.4的IOU的默认框设置为正样本。如果可以更准确地回归默认框(1675308677494.png≥ 0.5),计算分类损失,否则忽略它们。

因此,该模型不强制对假阳性样本进行分类,可以挖掘出更多潜在的阳性样本。同时,将最终优化目标更改为最大化1675308691550.png,这与推断一致(得分=1675308691550.png·)。此外,考虑到平衡1675308709382.png未从回归的整体进行优化该损失函数可以将关于IOU的监测信号添加到回归器,以使预测结果更加准确。

4、实验

4.1、Performance evaluation on Microsoft COCO

ddaf5fbafa03975135b9f2bff5b4af61.png4a66f6671d58761bc0ea77d68697a7cc.png7463fe513aa420d421f7c9cf364b69e5.png

4.2、Ablation Study

7303cf837b284801597b02c41aa7f6a8.pnge032a52f355ceb12a493faa7f41807ac.png

4.3、FEM module

73d02f7e29809fc71805fe22909bcbb5.png

4.4、Performance evaluation on Pascal VOC 2007

5c986a4f972b8a57e65e7b7950ef6276.png6b03b2fff177ca2226c591d7645cac38.png

5、参考

[1].Precise Single-stage Detector.

6、推荐阅读

全新语义分割方法SegViT | 沈春华老师团队提出全新语义分割方法

目标检测技能点|一步一步带你实验并重新思考目标检测不同检测头的作用

必备技能 | YOLOv6中的用Channel-wise Distillation进行的量化感知训练来自哪里?

相关文章
|
5月前
|
人工智能 安全 测试技术
Infection-2.5登场,训练计算量仅40%、性能直逼GPT-4!
【2月更文挑战第18天】Infection-2.5登场,训练计算量仅40%、性能直逼GPT-4!
69 3
Infection-2.5登场,训练计算量仅40%、性能直逼GPT-4!
|
12月前
|
机器学习/深度学习 人工智能 芯片
一文详解多模态大模型发展及高频因子计算加速GPU算力 | 英伟达显卡被限,华为如何力挽狂澜?
近年来,全球范围内的芯片禁令不断升级,给许多企业和科研机构带来了很大的困扰,需要在技术层面进行创新和突破。一方面,可以探索使用国产芯片和其他不受限制的芯片来替代被禁用的芯片;另一方面,可以通过优化算法和架构等方法来降低对特定芯片的依赖程度。
|
编解码 前端开发 算法
国网B接口语音对讲和广播技术探究及与GB28181差别
在谈国网B接口的语音广播和语音对讲的时候,大家会觉得,国网B接口是不是和GB28181大同小异?实际上确实信令有差别,但是因为要GB28181设备接入测的对接,再次做国网B接口就简单多了。
129 0
|
缓存 人工智能 并行计算
小羊驼背后的英雄,伯克利开源LLM推理与服务库:GPU减半、吞吐数十倍猛增
小羊驼背后的英雄,伯克利开源LLM推理与服务库:GPU减半、吞吐数十倍猛增
479 0
|
固态存储 算法 计算机视觉
SSD没有错付 | SSD改进版本来啦!PSSD携实时性与高精度归来!(二)
SSD没有错付 | SSD改进版本来啦!PSSD携实时性与高精度归来!(二)
121 0
|
机器学习/深度学习 固态存储 算法
SSD没有错付 | SSD改进版本来啦!PSSD携实时性与高精度归来!(一)
SSD没有错付 | SSD改进版本来啦!PSSD携实时性与高精度归来!(一)
163 0
|
机器学习/深度学习 编解码 固态存储
暴力改进SSD | 小目标检测的福音
暴力改进SSD | 小目标检测的福音
221 0
|
存储 缓存 人工智能
PLC SSD虽来但远,QLC SSD火力全开
PLC NAND的普及还需要一定的时日。乐观估计,PLC SSD最快也要到2025年才可能量产进入市场。所以,PLC SSD还是一个未来的产品,当前我们的目光还是聚集在QLC身上吧。
|
存储 缓存 运维
完爆 90% 的性能毛病,22 点通用绝招介绍(二)
完爆 90% 的性能毛病,22 点通用绝招介绍(二)
完爆 90% 的性能毛病,22 点通用绝招介绍(二)
|
存储 NoSQL 算法
完爆 90% 的性能毛病,22 点通用绝招介绍(一)
完爆 90% 的性能毛病,22 点通用绝招介绍(一)
完爆 90% 的性能毛病,22 点通用绝招介绍(一)
下一篇
无影云桌面