Faster R CNN模型

Faster R-CNN 是目标检测领域的 里程碑式两阶段模型(2015),首次把 Region Proposal Network(RPN) 和 检测网络 端到端地联合训练,真正实现了“实时 + 高精度”通用检测框架。下面用“一张总图 + 四条流水线 + 2025 工业落地要点”一次讲清,复制即可用。

一、总体流水线(记住这张图)

复制
输入图像
├─ ① Conv Backbone (VGG/ResNet/Swin-T...)
│   └─ 特征图 F (H/16 × W/16 × C)
├─ ② Region Proposal Network (RPN)
│   ├─ 3×3 卷积 → 256-d
│   ├─ 分类头:object or not (1×1 conv)
│   └─ 回归头:dx, dy, dw, dh (1×1 conv)
│       └─ 生成 ~20k anchors → 2k proposals
├─ ③ RoI Pooling / Align
│   └─ 把 2k  proposals 统一成 7×7 特征图
└─ ④ Detection Head (Fast R-CNN)
    ├─ 分类:N+1 类(含背景)
    └─ 回归:N×4 精修框
 

二、四大核心组件(2025 视角)

表格
复制
组件2015 原始2025 工业常用升级
Backbone VGG16 ResNet50-FPN / Swin-T-FPN / EfficientNet-B3
Anchor 3 scales × 3 ratios 5-7 scales + 自适应锚 / 无锚(FCOS-like)
RoI 采样 RoI Pool (量化)→ 对齐误差 RoI Align(双线性插值,无量化)
Head 2-fc Cascade 3-stage + IoU-aware + DCNv3

三、关键公式(面试常问)

  1. Anchor 生成
    复制
    scale = [8, 16, 32] × stride(=16) → [128, 256, 512] px
    ratio = [0.5, 1, 2]
     
  2. RPN 损失
    L = L_cls(logits, labels) + λ L_reg(t, t*)
     
    • 正样本:IoU>0.7;负样本:IoU<0.3;其余弃用。
  3. RoI Align 网格
    复制
    bin_size = roi_h / 7
    采样 4 点双线性插值 → 无量化误差
     

四、2025 工业落地“四件套”

表格
复制
场景推荐配置理由
通用检测 Res50-FPN + RoI Align + Cascade COCO 42% AP,显存 6G,速度 18 FPS
小目标 Swin-T-FPN + 锚框密度×2 AP_s↑3%,窗口注意力全局上下文
实时检测 EfficientNet-B3-FPN + INT8 TensorRT 加速,30 FPS,AP 40%
低质量图纸 Backbone 前插 Real-ESRGAN + Cascade 模糊图 recall↑11%,人工复核↓92%

五、快速体验(MMDetection 一行命令)

bash
复制
# 安装
pip install mmdet mmcv-full

# 推理单张
python demo/image_demo.py demo.jpg \
       configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py \
       checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth
 

六、面试金句

“Faster R-CNN = RPN 生成候选框 + RoI Align 统一尺寸 + 分类/回归头精修;
它是 两阶段检测奠基者,2025 年工业仍用其骨架,只是 backbone、neck、head 全部升级。”
posted @ 2025-10-15 17:18  yinghualeihenmei  阅读(8)  评论(0)    收藏  举报