yawpose
收藏资源简介:
yawpose是一个纯合成数据集,模拟了真实世界中的噪声(低分辨率、模糊、遮挡、压缩),覆盖广泛的相机角度、头部俯仰和完整的360°偏航圆。合成过程还批量生成带有遮挡物和外观变化的样本——眼镜、太阳镜、口罩、兜帽、有/无头发、有/无胡须、耳环、项链等——涵盖不同性别和年龄组。该数据集采用CC BY 4.0许可。
YawPose is a purely synthetic dataset that simulates real-world noises including low resolution, blurriness, occlusion, and compression. It covers a wide range of camera angles, head pitches and a full 360° yaw circle. During the synthesis pipeline, samples with various occlusions and appearance variations are batch-generated, such as glasses, sunglasses, face masks, hoods, with/without hair, with/without beard, earrings, necklaces and more, spanning different genders and age groups. This dataset is licensed under CC BY 4.0.
YawNet 数据集总结
核心任务
YawNet 是一个专注于360°全景头部偏航角(yaw)估计的项目,采用 biternion (cos/sin) 回归方法,利用 DINOv3 教师-学生蒸馏技术,在纯合成数据集上完成从数据构建、训练到 ONNX 导出的完整流程。
数据集特点
- 纯合成数据:训练和验证完全基于合成数据(yawpose 数据集),避免现有公共数据集(300W-LP、AFLW2000、BIWI 等)非商业用途限制及真实世界样本缺失(尤其后脑勺视角)的问题。
- 模拟真实噪声:合成数据已包含低分辨率、模糊、遮挡、压缩等真实场景退化,并覆盖多种相机角度、头部俯仰角、完整360°偏航角。
- 外观多样性:生成样本包含眼镜、口罩、头巾、有无头发/胡须、耳环、项链等配件变化,跨越不同性别和年龄段。
- 规模:清洗后共 42,135 张 320×320 头部裁剪图像,训练:验证 = 9:1(4,211 张验证图像)。
数据标注规范
- 标注覆盖完整 360° 偏航角,偏航分布均匀,无空白方向(通过 s004–s006 批次补足后方半球及困难角度范围)。
- 俯仰角范围约 ±120°,包含极端上下视角;滚动角集中于 0° 附近。
- 提供详细的可视化分析图(偏航分布直方图/极坐标图、偏航-俯仰-滚动分布图等)。
- 数据集及配套工具依据 CC BY 4.0 许可发布。
模型性能(在 yawpose 验证集上,参考值)
| 模型 | 输入大小 | 参数 (M) | MAAE (度) | 中位误差 (度) | acc15 (%) | acc30 (%) |
|---|---|---|---|---|---|---|
| YawNet-64 | 64×64 | 0.77 | 12.94 | 8.65 | 73.5 | 92.6 |
| YawNet-96 | 96×96 | 0.77 | 12.96 | 8.62 | 74.2 | 92.6 |
| YawNet-128 | 128×128 | 0.77 | 12.62 | 8.47 | 75.7 | 92.6 |
| DINOv3 ViT-L + biternion(教师模型) | 320×320 | 304.20 | 0.97 | 0.78 | 99.98 | 100.0 |
- 作为外部参考,SemiUHPE(全范围,公开权重)在同一验证集上 MAAE 为 55.14°,acc30 为 53.5%。
- 上述数值为参考结果(训练时混合训练+验证数据),非验证集留出结果;仅用训练集训练的同款 DINOv3 教师模型留出验证 MAAE 为 13.55°。
训练与蒸馏方案
- 支持多档 VRAM(8/16/96GB)配置,有效批大小一致,可跨档位断点续训。
- 教师模型可选择 YawNet-320(约 3.0M 参数)或 DINOv3 ViT-L/16(304M,预训练权重按 DINOv3 许可单独获取)。
- 从 320×320 教师模型向低分辨率学生模型(64/96/128)进行蒸馏,学生端损失 = α·NLL(student, teacher) + β·NLL(student, GT)。
- 支持 κ(置信度)头和 von Mises NLL 损失,自动对困难样本降权;支持 EMA 及 wsd 学习率调度。
数据获取与复现
- 仓库本身不含数据,需要从 GitHub Resources Release(https://github.com/PINTO0309/YawNet/releases/tag/resources )下载:
yawpose.tar.gz→ 统一 yawpose 数据集(放入data/yawpose/)- 原始合成数据
synthetic_001..006 - 辅助 ONNX 模型(如头部检测器、标签验证、关键点模型)
- 训练好的模型运行文件及导出 ONNX
- 构建命令:
uv sync --frozen && uv run python scripts/build_yawpose_dataset.py
关键文档与许可
- 数据集规格及完整标注修正历史见
docs/yawpose_dataset.md - 数据生成规范文档:
docs/synthetic_004/005/006_generation_spec.md - 本项目刻意不使用任何已建立的头部姿态基准数据集(用于训练或评估)
- 代码与数据集许可:MIT(代码),CC BY 4.0(数据集),DINOv3 权重按相应许可使用。




