两阶段物体检测器代表了计算机视觉(CV)中的一类物体检测架构,通过将检测过程分为两个不同的阶段来提高准确性。这些检测器旨在首先识别图像中可能存在物体的感兴趣区域(RoIs),然后在第二阶段对这些建议区域内的物体进行分类,并细化其位置(边界框)。这种有条不紊的方法可对每个潜在物体进行更详细的分析,通常可提高检测精度,尤其是在复杂场景或检测小物体时。
两级探测器的工作原理
两阶段检测器的运行涉及一个顺序过程,利用深度学习技术,特别是卷积神经网络(CNN)。
- 第 1 阶段:区域建议:第一阶段通常使用区域建议网络 (RPN),这一概念由Faster R-CNN 模型推广。RPN 扫描图像特征(由ResNet 等骨干 CNN 提取),并提出一组可能包含物体的候选区域。这些建议本质上是围绕潜在物体的粗边界框。
- 第二阶段:分类和细化:提出的区域(RoIs)将进入第二阶段。对于每个 RoI,都会提取特征(通常使用 RoIPool 或 RoIAlign 等技术),然后由神经网络 (NN)执行两项任务:对 RoI 中的对象进行分类(例如 "汽车"、"人"、"背景"),并完善边界框的坐标,以便更准确地匹配对象。著名的例子包括 R-CNN 系列(什么是 R-CNN?
优缺点
两级探测器具有明显的优势,但也有其局限性:
优势
- 高精确度:将建议生成和分类/提炼分离开来,可以进行更集中的处理,通常会带来更高的准确性,尤其是以平均精度(mAP)等指标来衡量。
- 更好的定位:细化阶段通常会带来更精确的边界框预测。
- 对小物体有效:在识别图像中的较小物体方面,由于第二阶段的聚焦作用,它们比单级探测器表现得更好。
缺点
- 速度较慢:与单阶段方法相比,连续的两阶段过程本身需要更多的计算时间,导致推理延迟较低。这使得它们不太适合需要实时推理的应用。
- 复杂性:架构的实施和培训一般较为复杂。
- 计算成本较高:它们通常需要更多的计算资源(如GPU)来进行训练和推理。
与单级探测器的比较
主要区别在于结构和方法。单级物体检测器,如 Ultralytics YOLO系列(例如 YOLOv8, YOLO11)和 SSD,通过网络一次性同时执行对象定位和分类。这使它们的速度大大提高。在单级检测器和双级检测器之间做出选择,往往需要权衡:优先考虑速度(单级)还是最大精度(双级)。虽然单级检测器已经大大缩小了精度上的差距,但在要求最高精度的场景中,两级检测器往往仍能保持优势。
实际应用
两级检测器的高精度使其在精度要求极高的应用中非常有价值: