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

1月14日,我们发布了 Ultralytics YOLO26,这是我们最新一代的计算机视觉模型。对于 YOLO26,我们的目标不仅是提高准确率或速度,而是重新思考对象检测模型在现实世界系统中的构建和部署方式。
随着 computer vision 从研究走向生产,人们越来越期望模型能够在 CPU、边缘设备、摄像头、机器人和嵌入式硬件上运行。在这些环境中,可靠性、低延迟和部署的简便性与性能同样重要。
Ultralytics YOLO26 在设计时充分考虑了这一现实,采用精简的端到端架构,去除了推理流水线中不必要的复杂性。YOLO26 最重要的创新之一是去除了Non-Maximum Suppression,通常被称为 NMS。
多年来,NMS 一直是目标检测系统的标准组成部分,作为一种后处理步骤用于清理重复检测。虽然有效,但它也引入了额外的计算和部署挑战,尤其是在边缘硬件上。
对于 YOLO26,我们采取了不同的方法。通过重新思考预测的生成和训练方式,我们实现了真正的端到端、无 NMS 推理。模型直接产生最终检测结果,不依赖外部清理步骤或手工编写的规则。这 makes YOLO26 faster,更易于导出,并且在各种硬件平台上部署时更加可靠。

图 1. 使用 Ultralytics YOLO26 检测图像中的对象。
在这篇文章中,我们将仔细探讨传统目标检测为何依赖 NMS、它是如何成为部署瓶颈的,以及 Ultralytics YOLO26 如何消除了对变通方法的需要。我们开始吧!
传统的目标检测会产生重复检测#
在我们深入探讨什么是 NMS 以及为什么我们在 Ultralytics YOLO26 中将其移除之前,让我们先退一步,看看传统目标检测模型是如何生成其预测结果的。
传统的目标检测模型通常会为同一个对象产生多个重叠的边界框。即使它们都指向图像中的同一个对象,每个框也都带有自己的置信度分数。
这种情况发生的原因有几个。首先,模型会在许多空间位置和不同尺度上同时进行预测。这有助于模型检测不同大小的对象,但也意味着附近的位置都可以独立识别同一个对象。
其次,许多目标检测系统使用基于锚点(anchor-based)的方法,这会在每个位置周围生成大量候选框。虽然这提高了准确找到对象的几率,但也增加了重叠预测的数量。
最后,基于网格的检测本身自然会导致冗余。当一个对象位于多个网格单元的边界附近时,多个单元可能会为该对象预测一个框,从而导致多个重叠检测。
正因如此,模型的原始输出通常包含针对单个对象的多个框。为了使结果可用,需要对这些冗余预测进行过滤,以便只保留一个最终检测结果。
理解非极大值抑制#
一旦目标检测模型为同一对象产生多个重叠的边界框,在投入使用前,这些结果就需要进行清理。这就是应用非极大值抑制(Non-Maximum Suppression)的地方。
非极大值抑制是一种在模型完成预测后运行的后处理步骤。其目的是减少重复检测,使每个对象都由一个最终的边界框代表。

图 2. NMS 概览。图片来自作者。
该过程的工作原理是根据边界框的置信度分数及其重叠程度进行比较。首先移除置信度非常低的预测结果。
剩下的框按置信度排序,得分最高的框被选为最佳检测结果。选定的框会与其他框进行比较。
如果另一个框与它的重叠度过高,该框就会被抑制并移除。重叠度通常使用 Intersection over Union 来衡量,这是一种计算两个框共享的面积与两者覆盖的总面积之间比率的指标。这个过程会不断重复,直到只剩下置信度最高且不重叠的检测结果。
为什么 NMS 会使部署变得复杂#
虽然非极大值抑制有助于过滤重复检测,但一旦模型从研究环境转向现实世界的部署,它所带来的挑战就会变得更加明显。
最大的问题之一是性能。NMS 在推理后运行,并且需要将边界框相互比较以决定保留哪些。
这个过程在计算上非常昂贵,且难以有效并行化。在边缘设备和基于 CPU 的系统上,这种额外的工作可能会增加明显的延迟,从而更难满足实时需求。
NMS 也增加了部署的复杂性。因为它不是模型本身的一部分,所以必须作为后处理代码单独实现。
不同的运行时和平台以不同的方式处理 NMS,这通常意味着需要为每个目标环境维护自定义实现。在一个设置中有效的方案在另一个设置中可能会表现出细微的差异,这使得部署变得更加脆弱且难以扩展。
硬件优化是另一个挑战。NMS 无法很好地映射到专门的 AI 加速器上,而这些加速器是为了高效运行神经网络操作而设计的。结果就是,即使模型在优化后的硬件上运行得很快,NMS 也会成为限制整体性能的瓶颈。
除了这些因素,NMS 还依赖于手动选择的参数,例如置信度阈值和重叠阈值。这些设置会显著影响结果,通常需要针对不同的数据集、应用或硬件进行调整。这使得生产系统中的行为变得更不可预测,并增加了额外的配置开销。
端到端目标检测推理详解#
NMS 的局限性促使我们重新思考 object detection 模型在推理时的行为方式。我们没有生成许多重叠的预测并在事后进行清理,而是提出了一个更根本的问题。
如果模型能直接产生最终检测结果会怎样?这个问题是端到端目标检测推理的核心。在端到端系统中,模型经过训练以处理从开始到结束的整个检测过程,而无需依赖外部清理步骤。
模型不是在推理后产生许多候选框并进行过滤,而是学会了自主生成一小部分置信度高且互不重叠的预测。重复检测是在网络内部解决的,而不是通过后处理移除的。
更新的模型架构表明,这种方法既可行又实用。通过正确的训练策略,模型可以学会将每个对象与单一预测关联起来,而不是多个竞争预测,从而从源头上减少了冗余。

