鸟类框选小模型

Technical plan · 2026-07-19

给鸟片做一个真正可靠的“框选小模型”

目标拆成两件事:判定画面是否有鸟,以及把每只鸟的位置框出来。前者可以用轻量二分类器;后者必须使用有几何监督的检测器。综合当前 M5、七月照片和后续质量评分需求,首选不是从零训练大模型,而是 YOLO26s Detect 鸟类单类微调 + EfficientNet-B0 框后复核

当前设备 Apple M5 / 32 GB本地七月照片 4,794 张 报告基准日 2026-07-19目标:presence + bbox
9.5MYOLO26s 融合参数;推荐的速度 / 精度平衡点
5–10 h3,000 张、640、50 epoch,本机 YOLO26s 微调估算
5.29MEfficientNet-B0 参数;推荐鸟 / 非鸟二分类基线
0现成鸟类公开集同时具备鸟框 + 明确失焦类型 + 拍摄成败标签
Executive decision

先给结论:分类器不能替代鸟框

“能认出是什么鸟”和“能在一张复杂长焦照片中找到每只鸟”是两个不同训练目标。物种模型可以做强大的复核器,但没有 bbox 损失的模型不会凭空得到可靠的框。

01

主线:YOLO26s Detect

用一类 bird 框训练。存在至少一个框即可得到“有鸟”;同时保留位置、多鸟和小目标能力。先 640 建立基线,再用 960 / 分块解决远处小鸟。

02

辅线:EfficientNet-B0

将整图或 YOLO 候选框判为 bird / no-bird。它便宜、适合困难负样本复核,但整图缩到 224 后可能把小鸟压成几个像素,因此不能单独承担定位。

03

教师:BioCLIP / OSEA

只在“已经有框”的鸟裁切上使用,做鸟种语义、伪标签或蒸馏。OSEA 的前端框同样来自通用 COCO 检测器;BioCLIP 2.5 原生完全不出框。

最重要的标签纪律:拍虚、运动模糊、逆光或只剩半只的鸟,只要仍能确认是鸟,就依然是 bird_present = 1。它可以同时是“质量失败”,但不能被改成“无鸟”。否则检测器会学会主动漏掉最需要抢救的照片。
官方披露:模型卡、论文、官方仓库 本机实测:当前 M5 的既有基准 条件化估算:写明数据量 / epoch / 分辨率 方案判断:结合本项目目标
Chapter 01

YOLO 系列的发展与规模

截至基准日,Ultralytics 最新正式模型族是 YOLO26。YOLOv3 以后已经不是单一团队连续编号的血缘;YOLO26 采用年份命名,也不代表其间存在连续发布的 v12–v25。

2015
YOLOv1 · 把目标检测统一为单网络端到端回归,直接输出框与类别概率。
2016
YOLOv2 / YOLO9000 · BatchNorm、anchor / dimension clustering,以及检测与分类联合训练。
2018
YOLOv3 · Darknet-53 与多尺度预测;Redmon / Farhadi 原始谱系最后的主版本。
2020
YOLOv4 与 YOLOv5 分叉 · v4 引入 CSPDarknet、SPP/PAN、Mosaic、CIoU;Ultralytics v5 另起 PyTorch 工程线。
2022
YOLOv6 / v7 · 分别来自美团和 v4 作者系,是并行支线而非 Ultralytics 的顺序升级。
2023
Ultralytics YOLOv8 · anchor-free 解耦头,统一 detect、seg、pose、classify 等任务。
2024
v9 / v10 / YOLO11 并行 · v9 使用 PGI + GELAN;v10 采用一致双分配与 NMS-free;Ultralytics YOLO11 优化参数效率。
2025
YOLO12 社区分支 · attention-centric;官方提示训练稳定性、内存和 CPU 性能风险。
2026
Ultralytics YOLO26 · 默认端到端 NMS-free、DFL-free,双头训练,加入 Progressive Loss、STAL 与 MuSGD;2026-01-13 发布。

一手来源:Ultralytics 模型总览架构演进v1v2v3v4 论文。

YOLO26 Detect:Nano 到 XLarge 的官方规模

融合推理图 + 官方权重
版本官方融合参数完整训练图参数融合 FLOPs@640训练图 FLOPs@640COCO mAP50–95官方 .pt 体积
YOLO26n · Nano2.4M2.572M5.4B6.12B40.95.54 MB / 5.29 MiB
YOLO26s · Small9.5M10.010M20.7B22.84B48.620.42 MB / 19.48 MiB
YOLO26m · Medium20.4M21.896M68.2B75.40B53.144.26 MB / 42.21 MiB
YOLO26l · Large24.8M26.300M86.4B93.80B55.053.21 MB / 50.75 MiB
YOLO26x · XLarge55.7M58.993M193.9B209.53B57.5118.67 MB / 113.17 MiB
为什么有两套参数?

