论文笔记--Robust 3D Hand Pose Estimation in Single Depth Images: from Single-View CNN to Multi-View CNNs

单一深度图像中的鲁棒性三维手部姿势估计:从单视图CNN到多视图CNN

摘要

  铰接式手的姿势估计在人机交互中起着重要作用。尽管最近取得了一些进展,但现有方法的准确性仍然不能令人满意,部分原因是由于嵌入高维和非线性回归问题的困难。与现有的用单一深度图像回归手部姿势的判别方法不同,我们建议首先将查询的深度图像投射到三个正交平面上,并利用这些多视图投影来回归二维热图,估计每个平面上的关节位置。然后,这些多视图热图被融合,以产生最终的三维手部姿势估计,并学习姿势先验。实验表明,在一个具有挑战性的数据集上,所提出的方法在很大程度上超过了最先进的方法。此外,一个跨数据集的实验也证明了所提方法的良好概括能力。
在这里插入图片描述

图1:我们提出的多视图回归框架的概述。我们通过将3D点投射到三个正交平面上来生成三个视图的热图。三个CNN被平行训练以将每个视图的投影图像映射到其相应的热图上,然后将其融合在一起以估计三维手关节的位置。

介绍

  长期以来,三维手部姿势估计问题在计算机视觉界引起了很大的关注,因为它在人机交互中起着重要作用,如虚拟/增强现实应用。尽管最近在这一领域取得了进展[14, 18, 21, 23, 29],稳健和准确的手部姿势估计仍然是一项具有挑战性的任务。由于大的姿势变化和手部运动的高维度,通常很难建立一个从图像特征到手部姿势参数的有效映射。
  用于手部姿势估计的数据驱动的方法训练判别模型,如等距自组织图[4]、随机森林[7, 21, 24, 25]和卷积神经网络(CNN)[29],以映射图像特征到手部姿势参数。随着大型注释的手部姿势数据集的出现[21, 24, 29],数据驱动的方法变得更有优势,因为它们不需要复杂的模型校准,并且对不良的初始化具有鲁棒性。
  我们在本文中重点讨论基于CNN的数据驱动方法。CNN已经被应用于身体和手的姿势估计[27, 29, 30],并被证明是有效的。基于CNN的手部姿势估计方法的主要困难在于准确的三维手部姿势回归。从输入图像到三维位置的直接映射是高度非线性的,具有较高的学习复杂性和网络的低泛化能力[27]。一种替代方法是将输入图像映射到一组热图,该热图代表图像中关节位置的概率分布,并通过模型拟合从深度图像中恢复三维关节位置[29]。然而,在这种方法中,热图只提供了手部关节的二维信息,深度信息没有得到充分的利用。
在这里插入图片描述

图2:(a)单视图中联合估计的说明。蓝点是真实位置,红点是估计位置。小指尖在背景上被错误估计,中指尖在手掌上被错误估计。(b) 含糊估计的说明。尽管x-y视图的热图包含两个难以选择的热点,但从z-x视图的热图中,很容易发现x值很小,而且置信度很高。因此,x-y视图的热图中的左侧热点是真的。

  在这项工作中,我们提出了一种新的三维回归方法,使用多视图CNN,可以更好地利用深度线索来恢复手部关节的全部三维信息,无需模型拟合,如图1所示。具体来说,输入深度图像的点云首先被投射到三个正交平面上,然后每个投射的图像被送入一个单独的CNN,按照[29]中类似的管道生成一组手关节的热图。由于每个视图中的热图都编码了关节在投影平面上的二维分布,因此它们在三个视图中的组合包含了关节在三维空间中的位置分布。通过将三个视图的热图与预先学习的手部姿势预设相融合,我们可以最终获得三维关节的位置,同时缓解模糊的估计。
  与[29]中的单视图CNN方法相比,我们提出的多视图CNN方法具有以下优点。

  • 在单视图CNN中,手部关节的深度被认为是估计的二维位置的相应深度值,这可能会导致很大的深度估计误差,即使估计的二维位置与真实的关节位置只有轻微的偏差,如图2a所示。相比之下,我们提出的多视图CNN同时生成正面、侧面和顶部视图的热图,从中可以更稳健地估计手部关节的三维位置。
  • 在估计不明确的情况下,单视图CNN不能很好地区分热图中的多个热点,其中只有一个可能对应于真正的关节,如图2b(x-y视图)所示。在提出的多视图CNN中,其他两个视图的热图可以帮助消除模糊性,如图2b所示。
  • 与[29]不同的是,我们提出的方法仍然依赖于预先定义的手部模型来获得最终的估计,我们提出的方法以隐含的方式嵌入了从训练样本中学习到的手部姿势约束,这允许强制执行手部运动约束,而无需手动定义手部尺寸参数。
    综合实验验证了所提出的方法在公共数据集[21]上与最先进的方法相比的优越性能,其运行速度超过70fps。此外,我们提出的多视图回归方法在跨数据集实验中可以达到相对较高的精度[17, 21]。

