YOLO目标检测
上QQ阅读APP看书,第一时间看更新

1.2 目标检测网络框架概述

从深度学习时代开始,目标检测网络的框架也逐渐地被确定了下来。一个常见的目标检测网络往往可以分为三大部分:主干网络(backbone network)、颈部网络(neck network)和检测头(detection head),如图1-4所示。

图1-4 目标检测网络的组成

主干网络。主干网络是目标检测网络中最核心的部分,其关键作用就是提取输入图像中的高级特征,减少图像中的冗余信息,以便于后续的网络去做深入的处理。在大多数情况下,主干网络选择的成败对检测性能的影响是十分巨大的。

颈部网络。颈部网络的主要作用是将由主干网络输出的特征进行二次处理。其整合方式有很多,最为常见的就是特征金字塔网络(feature pyramid network,FPN)[19],其核心是将不同尺度的特征进行充分的融合,以提升检测器的多尺度检测的性能。除此之外,还有很多单独的、可即插即用的模块,如 RFB[20]、ASPP[21]和YOLOv4[8]所使用的SPP模块等,这些模块都可以添加在主干网络之后,以进一步地处理和丰富特征信息,扩大模型的感受野。

检测头。检测头的结构相对简单,其主要作用就是提取类别信息和位置信息,输出最终的预测结果。在某些工作里,检测头也被称为解码器(decoder),这种称呼不无道理,因为检测头的作用就是从前两个部分所输出的特征中提取并预测图像中的目标的空间位置和类别,它相当于一个解码器。

总而言之,从宏观角度来看,几乎任何一个检测器都可以分为以上三大部分,如此的模块化思想也有助于我们为其中的每一部分去做改进和优化,从而提升网络的性能。接下来,我们再从微观角度来依次讲解目标检测网络的这三大部分。