NABirds Pose 基线

MODEL TRAINING & KEYPOINT AUDIT · 2026-08-20

YOLO26s 鸟类 Pose:11 个点在哪里,模型又错在哪里

从原始 YOLO26s-pose 权重出发,在 NABirds 48,562 张单鸟图上完成 11 点训练;本次更新进一步逐图重跑全部 24,633 张官方测试图,用带点名的真值/预测叠加图展示准确定位、轻度偏移、明显错位、关键点漏检和整鸟漏检。

NABirds 48,562 张测试集全量审计 24,633 张14 张带点名案例YOLO26s-pose · 640 px证据更新 2026-08-20
99.3%官方测试 Pose mAP50
82.1%官方测试 Pose mAP50–95
92.6%PCK@0.10,漏检计错
4.51 h12 轮训练累计时间
Executive conclusion

结论:这是一版可复现、可继续优化的鸟类 Pose 基线

结论只使用本次本地训练、独立验证和官方测试集实测;没有把验证图片混入最终测试。

01

迁移主体,重建 Pose 头

原始模型的 COCO 17 人体点头被替换为 NABirds 11 鸟体点头,795/879 项权重成功迁移;backbone、neck 与可兼容检测分支继续微调。

02

可用点不等于只看 mAP

全测试集按关键点 conf≥0.50 再审计后,90.5% 的真值可见点落在鸟框长边 10% 内;翼和尾明显弱于眼、喙。

03

先作为结构先验

该模型适合为后续鸟眼、鸟翼与局部清晰度判断提供坐标先验;是否直接用于生产,应结合 A7R6 PreviewImage 的域外实拍再验收。

最重要的限制

NABirds 是精心收集的单鸟照片,和暗光、强遮挡、运动模糊、远距离小鸟的 A7R6 实拍分布不同。官方测试成绩证明同域学习效果,不等同于相机工作流中的最终效果。

Chapter 01

先把 0–10 号点认清,再看模型是否预测正确

NABirds 给每张图定义固定顺序的 11 个部位中心点。它不是骨架,也没有眼—喙—翼之间的连线;左右点因视角和遮挡天然更稀疏。

21,519

训练图,官方训练集的 90%

2,410

按物种分层验证图

24,633

未参与调参的官方测试图

48,562

全部图片使用硬链接,避免重复 9.4GB

0bill1 头顶crown2 后颈nape3 左眼left_eye4 右眼right_eye5 腹部belly6 胸部breast7 背部back8 尾部tail9 左翼left_wing10 右翼right_wing
图上符号怎么读

绿色空心环 G0–G10 是 NABirds 数据集真值,粉色实心点 P0–P10 是模型预测;白线表示两者接近,橙线表示鸟框长边 5%–10% 的轻度偏移,红线表示超过 10% 的明显错位,真值点上的红叉表示模型关键点置信度低于 0.50。绿色框是真值鸟框,粉色框是预测鸟框。

下面这张逐点表先这样读

可见率表示数据集有多少图片把该部位标为可见;PCK越高越好,分别要求误差不超过鸟框长边5%/10%;NME越低越好,0.040代表平均偏移约为鸟框长边4%。完整公式和好坏解释见“指标”章节。

特征点全库真值可见率严格命中 PCK@.05 ↑宽松命中 PCK@.10 ↑平均相对偏移 NME ↓
bill98.6%94.4%98.0%0.021
头顶crown97.7%93.8%98.6%0.023
后颈nape94.1%84.1%95.9%0.032
左眼left_eye52.1%96.8%98.7%0.013
右眼right_eye51.3%96.8%98.7%0.013
腹部belly82.1%63.4%91.6%0.049
胸部breast92.4%74.1%95.3%0.040
背部back80.8%73.6%94.0%0.042
尾部tail90.2%68.1%87.8%0.056
左翼left_wing59.7%46.5%77.6%0.078
右翼right_wing58.7%45.3%75.1%0.082

原始 NABirds 标点在哪里

parts/parts.txt 定义 0–10 的点名;parts/part_locs.txt 每行格式为 image_id part_id x y visible,其中 x/y 是原图像素坐标,visible 为 0/1;鸟框在 bounding_boxes.txt

转换后的 YOLO 标点在哪里

