Advertisement

读书笔记:DeepPose: Human Pose Estimation via Deep Neural Networks

阅读量:

摘要

文章提出一直基于DNN的人体姿势估计方法,人体姿势估计被转化成一个DNN的关节回归问题,文章还提出采用级联的DNN来提高预测的精度,这个方法的优势在于利用了全局的信息。

介绍

人体姿势估计被看做是一个关节点定位问题是计算机视觉一直重点关注的领域,但是在这个领域一直面临着很多挑战,比如说看不见的,那些小的关节,遮蔽的关节点,需要根据上下文判断的关节点,而这个领域主流的工作是各式样的关节姿态。在此之前的方法都是基于局部建模,他们的效果都不怎么好,下面的图就能说明一些问题。

为了解决上面的问题,作者提出了用DNN以整体方式来预测预测人类关节点的方法,作者把姿势估计问题看做是关节回归问题,并且给出了如何将DNN用于关节回归,每一关节点的定位使用一整幅图像输入到7层CNN来做回归,这样子做的优点在于,第一,DNN能够捕捉每一个关节的完整上下文,每一个关节回归点都使用全局的图像,第二,方法简单,容易实现,通用的DNN就可以解决问题。更进一步,作者使用级联的DNN-based 姿态检测器。这种级联的检测器能够增加关节点定位的精确度。首先在一整幅图像上进行粗略的姿态估计,然后使用多个DNN-based 回归器对关节点的邻域子图优化预测结果。

相关工作

作者定义人的一个姿势定义为k个人体关节来表示,yi表示第 i个关节点的坐标,一个带有标签的图像表示为 (x,y),因为x代表的图像代表的关节坐标是在绝对坐标系下,因此需要正规化。bound box 由b=(bc,bw,bh), bc 表示为预测之后关节点的位置,表示需要裁剪图像的中心,bw 表示图像的宽,bh 表示图像的高,归一化方程表示为:

,作者将姿势估计看做一个回归问题,用,表示一个模型对x的处理的标准化姿态向量, θ是模型的参数,用
,表示对姿势的绝对坐标表示。由于都进行了归一化的处理了,所以说训练集也进行一下归一化的处理,处理公式为:

损失函数用的是L2损失,那么用公式可以表示为:

具体的DNN的结构如下图所示:

该结构用公式可以表示为

但是这个网络不能得到一个比较好的的精度,为了提高精度,作者训练了一个级联的姿势回归器,在第一个阶段先大概估计出姿势的轮廓,接下来的每一步在不断的优化关节点的位置。为了优化姿势,作者定义了一个边框回归bi,bi用于从整个图像上获取yi的邻域子图像bi(y;σ)=(yi,σdiam(Y))(diam(y)= 对立的关节点之间的距离,具体取决于数据集的和姿态定义),使用上面的一些概念,能写出一个初始的姿势状态:,b0表示的是输入的整张图像,后面使用的是预测关节点领域的图像,每一个关节都会做一次回归,,为了防止过拟合,作者不是简单的使用前一阶段预测后的数据,而是做了处理,利用预测点在其邻域内生成多个关节点。该邻域使用的是二维高斯分布,方差和均值是,表示的是预测值和ground-truth的均值和方差,作者使用表示取样。

实验

数据集:第一个数据集是FLIC,包括4000张训练图片和1000张测试图片和10个上身关节点。

第二个数据集是LSP,它包括11000训练图片1000张测试图片和14个全身关节点。

度量标准

PCP:如果两个关节点的位置和真实肢体关键的距离达到至多一半时的真实肢体长度,就认为已经关节点被预测到了

PDJ:距离变成了躯干直径的百分比被认为是预测到了

结果


结论:

这是第一次应用DNN在人体姿势估计上,并且把姿势估计作为一个关节回归问题来处理,虽然结果还有些问题,但是提供很好的思路,后面也有很多论文在这上面进一步做了研究。

全部评论 (0)

还没有任何评论哟~