官方表是 model.fuse() 后的部署图:BN 已融合,训练期辅助的一对多检测头已移除。本机用 Ultralytics 8.4.100 从官方 YAML 实例化的“完整训练图”更适合估算训练负载。

.pt 体积不是训练内存。

官方文件是剥离优化器后的 FP16 checkpoint。训练还要保存激活、梯度和优化器状态,显著大于文件本身。X 在 32 GB M5 上通常只能 batch 1–2。

当前 M5:微调与随机初始化时间

统一假设 3,000 train / 640
统一口径。Fine-tuning:COCO 权重、全层优化、50 epoch;“从零”:同一 3,000 张鸟类数据随机初始化、200 epoch。两者单步算力基本相同,差别主要来自收敛 epoch。验证集另计,包含解码、增强、验证、MPS 固定开销与热降频余量。
版本Fine-tune · 50 epoch随机初始化 · 200 epochMPS 建议起始 batch本项目判断
YOLO26n2.5–5 小时10–20 小时16–32很快,但小鸟上限偏低;适合作移动端对照。
YOLO26s5–10 小时20–40 小时8–16推荐 迭代速度与容量最均衡。
YOLO26m16–26 小时64–104 小时4–8可作为第二阶段容量对照。
YOLO26l22–35 小时88–140 小时3–6本机可跑,但每次数据迭代已接近 1–2 天。
YOLO26x50–85 小时200–340 小时(约 8–14 天)1–2高精度实验 建议云端 NVIDIA。

估算如何校准

本机已有 YOLO11l-seg、640、batch 4、MPS 实测:132.9 GFLOPs,约 1.46 train images/s,单轮 128 图约 77–98 秒,MPS 6.6–7.6 GB。按 YOLO26 完整训练图 FLOPs 缩放后,再加入固定开销和余量。

新时间 ≈ 表中时间
× 实际训练图片数 / 3,000
× 实际 epochs / 表中 epochs
× (实际分辨率 / 640)²

960 / 1024 的代价

像素量近似按边长平方增长,batch 还可能下降。规划时按 640 时间的 2–3 倍 更安全。先在 640 调通标签和负样本,避免在高分辨率上浪费数天验证一个标签问题。

以上均为条件化估算,不是五个模型重新实跑的墙钟时间。

“从零训练”还有一个更昂贵的含义

COCO 级通用预训练

若“从零”指复现一个通用 COCO checkpoint,数据是 118,287 张 COCO train,而不是 3,000 张本地鸟片。官方披露的最终训练配方仍从中间预训练权重初始化并经过进化搜索,并非一次随机初始化即可完整复现。只按其最后阶段 epoch 粗算,这台 M5 已需要:

版本官方最终阶段 epoch当前 M5 粗估结论
YOLO26n24517–32 天不建议本机复现通用预训练。
尚未计入中间预训练、超参进化、失败实验与多次重复。
YOLO26s7012–20 天
YOLO26m8042–65 天
YOLO26l6041–63 天
YOLO26x4063–102 天
小鸟特别说明:YOLO26 提供 yolo26-p2.yaml 高分辨率 P2 检测头,对远处小鸟有理论价值,但官方没有发布各尺度 P2 预训练权重。首轮顺序应为:YOLO26s Detect → 640/960 → 分块推理 → 仍有系统性小鸟漏检时再实验 P2。
Chapter 02

主流分类器:从极小 CNN 到视觉 Transformer

分类器将一张输入压缩为类别 logits。做 bird / no-bird 很便宜,但池化会主动丢掉位置;Grad-CAM 或 attention 只能说明“哪些区域影响了判断”,没有 bbox 几何约束、实例分离和召回标定,不能冒充检测器。

EfficientNet

用 MBConv + SE,并联合缩放深度、宽度和输入分辨率。B0 仅 5.29M 参数,迁移学习成熟,是本项目最稳的二分类起点;B3 容量更高,但 384 输入显著增加成本。

MobileNet

深度可分离卷积、倒残差和线性瓶颈;V3 再加入 SE、h-swish 与硬件感知 NAS。Small 追求端侧极致,Large 更适合作精度 / 速度平衡。

ConvNeXt

“ConvNet”是卷积网络泛称,ConvNeXt 才是具体型号。它用大核和现代训练策略重构纯 CNN;Tiny 已有 28.59M 参数,适合做高容量上限或教师,不算小模型。

典型模型规模与通用分类能力