yolo_pose/dataset/labels/{train,val,test}/<image_id>.txt。每行是 0 cx cy w h x0 y0 v0 … x10 y10 v10,坐标按整图归一化;缺失点 visibility=0,可见点=2。点名与顺序还写在 dataset/nabirds-pose.yaml

不要把“数据集未标”误判成“模型漏点”

只有真值 visible=1 的点才参与准确率与本次错误分类。真值不可见时,模型即使给出一个坐标也没有可验证目标,因此图中不画,也不判对错。训练水平翻转使用 [0,1,2,4,3,5,6,7,8,10,9] 同步交换左右眼和左右翼。

Chapter 02

训练拼图只检查“标注有没有跟着变形”,不能判断模型对错

图中的蓝框和彩点是训练数据真值经过增强后的可视化,不是模型预测;batch 选择与训练效率结果放在其后。

先说结论:图1本身没有“预测正确/错误”

这张图只含 Ground Truth(数据集标注)。它用来发现旋转、缩放、Mosaic、水平翻转后,框和点是否仍贴在鸟身上。要判断模型对错,必须看后文同时出现绿色 G 真值、粉色 P 预测和二者偏移线的逐图审计。

蓝色矩形

增强后的真值鸟框,不是预测框。框住鸟说明框标注随几何变换保持对齐。

蓝底数字 0

类别编号:本数据集只有一类,0 = bird。它不是第0号关键点,也不是置信度。

彩色圆点

增强后的11个真值关键点。Ultralytics 拼图只用颜色区分,不写点号和点名,所以不能靠这张拼图认出每个部位。

灰区、倾斜和拼接

来自旋转后的填充、缩放和 Mosaic/批次排版。它们是训练增强效果,不代表原始照片损坏。

Batch短测吞吐峰值 MPS 内存决策
1612.86 img/s8.56 GB采用
2413.62 img/s12.70 GB不采用
YOLO26s Pose 十二轮训练损失与验证指标曲线
训练曲线。最佳验证 Pose mAP50–95 出现在第 12 轮,峰值 82.4%。
只包含真值框与真值关键点的 NABirds 训练增强拼图
这不是预测结果。蓝框=真值鸟框,蓝底0=bird类别,彩点=增强后的真值关键点,灰区=几何增强填充;这里只能检查标注管线,不能评价模型准确率。
正式配置

12 epochs · 640 px · batch 16 · AdamW · cosine LR · MPS BF16 · workers 4 · mosaic 0.5,最后 2 轮关闭 mosaic。模型参数约 11.1M,COCO 17 点头在启动时替换为 NABirds 11 点头。

Chapter 03

OKS 看整套姿态,PCK 看每个点离真值有多远

两者都把鸟的大小纳入计算,但回答的问题不同:OKS 用于标准检测式 AP 评估,PCK/NME 更容易直接换算成像素误差。

OKS:关键点版的相似度

可把它理解成“关键点版 IoU”:预测点越接近真值,OKS 越接近 1;偏得越远,越接近 0。它对所有真值可见点的相似度取平均。

本次 Ultralytics:OKS = mean可见点 exp[−dᵢ² / (8·σᵢ²·A)]
A = 0.53 × 真值框宽 × 真值框高;σᵢ = 1/11

dᵢ 是第 i 个预测点到真值点的像素距离,A 负责消除大鸟/小鸟的尺度影响,σᵢ 控制容忍度。

PCK 与 NME:距离版指标

本报告令 L 为真值鸟框长边,先计算每个可见点的归一化误差:

NMEᵢ = dᵢ / L
PCK@τ = 满足 NMEᵢ ≤ τ 的可见真值点比例

例如鸟框长边 400 px:PCK@0.05 要求误差≤20 px,PCK@0.10 要求误差≤40 px。PCK 越高越好;NME 越低越好。

“COCO 风格”不等于直接使用 COCO 人体17点容差

NABirds 是自定义11点,当前 nabirds-pose.yaml 没有提供鸟类专用 kpt_oks_sigmas;Ultralytics 8.4.115 因而对11点统一使用 σ=1/11。所以这套 OKS 适合本模型在同一配置下做内部比较,但不应直接与 COCO 人体 Pose 榜单横向比较,也还没有体现“眼应更严格、翼中心可稍宽松”的业务差异。

Metric dictionary

mAP50 和 mAP50–95 不是“正确点百分比”

