了解基于锚点的探测器如何通过精确定位、规模适应性和实际应用彻底改变物体检测。
基于锚点的检测器是计算机视觉(CV)中进行物体检测的基础方法。这些模型依赖于一组预定义的参考框,即所谓的 "锚点 "或 "先验",它们具有特定的尺寸和长宽比。这些锚点可作为整个图像的起点或模板,帮助模型更有效地预测潜在物体的位置和类别,尤其是那些在比例和形状上变化很大的物体。许多早期成功的物体检测架构都采用了这种方法。
基于锚点的检测器的核心理念是在输入图像的不同位置放置密集的锚点网格。每个锚点框代表一个潜在的候选对象,其比例和长宽比都是预定义的。在训练过程中,模型会学习每个锚点的两个主要特征:第一,锚点是否包含相关物体(分类);第二,如何调整锚点的位置和尺寸(回归)以紧密贴合实际物体的边界框。
想象一下,在一张大型停车场图像中搜索不同的车辆。您不需要逐个像素扫描,而是使用预定义的矩形模板(锚点):垂直的小模板表示摩托车,中等方形模板表示汽车,宽大模板表示公共汽车。您可以在整个图像中叠加这些模板。当模板与汽车严重重叠时,模型会学习确认 "是的,这是一辆汽车",并稍微移动和调整模板大小,使其与汽车的边界完全匹配。大部分覆盖背景的锚点被归类为锚点。这种方法在预定义形状的指导下,系统地涵盖了各种可能性。性能通常使用诸如 "交集大于联合"(Intersection over Union,IoU)和 "平均精度"(mean Average Precision,mAP)等指标来衡量。
基于锚点的检测器通常建立在卷积神经网络(CNN)的基础上,具有几个显著的特点:
物体检测领域的一个重要发展是无锚点检测器的兴起。与基于锚点的模型(如YOLOv4)不同,无锚点方法通常通过识别关键点(如角或中心)或预测点到物体边界的距离,直接预测物体的位置和大小,而不依赖于预定义的锚点形状。
主要区别包括
现代模型,如 Ultralytics YOLO11等现代模型都采用了无锚点方法,充分发挥了其高效和简便的优势。您可以阅读更多有关 YOLO11无锚检测优势的信息。
尽管无锚方法是大势所趋,但基于锚的探测器已成功应用于众多领域:
在无锚点方法越来越受欢迎的同时,了解基于锚点的检测器对于理解物体检测的演变及其在特定环境或传统系统中的持续相关性至关重要。像 PyTorch和 TensorFlow等工具同时支持基于锚和无锚的模型开发,而Ultralytics HUB等平台则简化了现代检测器的训练和部署。