探索两阶段目标detect器的机制,重点关注区域提议和分类。了解为何像Ultralytics YOLO26这样的现代模型如今处于领先地位。
两阶段目标检测器是计算机视觉中用于识别和定位图像中物体的一类复杂的深度学习 (DL)架构。与执行单次检测的单阶段对应物不同,这些模型将任务分为两个不同的阶段:区域提议和目标分类。这种分阶段方法旨在优先考虑高定位精度,使这些检测器在人工智能 (AI)的发展中具有历史意义。通过将“位置”与“内容”分离,两阶段检测器通常能实现卓越的精度,尤其是在小型或被遮挡的物体上,尽管这通常以增加计算资源和更长的推理延迟为代价。
两阶段检测器的架构依赖于一种顺序工作流程,模仿人类仔细审视场景的方式。
这种架构的显著例子包括R-CNN系列,具体来说是 Faster R-CNN 和 Mask R-CNN,它们在多年来为学术基准设定了标准。
区分两阶段模型与一阶段目标检测器(如单次多框检测器(SSD)和Ultralytics YOLO系列)有助于理解。两阶段模型通过单独处理区域来优先考虑准确性,而一阶段模型则将检测视为一个单一的回归问题,将图像像素直接映射到边界框坐标和类别概率。
历史上,这造成了一种权衡:两阶段模型精度更高但速度较慢,而单阶段模型速度更快但精度较低。然而,现代技术进步已经模糊了这一界限。像 YOLO26 这样的最先进模型现在采用端到端架构,其精度可与两阶段检测器媲美,同时保持了 实时推理 所需的速度。
由于它们对精度和召回率的重视,两阶段检测器通常在安全性与细节比原始处理速度更重要的场景中受到青睐。
虽然两阶段检测器为高精度视觉奠定了基础,但现代开发者通常会利用先进的单阶段模型,这些模型提供了可比拟的性能,同时部署流程显著简化。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

开启您的机器学习未来之旅