目录
- 《Learning to Estimate 3D Hand Pose from Single RGB Images》2017.3
- 《Online Detection and Classification of Dynamic Hand Gestures with Recurrent 3D Convolutional Neural Networks》2016.11
- 《Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields》2016.6
- 《Convolutional Pose Machines》
《Learning to Estimate 3D Hand Pose from Single RGB Images》2017.3
本文介绍了从2D彩色图像进行3D hand pose estimation的一种方法,总体来说方法很直观
project page
主要流程
如图所示,依次有以下几个环节:
- 1)HandSegNet, 输入256x256x3, 输出256x256x1的一个hand mask。用一个FCN网络进行手的语义分割,分割之后的结果用来对手附近区域进行截图,以减少计算量及提高准确性
- 2)PoseNet,用来计算手的21个keypoint, 输入256x256x3,输出32x32x21, 即21张不同keypoint的score map
- 3)PosePrior,有两个子stream,每个的网络结构除了最后一层不一样其他都一样,输入32x32x21,输出两个层。一个是正则化的手的坐标,以手掌的点为原点,且长度进行了normalize, 即维度为21x3。另一个是相对于实际图片的空间的变换关系,即维度为3
在论文中还用这个结构进行了手语识别,手语识别的网络直接根据手的指示来, 是一个3层的全连接网络,输入维度63, 输出维度35
代码细节解读
使用自带的工具tfprof进行性能分析,发现主要的耗时在于, 2/3耗时在single_obj_scoremap中的tf.nn.dilation2d操作, 1/6耗时在HandSegNet,1/6耗时在PoseNet2D。
同时,为了复用前人训练好的网络参数,将手部截图重新上采样到256x256来使用PoseNet。可见整个网络还有很大的优化空间。cpu上做到实时也不是没有希望。
训练流程解读
《Online Detection and Classification of Dynamic Hand Gestures with Recurrent 3D Convolutional Neural Networks》2016.11
这篇文章的思路就不一样,它主要在于训练一个end-to-end的手势识别结果,不进行具体的hand pose estimation。从视频效果来看也不错
《Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields》2016.6
目标
多人同时Pose Estimation, 如下图所示
框架
分两个部分,检测部分和匹配部分,如下图所示
(b)关键点检测,(c)part affinity fields即四肢关系检测,(d)二分图匹配
检测部分
如下图所示,上下分为两个brach,分别用来检测关键点 Part Confidence Maps 以及 四肢关系Part Affinity Fields
分stage的思路和《Convolutional Pose Machines》一致(毕竟是一个团队)。其中的F来自于VGG-19的前十层finetuned的结果,对于stages t>=2, 每个branch的输入都是 的联合,即
类似于《Convolutional Pose Machines》,计算每层的loss为
其中的W(p)代表本该存在的单位是否在groud true中存在(有些关节或者四肢没有标注)。而对应的total loss为
注意Part Affinity Fields(PAF)是一些矢量区域,可以通过指定四肢粗细然后在训练数据中根据关节点来标注。
匹配部分
这里首先要明确 Part Confidence Maps和PAF是如何协同确定四肢和关节的预测的
如上图,对于图中的任意点P,在PAF的对应点的投影可以用来表示该点在四肢上的相关性。对于 Part Confidence Maps中任意的两个极值点A,B,可以通过插值A,B中的几个点p0, p1, p2, p3, p4...求这些点在PAF上的投影的积分来确定A,B两点作为同肢节的关节点的可能性,如下图
有了上面的两点同肢节判定的方法,我们就可以通过匹配每组能相连的点来决定连接与点的有效性。即通过右手腕的confidence map 和右手肘的confidence map的极值点之间的二分图匹配问题
其中
用来表示两个关节点是否相连。这个问题可以用Hungarian algorithm来解决,相对的总体的error,可以通过简单的相加来衡量
两个子问题:
- non-maximum suppression非极大值抑制
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新