TorchVision 0.28 权重元数据
典型模型参数官方权重GFLOPsImageNet top-1在本项目中的位置
ShuffleNetV2 x0.51.37M5.28 MiB0.04060.55极致轻量;上限和模糊鲁棒性较低。
MobileNetV3 Small2.54M9.83 MiB0.05767.67Core ML / 移动端优先;依赖良好预训练。
MobileNetV3 Large5.48M21.11 MiB0.21775.27部署对照 比 Small 更均衡。
RegNetY-400MF4.34M16.81 MiB0.40275.80规则化设计空间得到的稳定小 CNN 基线。
EfficientNet-B05.29M20.45 MiB0.38677.69主二分类基线 小、成熟、迁移稳定。
EfficientNet-B312.23M47.18 MiB1.82782.01更高容量;也是慧眼 SuperFlier 所用家族。
ResNet1811.69M44.66 MiB1.81469.76训练稳定、易排错;参数效率落后新模型。
ResNet3421.80M83.28 MiB3.66473.31OSEA 骨干;换 11k 头后 26.93M / 约 103 MiB。
ConvNeXt-Tiny28.59M109.12 MiB4.45682.52高容量上限 / teacher 已不轻。
EfficientNetV2-S21.46M82.70 MiB8.36684.23通用精度高,对简单二分类常属过量。
Swin-T28.29M108.19 MiB4.49181.47层次窗口 Transformer;分类头仍不出框。
ViT-B/1686.57M330.29 MiB17.56481.07依赖大规模预训练,不是本任务轻量首选。

ImageNet top-1 只反映不同预训练权重在通用分类上的容量,不能当作鸟类存在率、检测 mAP 或模型间直接排名。模型参数、权重与 GFLOPs 来自 TorchVision 官方模型页

ResNet

残差连接让深层训练可靠,是极好的排错基线;今天的参数 / 算力效率不占优。

RegNet / ShuffleNet

RegNet 强调规则化设计空间;ShuffleNet 用 channel split / shuffle 追求极低端算力。

ViT / DeiT / Swin

ViT 用全局自注意力换取扩展性;DeiT 改善数据效率;Swin 用移位窗口形成适合检测的层次特征。

MobileViT

Apple 的 CNN–Transformer 混合:MobileViTv2 约 1.4M–4.9M 参数。适合端侧,但现成 MPS 配方与排错成熟度不如 torchvision 基线。

整图 224 分类的致命边界:6000×4000 的鸟片中,远处小鸟缩到 224 后可能只剩几个像素。3×3 或 4×4 tiles 能提高存在召回,却要运行 9 或 16 次,而且只能给出粗格子。若后面还要算鸟头锐度、选择多鸟主体或生成框,检测器仍不可省。
Chapter 03

OSEA 与 BioCLIP 2.5:强项在框之后

两者都是优秀的鸟类语义模型,但它们并不是同一种东西。OSEA 是“通用检测器 + 闭集鸟种分类器”的流水线;BioCLIP 2.5 是大型图文双编码器。两者都没有提供一个已经针对本地长焦鸟片优化的前端框选器。

OSEA 桌面 CLI 的真实流程

官方源码核对
Input整张照片复杂自然背景,可能无鸟、多鸟、小鸟或失焦。
DetectorFaster R-CNN R50-FPN v2COCO 预训练;默认目标标签 16 = bird,阈值 0.85。
Crop逐框裁切检测框裁为鸟主体,再缩放至 224×224。
ClassifierResNet34 + 11k 头从 MetaFGNet LBird-31 迁移,在 DIB-10K 上训练。
Output鸟种候选约 11k 类 logits;不是独立的 bird / no-bird 概率。
OSEA 组件网络与规模权重 / 输入公开训练信息能力边界
桌面检测器Faster R-CNN ResNet50-FPN v2
43,712,278 参数 · 280.371 GFLOPs
167.104 MiB
整图、多尺度
torchvision COCO 预训练;OSEA 直接调用通用 bird 类框来自外置通用检测器,不是 OSEA 自训的鸟类定位能力。
桌面分类器ResNet34 + 512→11,000
26,927,672 参数
约 103 MiB
224×224 crop
DIB-10K:论文清洗版约 4.71M / 10,916 种;32 epoch、batch 256;RTX 4090D 等硬件已披露,时间 / 费用未披露强项是闭集细粒度鸟种;输入非鸟也会被迫选一个物种。
桌面合计约 70.64M 参数约 270 MiB两阶段推理,检测算力占主导并不是“小框选网络”。
OSEA Mobile量化 SSD-MobileNet + 量化 ResNet349.16 + 25.98 ≈ 35.14 MiB官方移动仓库发布 ONNX 权重更轻,但前端仍是通用 SSD 检测思路。

源码:OSEA CLI;模型规模:TorchVision Faster R-CNN;移动版:OSEA Mobile;训练论文:OSEA 项目页

BioCLIP 2.5 Huge 的结构与披露成本

官方模型卡 + 权重头核算

它是什么

OpenCLIP ViT-H/14 图像编码器 + 24 层 masked self-attention 文本编码器。输入 224×224、patch 14;视觉塔 32 层、width 1280;图像与文本投影到 1024 维 embedding,通过相似度做 zero-shot / few-shot 分类。

开放词表生命科学先验没有 detector head

它有多大

986,109,441 参数,其中视觉塔约 632,076,800;官方 safetensors 3,944,517,804 bytes,约 3.94 GB / 3.67 GiB。

