[论文笔记] Fine-Grained Head Pose Estimation Without Keypoints
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的更多相关文章
- 论文笔记之:Optical Flow Estimation using a Spatial Pyramid Network
Optical Flow Estimation using a Spatial Pyramid Network spynet 本文将经典的 spatial-pyramid formulation ...
- 论文笔记: 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 ...
- 论文笔记 Stacked Hourglass Networks for Human Pose Estimation
Stacked Hourglass Networks for Human Pose Estimation key words:人体姿态估计 Human Pose Estimation 给定单张RGB ...
- [论文笔记] 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 简介 本文提出了一种网络结 ...
- Towards Accurate Multi-person Pose Estimation in the Wild 论文阅读
论文概况 论文名:Towards Accurate Multi-person Pose Estimation in the Wild 作者(第一作者)及单位:George Papandreou, 谷歌 ...
- 论文解读:3D Hand Shape and Pose Estimation from a Singl RGB Image
本文链接:https://blog.csdn.net/williamyi96/article/details/89207640由于最近做到了一些 3D Hand Pose Estimation 相关的 ...
- 论文阅读理解 - Stacked Hourglass Networks for Human Pose Estimation
http://blog.csdn.net/zziahgf/article/details/72732220 keywords 人体姿态估计 Human Pose Estimation 给定单张RGB图 ...
- 手势估计- Hand Pose Estimation
http://blog.csdn.net/myarrow/article/details/51933651 1. 目前进展 1.1 相关资料 1)HANDS CVPR 2016 2 ...
- human pose estimation
2D Pose estimation主要面临的困难:遮挡.复杂背景.光照.真实世界的复杂姿态.人的尺度不一.拍摄角度不固定等. 单人姿态估计 传统方法:基于Pictorial Structures, ...
随机推荐
- [Next] 二.next.js之组件
next.js 中的组件 next.js 里面的组件(页面)就是 react 里面的组件. 功能组件 在项目之中一个功能组件的创建 , 他可以和父组件放到一个文件里,也可以单独创建一个文件存放组件. ...
- 15. AutoMapper 之映射继承(Mapping Inheritance)
https://www.jianshu.com/p/e4f05403bd13 映射继承(Mapping Inheritance) 映射继承有两个功能: 从基类或接口配置继承映射配置 运行时多态映射 继 ...
- Vue常用修饰符
Vue提供了事件修饰符用于DOM的事件处理,常用的事件修饰符有以下几个: (1). stop:阻止冒泡(通俗讲就是阻止事件向上级DOM元素传递) 点击内层div的结果: 点击外层div的结果: 修改代 ...
- killall - 以名字方式来杀死进程
SYNOPSIS (总览) killall [-egiqvw] [-signal] name ... killall -l killall -V DESCRIPTION (描述) killall 发送 ...
- inux下:热插拔和模块是什么
一.何为模块? 文件系统.设备驱动程序.网络协议都可以理解为模块.模块本质也是普通的软件系统. 二.热插拔 硬件层面:只在不断电.不关闭系统的情况下增加或者删除对应部件,比如电源.硬盘.一些高端设备硬 ...
- node模块管理
淘宝镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org
- python openpyxl 简单使用
1. 加载excel import openpyxl from openpyxl.utils import get_column_letter,column_index_from_string fro ...
- linux基础命令--lsof
lsof(list open files)作用: 是一个列出当前系统打开文件的工具. 注: 在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root ...
- 【洛谷P2447】外星千足虫
题目大意:给定一个 M 个含 N 个未知数的异或方程组,保证有解,若存在唯一解,给出至少需要几个方程才能得出唯一解,若不存在,直接输出不存在. 题解:异或方程组也满足类似初等行变换的操作,只不过所有的 ...
- html头部和底部固定时,中间的内容随屏幕分别率铺满页面
html页面头部和底部有东西时,怎么让内容填充到中间的页面,且去适应不同的电脑分辨率,看代码 <!DOCTYPE html> <html> <head> <m ...