YOLO26s Stage A 实测

Model training review · 2026-08-03

YOLO26s 跑通了,
但现在不值得替换 YOLO26n

在 Apple M5 上以完全相同的 Stage A 鸟/非鸟数据和训练口径完整微调 YOLO26s-cls。更大模型将验证集 Top-1 提高了 0.099 个百分点,却没有提高跨域排序上限;当前瓶颈主要是极小模糊正样本、真实拍鸟负样本不足,以及“整图分类”与最终框选任务之间的目标错位。

任务:整图 Bird / No bird 分类Apple M5 · 32 GB · MPS26,640 train · 8,055 frozen eval证据日期 2026-08-03
60m 34sYOLO26s 实际训练墙钟时间;8 轮早停
5.45M二分类模型参数;YOLO26n 的 3.55 倍
+0.099 pp同一验证集最佳 Top-1 增量,仅 95.792% → 95.891%
−4.38 pp同为 COCO 90.4% 召回时,s 的 OI 特异度相对 n 下降
Executive decision

完成训练,但判定为“数据优先”

模型产物和同口径评测均已完成。结论不是 YOLO26s 本身无效,而是在当前 Stage A 数据上,扩大容量没有换来更好的鸟/非鸟可分性。

01

工程路径已跑通

从 ImageNet 预训练的 yolo26s-cls.pt 出发,分类头自动收缩为 1280 → 2freeze=null,主干与分类头全部参与训练。正式最佳模型 SHA-256 为 61b178…1071b6

02

验证集略升,边界反降

最佳 Top-1 为 95.891%,比 n 高 0.099 pp;但 COCO-vs-昆虫/蜘蛛 OI 的 ROC-AUC 从 n 的 0.9239 降到 s 的 0.9113。模型更大,并未学到更稳健的跨域“鸟性”。

03

多视图不是现成补丁

五视图取最大概率会提高小鸟召回,也会放大任一裁片的偶发误报。s 多视图在自动阈值下 COCO 召回 97.6%,OI 特异度却只有 49.5%。

当前决策

保留 YOLO26s 最佳权重作为可复现实验基线,但暂不替换 YOLO26n,也不继续在原 Stage A 上堆轮数。下一笔训练预算应先用于清洗正样本、补本地困难负样本和重建本地验证集,再以 n/s 三随机种子复赛。

官方来源本地实测条件化建议风险与边界
Chapter 01 · Setup

相同数据、相同超参,只改变模型规模

这是一次容量消融实验。n 与 s 均为 YOLO26 Classify,而不是 COCO Detect;它们只输出整图的 p_bird,不会输出鸟框或姿态点。

训练环境

  • MacBook Pro(Mac17,2),Apple M5 10 核,32 GB 统一内存
  • macOS 26.5.2,Python 3.12.12
  • PyTorch 2.13.0,Ultralytics 8.4.100,Pillow 12.3.0
  • MPS 可用;device=mpsworkers=0amp=false

训练策略

  • 384×384,batch 32,最多 25 轮,patience 7
  • AdamW,lr 5e−4,cosine lrf 0.05,warmup 2
  • weight decay 5e−4,dropout 0.1,seed 42
  • 保守 HSV 与水平翻转;关闭随机裁切尺度、AutoAugment 和擦除
数据层BirdNo bird总量组成与用途
Stage A train(视图)13,32013,32026,640CUB 5,993 全图;COCO 3,237 全图+4,090 框感知 tile;负样本按昆虫、飞行物、动物、人分配并循环采样
Development val1,0101,0102,020CUB dev 1,000 鸟+本地 10 鸟;负验证 1,000+本地 10,用于早停和自动阈值
Frozen evaluation5,9392,1168,055CUB stress、COCO val、负验证、OI 官方 test 昆虫/蜘蛛、本地 val 与 regression;训练 SHA 重叠为 0
为什么训练 26,640 张不等于有 26,640 个独立场景?

正样本包含同一 COCO 原图的全图与 tile;负样本池只有 6,395 张物理训练图,却被循环到 13,320 个视图。审计证明训练与评测没有哈希泄漏,但视图重复仍会降低有效多样性,这是“无泄漏”之外的第二个数据质量维度。

Chapter 02 · Training

s 在第一轮达到最佳,随后快速过拟合

扩大模型使每轮成本上升 1.73 倍;尽管 s 只执行 8 轮,完整墙钟时间仍比执行 10 轮的 n 高 38.8%。

