读书笔记25:2D/3D Pose Estimation and Action Recognition using Multitask Deep Learning(CVPR2018)

http://openaccess.thecvf.com/content_cvpr_2018/papers/Luvizon_2D3D_Pose_Estimation_CVPR_2018_paper.pdf

摘要:首先指出背景,即action recognition和human pose estimation是两个紧密相连的领域,但是总是被分开处理。然后自然地引出本文的模型,本文的模型就针对这个现状,提出了一个multitask framework,既能从静态image中进行2D和3Dpose estimation,也能从video sequence中进行action recognition。并且,作者证明了,end-to-end的优化方式比分开训练效果更好。此外,模型还能同时用不同领域的数据进行训练。(可能是说数据集的差别比较大?)在实验中取得不错成果。本文摘要介绍模型采取的是只介绍特点不介绍工作过程的方式。

在阅读introduction部分的时候,发现了一个现象,就是好几篇CVPR的文章在introduction后面介绍自己的方法的时候都会将自己contribution分成几点列写出来。

技术部分首先介绍的是pose estimation,本文采取的是regression based approach,给定一个image ,输出的estimated pose表示为是人体关节数量,D是每一个关节的feature vector维度。regression是通过下式给出

                                                                                         

这里面的是estimated pose,是函数的参数,pose estimation的目标就是使得估计出来的和ground truth pose p之间的差别最小化。这个pose estimation的函数是用CNN实现的,而由于这个pose estimation的模块是整个multitask approach的第一个部分,要想使用end-to-end的训练方式,就必须让这一部分是可微分的,因此,在argmax的时候,采取了soft-argmax来替代,这个函数也能将heatmap转化为关节坐标值,并且是可微分的,是别人的文章中提出来的东西(Human pose regression by combining indirect part detection and contextual information,LIFT: Learned Invariant Feature Transform)。

pose estimation的网络架构大致如下图

                                      

首先使用inception-V4进行基本的feature提取,之后用K个prediction block来对estimation进行进一步的修饰和完善,最后一层的输出就作为最终的estimated pose 。每一个prediction block都含有8个residual depth-wise convolution,并且被分成三种不同的分辨率(这个具体是什么意思不是很懂)。作者在这里还说模型的一个副产品是low-level visual feature和由于使用了soft-argmax而得到的intermediate joint probability map,这个low-level visual feature指的应该是用inception得到的基础feature,这个部分不理解的放到后面去看看能不能理解。

soft-argmax可以生动的用下图表示

这是以2D的heatmap为例,首先将所有的像素点的数值进行softmax,使得最大值更加突出,其他小数值的影响下降,这样得到的heatmap就是一个probability map,每一个像素的值代表这个像素值是某一个joint的可能性大小,而对于joint位置的预测是按照下式计算期望得到的

这里x代表输入的2D信号,也就是heatmap,是heatmap的尺寸,是softmax函数。这个式子表明了对坐标值加权求和的过程,分母上的Wx和Hx都是类似于归一化的作用,不好解释但是很好理解,就是每一个像素的横/纵坐标值经过加权求和得到joint坐标值的预测值,但是每一个预测值在一个方向用softmax归一化之后,在另一个方向上还计算了Hx/Wx次,因此要除一下。

对于3D的pose estimation其实是一样的思路,如下图所示是将2D和3Dpose estimation结合在一起的模型

考虑一共有Nd个2D的heatmap,Nd指的是depth dimension,(x,y)维度的坐标的预测是先将Nd个heatmap取平均之后在按照之前的方法进行计算的,而z方向的坐标值预测采取的方法是在xy两个方向上进行平均之后得到一个vector,再进行一个一维的soft-argmax函数。

有了这种处理3D的方法,模型可以同时用2D和3D的数据进行训练,当只有2D数据的时候,就只对相应的参数进行更新即可。

接下来就是动作识别的部分。作者强调,本文模型的一个重要的特点就是能够同时抓取高层次的pose信息和低层次的visual feature,也就是figure2中表现出来的,前一部分的inception用来抓取visual feature,后面的部分用来抓取pose信息。

像上图中显示的一样,本文模型的action recognition分为两个flow,一个是基于pose的,一个是基于visual feature的,分别称为pose-based recognition,一个称为appearance-based recognition,最终两个flow的结果结合起来得到最终的分类结果。接下来分别介绍这两个flow都是怎么进行action recognition的。

pose-based action recognition是将每一帧所有的joint信息排列成一行Nj个,然后多帧就是很多行,形成了一个image形式的数据,然后使用全卷积网络来提取特征。这个设计是考虑到一个问题,当一个video中的action只依赖于几个joint的时候,全连接网络将会需要将一些无关紧要的joint置零处理,但这是一个很难学习的东西,相反,2D卷积可以先天的有助于这种稀疏结构的形成,不需要手动选择joint了。下图展示了大致的网络架构

对于appearance based action recognition,采取的也是类似的结构进行,只不过输入的不是body joints,而是appearance feature。具体来讲,首先,将得到的visual feature map和pose estimation得到的probability map相乘,是visual feature map,是probability map。是feature数,是joint数。相乘之后得到的是的一个tensor,也就是说每一个joint的probability map都要和visual feature map相乘得到一个结果。之后空间维度通过求和来消除,得到的一个tensor,对于T帧的video,最终就得到的一个tensor表示appearance feature,下图表示这个过程

由此得到的appearance feature就可以像前述的pose based action recognition一样进行识别了。

同时用appearance和pose进行动作识别的原因是有些时候两个动作很像,难以用pose区分开来,比如喝水和打电话,但是如果加上对水杯和电话的visual feature,这个问题就好办多了。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值