探索两阶段目标检测器的运作机制,重点解析区域提案与分类环节。了解Ultralytics 等现代模型如今占据领先地位。
两阶段目标检测器是计算机视觉领域中用于识别和定位图像内物体的 深度学习(DL)架构的高级类别。 与单阶段检测器仅需单次迭代即可完成检测不同,这类模型将任务划分为两个独立阶段:区域提案与目标分类。这种二分法最初旨在优先提升定位精度,使其在人工智能发展史上具有里程碑意义。 通过将"位置"与"物体识别"分离,两阶段检测器通常能实现更优的精度,尤其在处理小型或被遮挡物体时表现突出,但通常需要付出计算资源增加和推理延迟变慢的代价。
两级探测器的架构依赖于一种顺序工作流程,该流程模拟了人类仔细观察场景的方式。
该架构的典型代表包括R-CNN家族,特别是 Faster R-CNN和 Mask R-CNN,它们在数年间为学术基准测试树立了标杆。
区分两阶段模型与单阶段目标检测器(如单次多框检测器SSDUltralytics YOLO )颇有裨益。两阶段模型通过分别处理区域来优先保证准确性,而单阶段模型则将检测视为单一回归问题,直接将图像像素映射到边界框坐标和类别概率。
历史上,这形成了某种权衡:两阶段模型更精确但速度较慢,而单阶段模型速度更快但精度较低。然而现代技术进步已模糊了这种界限。像YOLO26这样的尖端模型如今采用端到端架构,既能媲美两阶段检测器的精度,又能保持实时推理所需的速度。
由于其对精度 和召回率的重视,在安全性和细节比原始处理速度更为关键的场景中,两阶段检测器往往更受青睐。
虽然两阶段检测器为高精度视觉奠定了基础,但现代开发者常采用先进的单阶段模型,其性能与之相当,且部署流程显著简化。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