AP 是把预测按置信度从高到低排列后得到的 Precision–Recall 曲线面积;本项目只有 bird 一类,所以 mAP 主要是在多个匹配阈值间取平均。

指标本次结果具体含义怎样评价
Pose mAP5099.3%预测姿态与真值的 OKS≥0.50 即可匹配,再计算 AP。同域很好,但门槛较宽。不是“99.3%的点完全正确”。
Pose mAP50–9582.1%在 OKS=0.50、0.55…0.95 十个阈值分别算 AP 后平均。同域较强。高阈值更要求整套点位贴近真值,因此比 mAP50 低。
Box mAP5099.3%用框的 IoU≥0.50 判断匹配;IoU=交集面积/并集面积。检出鸟很稳定。但不代表框边界非常准。
Box mAP50–9571.3%框 IoU 从0.50到0.95的十档 AP 平均。边界精度仍有空间。从99.3%降到71.3%说明严格框阈值更难。
PCK@0.0576.9%点误差≤真值鸟框长边5%;整鸟漏检计错。严格定位约四分之三通过。对眼部裁剪比 PCK@.10 更有参考性。
PCK@0.1092.6%点误差≤真值鸟框长边10%;整鸟漏检计错。宽松定位很好。但400 px鸟框允许40 px误差,不足以证明眼点足够精细。
检出后平均 NME0.040鸟框已经检出时,可见点平均偏移约为鸟框长边的 4.0%。整体较低。平均值会掩盖翼和尾的长尾错误。
整图检测率99.5%box confidence≥0.25 时找到至少一只鸟的图片比例。同域很好。仍有 115 张整鸟漏检。
Precision、Recall 与 confidence 的关系

Precision 问“模型报出的结果里有多少是真的”,Recall 问“真值目标里有多少被找到了”;AP 综合整条 Precision–Recall 曲线。confidence 是模型对某个框或点的自信程度,不是几何误差;把阈值调低会输出更多点、减少表面漏点,但也可能放进更多错位点。

NABirds 官方测试集真实鸟框和特征点批次总览
左图仍然只是真值总览。它用于确认测试数据读取正确,不能单独评价模型。
YOLO26s Pose 官方测试预测批次总览
右图是预测总览。但缩略图太小、没有 G/P 对照和点名,不能可靠判断具体点的正确/错误;定性判断以下方逐图审计为准。
Chapter 04 · visual audit

这四个百分比在回答:每个真值可见点最后落入哪种结果

分母是 211,126 个真值可见关键点,来自全部 24,633 张官方测试图。先看点的置信度,再看归一化距离;14张图用于把各类结果具体画出来。

75.7%

严格准确:点 conf≥0.50 且 NME≤0.05。它是右侧90.5%中的一部分,不应再与90.5%相加。

同域严格定位较好

90.5%

达到当前可用线:点 conf≥0.50 且 NME≤0.10,其中包含左侧75.7%的严格准确点和14.8%的轻度偏移点。

宽松定位良好

5.8%

明显错位:模型对点有足够信心并输出,但距离真值超过鸟框长边10%。这是比低置信更危险的错误。

需要重点减少

3.3%

低置信未采用:整鸟已经找到,但该点 conf<0.50。模型可能仍有一个猜测坐标,本报告按部署规则视为漏点。

阈值与训练共同影响
100% 分解 = 90.5% 可用点 + 5.8% 明显错位 + 3.3% 低置信漏点 + 0.4% 整鸟漏检造成的点缺失
其中:90.5% = 75.7% 严格准确 + 14.8% 轻度偏移
为什么这里的 90.5% 不等于前面的 PCK@0.10 92.6%

前面的 PCK 只按坐标距离判断;这里增加了部署阈值:关键点 confidence 低于0.50,即使模型内部坐标碰巧接近,也归为“低置信未采用”。所以本节更严格,目的是把可信可用坐标与低置信猜测分开。

如果只是要鸟体大致结构

90.5% 的点在10%鸟框尺度内,且整图检测率 99.5%;作为 NABirds 同域结构先验,结果是好的

如果要精确裁眼、裁翼

总体 75.7% 在5%尺度内,但左右翼只有约42%–44%达到这一档;结果好坏混合,不能只看总体平均。

如果要直接处理 A7R6

