Two-Stage Object Detectors
探索两阶段目标检测器的机制,重点关注候选区域和分类。了解为什么像 Ultralytics YOLO26 这样的现代模型现在处于领先地位。
两阶段目标检测器是一类复杂的深度学习 (DL) 架构,用于计算机视觉中以识别和定位图像中的物体。与单次完成检测的单阶段模型不同,这些模型将任务分为两个截然不同的阶段:区域建议和目标分类。这种分叉式方法最初旨在优先考虑高定位精度,这使得这些检测器在人工智能 (AI) 的发展史上具有重要意义。通过将“在哪里”与“是什么”分离,两阶段检测器通常能实现更高的精度,尤其是在针对小型或被遮挡物体时,尽管这通常是以消耗更多计算资源和更慢的推理延迟为代价的。
Link to this section两阶段处理流程#
两阶段检测器的架构依赖于一个顺序工作流,模拟了人类仔细审视场景的方式。
-
区域建议: 在第一阶段,模型扫描输入图像以识别可能存在物体的潜在区域。一个被称为区域建议网络 (RPN) 的组件会生成一组稀疏的候选框,通常被称为感兴趣区域 (RoIs)。此阶段滤除了大部分背景,使网络能够将处理能力集中在相关区域上。
-
分类与精调: 在第二阶段,模型使用卷积神经网络 (CNNs) 从这些候选区域中提取特征。然后,它为每个区域分配一个特定的类别标签(例如,“人”、“车辆”),并精调边界框的坐标以紧密包围物体。
该架构的杰出代表包括 R-CNN 系列,特别是 Faster R-CNN 和 Mask R-CNN,它们在过去几年中确立了学术基准的标准。
Link to this section与单阶段检测器的比较#
将两阶段模型与单阶段目标检测器(如 Single Shot MultiBox Detector (SSD) 和 Ultralytics YOLO 系列)区分开来是很有帮助的。虽然两阶段模型通过单独处理区域来优先考虑准确率,但单阶段模型将检测定义为一个单一的回归问题,直接将图像像素映射到边界框坐标和类别概率。
从历史上看,这产生了一种权衡:两阶段模型更准确但速度较慢,而单阶段模型速度更快但精度较低。然而,现代技术的进步模糊了这条界限。像 YOLO26 这样的先进模型现在利用端到端架构,在保持实时推理所需速度的同时,其精度足以媲美两阶段检测器。
Link to this section实际应用#
由于它们对精度和召回率的重视,两阶段检测器通常在安全性和细节比原始处理速度更关键的场景中更受青睐。
- 医学诊断影像: 在医疗保健中的 AI 领域,漏诊可能是致命的。两阶段架构常用于医学图像分析,以检测 X 光或 MRI 扫描中的肿瘤等异常情况。这种多步处理过程有助于确保在复杂的组织背景中不会漏掉微小的病灶,从而为放射科医生提供高置信度的自动化辅助。
- 高精度工业检测: 在智能制造中,自动化视觉检测系统使用这些模型来识别装配线上的微小缺陷。例如,检测涡轮叶片中的细微裂纹需要两阶段检测器提供的高交并比 (IoU) 精度,以确保只有完美的组件才能进入下一道生产工序。
Link to this section实现现代检测#
虽然两阶段检测器为高精度视觉奠定了基础,但现代开发者通常使用先进的单阶段模型,这些模型在提供相当性能的同时,具备更简便的部署工作流。Ultralytics Platform 简化了这些模型的训练和部署,并能高效管理数据集和计算资源。
以下 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





