感谢香港中文大学多媒体实验室(mmlab)以及所有涉及的作者、科研人员、开源社区其他贡献者的工作。
引言
计算机视觉特别是目标检测领域,网络架构通常被分为几个部分来处理不同的任务和功能。主干网络(backbone)和颈部(neck)是两个核心组件。
主干网络(Backbone)
主干网络是目标检测架构中的基础部分,主要用途是从输入的图像中提取特征。这些网络通常是经过预训练的深度卷积神经网络,如VGG、ResNet等,它们在大规模图像数据集(如ImageNet)上进行训练,能够捕捉到从基础到复杂的图像特征。主干网络的输出是一组多尺度的特征图,这些特征图包含了图像中的关键视觉信息,是进行更高级别处理的基础。
颈部(Neck)
颈部是连接主干网络和检测头(head)的中间部分,它的主要用途是进一步加工和优化主干网络提取的特征。颈部的设计影响着特征的融合和传递方式,从而对检测性能有重要影响。例如,特征金字塔网络(FPN)是一种常见的颈部结构,它通过上采样和横向连接,有效地将不同尺度的特征图融合,增强了模型对于不同大小目标的检测能力。颈部可以通过多种方式增强特征,如加入注意力机制、使用内容感知的上采样方法等。
结构模块化的必要性和优点:
首先是代码结构灵活,性能对比和代码管理比较方便。然后是一些正规的描述:
专业化处理:将网络分为主干、颈部和头部允许每个部分专注于不同的任务,如特征提取、特征融合和决策制定(如分类和定位ÿ