官方披露训练:更新版 TreeOfLife-200M + 26M LAION replay,25 epoch,32× H100 80GB,11 天,约 8,448 GPU-hours。这个量级不适合在当前 M5 上完整复训。

BioCLIP 2.5 不会自动给框。它输出图像 / 文本 embedding 与相似度。可以把视觉塔接到下游检测头,或对 tiles 逐块分类,但那是另一个需要几何标注和训练的检测系统,不能等同于“现成 BioCLIP 能定位”。官方模型卡:imageomics/bioclip-2.5-vith14

横向对比:不要把不同任务的分数硬排一列

任务能力矩阵
方案原生输出定位能力规模 / 上限对本项目的结论
YOLO26 Detect / Seg0…N 个鸟框、置信度;Seg 另有 mask原生可靠
多尺度、多鸟、几何监督
2.4M–55.7M 融合参数;随 n/s/m/l/x 扩展唯一直接同时满足“有无鸟 + 鸟框”的候选。目标域微调最合理。
EfficientNet / MobileNet / ConvNeXt整图二类或多类 logits
Grad-CAM 不是 bbox
约 1M–100M+ 可选适合便宜预筛或 YOLO 框后二次复核;小鸟整图缩放是主要风险。
OSEA 完整 CLIFaster R-CNN 框 + 约 11k 鸟种有,但来自外置 COCO detector约 70.64M / 270 MiB鸟种分类强,不证明其前端比自训 YOLO 更会找本地鸟。
OSEA 分类器单体约 11k 物种 logits26.93M / 约 103 MiB最大 softmax 不是校准过的“有鸟概率”,非鸟会被迫归类。
BioCLIP 2.5 Huge1024 维图 / 文 embedding 与相似度986.11M / 3.94 GB开放词表与生物语义上限最高;适合作框后分类、teacher 或伪标签,不适合当前小模型前端。
关于“性能上限”的正确理解:OSEA 的 DIB 验证准确率、BioCLIP 在 NABirds / species benchmark 的 zero-shot 分数、YOLO 的 COCO mAP、EfficientNet 的 ImageNet top-1 来自不同数据、类别与指标,不能直接互比。真正应在同一套本地测试集上比较:无鸟误报率、模糊鸟召回、小鸟召回、AP50–95 与每张图推理时间。
Chapter 04

鸟类检测训练与数据增强方案

先把监督信号分开:presence / bbox 负责“有没有鸟、鸟在哪里”;quality 负责“是否失焦、运动模糊、曝光失败、是否值得保留”。一个样本可以同时是“有鸟”与“质量差”。

统一标签协议

训练前必须冻结定义
字段取值用途最容易犯的错
bird_present0 / 1 / ignore图像级 presence;至少一个可辨认鸟框即为 1把严重模糊鸟标成 0,训练出系统性漏检。
bbox[x, y, w, h]每只可见鸟一个框;框住当前画面内可见部分只框“主鸟”而漏标其他鸟,未标鸟会被当背景。
visible_fraction / truncated0–1 / 0–1边缘半鸟、遮挡与裁切压力测试框被增强过滤后,自动把图改成可靠负样本。
defocus0 / 1 / 2 / 3焦点落错、镜头离焦等级与运动模糊、像素不足混成一个 blur 标签。
motion_blur0 / 1 / 2 / 3主体运动 / 相机抖动;可再细分来源用高斯模糊代表全部运动轨迹。
noise / exposure / occlusion分级或枚举质量模型与困难分片评测增强了图像却没有同步更新质量标签。
burst_id / source_id稳定 ID按连拍、日期、视频和来源拆分,防止泄漏同一连拍随机落入 train 与 test,指标虚高。
augmentation_recipe类型、强度、seed合成缺陷可追踪、可复现把合成图与真实失败片混在一起报告。

三种必选方案 + 一个推荐组合

本机资源与人力规划
方案 A · 精度上限

YOLO26x Detect 单类微调

适用:追求极限召回,愿意用云端 GPU 或接受本机数天训练;保留为最终容量上限,不作为第一轮。

  • 初始化:yolo26x.pt COCO 权重;类别仅 bird
  • 数据:先用 3,000–5,000 张本地目标域(正图全框 + 无鸟 / hard negative),再按需加入 10k–30k 公开鸟框。
  • 训练:640、50 epoch 建基线;只对最佳 checkpoint 做 960、10–20 epoch 精修。batch 1–2,梯度累积到等效 batch 16–32。
  • 本机:3,000 图的 640 阶段约 50–85 小时;高分辨率精修约再 20–60 小时,合计约 3–6 天。若把 15k+ 公开数据全量每轮混入,本机将按数据量近似线性增长。
  • 风险:小数据过拟合、MPS batch 极小、每次数据修订反馈太慢;COCO 上从 L 到 X 的 mAP 增益仅 2.5,而计算约增 2.24 倍。