指标YOLO26n-cls binaryYOLO26s-cls binarys 相对 n解释
参数 / 384 px GFLOPs1,533,666 / 1.25,445,570 / 4.43.55× 参数两者均为 86 层;预训练 1,000 类头被 2 类头替换
最佳权重体积3.19 MB11.02 MB3.46×本地正式权重文件字节数
执行轮数 / 最佳轮10 / epoch 38 / epoch 1更早过拟合两者均因 patience 触发早停
墙钟 / 每执行轮43m 38s / 261.8s60m 34s / 454.3s1.39× / 1.73×同一 M5、MPS、batch 32
最佳 Top-195.792%95.891%+0.099 pp提升小于单随机种子通常可解释的波动,不能单独证明升级
最佳 val loss0.116610.11199−3.96%同分布验证略好,但不能替代跨域测试
YOLO26s 八轮训练和验证曲线
YOLO26s:train loss 持续下降,而 val loss 的平滑趋势持续上升;最佳 Top-1 出现在 epoch 1。
YOLO26n 十轮训练和验证曲线
YOLO26n:最佳点在 epoch 3,随后同样过拟合,但容量较小,进入过拟合区稍晚。

训练损失 −80.9%

s 从最佳轮到最终轮,train loss 从 0.24022 降至 0.04593,说明它继续拟合训练数据。

验证损失 +59.5%

同期 val loss 从 0.11199 升至 0.17862,方向与训练损失相反,是明确的泛化裂缝。

Top-1 −1.337 pp

最终 Top-1 降到 94.554%。早停和 best checkpoint 避免交付 last.pt,但无法消除数据瓶颈。

Chapter 03 · Evaluation

阈值看似改善,不等于性能上限改善

自动阈值在开发集上要求本地 10 张鸟 100% 召回、CUB dev 至少 98% 召回,再最大化负样本特异度。COCO-90 和 OI-95 则使用冻结测试标签反推,只能表示 oracle 边界,禁止直接上线。

模式 / 模型工作阈值CUB stress 召回COCO 召回OI 昆虫/蜘蛛特异度本地 regression Recall / Spec
Full · n自动 0.01599.94%98.4%50.3%100% / 0%
Full · s自动 0.06599.27%93.6%72.7%100% / 30%
Multiview · n自动 0.27099.77%93.6%66.9%90% / 40%
Multiview · s自动 0.09599.87%97.6%49.5%100% / 40%
自动阈值不是公平的“谁更强”比较

Full 模式下,s 用 4.8 pp COCO 召回换来了 22.4 pp OI 特异度,所以它更像是换了操作点。公平判断模型排序能力,应比较同召回、同特异度和 ROC-AUC。

公平边界(冻结集后验诊断)YOLO26n FullYOLO26s FullYOLO26n MultiYOLO26s Multi
COCO 召回同为 90.4% 时:OI 特异度79.29%74.91%72.81%65.15%
OI 特异度同为 95.07% 时:COCO 召回57.6%50.4%52.8%41.6%
COCO-vs-OI ROC-AUC0.92390.91130.90670.8728

Full 推理速度

n 为 181.2 张/秒,s 为 138.0 张/秒。s 在 M5 上仍足够做离线筛选,但慢 23.9%。

Multi 推理速度

n 为 49.8 张/秒,s 为 40.8 张/秒;每图 5 个视图。速度损失尚可,误报代价不可接受。

决策迁移

各自自动 Full 阈值下,s 修正 648 张、退化 119 张;修正主要来自 n 极低阈值造成的负样本误报,并不推翻同召回边界更差的结论。

公平评测优先级: 1) 固定开发集规则 → 观察真实候选阈值 2) 同 Recall 比 Specificity;同 Specificity 比 Recall 3) ROC-AUC 比排序上限 4) 冻结测试集后验阈值只做诊断,不作为上线阈值
Chapter 04 · Data quality

“压缩糊”只是表象,真正问题是可见性

Stage A proxy 统一 EXIF 校正、RGB、等比例缩放和灰色填充为 512×512,再以 JPEG q90 编码。通常 q90 不是主要损失;危险的是先把原图中只有数个像素的鸟放大,再加模糊。

COCO 300014 原图,河滩上有极小鸟群和大型动物
COCO 300014 原图(640×426):最大鸟框仅约 6.9×8.4 像素;视觉主体其实是河滩与大型动物。
从 COCO 300014 生成并加入模糊的 512 方形鸟类训练 tile
bird-10440…tile0:最小 64×64 裁区被放大到 512×512,该视图还标记为 blurred=1。标签技术上有鸟,但人类几乎无法确认。

4,090

COCO 框感知鸟类 tile 总数。

1,214

