文章目录
- 摘要
- 一、准备工作
-
- 1.开源代码
- 2.数据集
- 二、网络架构
-
- 1.架构图
- 2.打印网络结构
- 3.损失函数
- 总结
摘要
头部姿态的估计是一个非常重要的问题,它有着大量的应用,如辅助视线估计、注意力建模、3D模型与视频的拟合以及面部对齐等。传统的头位计算方法是根据头位的关键点进行估计。利用平均人头模型得到人脸并解决二维到三维的对应问题。我们认为这是一个脆弱的方法,因为它完全依赖于地标检测性能,额外的头部模型和一个特别的拟合步骤。我们提出了一种优雅而鲁棒的抑制mine pose的方法:在一个大型综合扩展数据集300W-LP上训练一个多损失卷积神经网络,通过联合binned pose分类和回归,直接从图像强度中预测固有的欧拉角(偏航、俯仰和横摇)。我们对常见的野外姿态基准数据集进行了经验测试,显示了最先进的结果。此外,我们在通常使用深度进行位姿估计的数据集上测试了我们的方法,并开始缩小与最先进的深度位姿方法的差距。我们开源了我们的培训和测试代码,并发布了我们预先培训过的模型
一、准备工作
1.开源代码
https://github.com/natanielruiz/deep-head-pose
2.数据集
AFLW、AFLW2000、300W-LP、BIWI数据集
二、网络架构
1.架构图
三个全连接层之后,就输出了预测值。三个全连接层之前共享一个卷积层。
2.打印网络结构
3.损失函数
使用三种不同的损耗,每个角度一个。每个损失都是两个分量的组合:一个位姿分类分量和一个回归分量。任何骨干网络都可以用预测角度的三层全连通层来扩充。这三个完全连接的层共享之前的网络卷积层这种方法背后的想法是,通过执行bin分类,我们使用非常稳定的softmax层和交叉熵,因此网络学习以鲁棒的方式预测姿态的邻域。通过三个交叉熵损失,每个欧拉角都有一个,我们就有了三个信号,它们被反向传播到网络中,从而提高了学习效率。
在进行训练数据准备的时候,对于输入的训练数据[ pitch, yaw, roll],作者将[0,180]度分成66个bins,然后根据三个角度所处的bin生成label,并用来训练分类层;根据分类层出来的概率分布,和66个bins的值求期望得出回归的值,最后以加权的方式来整合分类损失和回归损失。
式中,H和MSE分别表示交叉误差损失函数和均方误差损失函数。