3.2、TinyFPN and TinyRPN
1、高分辨率检测特征图
在计算成本的限制下,以前的轻量级检测器通常采用低分辨率的特征图进行检测(SSDLite中为38×38,Pelee中为19×19,ThunderNet中为20×20)。然而,小型特征图的空间分辨率较低。低分辨率特征图无法为位于任意位置的目标提供空间匹配的特征,尤其是对于小目标。
在本文中实现了对高分辨率特征图的目标检测。从Backbone提取5个特征图进行检测,分别具有步长4、8、16、32和64。
请注意,Stride为4的特征图的分辨率为80×80,这是轻量级检测器中使用的最高分辨率特征图。有关高分辨率设置重要性的更多分析,请参见第3.3节。
2、用于计算缩减的稀疏连接卷积
由于高分辨率的设计,检测部分的计算预算变得非常高。尽管深度可分离卷积已被广泛用于现有轻量级检测器的检测部件设计,以降低计算成本,但作者发现它在高分辨率设置中是不够的。因此,利用稀疏连接卷积(SCConv),专门用于FPN和RPN中的效率和高分辨率。
如图4所示,SCConv是depth-wise卷积和point-wise group 卷积的组合。与普通深度可分离卷积相比,SCConv进一步减少了通道之间的连接。第4.3节中的实验表明,这种稀疏设置对检测性能的影响很小,并大大降低了计算成本。
作者基于SCConv提出了TinyFPN和TinyRPN。在TinyFPN中(图4),SCConv在特征融合后应用,代替正常的3×3卷积。为高分辨率金字塔级别的SCConv设置了更大的组号,即更稀疏的连接,以降低计算成本。
TinyRPN(图4)由一个SCConv和2个并行的1×1卷积组成,分别用于分类和回归。TinyRPN的参数在所有金字塔级别上共享。第4.3节提供了关于SCConvs组设置的消融研究。
3.3、用于密集Anchoring的高分辨率特征图
Translation方差是目标检测中的一个挑战。检测器应该对平移不敏感,并处理位于任意位置的目标。Anchor的引入缓解了目标检测中的Translation方差问题。大量Anchor在整个图像上均匀平铺,每个Anchor只负责预测出现在某个区域中的目标,该区域被定义为响应区域。在训练过程中,根据目标的IOU和分配策略将目标分配给Anchor。然而,当Anchor的空间密度不够时,在Anchor的分配过程中会出现两个问题,如下所述。
- 在分配IoU阈值固定的情况下,响应区域是固定的。如图5(a)所示,当Anchor不够密集时,响应区域无法覆盖整个图像。这里把未被覆盖的区域称为被忽视的区域。在训练过程中,位于被忽视区域的目标,尤其是小目标,永远不会分配给任何Anchor。因此,在推断阶段,由于这里缺乏Anchor,这些目标不太可能被检测到。
- 如果降低分配IoU阈值,响应区域会扩大,而被忽略的区域会缩小甚至消失。但是扩大的响应区域使得检测器很难获得准确的结果。每个Anchor处理更多的目标以及目标形状和位置的更多变化,如图5(b)所示。
如上所述,Anchor密度应该足够高以覆盖可能的目标。因此,在TinyDet中,保留高分辨率的特征图以进行密集Anchor定。为了了解密集Anchor冲击检测性能,特别是对小目标的检测性能,将TinyDet与ThunderNet进行了比较。
在图6中可视化了最小Anchor的分布。在ThunderNet中,相邻Anchor之间的距离为16个像素。很难在空间上将小目标与Anchor进行匹配。而TinyDet中的像素只有4个像素。密集平铺的Anchor可以更好地覆盖小目标。
从数量上讲,提出了GT误判率(GTMR)来评估赋值过程。GTMR被定义为未被分配给任何Anchor的那些GT目标在所有目标中的比例。它反映了在一定的分配策略下Anchor和目标之间的匹配质量。
如表2所示,ThunderNet的GTMR高达18.1%,远高于Faster R-CNN。TinyDet获得了相当低的GTMR,8.4%,尽管与ThunderNet一样轻。值得注意的是,ThunderNet的小目标的GTMR非常高;而在具有高分辨率特征图和密集拼接Anchor的TinyDet中,小目标的GTMR远低于ThunderNet。小目标可以在空间上与Anchor更好地匹配。
4、实验
4.1、SOTA对比
4.2、消融实验
1、Backbone的消融研究
如第3.1.1节所述,增强了基于MobileNetV3的Backbone中的详细信息,这对于改进高分辨率的特征表示非常重要。作者提供3种MobileNetV3变体:MobileNetV3-B、-C和-BC,以证明增强主干的有效性。
与最初的MobileNetV3相比,MobileNetV3-B在stride为4的阶段增加了2个额外的block,MobileNet V3-C在早期阶段包含的通道增加了50%。MobileNetBC是MobileNetV3-B和MobileNetV2-C的组合,这是为TinyDet提出的Backbone。
表4显示了不同配置的比较。为了公平比较,作者调整了TinyFPN和TinyRPN的组号,以保持总计算预算相似(约1 GFLOP)。MobileNetV3BC性能优于MobileNetV3和其他变体。增加层数和通道数分别使AP提高了1.1%和1.4%。当两者都采用时,AP提高了1.9%。
此外,AP上的增益(+2.6)比APm(+1.3)和APl(+11.3)更显著。随着更多的计算被分配到早期阶段,详细的信息得到了增强,并更有利于小目标检测。
作者还将MobileNetV3BC与其他具有代表性的轻量级主干进行了比较(表4)。为了进行公平的比较,删除了SE模块。MobileNetV3 BC比手动设计的主干(SNet535和MobileNetV2)和自动搜索的主干(FBNet和Proxyless)都能获得更好的结果。
2、TinyFPN和TinyRPN中SCConv的消融研究
为了使FPN和RPN轻量级,将深度卷积和逐点群卷积组合为稀疏连接卷积(SCConv)。如表5所示,与FPN和RPN中的传统卷积或深度可分离卷积相比,SCConv大大降低了计算成本,并取得了可比的结果。
结果证实,TinyFPN和TinyRPN中的SCConv对检测性能几乎没有降低。对于轻量化检测器的设计,在检测头中采用SCConv是一种在保持高检测性能的同时节省计算成本的有效方法。
作者还评估了TinyFPN和TinyRPN中SCConvs的不同组号设置。结果如表6所示。从(c)行和(e)行的比较中发现为不同的金字塔级别设置不同的组号比设置相同的组号要好。一个好的做法是在FPN中,底部金字塔使用更多的组,顶部金字塔使用更少的组(表6(e))。
3、特征对齐的消融研究
作者评估了第3.1.2节中描述的特征错位如何影响表7中的检测性能。通过使用简单的平均池化来更好地调整主干特征,在AP上获得了0.5%的增益。
请注意,AP的增益(+1.4%)高于APm(+0.6%)或APl(+0.8%)。这是因为小目标对特征错位更敏感,并且从这种校正中受益更多。
4、局限性
这项研究存在局限性。目前,无法将速度与其他检测器进行比较。原因有两方面:
- 首先,检测器的速度高度依赖于推理SDK(例如,苹果的CoreML和谷歌的TensorFlowLite)。对于ThunderNet,它使用了第3方高性能推理SDK,该SDK尚未公开。这使得在相同的硬件条件下进行公平的速度比较是不可行的。
- 其次,大多数推理SDK主要针对计算内容模型进行优化,较少关注内存带宽。然而,TinyDet具有计算效率,并且需要面向带宽的优化。这种不一致性使TinyDet在速度上处于次优状态。
目前,在2种类型的ARM CPU上提供了TinyDet的推理延迟,这两种CPU具有单线程且没有任何优化(表8)。
5、参考
[1].TinyDet: Accurate Small Object Detection in Lightweight Generic Detectors.