方案 B · 推荐主线

YOLO26s Detect 单类微调

适用:兼顾小鸟召回、速度、内存和快速迭代;是当前 M5 最合理的第一生产模型。

  • 初始化:yolo26s.pt;9.5M 融合参数,19.48 MiB 权重。
  • 数据:本地 1,500–2,500 张有鸟全框 + 1,000–2,000 张明确无鸟 / 误报困难负样本;公开数据只作预训练或限量混入。
  • 训练:640、50–80 epoch;batch 8–16;Mosaic 0.2–0.5、末 10–20% epoch 关闭;MixUp 0–0.05;Copy-Paste 0.1–0.2。
  • 本机:3,000 图、50 epoch 约 5–10 小时;960 精修后通常仍可控制在一天内。标签修正当天就能得到下一版结果。
  • 升级顺序:置信度校准 → hard-negative mining → 960 / tiles → YOLO26m → 最后才试 x 或 P2。
方案 C · 最轻

EfficientNet-B0 鸟 / 非鸟

适用:只需整图 presence,或作为 YOLO 候选框复核器。它不提供鸟框,不能单独完成本项目两个目标。

  • 数据:3,000–6,000 张,按鸟 / 无鸟与 hard negatives 平衡;tiny bird 另用 2×2 或 3×3 tile / MIL,不能盲目中心裁切。
  • 阶段 1:冻结 backbone,只训练二分类头 3–5 epoch;阶段 2 解冻末端 block,15–30 epoch;必要时全量微调最后 5–10 epoch。
  • 输入:224 先建基线,384 用于小鸟对照;BCE / focal loss,按真实部署先验做温度缩放或阈值校准。
  • 本机估算:224 约 0.5–1.5 小时,384 / tiles 约 1–3 小时;通常低于 2–4 GB 统一内存。既有 B3 384 局部微调实测约 53 images/s,可作为上限校准。
  • 人工成本:presence 标签远便宜于画框;4,794 张逐图确认通常约数小时,但可疑黑点必须进入 ignore,不能强行判负。
推荐部署形态

YOLO26s + EfficientNet-B0 复核

流程:YOLO 以偏低阈值追求召回 → 框外扩 10%–20% → B0 判 bird / no-bird → 合并重复框 → 图像级 presence = 至少一个通过复核的框。

  • YOLO 学位置和多鸟;B0 专门看树叶、飞机、飞虫、反光、小黑点等误报。
  • 用 YOLO 的假阳性自动积累 B0 hard negatives;用 B0 高分但 YOLO 无框的 tiles 挖漏检。
  • 需要物种时,只把最终框送入 OSEA 或 BioCLIP,避免对整图运行重模型。
  • 总训练成本约为方案 B + 1–3 小时,通常能比一味加大 YOLO 更快降低误报。
建议的 YOLO26s 第一版训练参数
from ultralytics import YOLO

model = YOLO("yolo26s.pt")
model.train(
    data="bird.yaml", device="mps", imgsz=640,
    epochs=60, batch=8, workers=4,
    lr0=1e-3, patience=15,
    mosaic=0.35, mixup=0.03, copy_paste=0.10,
    close_mosaic=10, seed=42
)

这是规划起点而不是神奇配方。batch 与 workers 应先做 50–100 张 smoke test;若 MPS 或解码不稳,优先降 batch / workers,不要在全量训练中排错。

训练数据拆分与指标

按场景拆,不按单张随机

拆分规则

  • 日期 + 地点 + 连拍组 + 原视频 + 来源 为最小不可拆单元。
  • 建议 train / val / test 约 70 / 15 / 15;额外保留固定压力测试集。
  • 所有由同一原图生成的 blur、crop、Copy-Paste 版本必须留在同一 split。
  • 公开数据和本地数据分别报告;最终门槛以本地真实 test 为准。

必须报告的分片

  • presence:recall、无鸟误报率、AUROC / AUPRC、校准曲线。
  • 检测:AP50、AP50–95、recall、FP/image。
  • 困难片:极小鸟、真实失焦、真实运动模糊、复杂树枝、边缘半鸟、多鸟。
  • hard negatives:飞机、飞虫、树叶、反光、石块、传感器污点。
  • 质量支线:真实失焦 / 运动模糊 F1 与同一连拍的组内排序准确率。
04.2 · Data sources

鸟类数据集:重点找“明确空图”

检测集的每个框都能派生正样本,但“没有标 Bird”不等于没有鸟。只有官方明确 negative / empty,或人工复核过的图,才可作为 no-bird。许可也必须按数据源、甚至按单张图片核验。

