Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Object Detection Architectures

目标检测架构是将像素转换为框和标签的网络设计。了解主干网络、颈部和检测头,以及主要的检测器系列。

目标检测架构是将图像转换为边界框、类别标签和置信度分数列表的网络设计。几乎所有现代检测器都由骨干网络、颈部和检测头组成;设计的主要差异在于如何生成候选框(例如通过区域提议、密集网格或学习得到的查询),以及如何去除重复预测(例如使用非极大值抑制 (NMS)或一对一匹配)。这些选择决定了检测器的准确率、速度,以及在边缘硬件上的部署难易度。目标检测指的是任务,而检测头是架构的一部分。

骨干网络、颈部和检测头#

骨干网络负责提取特征。它可以是 ResNet 或 CSPDarknet 这样的卷积神经网络,也可以是视觉 Transformer,通常会在 ImageNet 分类数据集上进行预训练。骨干网络会分阶段对图像下采样,因此随着网络加深,特征图的分辨率降低,语义信息增加。颈部通常是特征金字塔网络 (FPN),并像 PANet 一样增加一条自底向上的路径,用于融合深层和浅层特征图,使每个输出尺度都同时包含细节和上下文信息。检测头会在每个尺度的每个位置预测边界框和类别分数,通常使用步幅为 8、16 和 32 的尺度,因此最精细的特征图用于检测小物体,最粗糙的特征图用于检测大物体。你可以从模型定义中看出真实检测器的这三个组成部分:

from ultralytics import YOLO

# 加载 YOLO26n,并按照模型 YAML 中的方式拆分其层
model = YOLO("yolo26n.pt")
layers = model.model.model
n_backbone = len(model.model.yaml["backbone"])

# 骨干网络提取特征,颈部融合尺度,最后一层是检测头
print("Backbone:", [type(m).__name__ for m in layers[:n_backbone]])
print("Neck:", [type(m).__name__ for m in layers[n_backbone:-1]])
print("Head:", type(layers[-1]).__name__, "at strides", model.model.stride.tolist())

骨干网络列表显示了带步幅的 Conv 层和以 SPPF 池化层及 C2PSA 注意力模块结束的 C3k2 模块;颈部从上到下运行 Upsample、Concat 和 C3k2 层,再通过带步幅的 Conv、Concat 和 C3k2 层向上返回;Detect 检测头则在步幅为 8、16 和 32 的尺度上进行预测。

检测器类别#

  • 两阶段检测器: 区域提议网络会提出数百个候选区域,第二个检测头再对每个区域进行分类和细化,例如 Faster R-CNN(2015)和 Mask R-CNN(2017)。
  • 基于锚框的单阶段检测器: SSD(2016)、YOLOv2 至 YOLOv5,以及 RetinaNet(2017)会在一次前向处理中,预测每个网格单元中相对于预定义锚框的偏移量。
  • 无锚框检测器: FCOS(2019)和 YOLOv8(2023)会预测一个点到边界框四条边的距离;CenterNet(2019)会将边界框中心预测为热力图峰值,并为每个中心预测宽度和高度;YOLOX(2021)则让 YOLO 系列重新采用无锚框预测,因此这些模型都不需要调优锚框。
  • DETR 风格的 Transformer 检测器:DETR(2020)会解码一组固定数量的学习型目标查询,并将其与标注目标一对一匹配,因此输出无需 NMS;Deformable DETR 以少十倍的训练轮数取得更高准确率;RT-DETR则在 2023 年让这种设计实现了实时运行。
  • 无 NMS 的 CNN 检测器: YOLOv10(2024)会在训练时同时使用一对一检测头和一对多检测头,并在推理时只运行一对一检测头,因此其边界框无需经过 NMS。
  • 开放词汇检测器:Grounding DINO和 YOLO-World用文本嵌入取代固定分类层,因此可以检测推理时指定的类别。

选择架构#

COCO 上的平均精度均值(mAP)等基准可用于衡量准确率,但目标硬件和图像中的物体通常才是设计选择的决定因素。YOLO26是无锚框单阶段 CNN,包含两种类型的检测头:默认会对一对多分支应用 NMS,nms=False 会切换到一对一分支,其模型 YAML 文件还包含 P2 和 P6 变体,可增加步幅为 4 或 64 的输出。

  • 边缘设备和实时视频: 小型 CNN 检测器很适合编译到 TensorRT 和 OpenVINO 等运行时中,而无 NMS 检测头可以省去一个后处理步骤,其开销会随着候选项数量增加。
  • 小目标:航拍和检测图像需要更精细的输出层级(例如步幅 4),或采用切片推理,让检测器处理相互重叠的裁剪图像。
  • 不断变化的商品目录: 开放词汇检测器可以通过文本提示找到新商品,无需该商品的标注图像。
  • 旋转物体: 卫星图像中的船只、车辆和建筑物更适合用定向边界框表示,这类边界框会在检测头中增加一个角度输出。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

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

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 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 的未来!

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