遇见 YOLO26: 下一代视觉 AI。
Ultralytics
Ultralytics YOLO

为什么 Ultralytics YOLO26 移除 NMS 以及这如何改变部署

了解 Ultralytics YOLO26 如何实现真正的端到端、无 NMS 推理,以及为什么移除后处理可以简化导出和边缘部署。

ABAbirami Vina
6 min read
Ultralytics YOLO26 运行无 NMS 对象检测

1 月 14 日,我们发布了 Ultralytics YOLO26,这是我们计算机视觉模型的最新一代。在 YOLO26 中,我们的目标不仅是提高准确率或速度,而是重新思考目标检测模型如何在现实系统中构建和部署。

随着 computer vision 从研究走向生产,模型越来越多地被要求在 CPU、边缘设备、摄像头、机器人和嵌入式硬件上运行。在这些环境中,可靠性、低延迟和部署简易性与性能同等重要。

YOLO26 的设计充分考虑了这一现实,采用了一种精简的端到端架构,消除了推理流水线中不必要的复杂性。YOLO26 所做出的最重要的创新之一就是移除了 Non-Maximum Suppression,即通常所说的 NMS。

多年来,NMS 一直是目标检测系统的标准组成部分,作为一种后处理步骤用于清理重复检测。虽然有效,但它也引入了额外的计算和部署挑战,尤其是在边缘硬件上。

通过 YOLO26,我们采取了不同的方法。通过重新思考预测是如何生成和训练的,我们实现了真正的端到端、无需 NMS 的推理。模型直接产生最终检测结果,无需依赖外部清理步骤或手工制定的规则。这 makes YOLO26 faster,且更易于导出,在各种硬件平台上部署也更加可靠。

使用 Ultralytics YOLO26 在图像中检测对象

图 1. 使用 Ultralytics YOLO26 检测图像中的对象。

在本文中,我们将深入探讨为什么传统目标检测依赖于 NMS,它是如何成为部署瓶颈的,以及 YOLO26 如何消除对这些变通方案的需求。让我们开始吧!

Link to this section传统的目标检测会产生重复检测#

在我们深入探讨什么是 NMS 以及为什么在 YOLO26 中移除它之前,让我们退一步看看传统的目标检测模型是如何生成预测结果的。

传统的目标检测模型通常会为同一个对象产生多个重叠的边界框。即使它们都指向图像中的同一个对象,每个框也都带有自己的置信度分数。

这种情况发生的原因有几个。首先,模型会在许多空间位置和不同尺度上同时进行预测。这有助于模型检测不同大小的对象,但也意味着附近的位置都可以独立识别同一个对象。

其次,许多目标检测系统使用基于锚点(anchor-based)的方法,这会在每个位置周围生成大量候选框。虽然这提高了准确找到对象的几率,但也增加了重叠预测的数量。

最后,基于网格的检测本身自然会导致冗余。当一个对象位于多个网格单元的边界附近时,多个单元可能会为该对象预测一个框,从而导致多个重叠检测。

正因如此,模型的原始输出通常包含针对单个对象的多个框。为了使结果可用,需要对这些冗余预测进行过滤,以便只保留一个最终检测结果。

Link to this section理解非极大值抑制#

一旦目标检测模型为同一对象产生多个重叠的边界框,在投入使用前,这些结果就需要进行清理。这就是应用非极大值抑制(Non-Maximum Suppression)的地方。

非极大值抑制是一种在模型完成预测后运行的后处理步骤。其目的是减少重复检测,使每个对象都由一个最终的边界框代表。

非极大值抑制概览图

图 2. NMS 概览。图片来自作者。

该过程的工作原理是根据边界框的置信度分数及其重叠程度进行比较。首先移除置信度非常低的预测结果。

剩下的框按置信度排序,得分最高的框被选为最佳检测结果。选定的框会与其他框进行比较。

如果另一个框与其重叠过多,该框就会被抑制并移除。重叠通常使用 Intersection over Union 来衡量,这是一种计算两个框的共有区域与两者覆盖的总区域之比的指标。这个过程会不断重复,直到只剩下置信度最高、互不重叠的检测结果。

Link to this section为什么 NMS 会使部署变得复杂#

虽然非极大值抑制有助于过滤重复检测,但一旦模型从研究环境转向现实世界的部署,它所带来的挑战就会变得更加明显。

最大的问题之一是性能。NMS 在推理后运行,并且需要将边界框相互比较以决定保留哪些。

这个过程在计算上非常昂贵,且难以有效并行化。在边缘设备和基于 CPU 的系统上,这种额外的工作可能会增加明显的延迟,从而更难满足实时需求。

NMS 也增加了部署的复杂性。因为它不是模型本身的一部分,所以必须作为后处理代码单独实现。

不同的运行时和平台以不同的方式处理 NMS,这通常意味着需要为每个目标环境维护自定义实现。在一个设置中有效的方案在另一个设置中可能会表现出细微的差异,这使得部署变得更加脆弱且难以扩展。

硬件优化是另一个挑战。NMS 无法很好地映射到专门的 AI 加速器上,而这些加速器是为了高效运行神经网络操作而设计的。结果就是,即使模型在优化后的硬件上运行得很快,NMS 也会成为限制整体性能的瓶颈。

除了这些因素,NMS 还依赖于手动选择的参数,例如置信度阈值和重叠阈值。这些设置会显著影响结果,通常需要针对不同的数据集、应用或硬件进行调整。这使得生产系统中的行为变得更不可预测,并增加了额外的配置开销。

Link to this section端到端目标检测推理详解#