其中被额外加入高斯模糊,占 29.7%。

556

最大鸟框面积低于整图 0.05% 的 tile。

898

最大鸟框面积低于整图 0.1% 的 tile。

对模型的直接副作用

当“水面小白点、草地纹理、模糊斑块”频繁带着 Bird 标签出现,容量更大的 s 能更快记住这些捷径。它随后会把没有主体的水面高光、树叶斑点或昆虫轮廓判为鸟。该样本不应作为普通正样本,而应移入低可见性压力集或从训练中剔除。

Chapter 05 · Failure review

10 个失败样本揭示三类系统性缺口

以下概率来自 YOLO26s Full;以 COCO 90.4% 召回对应阈值 0.07417 复核。前五张为高置信误报,后五张为低置信漏报。原因是目视工程判断,不是注意力框或因果证明。

叶片上的大型飞蛾误报样本

FP 01 · OI butterfly

p_bird 0.9858

大型飞蛾占满画面

三角翼、尖头方向和绿色自然背景与“侧面停栖鸟”形成形状捷径;宏观轮廓压过了昆虫细节。

白色背景上的独角仙甲虫误报样本

FP 02 · OI beetle

p_bird 0.9778

黑色甲虫形成单主体剪影

高对比白底、椭圆身体与向左上方伸出的角,类似鸟身与喙。训练虽有甲虫负样本,但构图和个体外观覆盖不足。

树干上的大型双翅目昆虫误报样本

FP 03 · OI bee-like insect

p_bird 0.9636

毛状身体、翅与浅景深

昆虫的毛、眼、翅和树干停栖环境都接近鸟片的局部纹理;整图分类器没有解剖约束去验证“是否真有鸟的头身结构”。

微距跳蛛正面误报样本

FP 04 · OI spider

p_bird 0.9461

跳蛛正脸触发眼部纹理

大眼、毛发和浅景深是高质量鸟类近摄也常见的视觉统计。缺少对象位置与关键点时,模型只能用相关性排除。

本地绿色水面和高光被误报为鸟

FP 05 · JULY-097

p_bird 0.9247

画面没有主体,只有水面高光

这是最关键的本地域误报。绿色背景、散乱白点和模糊纹理与极小鸟 tile 的标签捷径高度一致,说明“无对象自然纹理”负样本明显不足。

悬停蜂鸟因运动模糊被漏报

FN 06 · CUB hummingbird

p_bird 0.00053

悬停姿态与运动翼

翅膀成为透明模糊带,主体轮廓远离常见停栖全身鸟。对拍鸟筛选而言,这恰好是必须召回的困难姿态。

贴树干背向镜头的啄木鸟漏报样本

FN 07 · CUB woodpecker

p_bird 0.00081

背向、贴树与强伪装

可见眼部和胸腹轮廓很少,羽毛纹理与树皮混在一起。需要背面、攀树和伪装姿态专项正样本。

被人手抓住且严重遮挡的小鸟漏报样本

FN 08 · CUB flycatcher

p_bird 0.00611

人手主导、鸟体被遮挡

全局池化面对混合对象时,人手比鸟占比更大;同时训练里的 person 被当作负类,可能进一步压低 Bird 分数。

巢洞中只露出头部的燕子漏报样本

FN 09 · CUB swallow

p_bird 0.00612

只露头的半只鸟

鸟头被巢洞包围,缺少身体、脚和完整轮廓。它验证了边缘裁切、遮挡和部分主体增强不能只停留在理论规划。

猫压住死鸟的混合对象漏报样本

FN 10 · COCO mixed object

p_bird 0.01393

猫是视觉主体,鸟仍然存在

图片级标签要求“任何位置有鸟”即为正类,但整图分类会让占比更大的猫竞争特征。目标检测或多实例学习比单一全局分类更符合需求。

缺口 A:形状相似负类

飞蛾、甲虫、蜂与跳蛛会共享尖头、翼、眼、毛发和自然背景。需要更多与本地拍摄构图一致的困难负样本,而不只是网络宏观类别。

缺口 B:无主体纹理

水面高光、叶片斑点、树枝交叉和远处黑点目前没有独立负样本组,却正是“误拍空帧”中最常见的内容。

缺口 C:非标准鸟姿

运动翼、背面、攀树、遮挡、半只鸟和多对象场景召回不足。对最终姿态和对焦模块,这些不是边角案例。

Chapter 06 · Roadmap

先造 Stage A-clean,再决定 n 还是 s

下一阶段不追求更多类别,而追求更明确的任务语义:什么尺寸、可见度和状态算“有鸟”,以及漏一张鸟片与多收一张空帧分别有多贵。

