• 首页
  • 科学成果
  • 虚拟现实中的人机交互技术—人体姿态估计技术-彭福来博士

虚拟现实中的人机交互技术—人体姿态估计技术-彭福来博士

2021-10-13

1. 引言

虚拟现实的交互性是虚拟现实为用户提供体验、走向应用的核心环节,是虚拟现实的三大特点之一。它是指用户以便携、自然的方式通过交互设备与计算机所产生的虚拟世界对象进行的交互, 通过用户与虚拟环境之间的双向感知建立起一个更为自然、和谐的人机环境。本文对基于人体姿态估计的虚拟现实交互技术进行介绍。

图片1.png 

图1. 人体姿态估计

2. 人体姿态估计技术

人体姿态估计技术大致可以分为两类:传统方法和基于深度学习的方法。传统方法一般是基于图结构和形变部件模型,设计2D人体部件检测器,使用图模型建立各部件的连通性,并结合人体运动学的相关约束不断优化图结构模型来估计人体姿态。传统方法虽然拥有较高的时间效率,但是由于其提取的特征主要是人为设定的特征信息,无法充分利用图像信息,导致算法受制于图像中的不同外观、视角、遮挡和固有的几何模糊性。而基于深度学习的人体姿态估计技术近期得到了业界深入研究,并取得了较高的识别精度,是目前最为主流的方法。本文主要对基于深度学习的人体姿态估计技术进行介绍。

根据不同的学习目标进行分类将基于深度学习的人体姿态估计分为三类:基于坐标回归的方法、基于热力图回归的方法以及使用热力图表示的坐标回归方法。

 

2.1基于坐标回归的方法

在基于坐标回归的方法中主要基于Deep Pose网络,该网络为坐标回归方法奠定了基础,衍生了很多实用的数据预处理及网络训练方法。Deep Pose作为第一个基于深度学习进行人体姿态估计的方法,采用多阶段回归的思路设计 CNN,以坐标为优化目标,直接回归人体骨骼关节点的二维坐标。该方法在初始阶段得到关节点的大概位置,然后在后面多个阶段不断地优化关节点的坐标。为了得到更高的准确率,在进入下个阶段的回归之前,作者以当前得到的关节点坐标为中心,在其周围邻域切取小尺寸的子图像作为本阶段回归的输入,为网络提供更多的关节点图像细节以不断修正其坐标值,具体算法流程图如图2所示。

图片2.png 

图2. Deep Pose网络架构

由于人的视觉系统中包含有反馈连接,为了利用反馈连接改善基于坐标回归的人体姿态估计,出现了迭代误差反馈(Iterative Error Feedback,IEF)的思想。在该方法中将关节点坐标转换为热力图并将表示关节点位置的热力图与人体图像同时输入到回归关节点偏移量的网络中,经过多次迭代逐步回归关节点的位置。IEF 的多阶段回归采用了一种新策略,并不类似于Deep Pose等方法多阶段端到端地进行一个批次(epoch)训练,而是在训练时分为4个阶段,每个阶段进行3个完整的epoch迭代。所以IEF并不是每个阶段都对总的坐标误差进行梯度下降,而是取总误差的一部分作为本阶段的迭代目标,相当于进行分步回归,将部分误差的迭代结果反馈给网络。如果说直接回归的方法使模型学习逼近长程坐标的能力,那么分步回归可以训练网络更加精确地逼近短程坐标。测试时IEF进行3个阶段的分步回归即可接近实际值。具体算法流程图如图3所示

图片3.png 

图3. IEF算法的原理图

2.2基于热力图回归的方法

由于人体姿态估计研究中大小不一的人体尺度、不同的拍摄角度、复杂的光照条件、任意的遮挡等问题加大了所需要学习映射关系的复杂度。相比于坐标回归,热力图回归能够保留图像中更多的信息,因此大部分主流的人体姿态估计方法都是基于热力图回归的。本小节分别从先验知识的引入、网络架构的改进、关节点之间的关系建模这三个方面梳理了基于热力图回归的人体姿态估计方法。

2.2.1 先验知识的引入

