《Fine-grained head pose estimation without keypoints》论文笔记


摘要

头部姿态的估计是一个非常重要的问题,它有着大量的应用,如辅助视线估计、注意力建模、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分别表示交叉误差损失函数和均方误差损失函数。

总结

使用了ResNet50做前置网络,后使用了完全独立的三个全连接层,将数据可化为66维,然后使用66个bins的值求期望得出回归的值,最后以加权的方式来整合分类损失和回归损失。 感谢作者,提供了一个很好的思路,以非常优雅的方式同时处理了刻画数据分布和回归两个任务。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值