CVPR2019CrossInfoNet:Multi-Task Information Sharing Based Hand Pose Estimation论文阅读

Abstract

本文聚焦于计算机视觉中的热点问题(用CNN从单张深度图中估计手势),主要贡献在于提出CrossInfoNet,这个网络把手势估计任务划分为两个子任务(手掌估计与手指估计),并且在这两个子任务中cross-connection共享信息。另外提出,基于heat-map指导的特征提取。

1.Introduction

3D手势估计一直是计算机视觉中的一个热点,输入数据包含单目RGB,立体RGB,深度图,方法可以分为生成式和判别式两类。由于大量数据的增加与计算能力的增强,CNN展现了很强的能力,已经编程目前的主流方法。

在2017年,HIM2017(在深度图上手势估计)受到许多研究团队关注,竞赛总结文章[43]中提出 的问题也是我们关心的。

首先,把深度图看做2D图像,并且直接回归3D关节点座标是手势估计的常见pipeline。尽管把2.5D深度图转为3D体素会保留更多信息,但是却面临繁多的参数,而且仍存在信息缺失。在我们的工作里,我们倾向于认同[39]的观点,利用2DCNN的优势,努力从2D输入中挖掘更多的信息。

第二,设计有效的网络会受到更多的关注。在机器学习领域中,多任务学习通过信息共享在保留更多内在信息方面比单任务更有优势。同时,多任务学习也可以使模型有更好的泛化能力。然而,多任务学习在基于CNN的手势估计中,还没有获得较多关注。如[39]所言,他们率先尝试在多任务set-up中把手势估计回归结果和heat-map检测融合起来。受他们的启发,我们设计为手势估计以多任务的方式设计了一个新的CNN结构。层次模型是手势估计网络之一,也展示了较好的性能。它通常把手势估计问题,通过分别处理不同手指或者不同类型的关节,划分为多个子任务。直观地来说,手掌关节点比那些更灵活的手指关节有更紧密的ite-ups(关系)。整体的手势主要受手掌关节点状态决定,而局部手势由手指关节来反映。基于这一知识,我们在多任务中设计了新的层次模型。我们提出的架构有两个分之,分别对应手掌关节回归子任务和手指关节回归子任务。通过两个分支间的cross-connections(交叉连接),一个分支中的noise(噪声)变成另一个分支中的补充增强信息。因多任务信息共享,这将有助于每个分支聚焦与它自己的特定子任务。

第三,输出的表示方法可以别分为概率密度图(heat-maps)和每个关节点的3D座标。因为2D深度图和3D关节点座标的映射是非线性的,这将阻碍学习进程,阻碍网络准确第估计关节点座标。相比之下,用heat-map表示输出比单个关节点位置提供更多关节相关性信息,这将有利于网络获取更好的特征图。在[43]的分析中已经总结出,基于heat-maps方法比直接座标回归的方法更好。然而,在基于Heatmap的方法中,最终的关节点座标通常是在heat-maps上执行max操作来推出。max操作是不可导的,它不得不作为一个后处理,不是端到端的训练。考虑了两种表示的优点之后,我们提出了heat-map指导的特征提取网络结构。事实上,我们的想法巧妙地应用了多任务参数共享。

总之,为了实现基于CNN的从单张深度图的手势估计,我们的工作的主要贡献如下:

1.一个新的多任务手势回归网络。它利用多任务学习的信息共享机制。我们用层次模型把最终的任务划分到手掌关节回归和手指关节回归。通过分支间的交叉连接,产生的"attention mask"指导一个分支聚焦与手掌关节回归,另一个分支聚焦于手指关节点回归。因为"attention-mask"增强了子任务特征,所以估计的准确度被有效地提高。

2.提出heat-map指导的特征提取结构。它从heat-map检测任务传送了更多的有效特征给关节点估计任务,且不损失端到端训练的优点。

3.我们实现了许多baseline来研究多任务中的信息共享,这将提供有价值的指导。我们也在常用的数据集上进行大量的实验,和现有的方法比较性能

2.Related Works

Pose parameterization:手势估计的任务是找到关节点座标。存在的问题:3D和输入之间是非线性映射。

现有方法:Tompson用每个关键点的2Dheat-maps做参数,在后处理中转为3D座标;用heat-maps做中间表示没有降低学习能力,也提高了泛化能力。

Ge在此上用多视点CNN扩展;Moon采用3Dheat-maps做手势参数;Wan把手势参数分解为:2Dheat-maps,3Dheat-maps,3D方向向量场;这些不同的输出都通过一种投票表决机制(均值偏移后处理方法的变体)来转为3D座标。和他们不同的是,我们的工作在heat-map的约束下用3D座标回归。这种策略可以帮助模型学习更好的特征图,不需要后处理也可以活动准确的关键点座标。

Model design:根据手的运动学或者形态学设计网络在近些年已经有很多结果。结构模型在模型中或者Loss函数中嵌入手的生理学运动约束。层次模型根据手的结构把手势估计任务划分到子任务中。

chen在多区域提取中给每个手指和关节类型建立约束。Madadi设计了一个用5个分支建模手指,用一个额外的分支建模手掌方向的层次结构CNN;zhou设计三分支,一个分支大拇指,一个分支食指,另一个分支其他手指。

常识:手指比手掌更灵活。如果我们用两个不同的参数集分别表示手掌和手指,回归任务将变得更容易实现。另外我们设计了两个分支间的交叉连接,这帮助每个分支聚焦于他们自己的任务。