先验知识的引入主要包括引入手工的先验知识和引入学习到的先验知识两种类型,如图4所示。引入手工的先验知识主要是将传统的霍夫变换特征和方向梯度直方图作为先验知识引入到卷积神经网络中,并采用一种门控机制用于在训练时控制被引入到网络的知识,从而保证在给模型施加几何限制和图像描述信息的同时保留模型的性能。另一种引入先验知识的方法是引入与人体姿态估计相关的任务,通过将人体检测这一任务产生的检测热力图与原始图像一起作为网络的输入,利用检测热力图引导网络学习人体关节点的位置从而降低网络学习关节点位置的难度。

图片4.png 

图4. 先验知识的引入

2.2.2 网络结构的改进

人体姿态估计网络架构的改进可以分为多尺度的特征提取、主干模型的改进、注意力机制的引入以及关节点的关系建模这四个方面。

多尺度特征提取:多尺度特征提取包括引入金字塔残差模块,使用级联特征提取模块以及将低分辨率的特征与高分辨率特征进行融合这三种典型的方法。基于金字塔残差模块的多尺度特征提取,是在原有残差模块的基础上设计的,将残差特征划分为多个分支,每个分支使用不同缩放比例的下采样层产生不同尺度的特征,然后再使用上采样将不同尺度的特征缩放到同一大小,最后将这些特征进行融合形成多尺度特征。基于级联特征提取模块的多尺度特征提取,首先将三种不同分辨率的图像作为输入,提取三种不同大小的特征,然后将低分辨率的特征与高分辨率的特征进行逐步融合获得多尺度特征。上述这几种类型的方法都是属于模块级别的多尺度特征提取方法。另一种多尺度特征提取方法属于网络架构级别,特征提取网络中将低层特征与高层特征(高层分辨率较小,需要在融合前使用反卷积进行上采样)进行融合以保证特征提取网络所提取特征是多尺度的。在输入层面将两种不同分辨率(高分辨率和低分辨率的图像)的图像输入到两个同样架构的特征提取网络中,分别提取两种分辨率的多尺度特征,并将低分辨率的多尺度特征进行上采样,然后将来自两个网络不同分辨率的多尺度特征进行融合从而获得丰富的多尺度特征。

主干网络的改进:人体姿态估计中复杂的环境因素导致网络需要学习复杂的映射,而学习复杂的映射需要使用更强大的主干网络。如何从主干网络角度增强模型的学习能力是一个非常值得研究问题。主干网络的架构设计主要从扩大模型感受野、区分难易样本、保持高分辨率这几个角度进行设计。随着网络架构的发展,特别是残差网络的提出,研究者提出了一种称为沙漏(Hourglass)的模块并将若干沙漏模块堆叠起来构成堆叠沙漏网络。堆叠沙漏网络在每个阶段的子网络中使用了中间监督以弥补网络的梯度弥散。沙漏模块是基于残差模块进行设计的。沙漏模块中将特征进行多次下采样和上采样,并将下采样与上采样过程中相同分辨率的特征进行融合,沙漏模块不仅能够提取多尺度特征还能够在增大整个网络感受野的同时进一步降低模型计算量。值得注意的是,从堆叠沙漏模型开始,后续的主干网络开始吸收沙漏模块设计中先降采样再上采样这一设计思想。级联金字塔网络(Cascaded Pose Network,CPN)基于残差模块设计了类似的结构。 如图5所示为级联金字塔网络,图中靠近输入图像的为残差网络(4个实线方块,自顶向下),残差网络目的是将高分辨率图像转换为低分辨率的特征,随后使用多个反卷积层(4个虚线方块,自底向上)将低分辨率特征逐步恢复到高分辨率的特征。级联金字塔网络使用残差网络作为主干网络进行降采样,并在主干网络的后端加入了多个上采样层。

图片5.png 

图5. 级联金字塔网络

