Two-Stage Object Detectors
探索两阶段目标检测器的机制,重点关注候选区域和分类。了解为什么像 Ultralytics YOLO26 这样的现代模型现在处于领先地位。
双阶段目标检测器是计算机视觉中用于识别和定位图像内物项的一类复杂的深度学习 (DL) 架构。与单阶段检测器在单次前向传播中完成检测不同,这些模型将任务划分为两个不同的阶段:区域建议和目标分类。这种分叉方法开创之初旨在优先保证高定位准确率,使得这些检测器在人工智能 (AI) 的演进中具有重要的历史意义。通过将“在哪里”与“是什么”分离,双阶段检测器通常能实现出色的精度,特别是在处理小型或遮挡目标时,尽管这通常以增加计算资源和较慢的推理延迟为代价。
两阶段处理流程#
两阶段检测器的架构依赖于一个顺序工作流,模拟了人类仔细审视场景的方式。
-
区域建议: 在第一阶段,模型会扫描输入图像以识别可能存在目标的潜在区域。一个被称为区域建议网络 (RPN) 的组件会生成一组稀疏的候选框,通常被称为感兴趣区域 (RoI)。此阶段会过滤掉大部分背景,从而使网络能够将计算能力集中在相关区域上。
-
分类与微调: 在第二阶段,模型使用卷积神经网络 (CNN) 从这些候选区域中提取特征。接着,它会为每个区域分配一个特定的类别标签(例如,“人”、“车辆”),并微调边界框的坐标以紧密包围目标。
该架构的杰出代表包括 R-CNN 家族,特别是Faster R-CNN 和Mask R-CNN,它们在多年里树立了学术基准的标准。
与单阶段检测器的比较#
将双阶段模型与像单次多框检测器 (SSD) 以及 Ultralytics YOLO 系列这样的单阶段目标检测器区分开来是很有帮助的。双阶段模型通过分别处理各个区域来优先保证准确率,而单阶段模型则将检测框定为一个单一的回归问题,将图像像素直接映射到边界框坐标和类别概率上。
从历史上看,这产生了一种权衡:双阶段模型更准确但速度较慢,而单阶段模型速度更快但精度较低。然而,现代的发展已经模糊了这条界限。诸如YOLO26 这样处于前沿的模型现在采用了端到端架构,其准确率可与双阶段检测器相媲美,同时保持了实时推理所需的必要速度。
实际应用#
由于它们对精确率和召回率的强调,在安全性和细节比原始处理速度更关键的场景中,双阶段检测器通常是首选。
- 医学诊断成像: 在医疗健康领域的 AI 领域,漏诊可能会带来严重后果。双阶段架构频繁用于医学图像分析中,以检测 X 光片或 MRI 扫描中的肿瘤等异常。多步骤过程有助于确保在复杂的组织背景中不会漏掉微小病变,从而为放射科医师提供高置信度的自动化辅助。
- 高精度工业检测: 在智能制造中,自动化视觉检测系统使用这些模型来识别装配线上的微观缺陷。例如,检测涡轮叶片中的发丝级裂纹需要双阶段检测器所提供的高交并比 (IoU) 准确率,从而确保只有完美的组件才能进入下一生产阶段。
实现现代检测#
虽然双阶段检测器为高准确率视觉奠定了基础,但现代开发者通常会利用先进的单阶段模型,这些模型在提供可比性能的同时,拥有明显更简单的部署工作流。Ultralytics 平台简化了这些模型的训练和部署,能够高效管理数据集和计算资源。
以下 Python 示例演示了如何使用 ultralytics 加载并运行现代化目标检测工作流的推理,从而实现类似于传统双阶段方法的高准确率结果,但效率更高:
from ultralytics import YOLO
# Load the YOLO26 model, a modern high-accuracy detector
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Process results (bounding boxes, classes, and confidence scores)
for result in results:
result.show() # Display the detection outcomes
print(result.boxes.conf) # Print confidence scores