这些数来自 NABirds,同域好成绩不能证明逆光、模糊、小鸟和遮挡场景同样有效;目前尚未完成生产验收

真值可见点数量精确 ≤.05轻偏 .05–.10明显错位 >.10低置信漏点整鸟漏检造成
bill24,27894.3%3.6%1.6%0.1%0.4%
头顶crown24,07793.7%4.7%0.9%0.3%0.4%
后颈nape23,16984.1%11.6%3.6%0.3%0.4%
左眼left_eye12,82893.8%1.2%0.3%4.2%0.5%
右眼right_eye12,65093.7%1.3%0.4%4.2%0.4%
腹部belly20,16862.3%27.4%7.2%2.7%0.3%
胸部breast22,80173.9%20.8%4.0%0.9%0.4%
背部back19,92071.5%19.2%4.4%4.6%0.4%
尾部tail22,17067.3%19.1%11.1%2.2%0.3%
左翼left_wing14,66443.6%27.9%16.5%11.6%0.4%
右翼right_wing14,40142.2%26.4%17.6%13.5%0.4%
全测试集的弱点集中在翼、尾和躯干中心

左右翼的明显错位率分别为 16.5% 与 17.6%,低置信漏点率为 11.6% 与 13.5%;眼和喙明显稳定。原因与部位面积大、形变强、遮挡多、左右翼真值可见样本少共同相关。

A · precise

准确案例:G 与 P 基本重合

这些图所有真值可见点都满足 NME≤0.05;注意未标出的点是数据集判定不可见,并非模型漏检。

准确案例:Black Tern 的数据集真值与模型关键点预测对照
准确案例 · Black Tern图像 b442cdcf · 真值可见 9/11 · 摄影 Amanda Guercio最大偏移点:胸部 0.023、背部 0.013、腹部 0.009。
准确案例:Common Tern 的数据集真值与模型关键点预测对照
准确案例 · Common Tern图像 4ae75193 · 真值可见 9/11 · 摄影 Ryan Schain最大偏移点:尾部 0.024、喙 0.018、后颈 0.008。
准确案例:Black-capped Chickadee 的数据集真值与模型关键点预测对照
准确案例 · Black-capped Chickadee图像 98e8f1ef · 真值可见 9/11 · 摄影 Craig or Rosemarie Stewart最大偏移点:腹部 0.018、后颈 0.012、背部 0.011。
准确案例:Black Guillemot (Breeding) 的数据集真值与模型关键点预测对照
准确案例 · Black Guillemot (Breeding)图像 0f7ddf05 · 真值可见 8/11 · 摄影 Sigmundur sgeirsson最大偏移点:后颈 0.017、右翼 0.014、右眼 0.010。
B · moderate

轻度偏移:仍在 10% 鸟框尺度内

橙线把 5%–10% 的偏移显式画出,常见于背部、腹部和翼中心这类边界不尖锐的语义部位。

轻度偏移:Western Meadowlark 的数据集真值与模型关键点预测对照
轻度偏移 · Western Meadowlark图像 9ce9cd62 · 真值可见 8/11 · 摄影 Dominic Sherony最大偏移点:背部 0.100、头顶 0.050、左翼 0.020。
轻度偏移:Wood Duck (Female/Eclipse male) 的数据集真值与模型关键点预测对照
轻度偏移 · Wood Duck (Female/Eclipse male)图像 3a426c58 · 真值可见 9/11 · 摄影 Rachel LeBlanc最大偏移点:腹部 0.100、左翼 0.057、背部 0.051。
C · wrong

明显错位:点被输出,但落到了错误位置

红线对应 NME>0.10。这里把具体错误点列进图注;部分案例同时伴随预测框过大或抓到遮挡物,说明框错误会传导到 Pose。

