深度学习模型结构入门:Backbone、Neck、Head 与端到端检测
文章目录
深度学习模型结构入门:Backbone、Neck、Head 与端到端检测
本文整理目标检测中常见的模型结构术语,并补充 YOLO 数据路径、端到端检测和领域适配的几个易混点。
1. Backbone:骨干网络
Backbone 负责从输入图像中提取不同层级的特征。浅层特征通常保留更多位置和纹理信息,深层特征包含更强的语义信息。
常见骨干网络包括 LeNet、AlexNet、VGG、ResNet、CSPDarknet 和 Swin Transformer。实际项目中经常加载在 ImageNet 等数据集上预训练的权重,再针对目标任务微调,但预训练并不是必须条件。
2. Neck:特征融合网络
Neck 位于 Backbone 与 Head 之间,用于融合不同尺度或不同阶段的特征。它对小目标、多尺度目标检测尤其重要。
经典结构包括:
- FPN:自顶向下融合多尺度特征;
- PAN/PANet:在 FPN 基础上加强自底向上的信息传递;
- BiFPN:通过可学习权重进行双向特征融合。
3. Head:任务输出层
Head 将融合后的特征转换为最终预测。目标检测 Head 通常输出类别、边界框和置信度;分割 Head 输出像素级掩码;分类 Head 输出类别概率。
检测 Head 还可以分为耦合头与解耦头。解耦头会分别处理分类和回归任务,减少不同目标之间的优化冲突。
4. Bottleneck:瓶颈结构
Bottleneck 不只是“设置维度”。它通常通过先压缩、再处理、最后恢复通道数来减少计算量,同时配合残差连接改善梯度传播。不同网络中的 Bottleneck 设计并不完全相同,应结合具体代码理解。
5. 什么是端到端模型
广义上的端到端,是指模型直接从原始输入学习到任务输出,尽量减少人工设计的中间步骤。例如,检测模型输入图像后直接预测类别和边界框。
需要注意:很多 YOLO 版本虽然经常被称为端到端检测器,推理阶段仍会使用非极大值抑制(NMS)去除重复框。只有明确采用一对一匹配或无 NMS 设计的模型,才能在更严格的意义上称为端到端检测。
6. YOLOv5 的 img2label_paths
YOLOv5 中的 img2label_paths 会按照约定将图像路径中的 images 替换为 labels,并将图片扩展名替换为 .txt。它依赖固定目录结构,并不会智能识别任意文件夹名称。
推荐结构如下:
dataset/
├── images/
│ ├── train/
│ └── val/
└── labels/
├── train/
└── val/
图像与标签应同名,例如 images/train/001.jpg 对应 labels/train/001.txt。
7. 大模型与领域适配
通用视觉模型在农业、医学和工业等专业领域中,可能受到类别定义、成像条件和数据分布差异的影响。即使模型具备零样本能力,也不代表能稳定识别细粒度目标。
例如,在复杂树叶背景中定位特定品种的茶叶,通常仍需要:
- 收集具有代表性的领域数据;
- 设计准确、一致的标注规范;
- 进行微调或提示词适配;
- 使用独立测试集评估泛化能力。
8. VOC 转 YOLO 格式
VOC 通常使用 XML 保存像素坐标,YOLO 标签使用归一化后的中心点和宽高:
class_id x_center y_center width height
四个坐标都应除以图像宽高并归一化到 0 到 1。转换后要抽样可视化标签,重点检查类别映射、坐标顺序、越界框和空标签。
更多推荐




所有评论(0)