Fine-Grained Head Pose Estimation Without Keypoints

简介

head pose estimation 经典论文,使用CNN预测三个角度值,pitch,yaw,roll,本文提出一种combined classification and regression方法,并且用了HopeNet,在BIWI、300W-LP和AFLW2000数据集上训练和测试,比使用landmark方法得到了提升,模型大小也不是特别大,能够实时。

网络结构

使用resnet作为backbone,分别全连接三个fc层,每个层单独预测。其中,fc层的全连接数是bin数,也就是将全部-99到+99一共199个数值每三个数分为一组,fc连接数就是66(实际上数据在超过这个范围的都剔除了,等于的剔除)。这个想法是借鉴了年龄识别的网络模型,先做分类,然后将分类的结果map到一个范围,这样精度会有大的提升。而且是multi-loss,分类的loss占比会影响梯度方向,从而会起到一个导向作用,引导回归往一个合适的方向,这是梯度方向上的引导。

对fc的结果做softmax,就把fc的值映射成了概率值,所有类别数据相加为1,映射成了概率就很方便能求出期望了,所以网络的输出又被映射到[0,99]这个区间范围内,然后乘以3减去99,这个区间范围就被映射到了[-99,+99]这个区间范围,也就是我们需要的回归。然后就是计算回归的loss,用的是mse loss。

与前面分类的loss(BCE LOSS) 按照一定权重加权求和,然后对最终的loss梯度反向,就完成了整个过程。

他这个网络两个好处,一来是利用multi-loss来引导回归,而是利用分类的结果去映射到一个可以回归的区间范围,这样就把原本是回归问题的问题转化为了分类 + 回归的问题,后来也看了其他几篇文章,基本都是转化为分类 + 回归问题来解决的,感觉这篇算是鼻祖了吧。解决思路很有效果。

数据集和实验

数据集用的是BIWI和AFLW2000,300W-LP作者只探究了高低分辨率对结果的影响。

在BIWI数据集上,划分了训练集和测试集,使用MAE作为评估标准,对比了自己的方法、FAN和直接Dlib,以及3DFFA,自己的方法在不适用深度信息的使用是SOTA的,然后去AFLW2000数据集上划分训练集和测试集去评估,只跟Gu et al.使用了CNN和RNN训练的结果做了对比,也是SOTA。

我个人感觉这个结果说服力不是很强,我自己实验的时候发现其实很难训练,想要收敛很难,网络总是会朝着局部极小值点去逼近,很难训练到一个全局极小值,即网络总是输出一个类似均值值,使得局部最小。后面也试了很多方法,训练感觉都是挺难的。网络和方法看起来很简单,但是其实挺难拟合的。

[论文笔记] Fine-Grained Head Pose Estimation Without Keypoints的更多相关文章

  1. 论文笔记之:Optical Flow Estimation using a Spatial Pyramid Network

    Optical Flow Estimation using a Spatial Pyramid Network   spynet  本文将经典的 spatial-pyramid formulation ...

  2. 论文笔记: Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation

    Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation 2018-11-03 09:58:58 Paper: http ...

  3. 论文笔记 Stacked Hourglass Networks for Human Pose Estimation

     Stacked Hourglass Networks for Human Pose Estimation key words:人体姿态估计 Human Pose Estimation 给定单张RGB ...

  4. [论文笔记] Improving Head Pose Estimation with a Combined Loss and Bounding Box Margin Adjustment

    Improving Head Pose Estimation with a Combined Loss and Bounding Box Margin Adjustment 简介 本文提出了一种网络结 ...

  5. Towards Accurate Multi-person Pose Estimation in the Wild 论文阅读

    论文概况 论文名:Towards Accurate Multi-person Pose Estimation in the Wild 作者(第一作者)及单位:George Papandreou, 谷歌 ...

  6. 论文解读:3D Hand Shape and Pose Estimation from a Singl RGB Image

    本文链接:https://blog.csdn.net/williamyi96/article/details/89207640由于最近做到了一些 3D Hand Pose Estimation 相关的 ...

  7. 论文阅读理解 - Stacked Hourglass Networks for Human Pose Estimation

    http://blog.csdn.net/zziahgf/article/details/72732220 keywords 人体姿态估计 Human Pose Estimation 给定单张RGB图 ...

  8. 手势估计- Hand Pose Estimation

    http://blog.csdn.net/myarrow/article/details/51933651 1. 目前进展 1.1 相关资料      1)HANDS CVPR 2016      2 ...

  9. human pose estimation

    2D Pose estimation主要面临的困难:遮挡.复杂背景.光照.真实世界的复杂姿态.人的尺度不一.拍摄角度不固定等. 单人姿态估计 传统方法:基于Pictorial Structures, ...

随机推荐

  1. 安装linux mint后要做20件事

    Linux Mint 17 Qiana Cinnamon Linux Mint 17已经发布,定名为Qiana.Mint是Linux最佳发行版之一,它定位于桌面用户,关注可用性和简洁.它携带了风格迥异 ...

  2. 使用Vim打开十六进制的文件

    So Easy 这里使用打开 Hello.class 文件为例 首先使用 vim -b Hello.class 打开文件,然后在 Vim 的命令模式下输入 :%!xxd 回车即可看见文件内容. 效果: ...

  3. export ,export default 和 import 区别以及用法

    首先要知道export,import ,export default是什么 ES6模块主要有两个功能:export和importexport用于对外输出本模块(一个文件可以理解为一个模块)变量的接口i ...

  4. Librepilot-Spark2固件的烧写

    1.通过USB连接Librepilot_Spark2飞控,启动Librepilot GCS地面站(博主的GCS是16.09版本),界面如下. 2.点击Firmware标签页,点击终止系统(若板子未带系 ...

  5. 远程连接工具rdcman

    介绍一个远程连接的工具RDCMan.RDCMan全称Remote Desktop Connection Manager(多远程桌面管理)是微软Windows Live体验团队的主要开发者 Julian ...

  6. idea 导出可以直接运行的jar 文件

    刚开始采用的maven插件是 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId ...

  7. 使用RegisterPointerInputTarget时的一些注意事项

    RegisterPointerInputTarget :允许调用者注册一个目标窗口,指定类型的所有指针输入都重定向到该窗口. 要使用它必须使 UIAccess = true,见下图 在设置完之后,需要 ...

  8. CPU、CPU核与线程的关系

    CPU相关概念: CPU:独立的中央处理单元,体现在主板上是有多个CPU的插槽. CPU cores:在每一个CPU上,都可能有多个核(core),每一个核中都有独立的一套ALU.FPU.Cache等 ...

  9. 便捷删除QQ空间说说

    用Chrome打开QQ空间说说(心情),按F12,在Console里面粘贴以下代码,按回车 var delay = 1000; function del() { document.querySelec ...

  10. JAVA笔记20-容器之四Map接口、自动打包、泛型(重要)

    一.Map接口 Map提供的是key到value的映射.key不能重复,每个key只能映射一个value. 注:重复是指equals,但用equals()方法效率低,所以此处用hashCode()方法 ...