非极大值抑制的局限性促使我们重新思考 object detection 模型在推理时应该如何表现。我们没有选择生成许多重叠预测后再进行清理,而是提出了一个更根本的问题。

如果模型能直接产生最终检测结果会怎样?这个问题是端到端目标检测推理的核心。在端到端系统中,模型经过训练以处理从开始到结束的整个检测过程,而无需依赖外部清理步骤。

模型不是在推理后产生许多候选框并进行过滤,而是学会了自主生成一小部分置信度高且互不重叠的预测。重复检测是在网络内部解决的,而不是通过后处理移除的。

更新的模型架构表明,这种方法既可行又实用。通过正确的训练策略,模型可以学会将每个对象与单一预测关联起来,而不是多个竞争预测,从而从源头上减少了冗余。

使用 Ultralytics YOLO26 在图像中检测对象

图 3. 使用 Ultralytics YOLO26 检测对象的示例。

为了实现这一点,训练也必须改变。模型不再让多个预测争抢同一个对象,而是学会做出一个清晰的决策,从而产生更少、更可靠的检测结果。

整体结果是一个更简单的推理流水线。由于重复内容已在内部解决,推理时无需再进行非极大值抑制。模型输出本身就是最终的检测结果集。

这种端到端的设计也使部署变得更加容易。没有后处理步骤或平台特定的 NMS 实现,导出的模型是完全自包含的,并且在不同的推理框架和硬件目标之间保持一致的表现。

正如我们的首席合作伙伴工程师 Francesco Mattioli 所解释的那样:“真正的端到端学习意味着模型应该处理从像素到预测的一切,而不需要破坏可微分性并使部署复杂化的手工后处理步骤。”

Link to this sectionUltralytics YOLO26 如何移除 NMS#

YOLO26 通过改变检测的学习和生成方式来移除非极大值抑制,而不是依赖后处理来清理。YOLO26 不再允许多个预测为同一个对象竞争,而是被训练为学习对象与输出之间明确的一对一关系。

这在一定程度上得益于可学习的基于查询(query-based)的检测,它帮助模型专注于为每个对象产生单一、高置信度的预测,而不是多个重叠的候选对象。每个对象关联一个预测,从而自然地减少了重复检测。

这种行为通过训练过程中的一致匹配策略得到加强,鼓励模型为每个对象做出一个自信的决定,而不是生成重叠的预测。最终,模型产生的预测更少,但每一个都代表一个最终的检测结果。

Link to this section为什么移除 DFL 使无 NMS 检测成为可能#

YOLO26 实现无 NMS 推理的另一个重要创新是移除了分布焦点损失(Distribution Focal Loss,即 DFL)。在早期的 YOLO 模型中,DFL 被用于通过预测可能的框位置分布而不是单一值来改进边界框回归。

虽然这种方法提高了定位准确率,但它也增加了检测流水线的复杂性。当向真正的端到端推理迈进时,这种复杂性就成了限制因素。

DFL 引入了额外的计算和固定的回归范围,这使得模型更难学习清晰的一对一对象分配,并增加了对诸如非极大值抑制等后处理步骤的依赖。在 YOLO26 中,我们移除了 DFL,并重新设计了边界框回归,使其更简单、更直接。

模型不再依赖基于分布的输出,而是学会以一种支持更少、更可靠检测的方式来预测精确的框坐标。这一变化有助于从源头上减少重叠预测,并使边界框回归与 YOLO26 的端到端、无 NMS 设计保持一致。

Link to this sectionUltralytics YOLO26 无需 NMS 且易于部署#

无 NMS 的设计使 YOLO26 成为真正意义上的端到端模型。这对 exporting models 有着重要的影响。

导出意味着将训练好的模型转换为可以在训练环境之外运行的格式,例如 ONNX、TensorRT、CoreML 或 OpenVINO。在传统流水线中,这个过程往往会中断,因为非极大值抑制本身不是模型的一部分。

通过移除 NMS,YOLO26 完全避免了这个问题。导出的模型已经包含了产生最终检测结果所需的一切。

这使得导出的模型完全自包含,并在不同的推理框架和硬件目标之间具有更好的可移植性。无论部署在服务器、仅 CPU 的系统、嵌入式设备还是边缘加速器上,同一个模型的表现都始终如一。部署变得更加直接,因为你导出的内容正是你运行的内容。

这种简单性对于边缘应用尤为重要。例如,YOLO26 可以轻松部署在 drones 等设备上,用于作物监测、现场检查和植物健康分析等用例,在这些场景下,有限的计算和功耗预算使得复杂的后处理流水线变得不切实际。由于模型直接输出最终检测结果,它可以在轻量级硬件上可靠地运行,而无需额外的处理步骤。

部署在无人机等边缘设备上的 Ultralytics YOLO26

图 4. Ultralytics YOLO26 易于部署在无人机等边缘设备上。

简而言之,无 NMS 的推理消除了导出和部署过程中的摩擦,实现了更简洁、更可靠的视觉系统。NMS 曾经是一种权宜之计。YOLO26 不再需要这些变通方案了。

Link to this section关键要点#

YOLO26 通过从根本上解决重复检测的问题来移除非极大值抑制,而不是事后进行清理。其端到端设计允许模型直接产生最终检测结果,使得在不同硬件上的导出和部署更加简单且一致。NMS 曾是早期系统的有效变通方案,但 YOLO26 已不再需要它。

加入我们的 community 并查看我们的 GitHub repository 以了解更多关于 AI 的信息。探索我们关于 AI in agriculturecomputer vision in retail 的解决方案页面。了解我们的 licensing options 并立即开始你的视觉 AI 之旅!

Explore solutions

Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多

让我们一起构建 AI 的未来!

开启你的机器学习未来之旅