
一个做减法的目标检测器
2026年6月,Ultralytics放出了YOLO26的论文。不是加了什么新模块——它做的事情是拿掉东西。NMS,拿掉了。DFL,也拿掉了。然后用更好的训练策略把精度补回来,甚至比原来还高。
这让我想到一个词:断舍离。
"断舍离"放到AI模型设计上其实挺反直觉的。我们这个圈子的惯性是:模型不够好?加模块、加损失函数、加数据增强。就像一个房间越堆越满,总觉得多一样东西就多一分能力。
但YOLO26问了一个很根本的问题:这些东西真的都有用吗?如果没用,为什么不扔了?
砍NMS:双头设计终于做对了
传统YOLO推理完会吐出一堆重叠框,得用NMS(非极大值抑制)筛掉重复的。NMS有两个问题:慢,而且它是离散操作,破坏了端到端的可导性——你没法把整个推理流程当一个干净的整体导出。
YOLOv10试过解决这事,用了双头设计:训练用一个头,推理换另一个。但论文指出v10的一个关键缺陷:两个头全程共享权重,导致推理时实际用的那个"一对一"头没有得到充分优化[1]。
YOLO26保留了双头框架,加上渐进式损失(Progressive Loss):
总损失 = λ × 一对一损失 + (1-λ) × 一对多损失
其中 λ 从 0.2 线性增长到 0.9前期"一对多头"带节奏(正样本多、学得快),后期逐渐把权重转移到"一对一头"上。因为最终推理用的是后者,必须保证它在训练后期得到充分优化。
不是简单地把活儿分给两个头,而是精心设计了协作节奏。
砍DFL:最激进的一刀
DFL(分布焦点损失)从v8开始就是YOLO的核心组件。它把边界框回归从4个标量变成4×16=64个logits,用分布建模预测框的位置。
听起来高级,代价也实打实:检测头变重了,对小模型不友好;更关键的是,分布建模有最大回归距离的上限约束。
论文有个实验数据很能说明问题:
数据来源:Ultralytics YOLO26 论文消融实验 [2]
移除DFL之后精度反而提升了,高分辨率下尤其明显。分辨率越高目标越大,回归距离越长,DFL的范围天花板就越容易成为瓶颈。去掉它等于把这个约束一起扔了。
当然单独砍DFL还不够,配合了L1损失、STAL标签分配和骨干微调才把精度稳住并进一步拉高。这不是一刀切的扔,而是扔了之后好好收拾。
STAL:给小目标一个入场机会
这个小改进很多人可能没注意到,但它解决的问题很隐蔽。
TAL标签分配有一条规则:锚点中心必须落在真值框内部才能参与训练。经过多次下采样后,一个小目标在特征图上的空间范围可能比锚点步长还小——结果没有任何锚点落在它身上,这个目标就被跳过了。
STAL做的事情很简单:在筛选阶段把小目标的尺寸临时"充气"到一个参考值,让它有机会进入候选池。一旦入选,后续评分和回归仍用原始尺寸计算。
只改变谁可以参与游戏,不改变游戏的规则。
效果:小目标AP从29.0涨到29.6[2]。别看只有0.6,那些被漏检的小物体回来了。
MuSGD:从LLM社区借来的优化器
这是整篇论文里我最感兴趣的部分。
Muon优化器是大语言模型社区搞出来的。核心思路是对动量更新做轻量级正交化(Newton-Schulz迭代近似SVD),改善参数更新方向的几何性质,减少训练震荡。让每一步更新走得更准,不用靠堆步数来凑。
YOLO26把它拿了过来取名MuSGD,适配方式很务实:只对高维参数用Muon更新,偏置和BN尺度这些一维参数继续用SGD。不是所有参数都需要同等待遇。
效果如何:
数据来源:Ultralytics YOLO26 论文 [2]
500轮达到47.4,SGD要600轮才到47.0。时间少了近17%。
不管训练语言模型还是视觉模型,底层都是高维非凸优化。Muon的正交化本质上在改善参数空间的几何结构,这种改善具有通用性——就像学会了一种好的收纳方法,厨房还是书房都能用。YOLO26算是第一个认真验证这件事的人。
成绩单
各型号性能(COCO val2017)
数据来源:Ultralytics YOLO26 论文 Table 7 [2]
nano版适合边缘场景:2.4M参数,CPU 38.9ms,TensorRT上1.7ms,端到端不需要NMS。部署时省去NMS阈值调参的麻烦。
端到端模式代价很小:比NMS版只低0.6~0.8 AP,换来完全可导的干净推理链。
消融实验:每一步贡献了多少
数据来源:Ultralytics YOLO26 论文 Table 2 [2]
从46.2涨到48.6,总共2.4个点。单项改进最大的也就0.5左右,累积起来就很可观了。
不只是检测器
YOLO26是一套统一的五任务框架(检测、分割、姿态估计、旋转框检测、分类)。挑两个说说思路。
实例分割:分割头把高层语义信息融合到高分辨率原型里,同时加了一个只在训练时激活的语义分支。训练时多用一个监督信号,推理时零开销。box AP提升1.6~2.5,mask AP提升2.4~3.7[2]。台上一分钟,台下十年功的工程版。
姿态估计:用RLE为每个关节预测不确定性,被遮挡或模糊的关键点自动降权。与其硬拟合所有关节,不如诚实承认有些地方看不清。mAP提升2.1~7.2,最高7.2在某些场景下基本算质变了[2]。
对从业者意味着什么
边缘部署:选YOLO26n,省去NMS调参烦恼。
追求精度:选YOLO26x(57.5 mAP),或者用one-to-many分支+NMS再捞回0.6~0.8个点。
迁移成本基本为零,改个模型名的事:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.train(data="your_dataset.yaml", epochs=100)真正值得关注的是MuSGD这件事本身。LLM领域的优化技巧能无缝迁移到目标检测,暗示不同子领域之间的技术壁垒比我们以为的要低。以后看到LLM那边出了新的训练方法,不妨想想能不能用在视觉上。
写在最后
深度学习领域习惯做加法。加模块最坏的情况不过多占点算力,不太会让现有能力退化;但去掉一个东西就不一样了你永远不确定它是不是在某个角落默默起作用。
YOLO26做了件大多数人不敢做的事:去验证那些"不敢动"的东西到底有没有用。结果发现,有些你以为离不开的,其实是累赘。
保留那些让你心跳加速的东西。
—— 近藤麻理惠
对YOLO26来说,它保留了更好的训练策略、更干净的架构、更通用的优化方法。至于NMS和DFL?谢谢曾经的付出,但这里不需要你们了。
断舍离的本质不是失去
而是腾出空间给更重要的事情
参考来源:
[1] 小书童. 官方YOLO26论文解读来了,重新定义YOLO架构新范式!. 集智实验室. 2026.
[2] Glenn Jocher, Jing Qiu, Mengyu Liu, et al. Ultralytics YOLO26: Unified Real-Time End-to-End Vision Models. arXiv:2606.03748. 2026.
夜雨聆风