虽然上述网络结构解决了多尺度特征提取、扩大感受野以及在训练过程中所面临的梯度弥散问题,但是由于这些网络中所使用的降采样和上采样操作会导致信息丢失。为了解决这一问题,高分辨率网络(High-Resolution Network,HRNet)被提出。该网络包含多个分支网络,每个分支网络的特征具有不同的分辨率。最顶层的分支网络中的特征具有最高分辨率,最底层分支的特征具有最低分辨率。不同分支中不同分辨率的特征会被融合从而获得多尺度特征。由于该架构中最顶层分支拥有最高的分辨率并且分辨率一直保持不变,因此能够保留高分辨率信息,从而避免出现信息丢失问题。

注意力机制的引入:在人的视觉系统中由于人脑的计算资源有限,需要将资源集中于需要处理的部分而注意力机制是一种可以应对信息过载的方法。将注意力机制引入到深度卷积神经网络中能够帮助网络聚焦到需要处理的部分,从而避免出现不合理的预测结果。在人体姿态估计中身体的区域是需要注意的部分,因此引入注意力机制可以避免模型预测出不合理的人体姿态,改善预测结果。注意力机制分为两种,分别为基于条件随机场(Conditional Random Field,CRF)的注意力机制以及空间-通道间注意力机制。

2.2.3关节点之间的关系建模

考虑到关节点之间所存在的位置关系,引入关节间的显式关系建模能够改善人体姿态估计方法,并且利用人体自身结构约束网络可以同时降低任务的难度。关节点关系建模主要分为基于图模型的关系建模方法以及非图模型的关系建模方法这两种。基于图模型的关系建模方法分为基于马尔科夫随机场和基于条件随机场这两种类型。如果当前预测的热力图中产生假阳性预测区域(热力图中出现多个区域的峰值,峰值不仅出现在关节点所在区域,还出现在其他区域),则假阳性预测区域会降低的模型的预测精度。使用非图模型对关节点之间的关系进行建模的方法主要使用深度卷积神经网络去学习关节点之间的关系。使用树状或图状结构对关节点的关系建模,需要根据问题手工设计特定的结构且求解时需要进行近似计算,而链状结构能够有效地避免这一点。与递归神经网络类似,链状结构利用深度卷积神经网络学习相邻关节点之间的依赖关系。该方法预先定义了所预测关节点的顺序。在初始阶段使用深度卷积神经网络预测第一个关节点的热力图,随后阶段将图片特征、上一次所预测关节点的热力图作为当前阶段的输入去预测定义好的下一个相邻关节点的热力图。

2.3 使用热力图表示的坐标回归方法

基于坐标回归的人体姿态估计中最为特殊的一种方法是使用热力图表示的坐标回归方法,该方法保留了热力图表示以及坐标回归这两种方法的优点。由于基于坐标回归这一类方法是学习从图像到关节点坐标的直接映射,因此会丢失太多人体的空间信息,不利于网络学习空间位置。而基于热力图回归的人体姿态估计方法使用热力图表示关节点的位置,网络学习的是从图像到热力图的映射关系,因此可以充分利用图像中的位置信息,避免丢失图像中的空间信息,获得更好的精度。然而,基于热力图的方法在推理阶段会取热力图中最大激活值位置作为关节点的坐标并使用逆变换将热力图空间的坐标转换到原图空间中的坐标。该过程中取最大激活值位置所引起的量化误差会导致最终原图空间的坐标出现较很大的偏移。此外,取最大激活值位置是不可导的,这将使模型无法进行端到端的优化。为此,研究人员提出了将热力图转换为坐标的方法,如图6所示,该方法使用热力图作为中间表示,并使用 Softmax 对热力图进行归一化将其转换为概率图,然后通过对概率图求积分获得精确的关节点的坐标。这一改进不仅统一了热力图回归与坐标回归的方法,还能够避免热力图回归方法中所出现的量化误差问题。

图片6.png 

图6. 使用热力图表示的坐标回归方法

3. 结束语

随着人工智能技术的不断发展,基于深度学习的人体姿态估计技术得到了长足进步,姿态估计精度也显著提升,但目前的研究均忽略了实际应用环境中对于模型推理效率的要求(速度快、精度高、计算量小),现有的模型无法应用于小型嵌入式设备。因此当前制约基于深度学习的人体姿态估计研究走向实用的主要问题是如何才能在提升模型推理效率的同时保证模型的精度。