明显错位:White-throated Sparrow (White-striped) 的数据集真值与模型关键点预测对照
明显错位 · White-throated Sparrow (White-striped)图像 c25b3a94 · 真值可见 6/11 · 摄影 Marshall Iliff最大偏移点:尾部 1.402、后颈 0.072、胸部 0.028。
明显错位:Indigo Bunting (Adult Male) 的数据集真值与模型关键点预测对照
明显错位 · Indigo Bunting (Adult Male)图像 4e7cca6f · 真值可见 8/11 · 摄影 Tripp Davenport最大偏移点:左翼 1.050、腹部 0.136、左眼 0.094。
明显错位:White-breasted Nuthatch 的数据集真值与模型关键点预测对照
明显错位 · White-breasted Nuthatch图像 5ce49200 · 真值可见 8/11 · 摄影 Stephanie Town最大偏移点:尾部 1.007、左翼 0.242、头顶 0.104。
明显错位:Swamp Sparrow 的数据集真值与模型关键点预测对照
明显错位 · Swamp Sparrow图像 a8cb648a · 真值可见 6/11 · 摄影 Nancee Cobb最大偏移点:尾部 0.943、胸部 0.034、喙 0.025。
D · missing

漏点与整鸟漏检是两种不同失败

前两张是鸟框存在但若干点低于 0.50;后两张是整只鸟没有达到 box conf 0.25,因此全部可见点都无法输出。

关键点未检出:Carolina Wren 的数据集真值与模型关键点预测对照
关键点未检出 · Carolina Wren图像 4e20e230 · 真值可见 9/11 · 摄影 Joseph M. Bieksza低置信度漏点:头顶、后颈、右眼、背部、尾部、左翼。 同时明显错位:腹部、右翼。
关键点未检出:American Crow 的数据集真值与模型关键点预测对照
关键点未检出 · American Crow图像 ab5c5ea5 · 真值可见 9/11 · 摄影 Russell Greaves低置信度漏点:喙、头顶、后颈、左眼、胸部、背部。
整鸟漏检:Herring Gull (Immature) 的数据集真值与模型关键点预测对照
整鸟漏检 · Herring Gull (Immature)图像 afd30bd6 · 真值可见 11/11 · 摄影 Dan Irizarry整鸟框未达到 0.25;11 个真值可见点全部随之漏检。
整鸟漏检:Caspian Tern 的数据集真值与模型关键点预测对照
整鸟漏检 · Caspian Tern图像 8980e83b · 真值可见 10/11 · 摄影 Tony Leukering整鸟框未达到 0.25;10 个真值可见点全部随之漏检。
“标错”在本报告中指模型预测错,不代表 NABirds 真值错

红线和红叉都以数据集真值为参照。数据集本身仍可能存在人工标注噪声,但要确认真值错误必须回到原图与 parts/part_locs.txt 逐条复核;本次没有把预测与真值不一致自动归罪于数据集。

Decision & next step

下一步优先测 A7R6 域差异,而不是继续盲目堆轮数

当前基线已经回答“模型能否学会 11 个鸟体点”。后续投入应由真实 PreviewImage 上的失败模式决定。

01

建立实拍小测试集

从 A7R6 PreviewImage 中覆盖逆光、飞鸟、遮挡、小目标和模糊,人工标注约 300–500 张作为域外验收,不加入本轮训练。

02

先补翼、尾失败

本次全量审计已证明弱点主要在左右翼、尾和躯干中心。优先复核这些点的真值、遮挡与姿态分布,再做困难样本增量训练。

03

再决定高分辨率精修

如果 A7R6 错误主要来自小鸟像素不足,再从本轮 best.pt 以 896/960 px、低学习率精修;如果是域差异,则优先混入实拍标注。

指标解释边界

PCK 对鸟框尺度归一化,适合跨大小比较,但不能直接代表眼部是否清晰;关键点坐标可作为后续局部裁剪先验,清晰度仍需独立模型或成像指标判断。

Evidence

来源与审计范围

公开链接用于任务与数据定义;训练产物日期为 2026-08-19,逐图关键点审计与指标释义更新于 2026-08-20。

  1. Ultralytics Pose 任务文档
  2. Cornell Lab NABirds 数据集页面
  3. OKS 实现核对:本地 Ultralytics 8.4.115 的 models/yolo/pose/val.pyutils/metrics.py;确认自定义11点默认统一 σ=1/11、面积系数0.53。
  4. 数据集真值:parts/parts.txtparts/part_locs.txtbounding_boxes.txt;转换后标签:dataset/labelsdataset/nabirds-pose.yaml
  5. 本地测量:训练 results.csv、官方测试 evaluation-summary.json、全量逐图审计 keypoint-audit-summary.json 与 best.pt。
  6. 运行环境:Apple M5(10 核 GPU、34GB 统一内存),PyTorch 2.13.0,Ultralytics 8.4.115。