Multi-task information sharing:通过相关任务间的信息共享,多任务学习使得模型在任务上泛化的更好。多任务学习在很多应用取得成功,比如人体姿态估计。Xia人体解析与估计。Nie提出人体解析和估计的相互学习;

多任务学习在手势估计任务中较少使用。[39]是第一个,他们把手势参数分为2Dheat-maps,3Dheat-maps,3D方向向量场。

我们的方法也是多任务,但与[39]不同,我们把手关节点划分为两个子集,一个是手掌关节点,一个是手指关节点。对这个两个子集分别建立相应的回归子任务,通过交叉连接,实现信息共享。

3.Method

手是一个铰接式对象,有着高自由度,准确估计手势是有点困难的。为了处理输入的深度数据和输出的手关节点座标间的非线性映射,手势估计任务可以简化为多个子任务,每个子任务负责子部件或者关节点子集估计。这是我们设计层次模型的原因。在这里,我们设计了一个新的可信息共享的层次模型,叫做CrossInfoNet,如图1所示。第一部分是初始特征提取模块,在这里我们整合heat-maps作为约束来学习更好的特征图,获得所有的初始关节点特征。第二部分是特征细化模块,在这里任务被分为两个子任务,一个子任务估计手掌关节点,一个子任务估计手指关节点。在这个模块里的信息共享策略指导网络从counterpart(子任务两方)利用有用的线索,来有效提高手势估计性能。最后一个部分是关节座标回归模块。

接下来,3.1描述基于heat-map指导的初始特征提取模块,3.2基本的网络(不包含信息共享的两个相互独立的子任务)3.3两个子任务间如何通过交叉信息共享提供补充信息的。3.4损失函数。3.5实现细节。

3.1heat-map guided feature extration

当用一个浅的cnn来提取特征,估计结果通过不尽人意。有这个问题的存在,我们设计了一个新的两阶段特征提取网络,初始特征提取模块和特征细化模块。在特征细化模块,我们选用带有资格残差模块的ResNet-50作为backbone,如图2所示。为了得到更多的信息,我们使用特征金字塔来合并不同特征层。我们把用来回归初始关键点位置的特征图表示为T。与其他基于heat-map的检测方法不同,在这里,heat-map只用来作为约束指导特征提取,不会传送到后面的模块。得到的有256个通道的特征图T作为特征细化模块的输入。残差块的大小是3*3,max-pooling是2*2,步长是2。卷积是3*3.

3.2Baseline feature refinement architecture

一些现有的手势估计方法设计树形分支,每一个分支负责一个独立的子任务,或者从一个子任务的输出中提取手特征,在后处理中有助于其他任务进行。他们不能提取有力的特征或者增强模型。为了充分利用提取的信息,我们基于多任务信息共享提出一个新颖的特征细化模块。在介绍多任务特征细化模块之前,我们首先给出多任务架构的baseline。如图3所示。

在所有关节点中,手掌关节点的活动空间比手指关节点的更小,所以这两个部分的回归复杂程度是不同的。如果我们使用两个不同的参数集合来表示手掌Pose和手指pose,手势回更容易被回归。因此,我们把手掌关节点回归和手指关节点回归分到两个独立的分支。在不同的分支中,来自初始特征提取模块的特征图T被输入到残差块来提取手掌或手指更内在的局部特征。然后,手掌分支全连接层的输出fp和手指分支的输出ff被串联起来估计所有关节点座标。我们把这个架构作为baseline网络。因为ICVL,NYU,MSRA数据集有不同的标注方法,关节点分组是不一样的,如图4所示。HAND2017和MSRA一样。

3.3New feature refinement architecture

baseline网络只考虑了从每个分支中独立的回归手掌和手指pose,这和通常的分支网络没有显著区别。两个分支除了输入的特征T,没有一点共享信息。然而在手掌关节点回归分支,有荣誉的手指特征。这些手指特征对于手掌姿态回归来说可能是噪声,但是对手指Pose回归是有益的。当然,在手指回归分支中也存在这个问题。为了充分利用两个分支间的有用的噪声,我们尝试在多任务网络中设计信息共享。Two-task Cross-stitch Network是一个通用的多任务网络,如图5(a)所示。它用多个cross-stitch单元通过lazy fusion。然而,lazy cross-stitch可能导致子任务间干扰,而且lazy cross-stitchz不能清楚地理解子任务(子任务的相似性和相关性)。

我们希望指导子任务如何与对方交互。通过基于指导的信息共享,与相同目标相关的特征应该被合并,被加强。图5(b)展示了提出的多任务信息共享机制。它使用skip line,通过从全部手特征中减去手掌特征,来分离手掌和手指。然后使用cross line串联来自两个分支的手指特征。它减少了手掌的干扰,增强了手指特征,反之亦然。

网络结构的细节如图6所示。初始特征T包含手掌特征和手指特征。T和手掌主要特征P0通过跳跃链接做减操作,我们获得冗余的手指特征F-m,被看做是手指注意力Mask。这个mask对于手掌姿态回归来说是噪声,但是对于手指姿态回归有益,可以帮助手指回归分支提取更精细的特征。同样,我们通过交叉连接获得手掌"attention mask"P-,P0和P-连接,形成增强的手掌特征P1,。增强的手指特征F1也可以通过相同的步骤得到。这样,我们的新的网络结构在两个不同任务间建立了连接。从后面的残差块得到输出特征F2,P2。最后,通过最后的回归模块得到3D手关节点座标。网络参数如图6.手势回归处理描述在算法1

3.4Loss functions

我们采用gt与估计结果的均方误差作为loss函数。在初始特征提取模块

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                                                     

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章