摘 要:近年来,卷积神经网络在手势识别领域有着越来越多的应用。但现有卷积神经网络存在特征表征不足的问题,致使手势识别精度较低。为此,本文提出了一种轻量级静态手势识别算法 r-mobilenetv2,该算法首先将通道注意力和空间注意力串联起来,并将二者输出特征图通过跳跃连接形式线性相加,得到一种全新注意力机制。然后,将高层特征经上采样与低层特征空间维度匹配,低层特征使用一维卷积调整通道维度与高层特征通道维度匹配,二者线性相加,其结果经卷积操作与高层特征按通道维度连接而实现特征融合。最后,将所提出的注意力机制和特征融合结合起来,用于改进后轻量级网络 MobileNetV2中,进而得到r-mobilenetv2算法。实验显示r-mobilenetv2相较MobileNetV2减少27%的参数量,错误率降低1.82%。
本文源自胡宗承; 周亚同; 史宝军; 何昊, 计算机工程 发表时间:2021-05-14《计算机工程》简介:《计算机工程》刊登内容包括发展趋势/热点技术、博士论文、基金项目论文、专题论文、软件技术与数据库、安全技术、多媒体技术及应用、网络与通信、人工智能及识别技术、工程应用技术与实现、开发研究与设计技术等。
关键词:注意力机制;特征融合;手势识别;图片分类;轻量级网络
0 概述
手势识别是人机交互的一个重要研究方向,在体感游戏和智能家居等场景有着广泛应用。LIAN[1]、 YANG[2]等人利用穿戴设备识别简单手势,但穿戴设备使用不便且不适合推广。基于视觉的手势识别凭借灵活便捷的优势,成为一个研究热点。深度学习火热前,基于视觉的手势识别重大突破多属于人工特征提取方法,如方向梯度直方图[3-5](Histogram of oriented gradient, HOG)、SIFT[6](Scale-invariant feature transform)等。对特征分类多采用 SVM (Support Vector Machine),如文芳等人[7]提出一种基于 RGB-D 数据的手势识别方法,首先分割手部区域,提取手势特征,进而使用 SVM 进行分类。 TARVEKAR 等人[8]提出一种用于非接触式的手势识别系统,该系统在多种颜色空间中检测肤色信息,应用皮肤阈值从分割图像中分割手部区域,从中提取颜色和边缘特征,利用 SVM 分类器对手势进行识别。缑新科等人[9]提出一种基于梯度方向直方图与局部二值模式融合的手势识别方法,该方法利用主成分分析对梯度方向直方图特征描述算子进行降维,降维后的数据与局部二值模式特征融合,最后利用 SVM 实现静态手势识别。
随着深度学习成为研究热点,卷积神经网络逐渐被应用在各种领域。吴晓风等人[10]通过 Faster RCNN 深度网络模型进行手势识别,能够在识别手势的同时进行手势检测。张强等人[11]采用改进的 YOLOV3(You Only Look Once)算法对静态手势进行识别,该方法采用 Kinect 设备采集的四种信息,综合四种图片信息的优势,共同作用提高手势识别精度,同时利用 K-Means 聚类算法对 YOLOV3 候选框 参 数 进 行 优 化 。 周 文 军 等 人 [12] 在 DSSD (Deconvolutional Single Shot Detector)的上提出一种静态手势识别算法,DSSD 中的先验框宽高比并非手动设定,使用 K-Means 聚类算法和手肘法共同决定先验框宽高比,同时还利用迁移学习解决数据量小的问题。CHAUDHARY [13]提出了一个用于光不变手势识别系统的神经网络。利用方向直方图提取手势特征向量对六类手势分类。极端光照强度变化环境总体精度达到 92.86%。ALNUJAIM 等人[14]利用手势对天线阻抗产生变化进行分类,将采集阻抗转化为光谱图,采集时变信号作为图像,利用卷积神经网络进行分类,对于精细手势识别仍需进一步研究。
针对现有神经网络模型对手势特征表征不足问题,本文提出了一种结合注意力和特征融合的静态手势识别算法。引入注意力机制对输入特征图进行选择性输入,引入特征融合将高级特征经上采样与低级特征相结合增强特征表征能力,共同作用提高分类精度。本文主要工作如下:(1)引入注意力机制。采用通道注意力与空间注意力串联的方式,提出 一 个 自 适 应 卷 积 注 意 力 模 块 ( Adaptive Convolution Attention Module,ACAM)。该模块在增加模型复杂度的同时,对模型的特征表征能力带来了明显的改善。(2)引入特征融合,提出分类特征金字塔(Classification Feature Pyramid,CFP)将高层特征与低层特征结合,提高分类精度。(3)在不同 网 络 模 型 上 验 证 ACAM 的 适 应 性 , 以 MobileNetV2 为例在不同注意力机制上验证 ACAM 的有效性。通过消融实验验证验证 ACAM 和 CFP 在网络中的表现能力。(4)提出一种结合注意力和特征融合的静态手势识别算法 r-mobilenetv2。
1 相关工作
注意力机制研究源于 19 世纪的实验室心理学,2014 年 Google DeepMind 团队提出注意力机制并将其用在图片分类中[15]。注意力机制本质是对输入数据特定选择,使网络模型更加关注输入数据中的重要信息,抑制非重要信息。
WANG 等人[16]提出残差注意力网络,残差学习机制由多个注意力模块堆叠而成,注意力模块内部采用自底向上、自顶向下结构与堆叠的沙漏网络可以快速收集图像全局信息,并将全局信息与原始特征图结合,但存在计算量大的问题。HU 等人[17]提出 SENet(Squeeze-and-Excitation Networks),通过压缩 -激励方法使特征图通道间建立相互依赖关系,自适应调整特征图通道权重。WOO 等人[18-19]提出 BAM ( Bottleneck Attention Module ) 及 CBAM (Convolutional Block Attention Module)两种不同注意力模块,同时考虑空间注意力和通道注意力。BAM 在深度神经网络下采样前发挥作用,其中通道注意力模型和空间注意力模型采用并联方式。CBAM 通道注意力模型和空间注意力模型采用串联方式结合, 是一个轻量级注意力模块。WANG 等人[20]提出一种有效的通道注意深度卷积神经网络 ECA(Efficient Channel Attention),借鉴 SENet 思想,将全连接层替换为一维卷积,并且采用自适应一维卷积对通道进行特征提取,联合相邻通道信息,虽然实验取得不错结果,但是没有引入特征图空间关系。武茜等人[21]将多通道注意力机制用于人脸替换的鉴别任务中,在多通道注意力中融合了全局注意力和局部注意力。鲁甜等人[22]提出了一种特征图注意力用于超分辨率图像重建,利用特征图注意力机制获取特征通道间依赖关系,自适应调整特征图通道权重。
特征融合多用于目标检测、图像分割中,很多工作通过融合多层特征提升检测和分割能力。LIN 等人[23]提出目标检测的特征金字塔网络,采用具有横向连接、自顶向下结构将高层语义特征与低层语义特征结合,提高了小目标检测能力。LIU 等人[24] 提出了路径聚合网络(Path Aggregation Network, PANet),PANet 采用自底向上的路径增强方法,以较底层的精确定位信号增强整个特征层,缩短较底层次与最上层间的信息路径,并且提出自适应特征池化,将特征网络与各特征层连接。CAO 等人[25] 提出一种基于注意力引导的语义特征金字塔网络(Attention-guided Context Feature Pynamid Network, ACFPN),该网络利用注意力机制整合不同大规模区域信息。陈泽等人[26]提出了基于级联的多层特征融合策略,将浅层特征图与深层特征图按通道维度连接,解决小目标识别效果差的问题。李季等人[27]针对目标尺度不同的问题,采用多尺度融合的思想,构建三分支网络,然后对低层特征和高层特征进行选择性融合。李青援等人[28]为解决多尺度融合存在信息差异的问题,提出了一种新的特征融合方法,将两种不同尺度特征图结合,产生含有两个特征图信息的中间层,利用中间层表示不同尺度特征图中间差异,然后将中间层与采样后的特征图再次融合,避免信息差异带来的负面影响。
2 本文算法
本文算法创新点在提出了一种新的注意力机制 ACAM,和特征图融合方式 CFP。ACAM 综合了特征图的通道和空间信息,CFP 融合了低层和高层特征有效提高了分类的准确度。除了以上两点外,本文将 ACAM、CFP 运用在改进的 MobileNetV2 [29]上,提出了 r-mobilenetv2 网络。
2.1 注意力机制
本文提出的注意力模块 ACAM 如图 1 所示。 ACAM 由两部分组成,通道注意力模型和空间注意力模型。通道注意力模型采用自适应一维卷积操作,且在通道注意力模型后添加跳跃连接,将通道注意力模型输出特征图 F1与空间注意力模型输出特征图 F2 线性相加。假设初始输入特征图 F 大小为 H W C ,通过 ACAM 中的通道注意力模型可得大小为 1 1 C 的一维通道注意力特征图;通过 ACAM 中空间注意力模型可得大小为 H W 1 的二维空间注意力特征图。
其中:CA 为通道注意力模型,SA 为空间注意力模型,F 为输入特征图,F1 为经过通道注意力模型处理后的特征图,F2 为经过空间注意力模型处理后的特征图,F3为整体注意力模型处理后的重建特征图。
通道注意力模型采用一维卷积对特征图通道信息处理,根据特征图通道数动态选择卷积核大小。通道注意力模型工作流程如图 2 所示。首先对输入特征图进行压缩,即在空间方向进行压缩,得到大小为 1 1 C 的特征图。根据特征图通道数 C,自适应选择一维卷积核大小。根据卷积核大小一维卷积对相邻通道特征进行处理,增加通道间相关性。再将一维卷积处理后的特征图通过激活函数进行重建。最后得到一维通道注意力特征图与输入特征图 F 相乘输出为通道注意力输出特征图 F1。
根据特征图共享卷积核的原则,可以推断通道数 C 与一维卷积核 kernel-size: k 必然存在某种联系,即满足 ( ) C ( ) 2 r k b k 。最基础假设从简单的线性映射验证该函数,即 C r k b ,但线性关系表达性有限。另一方面由于计算机是二进制,而卷积神经网络中 batch-size、通道维度大多习惯设为 2 n,故设 ( ) C ( ) 2 r k b k 。采用非线性表示通道数 C 与一维卷积核 k 之间关系,相较线性关系有更强的表现型,如公式 2 所示: 2 lo g ( C ) ( C ) b k f r r (2) 其中: k 为一维卷积核大小,C 为输入特征图通道数, r 、b 为超参数,这里分别取 r 为 2,b 为 1。
空间注意力模型在通道注意力输出特征图 F1的基础上进行操作,如图 3 所示。首先沿着通道所在维度方向进行均值化处理,得到大小为 H W 1 的特征图。然后对其进行二维卷积操作,得到的特征图经激活函数输出为二维空间注意力特征图。最后二维空间注意力特征图与通道注意力输出特征图 F1相乘得到空间注意力输出特征图 F2。
2.2 特征融合
本文借鉴特征金字塔的思想,提出分类特征金字塔 CFP。CFP 整体结构如图 4 所示,采用横向连接、自顶向下与自底向上结合的连接方式。在 stage2 中高层特征 A 经上采样和 stage1中低层特征 B 经一维卷积后得到的特征图线性相加,得到特征图 G,特征图 G 经二维卷积得到特征图 D,特征图 D 与高层特征 A 空间维度匹配后,在通道维度上连接,将得到新特征图 E 送入后序网络中分类。
CFP 主要分为三部分 stage1、stage2、stage3,分别对应特征提取、上采样、特征融合三个方面。在 stage1 中,采用卷积神经网络对输入数据进行特征提取,自底而上的特征图每次空间维度减半,取最上两层特征图 A、B 作为最终特征融合所需特征图。 stage2应用 stage1中最上层高级语义特征 A 进行上采样,经上采样后的特征图空间尺度变为原来二倍,与 stage1 中特征图 B 在空间维度上匹配。stage1 中特征图 B 经过 1×1 卷积调整通道数,使其与 stage2中特征图 A 通道维度相匹配,两者进行简单线性相加。 stage3将 stage2中高分辨率特征图 G 经卷积操作使空间维度与低分辨率特征图 A 相匹配,在通道维度连接。最后将融合特征图 E 送入后序网络分类。
2.3 r-mobilenetv2
r-mobilenetv2 在 MobileNetV2 基 础 上 引 入 ACAM 和 CFP 的同时,对原网络结构进行调整。具体为,去掉最后一个 Inverted Residuals 模块即输入为 7×7×160 的 Inverted Residuals 模块,加入注意力机制 ACAM 和特征融合 CFP。
MobileNet 系列[29-31]是由 Howard 等人提出的,一种有效的轻量级网络,虽然相较其他网络牺牲部分准确度,但在计算量和参数量上有着巨大优势。在 224×224 大小 RGB 图片上 MobileNetV2 参数量是 VGG16 参数量的 1.72%,是 ResNet-18 参数量的 20.63%。故 MobileNet 系列及变体能够有效的部署在移动端。本文主要针对 MobuleNetV2 进行改进。 r-mobileNetV2 的网络结构如表 1 所示:
input 代表输入特征图大小,operator 代表对输入特征图的处理方式,C 代表通道数,其中 class_num 代表类别数,t 对应扩展因子,S 为 Strides 确定卷积步数。n 代表重复次数。当 n 大于 1 时,每组的第一个 bottleneck 中卷积 S 为表中的值,其他默认 S 取 1。一组 bottleneck 构成一个 Inverted Residuals 模块。
r-mobilenetv2 在每个 Inverted Residuals 模块中 Strides 等于 1、等于 2 时的共同部分后添加 ACAM,最后两个 Inverted Residuals 模块中引入 CFP。加入 ACAM 的位置如图 5 所示。
3 实验与分析
本文的实验硬件环境为 Inter(R) Xeon(R) CPU E5-2640 v4@ 2.40GHz, GPU为一块显存11G的GTX 1080Ti。软件环境为 Ubuntu16.04, Keras2.2.2。使用 RMSprop 对网络进行训练,初始学习率为 0.001,权重衰减系数为 1e-6。batch-size 设为 64,若 10 个 epoch 测试集准确率没有提升,学习率衰减为原来的十分之一,30 个 epoch 测试集准确率没有提升,程序停止。
3.1 数据来源及预处理
本文在 LaRED[32](large RGB-D extensible hand gesture dataset)数据集上进行实验测评,LaRED 数据集共有 27 种基础手势,含 242900 张图片。27 种基础手势如图 6 所示。每个基础手势取三个朝向,分别为基础手势、基础手势绕 X 轴旋转 90 度、基础手势绕 X/Y 轴各旋转 90 度的手势。从数据集中选取部分手势如图 7 所示。
原始数据集为按帧采集的连续序列,相邻帧图片近似。故每 15 帧取一张图片,对数据集进行筛选,同时只利用数据中的 RGB 信息。其训练集含 12955 张图片,测试集含 3239 张图片。对于处理好的图片采取 RGB 的方式输入,利用 ImageNet 中图片均值进行去均值。送到后续网络中进行分类。
3.2 注意力机制 ACAM 实验分析
本文首先在不同网络模型上验证本文提出注意力机制的适用性,然后在 MobileNetV2 网络的基础上,添加不同注意力模型与本文提出的注意力模型对比,综合验证 ACAM 的有效性。
网 络 选 取 所 选 网 络 ResNet-18[33] , ShuffleNetV2[34],MobileNetV2。实验结果由表 2 所示,表中显示有网络模型、参数量和 Top1 错误率。
从表 2 可以看出,本文提出的 ACAM 虽然仅引入较少参数,但在不同网络模型的准确率上均有百分之一左右的提升,证明了 ACAM 模块的适用性。在 ResNet-18 上错误率降低 1.57%,参数量增加 214。在 ShuffleNetV2 上错误率降低 0.77%,参数量增加 864。在 MobileNetV2 上错误率降低 0.98%,参数量增加 892。
对比三种不同网络及加入 ACAM 的表现, MobileNetV2不管从Top1 错误率还是参数量均有明显优势。从 Top1 错误率看,MobileNetV2+ACAM 的 Top1 错 误 率 比 ResNet-18 降 低 0.31% , 比 ShuffleNetV2+ACAM 降低 0.92%;从参数量上看, MobileNetV2+ACAM 参数量仅为 RestNet-18 的 20.64%,为 ShuffleNetV2+ACAM 的 57.18%。综合考虑在 MobileNetV2 基础上进行实验。
为验证 ACAM 模块的有效性,以 MobileNetV2 为例,在 BAM(bottleneck attention module)、CBAM ( convolutional block attention module )、 ECA (efficient channel attention)上与 ACAM 进行对比。实验结果由表 3 所示,表中显示网络模型、参数量和 Top1 错误率。从表 3 可以看出,在 MobileNetV2 上,不同注意力模型对于手势识别结果均有贡。相较 MobileNetV2 基础网络,MobileNetV2+BAM 参数量增加 157400,在 MobileNetV2 参数量的基础上增加 6.81%。MobileNetV2+CBAM 参数量增加 60,286,在 MobileNetV2 参数量的基础上增加 2.61%。 MobileNetV2+ECA 参数量仅增加 59,增加参数量相对 MobileNetV2 参数量可忽略不计。本文提出的 ACAM 与 MobileNetV2 结合后参数量为 2,311,703,相较 MobileNetV2 参数量增加 892,相当于在 MobileNetV2 参数量基础上增加 3.86e-4。不考虑错误率情况下,就引入参数量进行比较,BAM 引入参数量最多,CBAM 次之,ACAM 和 ECA 引入参数量相对较少。综合 Top1 错误率和模型参数量两个衡量标准考虑,本文提出的 ACAM 结果更优。
3.3 改进网络实验分析
将本文提出的注意力机制与特征融合模块加入 MobileNetV2 中,并对 MobileNetV2 进行修改, mobilenetv2 为直接在 MobileNetV2 上修改后的网络。实验结果如表 4 所示。
首先在 MobileNetV2 基础上进行删减,删减后 mobilenetv2 参 数 量 减 少 900,480 , 相 当 于 MobileNetV2 参数量的 38.97%。mobilenetv2 在减少参数量的同时准确率提升,Top1 错误率减少 0.3%。实验说明删减后的网络更适合手势识别。然后在 MobileNetV2 和 mobilenetv2 上添加 CFP 和 ACAM。添加 CFP 后两种不同网络 MobileNetV2+CFP 和 mobilenetv2+CFP Top1 错误率均降低 1%左右,但参数量大幅上升,相较原基础网络,参数量分别增加 58.96% 、 19.27% 。 添 加 ACAM 后 , mobilenetv2+ACAM 相较 MobileNetV2+ACAM Top1 错误率更低,在参数量更少情况下,Top1 错误率降低 0.53%。通过上述可得 CFP、ACAM 对手势识别任 务 是 有 效 的 。 最 后 将 CFP 和 ACAM 加 入 MobileNetV2 和 mobilenetv2 中,形成 R-MobileNetV2 和 r-mobilenetv2。其中 R-MobileNetV2 以未经删减 MobileNetV2 为 基 础 , r-mobilenetv2 以 删 减 后 MobileNetV2 为基础。最终 R-MobileNetV2 相对 MobileNetV2 Top1 错误率降低 1.26%,参数量相对 MobileNetV2 增加 59.00%,达到了 3,674,263。 r-mobilenetv2 相对 mobilenetv2 Top1 错误率降低 1.52%,参数量相对 mobilenetv2 增加 11.79%,达到 1,682,849。r-mobilenetv2 相对 R-MobileNetV2 Top1 错误率降低 0.56%,参数量仅为 R-MobileNetV2 的 45.80%。r-mobilenetv2 相对 MobileNetV2 Top1 错误率降低 1.82%,达到 1.17%,参数量仅为 MobileNetV2 的 72.83%。综上在对比实验中充分验证了 CFP 和 ACAM 及 r-mobilenetv2 的有效性。
此外,在 r-mobilenetv2 网络中,选取测试集数据制作混淆矩阵。结果如图 8 所示,横坐标为预测类别,纵坐标为真实类别。在 27 种手势中,基本完全预测正确。从图 8 可以看出,r-mobilenetv2 在手势识别中有着优异的表现。
4 结束语
本文结合注意力机制和特征融合,提出一种轻量 级 网 络 静 态 手 势 识 别 算 法 r-mobilenetv2 。 r-mobilenetv2 能够有效提取特征解决特征表征不足的问题,提高手势识别精度。结合了空间注意力和通道注意力模型提出了自适应一个自适应卷积注意力模块,对网络提取特征进行选择性输入;针对高级语义特征含有分类信息并不完全的现状,提出分类特征金字塔。通过实验证实自适应卷积注意力模块及分类特征金字塔的有效性。最后将自适应卷积注 意 力 模 块 和 分 类 特 征 金 字 塔 结 合 引 入 MobileNetV2 中 , 提 出 一 种 新 的 轻 量 级 网 络 r-mobilenetv2。相较为 MobileNetV2,r-mobilenetv2 参数量降低了 27.20%,Top1 错误率降低了 1.82%。准确达到 98.83%。在后续工作可以从损失函数、卷积方式入手对网络进行改进,进一步提高网络识别精度及泛化性能。