Backbone
主干网络是视觉模型底层的预训练网络,它将像素转换为多尺度特征图,供颈部网络和检测头使用。
主干网络是神经网络中将原始输入转换为供模型其余部分使用的特征图的部分。在计算机视觉中,主干网络通常是经过 ImageNet 等大型数据集预训练的卷积神经网络 (CNN)或视觉 Transformer (ViT)。其后的层通常包括颈部和任务专用的头部,会将特征转换为类别标签、边界框、掩码或关键点。主干网络、编码器和特征提取器通常可以互换使用;在 U-Net等编码器—解码器模型中,通常使用「编码器」这一名称。
主干网络的工作原理#
视觉主干网络分阶段处理图像。每个阶段都会应用一组卷积或注意力模块,然后将空间分辨率减半,并通常增加通道数;因此,640×640 的输入会变成步幅为 8 的 80×80 特征图、步幅为 16 的 40×40 特征图,以及步幅为 32 的 20×20 特征图。较早的阶段会响应边缘、颜色和纹理;较后的阶段则会响应物体部件和完整物体,因为这些阶段的每个输出位置都覆盖了输入图像中更大的感受野。检测和分割模型会从最后三个阶段提取特征,并将其传递给特征金字塔网络 (FPN)等颈部结构;这样,模型就能在高分辨率特征图中找到小物体,并在低分辨率特征图中找到大物体。
骨干网络、颈部与头部的区别#
大多数现代物体检测架构由三个部分组成;替换组件或冻结层时,这些部分之间的边界很重要。
- 主干网络:负责特征提取,并在多个分辨率上生成特征图。主干网络包含可迁移到不同任务和数据集的通用视觉知识。
- 颈部:融合主干网络不同尺度的特征,使每个输出层级同时保留精细的空间细节和高层语义。FPN 添加自上而下的路径,PANet 则在此基础上再添加一条自下而上的路径。分类模型通常没有颈部,而是将主干网络的最后一个阶段池化为单个向量。
- 头部:将每个融合后的特征图转换为任务输出。检测头预测边界框和类别分数;分割头和姿态头则根据同类特征预测掩码和关键点。
常见的主干网络系列#
- ResNet:残差连接让信号能够跳过某些模块,使多达 152 层的网络也能训练;ResNet 集成模型赢得了 ILSVRC 2015 分类任务。ResNet-50 至今仍是比较检测器时常用的标准参考主干网络。
- CSPNet:跨阶段部分网络只将每个阶段的一部分通道送入该阶段的模块,并在末尾将其余通道合并回来;在 ImageNet 准确率持平或更高的情况下,这种设计将计算量降低了 20%。YOLOv4 的主干网络 CSPDarknet53 就由这些阶段构成。
- ConvNeXt:采用从 Transformer 借鉴的设计选择(如大卷积核和更少的归一化层)改进 ResNet,在 ImageNet 上达到 87.8% 的 top-1 准确率,并在 COCO 检测任务中胜过 Swin Transformer。
- ViT 和 Swin Transformer:标准 ViT 从头到尾都保持单一分辨率,因此检测模型通常改用 Swin;Swin 在移位的局部窗口内计算注意力,并生成类似 CNN 的分阶段层级结构。
- 自监督基础主干网络:DINOv3在 17 亿张无标签图像上训练了一个拥有 70 亿参数的 ViT;冻结主干网络时,其特征在分割和深度估计等密集任务上仍能取得优异结果。
预训练主干网络与迁移学习#
从头训练骨干网络需要大型数据集和较长的训练周期,因此大多数项目会从预训练权重开始。这种迁移学习之所以有效,是因为在一个数据集上学到的边缘、纹理和形状特征对大多数其他数据集也有用。对于接近预训练领域的小型数据集,冻结骨干网络可以保留这些通用特征,减少过拟合并降低训练内存占用,因为冻结层不会存储梯度或优化器状态。对于大型数据集或差异较大的领域(例如X 射线或热成像),同时对骨干网络进行微调可以让其特征适应新领域。在 YOLO26中,骨干网络包含第 0 至 10 层(步幅卷积、C3k2 块、SPPF 池化块和 C2PSA 注意力块);freeze=11训练参数会冻结这些层,使训练仅更新颈部和检测头;微调指南会详细讲解这一配置。
from ultralytics import YOLO
# 加载在 COCO 上预训练的 YOLO26 检测模型
model = YOLO("yolo26n.pt")
# 冻结整个主干网络(第 0–10 层),在小型数据集上进行微调
results = model.train(data="coco8.yaml", epochs=3, imgsz=640, freeze=11)第一个 epoch 开始前,训练器会记录 Freezing layer 'model.0.conv.weight',并为第 0–10 层中的其他每个参数记录对应内容;这些参数会保持固定,而颈部和头部则学习新数据。