数据集规模与标注明确空图 / 负样本本项目价值主要限制
Open Images V7约 900 万图;600 个框类别,含 Bird;图像级正 / 负标签 人工确认 Bird-negative普通摄影域最接近;鸟框 + 正图 + 明确无鸟图;适合 hard-negative mining未标 Bird 不能自动当负图;图片许可逐文件核验。
iNaturalist 2017 · Aves964 类;214,295 train + 21,226 val;283,931 + 17,314 鸟框鸟子集无明确空图大规模自然环境、物种与背景多样;优秀 detector 预训练源非商业研究 / 教育;物种标签不一定逐框精确。
Big Bird4,284 UAV 图;49,990 标注:41,337 框 + 8,653 多边形;102 种3,209 空图 约 75%正 / 空同采集域,适合低误报与 bird / no-bird俯拍群鸟与地面长焦有域差异。
FBD-SV-2024483 视频、28,694 帧、28,366 鸟实例;bbox + 0–3 难度4,861 空帧小飞鸟、复杂监控背景、低信息量实例;困难正样本按视频拆分;许可说明存在表述差异,按更严格条件处理并联系作者。
Distant Bird Detection47,260 张 4K 图、60,971 框;hawk / crow / wild bird未明确远距离小鸟、多地点和背景;MIT 代码 / 数据说明UAV 域;大部分正图,不能独立构建 no-bird。
SOD4SB / MVA2023Train1 47,260 图 / 60,971;Train2 9,759 / 29,037;单类 bird、COCO 格式未明确专攻 noisy、blurred、less-informative 小鸟没有逐图模糊类型标签;数据条款需核验。
AirBirds118,312 连续图、409,967 飞鸟框;平均目标小于 10 px;约 165 GB官网未公布极小飞鸟、四季、天气与光照变化机场固定监控域;CC BY-NC-SA 4.0。
CUB-200-201111,788 图、200 种;每图框、15 部位点、312 属性清晰主体、框与关键点快速实验偏干净正样本;非商业研究 / 教育。
NABirds约 48,000 图、约 400 种 / 550+ 视觉类;框与部位标注专家策展,补性别、年龄与羽态正样本偏干净;Cornell 非商业研究条款。
USGS 航拍鸟类80MP 航拍切成 720 / 1440 patch,COCO 鸟框;代码支持 any-bird 过滤含候选空 patch,数量未披露patch 级 bird / no-bird 与高分辨率分块检测航拍域差异大。
Skagen / Klim丹麦风场固定相机帧、鸟框,约 3.43 GiB未公布精确数天空、海岸、风场与飞鸟;CC BY 4.0固定监控域,不等于相机长焦。
Caltech Camera Traps243,100 图、约 66,000 框;21 动物类 + empty约 70% empty林地、树枝、夜景和动物 hard negatives不是鸟类专集;empty 仍需抽查极小漏标鸟。
本地七月照片4,794 张:4,698 JPG + 96 ARW,约 35.6 GB需要人工确认最高价值 与相机、镜头、背景、工作流完全同域需要补 presence、全框与质量标签;按连拍拆分。
推荐数据组合:Open Images 提供普通摄影鸟框和明确负样本;iNaturalist 提供自然环境正样本;Big Bird / FBD-SV 提供同域空图;AirBirds / Distant / SOD4SB 补小鸟;最后一定用本地七月照片校准。公开数据不应不加权地全部混在每个 epoch 中。
存在至少一个有效鸟框 → bird_present = 1
人工确认无任何鸟      → bird_present = 0
只有可疑黑点、无法确认 → ignore

模糊鸟、对焦失败与“拍摄失败”素材

这里没有现成完美数据集
调研结论:没有找到一个公开数据集同时具备“真实鸟类摄影场景 + 鸟框 + 离焦 / 运动模糊类型标签 + 拍摄成败人工判断”。FBD-SV、SOD4SB 和 AirBirds 包含困难 / 模糊小鸟,但没有把模糊原因拆开。最需要的部分必须用自己的连拍失败片建立。
可迁移数据规模 / 标注可提供什么不能替代什么
CUHK Blur Detection1,000 图;10 人标模糊区域;704 离焦、296 局部运动模糊模糊区域与类型分支预训练这些都是通用模糊 / IQA 先验。最终阈值仍必须在鸟框、鸟头、鸟眼和本地真实失败片上微调与校准;不能把其 MOS 直接映射成鸟片星级。
KonIQ++10,073 图;质量分与 blur、artifact、color、contrast 缺陷频率多标签技术缺陷预训练
SPAQ11,125 真实手机照;MOS、亮度、色彩、对比、噪声、清晰度真实拍摄质量 / 清晰度回归
VizWiz Quality Issues39,181 图;blur、过 / 欠曝、构图失败、遮挡、旋转、不可识别最接近“拍摄失败”的多标签定义
LIVE-Meta VI-UGC39,660 图 + 39,660 patch;约 270 万质量与失真判断大规模真实混合失真和局部质量
GoPro Blur3,214 组动态清晰 / 模糊配对运动模糊预训练、轨迹与强度校准
RealBlur真实拍摄清晰 / 模糊配对,RealBlur-J / R真实相机运动模糊,优于纯高斯
DPDD500 场景、2,000 图;双像素子孔径、离焦与全清晰配对真实镜头离焦 / bokeh PSF
KADID-10k81 参考图 × 25 失真 × 5 级 = 10,125 图 + DMOS可控失真等级的课程训练
真正高价值的本地监督:同一只鸟、同一背景、相近姿态的一段连拍中,标出“清晰帧 > 轻微虚焦 > 严重虚焦 / 运动模糊”。这种组内相对排序能排除物种、背景和构图差异,比给互不相关照片硬打绝对分更可靠。
04.3 · Augmentation

