基于CPM算法的轻量级手势姿态估计
2022-02-19黑龙江科技大学电子与信息工程学院王赫于梁杨庆江郭阳
黑龙江科技大学电子与信息工程学院 王赫 于梁 杨庆江 郭阳
随人工智能产品的体验式增强,手势姿态估计作为一种经典的计算机视觉任务,具有广泛的应用场景。针对目前应用在移动端智能产品都需轻量化的网络模型,本文基于CPM(Convolutional Pose Machine)多阶段人体姿态估计网络,设计出一种轻量级的手势姿态估计模型。基于RHD开源数据集进行对比实验,对比分析了轻量级的CPM手势估计模型在保证精度的同时,可以有效的减小模型参数量,为研发实时移动端手势姿态估计提供了基础。
姿态估计,就是将关节点联系起来判断人体部位的状态和行为[1]。姿态估计包括自顶向下[2]与自底向上[3]两种方法。其中,手势姿态作为一种重要的人体姿态部分,是一种根据精确定位出手部关键点上之间的位置关系,进而去推理出相应的姿态估计方法。根据研究方法可将手势姿态估计分为生成法(Generative Methods)、判别法(Discriminative Methods)和混合法(Discriminative Methods and Generative Methods)三种方法。生成法是通过对输入的图像与预先定义好的手模型进行匹配。判别法是一种基于外貌直接对输入的深度图像进行手关节的定位的方法。随机森林就是较为传统的判别方法,其可以快速准确处理大量的输入变数,但对于手深度图存在的自我遮挡、分辨率低等缺点,使其结果存在大量的误差。利用卷积神经网络对手势姿态估计的处理方式正不断克服这些问题。Tompson等人初次使用CNN对手部的关键点进行定位且估计每个关节点的2D热土进行估计。Ge等人通过3D CNN直接将2D输入深度图转换为估计的3D坐标。将生成法和判别法结合的方法的混合法,是通过先使用判别法,然后通过生成的方法对结果进行校正。Ye等人使用混合方法,通过多阶段和分层的方式进行手势估计,具有较好的鲁棒性。
我们处于大数据普及的时代,人工智能等电子产品相继研发出现,取得了显著的发展。随深度学习的发展,人机交互领域中人体姿态识别、手势姿态估计等较为先进且新颖的方式,具有较为广泛的应用前景。其中,基于机器视觉的手势估计作为人机交互的核心技术之一,取得了较好的进展。综上而言,对手势进行姿态估计是一个涉及到自然语言处理、模式识别与计算机视觉等多个领域交叉的任务。对于手势进行有效估计识别促进了机器学习等领域技术的进步,为全球化的实现加快了进程,因此具有一定的研究意义。
手势姿态估计随着计算机视觉领域的发展,其常被应用于人机交互、视频监控等多种场景中。通常卷积神经网络存在较大的参数量和计算量,不能较好的应用于移动端或嵌入式设备中。为更好的实现在移动端或嵌入式设备上进行实时手势姿态估计,需对网络模型进行轻量化处理。本文基于人体姿态估计中的多阶段卷积姿态机CPM(Convolutional Pose Machine)网络,进行手势姿态估计网络的设计,同时设计了轻量化的网络,在保证精度稳定的同时,极大程度上降低了模型的参数量。
1 CPM算法
Convolutional Pose Machines(CPM)算法是一种基于序列化的全卷积网络结构,学习空间信息的多阶段姿态估计网络。其是将卷积网络整合进Pose Machines,以学习图像特征和图像相关的空间模型;由全卷积网络组成的序列化结构,卷积网络直接在前一阶段的置信图(Belief Maps)操作,输出更为精细化的关节点位置估计结果,以处理结构化的预测任务;利用中间监督损失解决梯度消失问题的一种端到端学习网络。CPM算法是一种由多阶段的卷积神经网络组成的多层的网络结构。其通过各个阶段的卷积神经网络来生成置信图,进而预测各阶段的每个关键点的位置。其中,gt表示各阶段卷积神经网络,bt表示置信图,使用t表示多层次顺序结构中的每个阶段,且当t>1成为强化阶段。
对于初级阶段,利用特征提取网络对图像提取特征,通过g1预测每个位置的位置置信度。对于强化阶段,CPM网络使用特征提取网络对原图像重新提取特征,与其哪一阶段的置信图进行映射融合。通过每个阶段最后得到的阶段损失函数值,对CPM算法进行局部监督。
同时,CPM算法由于特征提取网络并未统一,存在每次提取原图像特征需消耗大量算力的缺点。且CPM在强化阶段,需进行前向映射特征,存在消耗较大算力且较为复杂等问题。
2 CPM轻量级手势姿态估计算法
卷积姿态机CPM(Convolutional Pose Machine)姿态估计网络常常被用于人体姿态检测,本文基于CPM多层次顺序姿态估计网络思路,将设计网络结构,将其应用于手势姿态估计中。针对CPM算法提取特征过程中的计算量巨大,本文将部分标准卷积层结构更改为深度可分离卷积层,并将各阶段所得损失进行融合,得到轻量级CPM手势姿态估计网络。为手势估计在移动端或嵌入式设备上实时进行估计检测提供了基础。
2.1 CPM手势网络姿态估计结构
由卷积结构与姿态机结构组合的结构称为卷积姿态机,该结构可以从训练数据集中自动学习特征,且对关键点之间的距离结构关系进行推理学习,可将其应用于本文的手势姿态估计中的关键点的定位。
迁移的CPM手部姿态估计网络在对图像进行关键节点回归坐标位置信息的过程为:利用表示各个关节点之间的空间约束信息的响应热力图Heatmap和特征图作为数据在网络中进行传递;使用多阶段的卷积神经网络进行监督训练,处理关键节点的响应信息。
从CPM手势姿态估计网络的结构图中可以看出网络在进行手部姿态估计的整体流程。其中,CPM姿态估计网络的卷积部分包含卷积和最大池化层。基于VGGNet网络修改而成的网络用于主干特征提取网络特征。图中CONVx(x=1,2,3)由一系列的卷积层与池化层堆叠组成。
CPM姿态估计网络是一种多阶段预测网络,基于手势关键点之间的拓扑关系,使用较低阶段就可满足手势姿态估计的精度要求。因此,本文使用的CPM手势姿态估计网络总共包含三个阶段。使用各个阶段的热力图来表征关键节点的位置信息,对应较小感受野的阶段位于网络的前阶段,因此得到的预测结果相对误差较大。而位于后面强化层阶段对应较大的感受野,且能够得到前面阶段上下文信息及图像特征,因此得到相对误差较小的预测结果。该阶段型姿态估计网络可以对人手姿态进行一步一步更为精确的推理,最终对得到的损失值进行融合,得出最终的预测关节点位置信息。
鉴于移动端或嵌入式进行姿态估计任务,需要较为轻量化模型,本文为降低模型整体的参数量,对三阶段的CPM手势姿态估计网络中的卷积核替换成1×1和3×3大小,可以较为精确的估计关键点位置和降低模型参数量,得到较为轻量化的手势姿态估计网络。
2.2 深度可分离卷积层的引入
深度可分离卷积是将普通卷积分解为深度卷积与1×1逐点卷积两部分操作实现的一种因式化卷积。第一步,深度卷积操作利用单个卷积和对输入的通道进行轻量化滤波操作,即实现卷积核与特征图逐个进行的卷积操作。第二步,利用前一个得到的特征图的基础上使用1×1卷积核进行逐点卷积操作,对输出的特征图进行线性组合。相比于普通卷积层一步操作,深度可分离卷积利用深度卷积和逐点卷积两步,对单个通道进行卷积再将其结合。可以极大程度上减小模型的参数量和计算量。
其中,深度可分离卷积的计算量和参数量与标准卷积层进行对比如下:
标准卷积的计算量:
标准卷积的参数量:
深度卷积的计算量:
逐点卷积的计算量:
深度卷积的参数量:
逐点卷积的参数量:
深度可分离卷积的参数量:
深度可分离卷积的计算量:
以上公式表明,深度可分离卷积可极大程度上减小网络参数量和计算量,因此本文引入深度可分离卷积替代CPM多阶段姿态估计网络中的部分卷积层结构,得到较为轻量化的CPM手势姿态估计网络。
3 实验与结果
3.1 实验环境和数据集
文中使用的环境是anaconda+keras2.24+Tensor Flow1.14+cuda9.2,显卡NVDIAGTX2080。
本文使用RHD开源手势姿态数据集作为训练数据集。该数据集是由41258张训练图像和2728张测试图像组成的合成RGB图像的手势数据集。它是通过要求20个不同的人体模型随机执行39个不同的动作并随即生成任意而毕竟而获得的。由于视点和手比例的巨大变化,以及由图像的随机噪声和模糊性引起的巨大视觉差异,数据集具有相当大的挑战性。对于每个RGB图像,它提供相应的深度图像、遮挡标签、2D标签以及21个关键点的3D标签。
3.2 模型训练及评价指标
我们使用RHD数据集将其分成训练集、测试集、验证集之比为8∶1∶1的比例进行训练。设置Batch Size为8,初始学习率为0.0001,迭代次数为60000次,每次迭代10000时学习率下降为10倍,且使用Adam优化方法。
3.2.1 测试集评估模型
本文使用模型精度和模型大小来衡量本文提出的手势姿态估计模型的相关性能。
模型精度:PCK(Percentage of Correct Keypoints)表示对于手势的21个实际关键点与预测关键点归一化的距离小于指定阈值的百分比。而以阈值为横坐标,PCK值为纵坐标,绘制出不同误差阈值下的PCK曲线下的面积为AUC(Area Under Curve,AUC)。
由表可知,相比于原始CPM手势姿态估计网络,引入了深度可分离对CPM手势姿态做轻量化处理的网络模型,能够在保证模型精度稳定的前提下,使模型大小缩小为原来的4倍多。Flops值将为原来的四倍左右。可以有效的减小模型参数量,为研发实时移动端手势姿态估计提供了基础。
3.2.2 检测效果可视化
检测效果在anaconda+keras2.24+TensorFlow1.1 4+cuda9.2实验环境下对RHD数据集验证的效果如图1所示。
图1 检测效果可视化Fig.1 Visualization of detection effect
4 结论
手势姿态估计随着计算机视觉领域的发展,其常被应用于人机交互、视频监控等多种场景中。通常卷积神经网络存在较大的参数量和计算量,不能较好的应用于移动端或嵌入式设备中。为更好的实现在移动端或嵌入式设备上进行实时手势姿态估计,需对网络模型进行轻量化处理。本文对基于人体姿态估计的CPM更改其网络结构,将其迁移到手势姿态估计。同时,引入深度可分离卷积替代网络结构中的部分卷积层结构,极大程度上减低的模型的计算量和运算量。
通过实验对比和可视化表明,轻量化的CPM姿态估计网络能够在被遮挡、形变等复杂环境下仍然有良好的检测效果,能够在保证精度稳定的前提下,极大程度上降低模型的参数量和计算量,为在移动端或嵌入式设备上实时运行手势姿态算法奠定了基础。