Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Anchor-Free Detectors

无锚框检测器通过点或关键点预测框,不使用预设锚框。本文介绍 FCOS、CenterNet 和现代 YOLO 模型如何发现物体。

无锚框检测器是目标检测模型,可直接从特征图上的点,或从目标角点、中心等关键点,预测每个边界框,无需预定义的锚框。靠近目标的位置会预测自身到目标四条边的距离;或者用热力图峰值标记目标中心,并由网络回归目标的宽度和高度。这种方法无需针对每个数据集调节基于锚框的检测器所需的锚框尺寸、宽高比和锚框匹配阈值;无锚框检测头已成为实时检测的标准设计。

无锚框检测如何工作#

无锚框检测器分为两类:

  • 基于点的检测器,例如 FCOS:每个特征图层级的每个单元格都是一个候选位置。FCOS(2019)会在目标内部的每个位置预测类别分数和四个距离(分别到左、上、右、下边缘),还会预测一个中心度分数,降低来自远离目标中心的位置所预测边界框的权重。
  • 基于关键点的检测器,例如 CornerNet和 CenterNet:CornerNet(2018)会预测左上角和右下角的热力图,并通过学习到的嵌入向量配对属于同一目标的角点。CenterNet 会预测目标中心的热力图,并在每个峰值处回归宽度和高度;它通过 3 × 3 最大池化操作提取峰值,因此无需基于 IoU 的非极大值抑制(NMS)。

YOLO 系列中,无锚框预测出现得比锚框更早:YOLOv1在 2015 年直接从包含每个目标中心的网格单元预测边界框;YOLOv2 加入锚框后,召回率从 81% 提高到 88%,但 mAP 下降了 0.3 个百分点。YOLOX在 2021 年将密集的基于点的设计带回 YOLO;2023 年,Ultralytics 在 YOLOv8中将 YOLOv5的锚框替换为无锚框检测头,因此自定义数据集不再需要拟合锚框;YOLO26延续了这一设计。

解码密集的无锚框预测时,只需要单元格的位置和预测出的四个距离:

import torch

# Center of the grid cell at column 10, row 6 of a stride-16 feature map, in image pixels
stride = 16
point = (torch.tensor([10.0, 6.0]) + 0.5) * stride

# Distances the head predicts from that point to the left, top, right, and bottom box edges, in strides
ltrb = torch.tensor([2.0, 3.5, 1.5, 4.0]) * stride

# Anchor-free decoding: no template box, only the point and four distances
x1, y1 = point - ltrb[:2]
x2, y2 = point + ltrb[2:]
print(f"point {point.tolist()} -> box ({x1:.0f}, {y1:.0f}, {x2:.0f}, {y2:.0f})")

位于 (168, 104) 的点会变成边界框 (136, 48, 192, 168),宽 56 像素、高 120 像素。密集检测头会在每个金字塔层级的每个单元格应用这种解码,因此每个单元格都会生成一个候选边界框。

选择哪些点来学习每个目标#

由于没有锚框可与标注框通过交并比(IoU)进行比较,无锚框检测器需要另一种规则来确定哪些点算作正训练样本。FCOS 根据位置和尺寸进行判断:如果某个点位于标注框内部,且该点到边界框各边的最大距离符合其金字塔层级的范围,则该点为正样本;例如步幅为 8 的层级范围为 0 到 64 像素,步幅为 16 的层级范围为 64 到 128 像素,之后依此类推,直到步幅为 128 的层级。

后续检测器会自适应地选择正样本。ATSS表明,基于锚框的 RetinaNet 与无锚框 FCOS 之间的准确率差距,主要来自两者定义正负样本的方式;采用相同采样规则后,在每个位置平铺多个锚框并不会带来收益。任务对齐分配由 TOOD引入,并被 PP-YOLOE 和许多后续实时检测器采用;它会根据预测的类别分数与边界框 IoU 的加权乘积,对每个目标内部的点进行排序,并保留排名靠前的若干点作为正样本。

无锚框与基于锚框的检测器#

  • 更少的超参数:无需为每个数据集拟合锚框尺寸、宽高比或 IoU 匹配阈值;基于锚框的检测器通常会通过对训练边界框进行 k-means 聚类来完成这一步。
  • 形状灵活性:基于点的分配方式只取决于目标的位置,因此即使目标形状与任何锚框都不相似(例如细长的管道),也能获得正样本。
  • 术语沿用:许多无锚框代码库仍将网格点称为“锚点”,指的是没有尺寸或宽高比的位置。
  • 预测数量更少:每个位置只预测一个边界框,而不是每种锚框形状预测一个,因此解码和 NMS 需要处理的候选框会少好几倍;RetinaNet 每个位置使用 9 个锚框,每张图像约有 100,000 个候选框。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来