拍鸟场景的数据增强

增强的目标不是制造越多越怪的图,而是覆盖真实相机、镜头、鸟运动和构图失败的分布。检测增强必须同步更新 bbox;质量增强还要记录类型、强度与随机种子。

建议增强清单与第一版概率

bbox-aware + 可追踪
增强类型拍鸟场景实现标签如何更新边际概率
水平翻转改变鸟朝向;通常符合自然摄影框、mask、关键点同步翻转0.50
轻旋转 / 平移旋转约 ±8°–12°,平移不超过画面 10%框同步变换并裁到边界0.15–0.25
多尺度 / 小鸟让鸟框面积按对数分布变化,重点补画幅 0.02%–2% 的鸟同步缩放;短边低于约 4–6 px 的目标不作普通强监督0.25–0.40
离焦模糊disk / bokeh PSF;半径按鸟框短边约 0.5%–3%;生成轻 / 中 / 重presence 保持 1;bbox 保持;增加 defocus0.07–0.12
运动模糊随机方向线性 / 非线性轨迹;长度约鸟框宽 2%–15%;区分鸟动与相机抖动presence 保持 1;增加 motion_blur0.06–0.10
焦点落到背景有 mask 时只模糊鸟,树枝 / 背景保持清晰,边缘羽化框不变;标 defocus0.05–0.08
下采样再放大先缩至 15%–60%,再双线性 / area 放大,模拟远距离像素不足框保持;记录 low_resolution,不要当作离焦0.05–0.10
半鸟 / 边缘鸟主动把鸟中心推到四边,保留 20%–80% 身体;不是盲目中心裁切框裁到边界;更新 visible_fraction / truncated0.08–0.15
真实遮挡枝叶、芦苇、草、水花 alpha 遮挡,覆盖约 10%–50%框通常保留;不可辨认时改 ignore0.08–0.15
ISO / 传感器噪声Poisson shot + Gaussian read noise;彩噪弱于亮噪;少量热像素框不变;更新 noise0.08–0.15
曝光失败在线性光空间约 −1.5…+1.5 EV;少量高光剪切、黑位堵塞框不变;更新 exposure0.10–0.20
色温 / 白平衡轻微冷暖、绿 / 洋红偏移,覆盖晨昏、林荫、阴天框不变;避免生成不自然羽色0.10–0.20
低对比 / 薄雾逆光、水汽、远距离空气透视;低频加入雨雪和耀斑框不变;必要时更新遮挡 / 对比标签0.05–0.10
JPEG / 工作图退化JPEG quality 35–95,少量多次转码;匹配 RAW→工作 JPEG 流程框不变;更新 artifact0.05–0.12
Copy-Paste用真实鸟 mask 粘到本地无鸟树枝 / 水面 / 天空;匹配尺度、色温、噪声、景深新增框;检查背景原图是否还有漏标鸟0.10–0.20
Mosaic四图组合,增加多鸟、小鸟和边缘目标;只用于 detector框自动同步;最后 10%–20% epoch 关闭0.20–0.50
MixUp / CutMix低频正则;ghost bird 会破坏真实感保留对应框和软标签;质量模型一般不用MixUp 0–0.05
CutMix 0–0.10

框同步可使用 Albumentations bbox-aware transforms;Mosaic、MixUp、CutMix、Copy-Paste 参数参见 Ultralytics 官方增强指南

“半只鸟”安全规则

visible_fraction ≥ 0.20 且可人工识别:
    bird_present = 1
    bbox = clipped_bbox

0 < visible_fraction < 0.20:
    bird_present = ignore
    不参与普通 presence / bbox loss

visible_fraction = 0:
    bird_present = 0
    仅当确认画面没有其他鸟

min_visibility 过滤掉一个框,不代表该图片自动变成可靠负样本。

Copy-Paste 安全规则

  • 优先用分割 mask,而不是矩形框硬抠。
  • 匹配光线方向、色温、噪声、景深和运动模糊。
  • 避免白边、锐度突变和不合比例。
  • 同时生成多鸟、部分重叠与边缘截断。
  • 合成图控制在总体约 10%–20%,绝不代替真实验证集。

方法参考 Simple Copy-Paste

第一版增强配比