方法

  手部姿势估计的任务可被视为从深度图像中提取三维手部关节位置。具体来说,这项任务的输入是经过裁剪的深度图像,只包含有某种手势的人的手,输出是代表手的姿势的K个三维手关节位置。让K个客观的手部关节位置为在这里插入图片描述这里Λ是3×K维的手部关节空间,在这项工作中K=21。这21个客观的手关节位置是手腕中心、五个掌指关节、五个近端指间关节、五个远端指间关节和五个指尖。
  根据第1节的讨论,我们建议根据三个正交平面上的投影图像推断三维手部关节位置Φ。让这三个投影图像为Ixy、Iyz和Izx,它们是通过将深度图像中的三维点分别投影到投影坐标系中的x-y、y-z和z-x平面上得到的。因此,查询的深度图像ID被转换为三个投影Ixy、Iyz和Izx,在我们下面的推导中,这三个投影将被用作推断三维手关节位置的输入。
在这里插入图片描述

图3:三维点投射的说明。从输入的深度图像中得到的三维点分别投射到OBB坐标系的X-Y、Y-Z和Z-X平面上。

  我们在投影Ixy、Iyz和Izx的基础上应用MAP(最大后验)估计器来估计手部关节位置Φ,这可以看作是对三维手部姿势的观察。鉴于(ID,Φ),我们假设三个投影Ixy、Iyz和Izx是独立的,以关节位置Φ为条件[1, 33]。在这个假设和先验概率P(Φ)相等的假设下,关节位置的后验概率可以被表述为来自所有三个视图的单独估计的乘积。因此,寻找最佳手部关节位置Φ∗的问题被表述为:
在这里插入图片描述
其中Φ被限制在一个低维的子空间Ω⊆Λ,以解决模糊的联合估计。
  后验概率P(φk|Ixy)、P(φk|Iyz)和P(φk|Izx)可以从CNN生成的热图中估计出来。现在我们介绍一下多视角三维联合位置回归的细节。我们首先在第3.1节描述了多视图投影和学习的方法,然后在第3.2节描述了多视图融合的方法。
3.1. 多视图投影和学习
  多视图投影和学习的目标是在每个视图上生成投影图像,并学习投影图像和每个视图的热图之间的关系。首先,我们描述三维投影的细节。然后,我们介绍CNN的结构。
  三维点投射。如图1所示,输入的深度图像首先被转换为世界坐标系中的一组三维点,使用深度相机的固有参数,如主点的位置和焦距。为了生成多视图的投影,我们将这些三维点投影到三个正交平面上。如图3所示,通过对三维点的集合进行主成分分析(PCA),生成一个定向边界框(OBB),它是在局部空间中对这些三维点的紧密配合[31]。OBB坐标系的原点设置在边界盒的中心,其x、y、z轴分别与第一、第二和第三主成分对齐。这个坐标系被设定为投影坐标系。
  对于三维点在平面上的投影,三维点到投影平面的距离在0和1之间被归一化(最近的点设置为0,最远的点设置为1)。然后,如图3所示,将三维点分别正投影到OBB坐标系的X-Y、Y-Z和Z-X平面上。相应的归一化距离被存储为投影图像的像素值。如果多个三维点被投影到同一像素上,最小的归一化距离将被存储为像素值。请注意,由于深度图的分辨率问题,在三个正交平面上的投影可能比较粗糙[9],这可以通过对投影图像进行中值滤波和打开操作来解决。
