Backbone
Backbone(骨干网络)是检测/分割/识别模型的“特征提取器”,负责把原始图像(H×W×3)编码成多尺度、高语义、低噪声的特征图(如 H/4 ~ H/32 的 256/512/1024-d 特征)。一句话:“Backbone 越好,后续检测头越省力。”
下面用“1 张演进图 + 4 条技术线 + 2025 选型表”一次讲清,直接抄。
一、Backbone 演进时间轴(记大节点)
2012 AlexNet → CNN 开端
2014 VGG16 → 3×3 堆叠
2015 ResNet → 残差跳跃,100+ 层可行
2017 DenseNet → 密集连接,省参数
2019 EfficientNet → 复合缩放(深度+宽度+分辨率)
2021 Swin-T → 窗口注意力 + 移位,CNN 与 Transformer 融合
2023 ConvNeXt V2 → 纯 CNN 反超 Transformer,无需注意力
2025 InternImage-H → deformable CNN 大规模,全局感受野
二、2025 主流 Backbone 技术线
表格
技术线 | 代表模型 | 核心 trick | 适用场景 |
---|---|---|---|
ResNet 系 | Res50/101, ResNeXt | 残差跳跃,FPN 友好 | 通用检测,显存 6-8G |
Transformer 系 | Swin-T/S/B, InternImage | 窗口/可变形注意力,全局感受野 | 小目标、模糊图 |
Efficient 系 | EfficientNet-B0~B7 | 复合系数缩放,FLOPs↓ | 移动端、实时 |
CNN 复兴系 | ConvNeXt V2, InternImage-H | 大 kernel + LayerScale,无注意力 | 高吞吐、TensorRT 友好 |
三、2025 工业选型速查表(MMDetection/MMYOLO 实测)
表格
模型 | 参数量 | COCO AP | 显存 (FP16) | FPS (TRT) | 说明 |
---|---|---|---|---|---|
ResNet50-FPN | 26M | 40.2 | 4.5G | 38 | baseline,最稳 |
Swin-T-FPN | 28M | 43.8 | 6.2G | 30 | 小目标↑3% |
EfficientNet-B3 | 12M | 42.1 | 3.8G | 45 | 移动端首选 |
ConvNeXt-T | 27M | 44.4 | 5.5G | 36 | 纯 CNN,TensorRT 极速 |
InternImage-T | 30M | 45.8 | 7.0G | 28 | 全局感受野,模糊图利器 |
四、关键实现(MMDetection 风格)
Python
# Swin-T 示例
model = dict(
type='FasterRCNN',
backbone=dict(
type='SwinTransformer',
embed_dims=96,
depths=[2,2,6,2],
num_heads=[3,6,12,24],
window_size=7,
drop_path_rate=0.2,
patch_norm=True,
out_indices=(0,1,2,3)),
neck=dict(type='FPN', in_channels=[96,192,384,768], out_channels=256, num_outs=5),
...
)
五、一句话总结
“Backbone 就是 ‘特征抽取发动机’;从 ResNet 到 Swin 到 ConvNeXt,卷积→注意力→大 kernel 轮番演进;
2025 年工业选型:通用用 Res50,小目标用 Swin,移动端用 EfficientNet,高吞吐用 ConvNeXt。”