清洗正样本

bbox_ratio < 0.0005 的 COCO tile 从主训练移入压力集;若 bbox_ratio < 0.001 且 blurred=1,也移出主训练。优先人工复核 298 张最极端样本,再扩到 898 张低于 0.1% 的样本。

补本地硬负类

从七月空帧与误报中标 1,000–2,000 张:水面高光、草叶斑点、树枝、远处人畜、蝴蝶/蜻蜓、失焦黑点。任何“人也无法确认”的图片进入 ambiguous,不强制二分类。

重建本地验证

至少 500 张本地正样本+1,000 张本地负样本;按连拍组和日期分组隔离。阈值门槛建议:本地鸟召回 ≥98%,本地硬负特异度 ≥95%,昆虫特异度 ≥95%。

n/s 三种子复赛

同一 Stage A-clean,seed 42/123/3407。先不改结构,比较同召回特异度、AUC、校准误差和速度;只有 s 的均值和置信区间持续胜出才升级。

训练侧的第二优先级

  • s 将 lr0 从 5e−4 下调到 2e−4~3e−4,patience 缩到 3~5
  • 可先冻结主干 1–2 轮训练二分类头,再小学习率全量解冻
  • 用温度缩放校准概率;不要默认把 0.5 当成部署阈值
  • 多视图从 max 改为“至少两个视图一致”或 top-2 平均,单独比较误报

长期结构:分类器只能做门卫

  • 最终替代慧眼识鸟需要 Bird Detect/Pose,才能输出框、主体占比和关键点
  • 框内锐度网络分别评价眼部、喙和羽毛,而不是从整图分类概率推断对焦
  • Pose 关键点+可见性送入姿态 MLP;BioCLIP/OSEA 在鸟框内做物种识别
  • YOLO26n/s Classify 可以保留为低成本预筛,但不能替代定位主干
资源预算(基于本机实测)

Stage A-clean 单种子预计 n 约 45 分钟、s 约 60–90 分钟;s 三种子约 3–4.5 小时,加全图和多视图冻结评测约 15–20 分钟。数据人工复核的收益将远高于再增加十轮训练。

停止条件

若清洗和补本地数据后,s 在“同本地鸟召回 98%”下仍不能把本地/昆虫特异度稳定提高至少 2 pp,就停止 s-classify 扩容,转向 n 预筛+Bird Detect/Pose。不要用验证 Top-1 的微小波动延长整图分类路线。

Deliverables

本次交付与可复现账本

公开报告只记录相对工程标识和校验值,不包含本地绝对路径;完整文件仍保留在项目实验目录。

交付物相对位置 / 标识校验或状态用途
YOLO26s 最佳模型models/yolo26s_bird_presence_a_stage_a_seed42_best.pt61b178…1071b6 · 11.02 MB正式二分类权重
训练账本runs/stage_a_seed42/results.csv / run_config.jsonstatus=completed · 8 epochs训练曲线、超参和耗时
冻结逐图预测results/stage_a/full / multiview各 8,055 行;样本签名强制一致同口径 n/s 指标与失败排序
分析摘要artifacts/training_analysis.json / comparison_analysis.json已生成报告指标的机器可读来源
本报告没有证明什么?

没有证明 YOLO26s 在更干净、更本地化的数据上仍会输;没有证明模型具体“看了”图片哪个位置;没有提供检测框、姿态点或物种分类能力;也没有把测试集后验阈值冒充上线阈值。结论只适用于当前 Stage A、当前预处理和单个 seed 42。

Evidence

来源与审计范围

软件和模型能力采用官方文档;性能、时间、参数、阈值和失败样本全部来自 2026-08-03 本地正式运行产物。

  1. Ultralytics YOLO26 官方模型页:任务变体、官方预训练和模型规模口径。
  2. Ultralytics Image Classification 官方文档:整图分类输出与训练/验证方式。
  3. Microsoft COCO 官方站点:COCO 数据与对象标注背景。
  4. 本地 Stage A build summary、stage/eval manifests 和 dataset audit:数据量、proxy 配方、物理样本量与 SHA 隔离。
  5. YOLO26n/s 的 results.csv、run_config、best.pt:训练耗时、最佳轮、Top-1、loss、参数和权重哈希。
  6. 四份 8,055 行逐图预测:自动阈值、同召回/同特异度 oracle 边界、ROC-AUC、类别误报和决策迁移。
  7. 10 张代表样本的人工目视复核:失败模式属于工程假设,需在后续针对性数据实验中验证。