图 3. 使用 Ultralytics YOLO26 检测对象的示例。
为了实现这一点,训练也必须改变。模型不再让多个预测争抢同一个对象,而是学会做出一个清晰的决策,从而产生更少、更可靠的检测结果。
整体结果是一个更简单的推理流水线。由于重复内容已在内部解决,推理时无需再进行非极大值抑制。模型输出本身就是最终的检测结果集。
这种端到端的设计也使部署变得更加容易。没有后处理步骤或平台特定的 NMS 实现,导出的模型是完全自包含的,并且在不同的推理框架和硬件目标之间保持一致的表现。
正如我们的首席合作工程师 Francesco Mattioli 所解释的那样:“真正的端到端学习意味着模型应该处理从像素到预测的所有事情,而不需要破坏可微性并使部署变得复杂的手工后处理步骤。”
Ultralytics YOLO26 如何移除 NMS#
Ultralytics YOLO26 通过改变检测的学习和生成方式去除了非极大值抑制,而不是依赖后处理来进行清理。YOLO26 没有让多个预测结果去竞争同一个对象,而是经过训练来学习对象与输出之间清晰的一对一关系。
这在一定程度上得益于可学习的基于查询(query-based)的检测,它帮助模型专注于为每个对象产生单一、高置信度的预测,而不是多个重叠的候选对象。每个对象关联一个预测,从而自然地减少了重复检测。
这种行为通过训练过程中的一致匹配策略得到加强,鼓励模型为每个对象做出一个自信的决定,而不是生成重叠的预测。最终,模型产生的预测更少,但每一个都代表一个最终的检测结果。
为什么移除 DFL 使无 NMS 检测成为可能#
实现 Ultralytics YOLO26 中无 NMS 推理的另一个重要创新是去掉了分布式焦点损失(Distribution Focal Loss,简称 DFL)。在早期的 YOLO 模型中,DFL 用于通过预测可能框位置的分布(而不是单个值)来改进边界框回归。
虽然这种方法提高了定位准确率,但它也增加了检测流水线的复杂性。当向真正的端到端推理迈进时,这种复杂性就成了限制因素。
DFL 引入了额外的计算和固定的回归范围,这使得模型更难以学习清晰的一对一目标分配,并增加了对诸如非极大值抑制等后处理步骤的依赖。在 Ultralytics YOLO26 中,我们去掉了 DFL,并重新设计了边界框回归,使其变得更加简单和直接。
模型不再依赖基于分布的输出,而是学会以支持更少、更有信心的检测的方式来预测准确的边界框坐标。这一改变有助于在源头上减少重叠预测,并将边界框回归与 Ultralytics YOLO26 的端到端无 NMS 设计保持一致。
Ultralytics YOLO26 无需 NMS 且易于部署#
无 NMS 的设计使 Ultralytics YOLO26 成为一个真正的端到端模型。这对导出模型产生了重要影响。
导出意味着将训练好的模型转换为可以在训练环境之外运行的格式,例如 ONNX、TensorRT、CoreML 或 OpenVINO。在传统流水线中,这个过程往往会中断,因为非极大值抑制本身不是模型的一部分。
通过移除NMS,Ultralytics YOLO26 完全避免了这个问题。导出的模型已经包含了生成最终检测结果所需的一切。
这使得导出的模型完全自包含,并在不同的推理框架和硬件目标之间具有更好的可移植性。无论部署在服务器、仅 CPU 的系统、嵌入式设备还是边缘加速器上,同一个模型的表现都始终如一。部署变得更加直接,因为你导出的内容正是你运行的内容。
这种简洁性对于边缘应用尤为重要。例如,YOLO26 可以轻松部署在 drones 等设备上,用于作物监测、农田检查和植物健康分析等用例,在这些用例中,有限的计算和功率预算使得复杂的后处理管道变得不切实际。由于模型直接输出最终检测结果,它无需额外的处理步骤即可在轻量级硬件上可靠运行。

图 4. Ultralytics YOLO26 易于部署在无人机等边缘设备上。
简而言之,无NMS推理消除了导出和部署过程中的摩擦,从而实现了更简洁、更可靠的视觉系统。NMS曾是一种变通方案。Ultralytics YOLO26 不再需要变通方案了。
关键要点#
Ultralytics YOLO26 通过从根本上解决重复检测的问题去除了非极大值抑制,而不是在事后进行清理。其端到端设计使模型能够直接生成最终检测结果,从而使导出和部署在不同硬件上更加简单和一致。NMS 曾是早期系统的一个有用变通方法,但 YOLO26 不再需要它。
加入我们的 community 并查看我们的 GitHub repository 以了解有关 AI 的更多信息。浏览我们关于 AI in agriculture 和 computer vision in retail 的解决方案页面。探索我们的 licensing options,立即开始视觉 AI 之旅!






