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