Detection Head、Neck、Backbone是什么

本文最后更新于 2023年9月18日 上午

Detection Head、Neck、Backbone是什么

简而言之,基于深度学习的目标检测模型的结构可以概括为:输入->主干->脖子->头->输出

主干网络提取特征,脖子提取一些更复杂的特征,然后头部计算预测输出

Pasted image 20230101151511

Backbone

我们一般将Backbone译作骨干网络主干网络,它主要指网络中用于特征提取的部分。一般采用已在大型数据集(例如ImageNet|COCO等)上完成预训练的模型,例如:ResNet-50、Darknet53、VGG等。

Neck

用在BackboneDetection Head之间用来更好地融合和提取特征,进一步提升特征的多样性及鲁棒性。一些模型会添加一些用于收集不同阶段中特征图的网络层。

Detection Head

  • 获取网络输出,利用提取特征做出预测
  • 后续连接的网络层由于主要是服务于detection任务,因此称之为“Detection head
  • Detection Head译作检测头是获取模型输出内容的网络,利用之前提取的特征做出预测,主要包括预测目标的种类和**位置(bounding boxes)**。

其他

Bottle Neck:瓶颈,通常指网络输入输出数据维度不同,通常输出维度比输入维度小很多、

GAP:Global Average Pool全局平均池化,将某个通道的特征取平均值

Warm up:小的学习率先训练几个epoch,这是因为网络的参数是随机初始化的,一开始就采用较大的学习率容易数值不稳定

引用

  1. CV学习笔记(一)Backbone,neck,head
  2. 深度学习backbone、neck、head等术语解释

Detection Head、Neck、Backbone是什么
https://hexo.leelurker.com/posts/57151
作者
LeeLurker
发布于
2023年9月18日
许可协议