允许轻度组合;每图最多一个严重退化
30–40%原图,或只水平翻转 / 轻微色彩变化
15–20%尺度、平移、轻旋转
15%离焦 / 运动模糊 / 下采样三选一
10%半鸟或画面边缘
10%枝叶、芦苇等遮挡
10%曝光、ISO 噪声或 JPEG 三选一
10–15%真实 mask Copy-Paste
20–50%检测早期 Mosaic,末段关闭

明确不建议

常见增广陷阱
  • 默认垂直翻转或 180° 大旋转。
  • 大幅 shear、perspective、elastic,扭曲鸟体。
  • 强 hue shift,制造自然界不存在的羽色。
  • 矩形 CutOut 完全盖住鸟却保留正标签。
  • 鸟裁没后仍保留 bird_present=1
  • 把严重模糊鸟改成 no-bird。
  • 只用 Gaussian blur 代表所有失焦 / 运动模糊。
  • 质量模型大量用 Mosaic / MixUp,破坏人类质量语义。
  • 训练 / 验证分别放同一原图的清晰版与模糊版。
  • 把“无 Bird 注释”直接当无鸟。
  • 在 val / test 随机增强。
  • 用生成式 AI 鸟图作为黄金测试集。
Delivery roadmap

从七月照片开始的实施路线

模型架构不是当前最大不确定性,标签定义和困难负样本才是。用小模型快速闭环,等错误类型稳定后再决定是否上 m / x,可大幅减少无效训练。

1

冻结标签规范与测试集

从 4,794 张七月照片中按日期 / 连拍组抽固定 test ≥800–1,000 张;覆盖无鸟、普通鸟、小鸟、模糊、半鸟、多鸟与 hard negatives。测试集不做合成增强。

2

先标本地目标域

确认全部 presence;对有鸟图标全所有鸟框;额外给至少 800–1,500 张真实失焦、运动模糊、遮挡和半鸟加质量标签。二分类标签约需数小时;2,000 张全框按每图 15–45 秒规划约 8–25 小时,复杂多鸟另加余量。

3

同周训练两个基线

YOLO26s 640 / 60 epoch 与 EfficientNet-B0 224。保留 COCO 原始 YOLO、现有慧眼入口作为对照;同一测试集报告 recall、FP/image、模糊鸟和小鸟分片。

4

两轮 hard-negative mining

在剩余本地照片及公开负样本上跑低阈值推理;优先补标高置信假阳性与人眼确认的漏检。每轮新增 300–800 个“模型最不懂”的样本,通常比随机再加 5,000 张更值钱。

5

只按错误类型升级

小鸟漏检:960 / tiles → P2;普通鸟漏检:数据 / 标签 / threshold;树枝误报:hard negatives + B0 复核;容量仍饱和:再比 YOLO26m / x。不要一开始同时更换模型、分辨率和数据。

6

接回质量与 Lightroom 流程

存在 / 框模型稳定后,再把框送入鸟头锐度、失焦 / 运动模糊和连拍排序模型。先以旁路报告验证,不立即覆盖星级;通过固定回归集后再写回。

第一阶段建议数据规模

不是一次性全下载
数据组成建议规模优先级说明
本地真实有鸟图并标全所有鸟框2,000–3,000 张P0目标域最重要;多鸟必须全标。
本地真实无鸟 / 误报困难负样本1,000–2,000 张P0优先树枝、叶片、飞机、飞虫、反光和小黑点。
本地真实模糊、失焦、遮挡、半鸟800–1,500 张P0同时保留 presence=1 与质量失败标签。
Open Images 明确 Bird 正 / 负各 5,000–15,000P1先抽样,按本地误差再扩充。
iNaturalist / CUB 等公开鸟框10,000–30,000 抽样P1预训练或分阶段混入,不必每轮全量。
FBD-SV / Big Bird 空图和小鸟5,000–15,000 抽样P1强调 explicit empty 与小目标。
固定真实 test≥1,000 张P0只放原图;按场景 / 连拍隔离。
最终推荐:先花标注精力得到一个可信的 YOLO26s 单类 detector,再用 EfficientNet-B0 复核误报。若它在固定测试集上仍有明确的容量瓶颈,才把同一数据无改动地迁移到 YOLO26m / x 做受控对比。对于当前 32 GB M5,这条路线能把一次反馈从数天压到约一天,并保留后续框内锐度、姿态和鸟种识别需要的几何信息。
Primary sources

一手资料与口径说明

规模来自官方模型页、模型卡、作者仓库或论文;本机时长是由已有实测条件化外推。数据许可只作技术筛选提示,不构成法律意见,实际使用前应复核当期条款。

估算边界。本机训练时间不是硬件厂商或模型作者披露,也不是交付承诺;它由当前机器上 YOLO11l-seg / EfficientNet-B3 的既有基准,按训练图 FLOPs、图片数、epoch 和分辨率外推。真实时间会受数据解码、增强、batch、MPS 版本、热状态和验证频率影响。