保留 Stage A best,暂不进入默认工作流
微调模型中,Stage A + 单整图的 COCO-vs-OI ROC-AUC 最高,为 0.9239;它是下一轮 hard-negative mining 的最佳起点。当前自动阈值 0.015 不能上线,Stage B 也不应替换 Stage A。
如果今天必须以“低误报”为第一目标,训练前 ImageNet 鸟类概率基线仍然更稳;如果以“尽量不漏远小鸟”为第一目标,Stage A 才有研究价值。
Measured training report · 2026-07-23
基于 Apple M5 上 49 分钟训练和 8,055 张冻结评测,对比训练前、Stage A、Stage B 与多视图推理,量化小鸟召回提升、昆虫与蜘蛛误报代价和下一轮数据建设门槛。结论不是“训练成功即可上线”,而是:Stage A 学会了找小鸟,却还没有学会可靠地排除昆虫与蜘蛛。
这轮最重要的价值不是得到一份可上线权重,而是用冻结测试把“只用分类器找小鸟”的真实边界测清楚:召回增益非常大,跨域困难负样本代价也同样大。
微调模型中,Stage A + 单整图的 COCO-vs-OI ROC-AUC 最高,为 0.9239;它是下一轮 hard-negative mining 的最佳起点。当前自动阈值 0.015 不能上线,Stage B 也不应替换 Stage A。
如果今天必须以“低误报”为第一目标,训练前 ImageNet 鸟类概率基线仍然更稳;如果以“尽量不漏远小鸟”为第一目标,Stage A 才有研究价值。
60 张七月训练图扩成 1,500 个本地视图,并没有创造新的语义多样性。Stage B 第 1 轮后连续退化,跨域 COCO / OI 权衡低于 Stage A。
5 视图 max 聚合把推理从约 170 图/秒降到约 49 图/秒,并放大任一局部块对昆虫或纹理的尖峰响应。
报告中的 “OI 特异度 ≥95% / 99%” 和 “COCO 召回 ≥90%” 工作点直接查看了冻结测试分数,是 test-oracle 后验诊断。它们用于比较性能曲线,不是可复制到生产环境的阈值。生产阈值必须在新建、同域且不与测试集重叠的 calibration split 上确定。
本实验没有 Detect 或 Pose head,不返回框、坐标或关键点。COCO bbox 只用于离线构造含鸟 tile 和按主体面积评测,部署接口仍然只有 p_bird 与 yes/no。
26,640 个训练视图,鸟 / 非鸟各 13,320。鸟来自 CUB 与 COCO full/tile;负类来自 COCO 动物/飞行物/自然人物和 iNaturalist 昆虫。
6,000 个训练视图,其中 1,500 个来自 60 张七月原图,另外 4,500 个是通用 replay。离线重复只增加观察方式,不增加独立场景。
8,055 张:CUB dev/stress、COCO val、negative val、OI official test、七月 local val/regression。OI official test 的 1,096 张不参与训练或自动阈值,只用于最终测试与明确标注的后验诊断。
| 数据层 | 鸟 | 非鸟 | 主要来源 | 用途与隔离 |
|---|---|---|---|---|
| Stage A train | 13,320 views | 13,320 views | CUB、COCO bird;COCO negatives、iNaturalist insects | 通用微调;与评测 SHA 和 group 均不重叠 |
| Stage B train | 3,000 views | 3,000 views | 七月 60 张 + Stage A replay | 低学习率本地域适配;不触碰 local regression |
| Threshold dev | 1,010 | 1,010 | CUB dev、negative val、local val | 只选自动阈值;不进入训练 |
| Locked stress/test | 4,929 | 1,106 | CUB stress、COCO val、OI test、local regression | 只做最终评测;不能回灌阈值或训练 |
21,714 张唯一代理图全部可解码且为 512×512;训练侧 15,685 个唯一 SHA 与 8,055 张评测图的 SHA 重合为 0,组级重合也为 0。iNaturalist 按摄影者 + 拍摄日期整组拆分,CUB 发现并移除 1 个训练重复。
训练日志已经解释了为什么不能看“最后一轮训练 loss”下结论。Stage A 与 Stage B 都在验证指标退化后早停,并回滚到自动保存的 best checkpoint。
| 阶段 | 初始化 | 输入 / batch | 计划上限 | 实际早停 | 采用轮次 | 最佳 val Top-1 | 墙钟时间 |
|---|---|---|---|---|---|---|---|
| N0 · 仅本地 60 张 | ImageNet n-cls | 320 / 8 | 15 | 6 | 3 | 100%(仅 20 张 val) | 13.97 秒 |
| Stage A · 通用 | ImageNet n-cls | 384 / 32 | 25 | 10 | 3 | 95.792% | 43 分 38 秒 |
| Stage B · 本地域 | Stage A best | 384 / 16 | 8 | 5 | 1 | 95.198% | 5 分 16 秒 |
第 3 → 10 轮训练 loss 再下降 70.4%,但 val loss 上升 94.85%,Top-1 下降 2.822 个百分点:典型过拟合。
本地 60 张训练原图不足以支撑全量主干继续适配。把一张图离线重复很多次,不能替代更多日期、焦段、背景和失败类型。
仅用本地 60 张训练的 N0,在 COCO recall 上从基线 52.0% 升到 75.2%,但 OI 特异度跌到 2.19%,1,096 张独立负样本中有 1,072 张被报成鸟。小验证集 100% 并不等于泛化。
每个模型的自动阈值只由自己的 threshold-dev 选择,因此可用于评估完整管线;不同模型的概率尺度不同,阈值数字本身不能横向比较。
| 模型 | 阈值 | COCO recall | COCO <1% recall | CUB stress recall | OI specificity | 本地 recall / specificity |
|---|---|---|---|---|---|---|
| 训练前 ImageNet baseline | 0.160 | 52.0% | 26.23% | 98.75% | 98.81% | 80% / 90% |
| N0 · local-only | 0.570 | 75.2% | 57.38% | 97.41% | 2.19% | 90% / 70% |
| Stage A best | 0.015 | 98.4% | 98.36% | 99.94% | 50.27% | 100% / 0% |
| Stage B best | 0.015 | 97.6% | 95.08% | 99.92% | 45.62% | 80% / 30% |
| 模型 | 阈值 | COCO recall | COCO <1% recall | OI specificity | 本地 recall / specificity | 吞吐 |
|---|---|---|---|---|---|---|
| 训练前 baseline | 0.285 | 56.0% | 31.15% | 98.72% | 100% / 100% | 49.33 图/秒 |
| Stage A best | 0.270 | 93.6% | 93.44% | 66.88% | 90% / 40% | 49.76 图/秒 |
| Stage B best | 0.305 | 91.2% | 88.52% | 58.30% | 80% / 70% | 49.27 图/秒 |
它只有 10 张鸟 + 10 张无鸟,每错 1 张,单类指标就变化 10 个百分点。训练前多视图恰好 20/20,不能据此宣称它在真实七月照片上已经达到 100%。
自动阈值偏向“本地验证鸟 10/10 不漏”。为看清曲线形状,额外计算三组冻结测试后验工作点;这些结果只说明可达边界,不提供生产阈值。
| 诊断约束 | 配置 | COCO recall | OI specificity | CUB stress recall | 解释 |
|---|---|---|---|---|---|
| COCO recall ≥90% test-oracle | Stage A full | 90.4% | 79.29% | 99.58% | 微调配置中最佳;仍约每 5 个 OI 负样本误报 1 个。 |
| Stage B full | 90.4% | 72.08% | 99.52% | 本地域适配使跨域误报进一步恶化。 | |
| Stage A multiview | 90.4% | 72.81% | 99.52% | max-over-5 放大局部误报。 | |
| OI specificity ≥95% test-oracle | baseline multiview | 67.2% | 95.07% | 99.69% | 严格低误报下,未微调基线的 COCO 召回最高。 |
| 同上 | Stage A full | 57.6% | 95.07% | 96.89% | 高阈值会丢掉大量小鸟,未超过基线。 |
| OI specificity ≥99% test-oracle | baseline multiview | 53.6% | 99.09% | 98.16% | 仅 10/1,096 OI 负片误报时仍是基线领先。 |
| 同上 | Stage A full | 36.8% | 99.09% | 92.05% | 当前 Stage A 排序尚不足以兼顾严格误报与小鸟。 |
一张草中小鸟的 Stage B full 分数只有约 0.01512。阈值规则要求仅 10 张本地开发鸟全部召回,这一张图就把工作点压到 0.015,并放行大量昆虫。
多视图把它提升到约 0.455,但下一张边界鸟又把 Stage B multiview 阈值限制在 0.305。
Stage A threshold-dev ROC-AUC 仍约 0.992,COCO-vs-OI ROC-AUC 为 0.9239。问题一部分是阈值校准不稳,另一部分是真实跨域昆虫与小鸟分布仍重叠。
因此下一轮必须同时改数据与 calibration,而不是单纯把阈值从 0.015 手调到 0.5。
OI 95% 点实际是 1,096 张负片中 54 个误报;OI 99% 点是 10 个误报;COCO 90% 点是 125 张正片中命中 113 张。它们由测试样本次序统计量直接导出,机械复制既会过拟合,也可能因 >= 浮点边界改变一个样本结果。
下表类别来自 OpenImages 下载清单的显式元数据,不是凭模型分数或目录名猜测;样本均属于冻结 OI test。FPR = 1 − specificity。
| OI 显式类别 | n | 训练前 full FPR | Stage A full FPR | Stage B full FPR | A → B 变化 |
|---|---|---|---|---|---|
| Bee | 188 | 2.7% | 62.8% | 66.0% | +3.2 pp |
| Beetle | 134 | 0.0% | 58.2% | 64.2% | +6.0 pp |
| Butterfly | 237 | 1.7% | 40.5% | 44.3% | +3.8 pp |
| Dragonfly | 69 | 1.4% | 27.5% | 29.0% | +1.4 pp |
| Generic insect | 301 | 0.3% | 49.2% | 51.2% | +2.0 pp |
| Moths & butterflies | 47 | 4.3% | 59.6% | 57.4% | −2.1 pp |
| Spider(蜘蛛,不属于昆虫) | 120 | 0.0% | 48.3% | 66.7% | +18.3 pp |
| OI overall | 1,096 | 1.19% | 49.73% | 54.38% | +4.65 pp |
蚕/幼虫、蜂群与蜂巢、逆光蜘蛛、甲虫近摄都出现接近 1.0 的持续高分。模型把“居中的小型生物主体 + 高频纹理”学成了鸟的捷径。
本地蝴蝶、自然环境人物、马、藻类/水面重复纹理均可误报。多视图 max 会放大单个 tile 的尖峰,抽象纹理尤其明显。
极小鸟旁有更醒目的风筝会持续漏;远山暗色飞鸟在 Stage B 回归;大型猛禽剪影也可能低分,说明域适配同时破坏了部分形状能力。
| 模式 / 子集 | Repairs | Regressions | 净正确变化 | 结论 |
|---|---|---|---|---|
| Full · local regression | 3 | 2 | +1 | 只改善 1 张,样本量太小。 |
| Full · COCO | 1 | 2 | −1 | 通用鸟召回轻微回退。 |
| Full · OI test | 93 | 144 | −51 | 修复一批的同时制造更多新误报。 |
| Multiview · local regression | 3 | 1 | +2 | 本地 balanced accuracy 65% → 75%。 |
| Multiview · COCO + CUB stress | 7 | 13 | −6 | 鸟正集整体回退。 |
| Multiview · OI test | 83 | 177 | −94 | 本地域收益不足以补偿跨域退化。 |
人工复核使用了本地照片和公开数据集原图,但本报告只发布统计与去标识化现象描述,避免额外公开私人拍摄文件或复制第三方图片。完整逐图路径与分数保留在本地审计 artifact 中。
继续加 epoch 已被训练曲线否定。下一轮应优先消除模型可利用的“捷径”,再谈更大的 backbone 或更多视图。
整图标签只告诉模型“这里有鸟”,不告诉它鸟在哪里。鸟很小时,任何突出的局部生物、轮廓或纹理都可能成为替代特征。
Stage A 正样本含大量 COCO 鸟框 tile,负样本主要是整图。模型可能把“局部裁块、主体显著”误当成鸟,而不是学习鸟的稳定结构。
iNaturalist 昆虫已加入训练,OI test 仍大幅误报,说明背景、主体比例、压缩、拍摄风格与类别覆盖不同。随机增加同源图片无法完全解决。
Stage B 只有 30 鸟 + 30 非鸟独立训练原图。750 + 750 个本地视图只是重复采样,容易记住构图,无法代表不同日期、天气和镜头。
仅 10 张本地开发鸟就要求 10/10,阈值会被一张异常低分图支配。校准问题与模型排序问题被混在一起。
每张图 5 个视图,只要一块误触发就判有鸟。视图越多,遇到昆虫、树枝或水面纹理尖峰的概率越高。
YOLO26n-cls 的 1.53M 两类训练结构并未表现出明确容量饱和;Stage A 已能把大部分鸟排到前面。当前先换更大分类器,大概率会把同样的数据捷径学得更牢,而不是自动获得更好的昆虫边界。
目标不是追求一个更漂亮的验证 Top-1,而是在同一冻结集上同时提高小鸟召回与困难负样本特异度,并让本地结果不再由 20 张图决定。
COCO val、OI test、CUB stress 和 20 张 local regression 永久不回灌训练或阈值。以后只做版本最终验收。
用 Stage A full 扫未使用照片,优先人工确认最高分的蝴蝶/蛾、蜂、甲虫、蜘蛛、蜻蜓、幼虫、人物、马、空景、树枝和水面纹理;按类别设配额。
对每类正样本 crop,补同尺寸、同缩放、同压缩方式的昆虫与背景负 tile;训练 batch 按来源均衡,消除“正是裁块、负是整图”的捷径。
重点覆盖主体面积 <1%、天空/树林/远山、逆光剪影、旁边有更醒目干扰物的鸟;单独保留新的小鸟 calibration 与 test 分片。
按日期、地点、镜头和连拍组拆分;补不同焦段、天气、背景、模糊、半鸟、多鸟与无鸟,不用重复增强代替新场景。
高分直接有鸟、低分直接无鸟,仅中间灰区运行 tiles 或后续 detector;聚合器加入多 tile 一致性,不再对所有图执行 max-over-5。
在新增 calibration 上锁阈值后,冻结 OI test specificity 必须达到 ≥95%,并逐类报告 bee / beetle / butterfly / spider,而不是只给总平均。
在相同 OI specificity 下,COCO <1% 与全部 COCO recall 必须显著超过训练前基线;不能靠把阈值降到全报正来换召回。
把冻结本地 test 扩到至少数百张、按连拍分组;要求 balanced accuracy ≥90%,同时不允许跨域 COCO / OI 指标明显回退。
Stage A checkpoint → hard-negative mining → crop-matched 数据重建 → 新 calibration 锁阈值 → 一次性冻结测试。只有在这套数据上仍显示容量瓶颈,才比较 YOLO26s-cls、EfficientNet 或加入单类 detector。
公开报告不携带本地路径、照片或原始逐图 CSV;私有实验目录保留完整 manifests、predictions、哈希与环境记录,可重算本文所有表格。
| 产物 | 用途 | SHA-256 / 状态 |
|---|---|---|
| Stage A best checkpoint | 下一轮候选初始化;约 3.0 MiB | 7cd7a54ba58b4c02…743cbc8 |
| Stage B best checkpoint | 研究对照,不晋级 | bcd6e91be17245b9…1178236 |
| Dataset audit | 数量、解码、SHA / group 泄漏检查 | 8105cbf3973c41ba…672acea · passed |
| Training analysis | 耗时、早停、最佳轮、环境与来源链 | dfab2fe7e4e95ce5…f03fdb9d |
| Operating-point analysis | 自动阈值、固定阈值和 oracle 曲线 | efb81d2945128846…f9e4bf2 |
| Failure analysis | 逐图转换、OI 类别 FPR、人工复核 | 3a8e38d548315b88…84cfc2 |
| Comparison | 七组统一评测汇总 | 8ba5f01b96934539…a02446 |
results.csv、run config、environment 与 checkpoint manifests。站内既有报告分别是“训练前计划”和“旧 YOLO26s PoC”。本报告记录计划执行后的新 YOLO26n 两阶段权重、49 分钟实际耗时、8,055 张冻结测试和与原计划预期相反的跨域误报结论,属于独立的结果档案,不是换皮重复。