了解基于 Anchor 的检测器如何通过精确定位、尺度适应性和实际应用来革新目标检测。
基于 Anchor 的检测器是目标检测模型中的一个基础类别,广泛应用于计算机视觉领域。这类模型通过使用预定义的 Anchor 框集合来识别和定位图像中的目标,这些 Anchor 框本质上是以各种尺寸和宽高比平铺在图像上的模板网格。模型预测如何平移和缩放这些 Anchor 框,以匹配目标的真实边界框,以及置信度分数,指示目标的存在。这种方法通过将寻找目标的问题转化为相对于这些固定 Anchor 的回归和分类任务,从而简化了问题。
基于 Anchor 的架构的突出例子包括 R-CNN 系列(如 Faster R-CNN)和早期的单阶段检测器(如 SSD (Single Shot MultiBox Detector))以及许多 YOLO 模型,包括非常成功的 Ultralytics YOLOv5。
基于Anchor的检测背后的核心思想是使用一组预定义的参考框作为起点。在模型训练过程中,检测器学习为每个anchor框执行两个主要任务:
这些预测是由模型的检测头在处理了骨干网络提取的图像特征后做出的。由于单个对象可能被多个锚框检测到,因此使用称为非极大值抑制 (NMS)的后处理步骤来滤除冗余检测并仅保留最合适的框。这些模型的性能通常使用诸如平均精度均值 (mAP)和交并比 (IoU)之类的指标来评估。
近年来,无锚框检测器已成为一种流行的替代方案。与基于锚框的模型不同,无锚框方法直接预测对象的位置和大小,通常通过识别关键点(如对象中心或角点)或预测从点到对象边界的距离,从而无需预定义的锚框形状。
主要区别包括:
虽然像 YOLOv4 这样的基于 anchor 的检测器非常成功,但许多现代架构,包括 Ultralytics YOLO11,已经采用了无 anchor 设计,以利用它们在简单性和效率方面的优势。您可以探索 YOLO11 中无 anchor 检测的优势,并查看 不同 YOLO 模型之间的比较。
基于 Anchor 的检测器广泛应用于目标具有相对标准形状和尺寸的各种应用中。
开发和部署目标检测模型(无论是基于 anchor 的还是无 anchor 的)涉及使用诸如 PyTorch 或 TensorFlow 之类的框架以及诸如 OpenCV 之类的库。诸如 Ultralytics HUB 之类的平台为训练自定义模型、管理数据集和部署解决方案提供了简化的工作流程,支持各种模型架构。为了进一步学习,像 Papers With Code 这样的资源列出了最先进的模型,并且来自诸如 DeepLearning.AI 之类的平台的课程涵盖了基础概念。