术语表

锚式探测器

了解基于锚点的探测器如何通过精确定位、规模适应性和实际应用彻底改变物体检测。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

基于锚点的检测器是计算机视觉(CV)中处理物体检测任务的重要基础方法。这些模型通过使用一组预定义的参考框(通常称为 "锚点 "或 "先验")来运行,这些参考框具有特定的尺寸和长宽比。锚点分布在整个图像中,充当初始猜测或模板,使模型能够更有效地预测物体的位置和类别,尤其是在处理不同尺度和形状的物体时。许多有影响力的早期物体检测模型,如某些版本的 Ultralytics YOLO系列的某些版本就采用了这种技术。

锚式探测器的工作原理

基于锚点的检测器背后的基本概念是在输入图像的多个位置和尺度上叠加这些预定义锚点的密集网格。每个锚点框对应一个具有特定大小和形状的潜在物体。在模型训练过程中,检测器会针对每个锚点学习两件主要的事情:首先,它会对锚点框是否包含相关物体或背景进行分类;其次,它会完善锚点的位置和尺寸(这一过程称为回归),以精确匹配实际物体的边界框

考虑在繁忙街道的图像中检测各种车辆。基于锚点的模型不分析每个像素组,而是使用预定义的方框模板:较小的方框代表行人,中等大小的方框代表汽车,较大的矩形代表公交车。这些模板(锚点)被放置在整个图像中。如果锚点与汽车有明显重叠,模型就会将其归类为 "汽车",并调整锚点的坐标和大小,使其与汽车完全吻合。仅覆盖道路或建筑物的锚点则被归类为 "背景"。这种以预定义形状为指导的系统化方法有助于管理物体检测的复杂性。性能评估通常使用 "联合交叉"(IoU)和 "平均精度"(mAP)等指标。

主要特点和优势

基于锚点的检测器通常以功能强大的卷积神经网络(CNN)骨干,具有明显的优势:

  • 处理比例和长宽比变化:预定义的锚点明确涵盖了各种形状和尺寸,因此无论物体的尺寸或方向如何,这些模型都能很好地检测到它们。
  • 结构化预测:锚点提供了一种结构化的方式来生成整个图像中的对象建议,确保全面覆盖。
  • 高召回率:通过锚点生成大量潜在对象位置,这些方法通常能实现高召回率,这意味着它们能很好地找到最相关的对象,尽管有时这需要非最大抑制(NMS)等后处理步骤来过滤重复对象。
  • 经过验证的性能:COCO 等标准基准数据集上Faster R-CNNSSD(Single Shot MultiBox Detector)等架构表现出了强劲的性能。

实际应用

基于锚点的探测器已成功应用于许多实际场景:

  1. 自动驾驶汽车:检测不同大小和距离的车辆、行人、骑车人和交通标志对于安全导航至关重要。基于锚点的方法有助于确保可靠地识别远近、大小物体。Waymo等公司在很大程度上依赖于强大的物体检测功能。了解有关自动驾驶汽车中的人工智能的更多信息。
  2. 零售分析:在商店里,这些探测器可以监控货架以识别产品、检查库存水平,或通过探测人流来分析顾客流量模式。处理不同产品包装尺寸和形状的能力对于人工智能驱动的库存管理等应用至关重要。

有锚检测器与无锚检测器的比较

近年来,无锚检测器已成为一种流行的替代方案。与基于锚点的模型(如..、 Ultralytics YOLOv5等)不同,无锚方法通常通过识别关键点(如对象中心或角落)或预测点到对象边界的距离来直接预测对象的位置和大小,从而无需预定义的锚点形状。

主要区别包括

  • 复杂性:基于锚点的模型需要精心设计和调整锚点参数(大小、比例、尺度),这可能与数据集有关。无锚模型则简化了探测头的设计。
  • 灵活性:无锚方法可以更好地适应长宽比异常或固定锚点集不能很好反映形状的物体。
  • 效率:消除锚点可以减少模型需要预测的次数,从而加快推理速度,简化后期处理。

虽然像YOLOv4这样基于锚点的探测器非常成功,但许多现代架构,包括 Ultralytics YOLO11等许多现代架构都采用了无锚点设计,以充分利用它们在简单性和效率方面的优势。您可以在YOLO11中探索无锚检测的优势,并查看不同YOLO 模型之间的比较

工具和培训

无论是基于锚点还是无锚点,开发和部署对象检测模型都需要使用以下框架 PyTorchTensorFlow等框架和OpenCV 等库。Ultralytics HUB等平台为训练自定义模型、管理数据集和部署解决方案提供了简化的工作流程,并支持各种模型架构。为了进一步学习,Papers With Code等资源列出了最先进的模型,DeepLearning.AI等平台提供的课程涵盖了基础概念。

阅读全部