一阶段 vs 两阶段检测

同一张图,两条路线:两阶段先框后判(精而慢),一阶段一步到位(快而糙)。

两阶段 · Two-stage 先框后判 · 精而慢 一阶段 · One-stage 一步到位 · 快而(早期)糙 VS ≈ 2000 候选框 ① 生成候选区 (region proposals) 狗 0.97 ② 逐个 warp → CNN → 分类 + 回归 慢 · 低 FPS 狗 0.93 Resize → CNN → 直接回归 → NMS 每位置输出 1 + 4 + n(可能性+位置+类别) 快 · 高 FPS Anchor(锚框):在参考框上微调,而非从零猜框 CNN 特征图 · 每个点生成一簇 anchor 预设不同大小 / 长宽比的参考框(虚线) anchor + 偏移量 = 最终框 b_x = σ(t_x) + c_x 网络只预测偏移 t_x;c_x 为网格坐标;σ 把偏移压到 [0,1] 精度 ↔ 速度 权衡(mAP vs FPS) FPS 速度 → mAP 精度 ↑ 两阶段 高精度 · 低 FPS 一阶段 高 FPS · 精度已追上 早期一阶段·略糙 逐代追上 实时交互 / 摄像头 / 机械臂感知 → 选一阶段(YOLO)
1 同一张图、同一个目标——看两条检测路线怎么走。
记住这点:两阶段与一阶段的输入完全一样,差别只在「怎么产生框」。