在这里插入图片描述

图4:每个视图的卷积网络架构。该网络包含卷积层和全连接层。在卷积层中,有三个库用于多分辨率输入。该网络产生了21张18×18像素大小的热图。三个视图都有相同的网络架构和相同的架构参数。

  CNN的结构。由于我们将三维点投射到三个视图上,对于每个视图,我们构建一个具有相同网络架构和相同架构参数的卷积网络。受Tompson等人在[29]中的工作启发,我们为每个视图采用多分辨率卷积网络架构,如图4所示。输入的投影图像被调整为96×96像素,然后通过局部对比度正常化(LCN)[6]进行过滤,使图像的对比度正常化。在LCN之后,96×96的图像被下采样为48×48和24×24像素。所有这三种不同分辨率的图像都通过由两个卷积阶段组成的三个库进行传播。这三个库的输出特征图被串联起来,并送入一个包含两个线性阶段的全连接网络。这个网络的最终输出是21张18×18像素的热图,其中的强度表示一个关节在特定视图上的2D位置的可信度。
3.2. 多视角融合

  多视图融合的目的是通过三个视图的热图来估计三维手关节的位置。让φkx、φky和φkz表示三维手关节位置φk在OBB坐标系中的x、y和z坐标。
  CNN为每个关节、每个视图生成一组热图。由于热图上的强度表示关节定位在x-y、y-z或z-x视图的二维位置的置信度,我们可以从三个视图的热图中得到相应的概率P(φkx,φky|Ixy),P(φky,φkz|Iyz),和p(φkz,φkx|Izx)。
假设以x-y视图为条件,z变量的分布是均匀的,我们有。在这里插入图片描述
在类似的假设下,对于其他两个视图,可以得出P(φk|Iyz)∝P(φky,φkz|Iyz)和 P (φk|Izx) ∝P (φkz,φkx|Izx)。
  我们假设手部关节位置在每个视图的投影图像上是独立的。因此,公式1中的优化问题可以转化为在这里插入图片描述
其中Q(φkx,φky,φkz)表示每个关节的概率P(φkx,φky|Ixy)、P(φky,φkz|Iyz)和P(φkz,φkx|Izx)的乘积。
  公式3表明,我们可以通过最大化所有关节的Q(φkx,φky,φkz)的乘积来获得最佳手部关节位置,这可以从三个视图的热图强度中计算出来。在这项工作中,界线盒中的一组三维点被均匀采样并投射到三个视图上以获得其相应的热图强度。然后可以计算出一个三维点的Q(φkx,φky,φkz)的值。
  为了简化这个问题,概率的乘积Q(φkx,φky,φkz)被近似为一个三维高斯分布N(µk,Σk),其中µk是平均矢量,Σk是协方差矩阵。这些高斯分布的参数可以从采样数据中估计出来。
  基于上述假设和推导,公式3中的优化问题可以近似为如下。
在这里插入图片描述
其中Φ被约束为线性形式。为了学习手部配置约束的低维子空间Ω,对训练数据集中的关节位置进行PCA[12]。E=[e1,e2,—,eM]是主成分,α=[α1,α2,—,αM]T是主成分的系数,u是经验平均向量,
  正如补充材料中所证明的,给定Φ的线性约束,最佳系数向量为在这里插入图片描述
在这里插入图片描述
其中A是一个M×M的对称矩阵,b是一个Md维列向量。
在这里插入图片描述
通过将子空间Ω中的最优系数α∗回投到原始关节空间Λ中,重建最优关节位置Φ∗。

  总而言之,所提出的多视图融合方法包括两个主要步骤。第一步是利用三个视图的热图来估计每个关节的高斯分布参数。第二步是计算最佳系数α∗并重建最佳关节位置Φ∗。在训练阶段,通过对训练数据应用PCA,获得手部关节配置的主成分和经验平均向量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值