基于深度卷积网络的无需定位的微小手势识别
摘要
视觉手势识别在人机交互界面中正变得越来越受欢迎。在许多应用中,手部仅占据图像的约10%,而其余大部分区域包含背景、人脸和人体。在此类场景下,手部的空间定位可能是一项具有挑战性的任务,并且需要提供真实边界框用于训练,而这通常难以获得。然而,当目标仅仅是识别手势以控制消费电子设备(如手机和电视)时,无需精确确定手部位置。本文提出了一种深度卷积神经网络,可直接对图像中的手势进行分类,无需任何分割或检测步骤来剔除非手部的无关区域。所设计的手势识别网络能够以用户无关的方式实时分类七种不同类型的手势,在简单背景数据集上达到97.1%的准确率,在复杂背景数据集上达到85.3%的准确率。
索引术语 —深度学习,手势识别,人机界面,手机,神经网络,无需定位,电视。
一、引言
手势识别在非接触式界面的人机交互(HCI)中发挥着重要作用[1][2][4]。在许多基于视觉的应用中,手势的语义与其具体位置无关[1][3]。然而,通常的做法是在图像中定位手的位置,以去除可能使手势识别推理过程复杂化的无关区域,尤其是当手仅占据图像的一小部分时(参见图1)。许多手势识别系统采用这种方法。例如,在[5]中提出了一种使用手势的通用遥控系统,该系统通过运动和肤色信息将手从背景中分割出来。类似地,在[6]中使用肤色信息来分割手部,用于另一种通用的手势遥控系统,尽管在这种情况下,相机由热释电红外(PIR)传感器激活以降低能耗。在[7]中提出了一种用于电视的视觉手势界面,其中通过粒子滤波框架计算的轨迹信息推断手的位置。
其他示例基于深度学习技术,这些技术在过去几年中表现出优越性能。在[12]中,手部定位与手势识别任务同时进行,使用多分辨率滑动窗口密集地选择图像区域,并对每个选区判断是否执行特定的手势。或者,一些研究[8][9][10][11]首先提出一组可能包含手的图像区域子集,然后将这些区域送入分类系统以进行正确的手势推断。相比于基于多分辨率滑动窗口的方法,基于区域提议的算法在处理不同大小和位置的手时计算效率更高。
多分辨率滑动窗口。另一方面,候选区域通常具有不同的尺寸,因此需要将其变换到标准尺寸以适应分类系统,这会导致不希望的失真,从而可能影响准确率[13]。
对于这两种方法而言,通常需要提供包含手的边界框(以及对应的手势标签)作为真实标注,以训练分类系统。这一点尤为重要,,因为相较于手势标签,手的边界框需要大量人工标注,收集起来要困难得多。
本文提出了一种新型的手势识别系统。该系统能够直接从整幅图像中识别手势,而无需使用任何区域提议算法或滑动窗口机制,因此面临在杂乱背景(上半身和背景)中识别相对较小且位置随机的模式的问题。该识别系统基于深度卷积神经网络(CNN),可有效识别占据较小图像区域且位于任意位置的手势,相较于周围背景(包括人脸和身体)而言。为此,CNN设计的主要指导原则之一是应对在此类条件下可能出现的过拟合问题[15][16],这类问题通常导致深度卷积神经网络仅记忆训练数据,而无法泛化到新数据。我们系统的另一大优势是在训练阶段无需边界框,这简化了训练样本的收集以及训练过程本身。
此外,由于无需进行计算量较大的区域提议或滑动窗口等计算阶段,该手势识别系统可以实现实时操作。图2展示了两种不同的手势识别方法:包含与不包含手部区域提议。
II. 相关工作
A. 手势识别
已提出多种特征用于手势识别,例如运动和肤色[5][6],手工设计的时空描述符[20],关节模型以及基于轨迹的信息[7]。这些特征随后由推理算法进行处理,以识别特定的手势,例如隐马尔可夫模型(HMM)[17],条件随机场(CRF)[19],支持向量机(SVM)[21][22],以及卷积神经网络(CNN)[12]。它们的共同点在于都需要手部定位,以便识别手势。例如,文献[22]中提出的手势识别系统包含以下阶段:用于定位的手部分割、使用二维形状描述符进行特征提取,以及基于支持向量机(SVM)的分类。
B. 深度卷积神经网络
最近,深度卷积神经网络出现了快速而显著的发展。大多数最先进的处理分类、检测和分割任务的研究正在采用深度卷积神经网络的设计。例如,深度卷积神经网络已成功应用于行人检测[24],人脸识别[25],和手势识别[12][23]等场景。
针对手势识别,文献[12]提出了一种三维卷积神经网络,用于识别视频序列中的动态手势,其中手部占据图像的大部分区域。该分类系统由两个子网络组成:一个高分辨率网络和一个低分辨率网络,每个网络包含四个三维卷积层、四个最大池化层以及三个全连接层。这两个网络通过逐元素相乘其各自的类别隶属概率进行融合。
C. 基于深度卷积神经网络的小目标识别
基于区域的卷积神经网络(R-CNN)方法[8][9][10]是一种在复杂背景中检测和分类图像中小物体的有效系统。通过区域提议算法执行选择性搜索,在系统将不同尺寸的区域裁剪为标准尺寸之前,提取约2000个区域建议。然后,它为每个区域建议计算CNN特征,并通过支持向量机(SVM)进行分类。然而,由于与CNN特征计算和区域建议分类相关的大量处理,该系统无法实现实时操作。在测试时,每张图像的手势识别耗时超过40秒。此外,由于其依赖于区域提议模块的性能以及每个图像区域裁剪所导致的失真,分类准确率受到限制。
基于R-CNN,更快的R-CNN引入了区域提议网络(RPN)作为区域提议算法[10]。该算法使用卷积神经网络在粗略的网格上预测前景像素以及对应边界框的坐标。RPN能够预测高质量的区域提议,并与用于分类的另一个卷积神经网络共享神经网络参数。更快的R-CNN可以实现较高的准确性和速度。一个要求是需要提供边界框以训练RPN。
另一种方法是采用基于滑动窗口的检测器[23][24][25]。卷积神经网络(CNN)至少在过去二十年中一直以这种方式用于受限物体类别的识别,例如人脸、手和行人。然而,为了实现合理的计算效率,需要被识别物体的不同外观具有相同的宽高比,而这在手势识别中并不成立。宽高比问题可以通过混合模型来解决,其中每个组件专门处理一个较窄的宽高比范围,或者通过边界框回归来解决。然而,这会带来更高的计算成本。
III. 手势识别系统
提出的系统能够直接从整幅图像中识别手势,而无需使用任何图像区域选择框架。这是通过精心设计的深度卷积神经网络实现的,该网络能够在具有挑战性的情况下成功识别在图像内部任意位置执行的手势,其中执行手势的手部仅占据相对于整幅图像较小的图像区域。此外,图像被背景物体干扰,包括人脸和上半身等。因此,所开发的深度卷积神经网络的设计遵循了两个主要原则:手部区域缩小和过拟合。
接下来的小节描述了所开发的深度卷积神经网络设计,首先介绍卷积神经网络如何检测图像中任意位置嵌入的模式,接着讨论区域缩小和过拟合的设计限制,最后描述提出的卷积神经网络。
A. 图像中嵌入模式的检测
卷积神经网络具有卷积结构,该结构受限连接层间的神经元(作为局部感受野),并强制层内共享相同的权重。因此,同一层中参与卷积滤波操作的所有神经元在输入图像的不同位置检测完全相同的特征。也就是说,滤波器对图像内部模式的平移具有不变性。即,Conv(X + X0, W) = Conv(X, W) + X0,其中X为图像,W为滤波器,X0为平移,Conv为卷积操作。图3展示了这一机制,显示了卷积层的输出特征图以及一些最终的检测结果。
B. 手部区域缩小
在待检测模式(手)相对于图像尺寸较小的场景中,要获得高性能的识别系统,从原始数据中提取高层抽象特征非常重要。众所周知,更深的网络能够学习到更强大的语义表示。因此,对于当前的识别任务,卷积层和池化层的数量应足够多。然而,随着数据在网络中传递得越来越深,图像中手部尺寸的减小会导致手部区域缩小问题。包含分类任务相关手部信息的有效激活区域会随着层数的增加呈指数级缩小。例如,在由一个卷积层和一个池化层组成的双层网络中,若设置步幅为3像素,则输出特征图的区域将减少为原来的九分之一。这种行为会导致来自较小手部区域的信息在几层之内就被周围的背景信息所淹没。为了保持较高的分类性能,应保持特征图区域与手势区域之间的合理比例。为满足这一条件,在CNN设计中采用以下准则:卷积层的步幅值设为1(第一层除外,以提高计算效率),最大池化层的步幅值设为2。当卷积层的步幅值设为1时,不会出现明显的区域缩小现象,因此图像区域仅在使用最大池化操作时才会减小。因此,应在每个最大池化层之前设置多个卷积层,以提取足够的特征用于分类,防止手部区域过度缩小。
C. 过拟合
过拟合是机器学习中的一个常见问题[15][16]。对于提出的手势识别任务,感兴趣区域相对较小,这会导致卷积神经网络学习中出现误导性行为,例如试图从不相关的图像区域(如人体或人脸)推断出手势。因此,在这种情况下,过拟合成为一个主要问题。为了防止这类行为,CNN设计应限制网络参数的数量。为此,除第一层采用5x5像素外,其余各层均采用3x3像素的小型卷积滤波器尺寸。与较大的滤波器尺寸相比,这显著提高了准确率。此外,在全连接层上应用了Dropout学习策略[28],以防止过拟合。Dropout策略通过随机将网络神经元输出设为零,避免出现梯度消失的不良影响。该网络包含两个Dropout层,在训练过程中Dropout比率为0.5(即有50%的概率丢弃单元及其连接),从而防止单元过度共适应。该技术可被视为通过对大量不同稀疏网络进行采样的集成方法。最后,当验证数据上的性能开始下降时,即采用早停准则终止训练,以此作为避免过拟合的一系列措施的补充。
D. 架构
提出的深度卷积神经网络设计由9个卷积层、4个池化层和3个全连接层组成,其间交错排列修正线性单元(Rectified Linear Unit)和Dropout层(见图4)。
第一卷积层的尺寸为5x5,为了计算效率,步幅设置为3。以一个320x240像素的输入图像为例,第一卷积层的输出结果尺寸将为106x79像素,远小于输入。这减少了后续各层的处理量,使卷积神经网络在计算效率和内存需求方面都更加经济。其余的卷积层尺寸为3x3,步幅值为1,而池化层的步幅值为2(如III.B节所述)。
接下来,使用第一个全连接层,该层接收64x7x5个元素的输出,并包含128个神经元。其后是修正线性单元和dropout层。然后连接第二个全连接层,接收来自第一个全连接层的前一个128维输出,并同样包含128个神经元。其后也跟随一个修正线性单元和dropout层。接着使用第三个全连接层,用于计算到手势识别最终类别的映射。
最后,最后一个全连接层的输出被送入Softmax层,该层为每个类别分配一个概率。预测本身是通过选取给定输入图像中概率最大的类别来完成的。
IV. 实验
基于深度卷积神经网络的提出的手势识别系统已使用开源框架[27]实现。训练在具有1664个核心、基础时钟为1050MHz且内存为4GB的GPU上进行。
A. 数据集准备
数据集[28]已经来自40人的数据,每人做出7种不同的手势。其中一半的人已被记录在复杂背景,其余为简单背景。所考虑的复杂背景具有高度杂乱性,且光照变化较大(参见图1)。每种手势实例包含约1400帧,手势在图像中的不同位置执行。为了增强数据,对整个图像进行了合成平移,从而获得总共50万手势样本用于训练。对于每幅图像,人脸和人体是图像的主要部分,而待分类的手势仅占整幅图像的10%的像素。为了获得可靠的结果,测试集中出现的人员与训练集完全不同。采用交叉验证策略,每次使用25人用于训练、5人用于验证和10人用于测试。
B. 图像预处理
卷积层首个池化层之前的层是计算效率和内存需求的瓶颈。为了实现实时分类,将640x480图像下采样至320x240,并转换为灰度图像。因此,第一卷积层的参数数量比未经预处理的情况减少了12倍。所提出的网络也应用于原始RGB图像,结果性能没有明显提升,但在训练阶段和测试阶段速度均较慢。
C. 结果
网络训练非常快速,在GPU上仅需~50分钟。使用提出的网络对单张图像进行手势分类在GPU上大约需要2.96毫秒。通过在图像批次上运行网络,分类运行时间可以显著改善(批量大小256时,每张图像0.73毫秒)。
表I和表II展示了使用[28]数据集进行手势分类的混淆矩阵。总体而言,深度卷积神经网络能够准确地对手势进行分类,在简单背景图像中的平均准确率为97.1%,在复杂背景图像中的平均准确率为85.3%。
| 类别 | fist | l | ok | palm | 指示 | down | up |
|---|---|---|---|---|---|---|---|
| fist | 0.993 | 0.01 | 0 | 0 | 0 | 0 | 0 |
| l | 0.001 | 0.994 | 0.004 | 0 | 0 | 0 | 0.002 |
| ok | 0 | 0 | 0.969 | 0.015 | 0 | 0 | 0.016 |
| palm | 0 | 0 | 0 | 0.995 | 0.005 | 0 | 0 |
| 指示 | 0 | 0 | 0.001 | 0 | 0.999 | 0 | 0 |
| down | 0 | 0 | 0 | 0 | 0.002 | 0.998 | 0 |
| up | 0 | 0 | 0 | 0 | 0.008 | 0.001 | 0.991 |
表I 简单背景下手势识别的混淆矩阵
| 类别 | fist | l | ok | palm | 指示 | down | up |
|---|---|---|---|---|---|---|---|
| fist | 0.848 | 0.079 | 0.004 | 0.010 | 0.049 | 0.004 | 0.004 |
| l | 0.062 | 0.879 | 0.014 | 0.011 | 0.011 | 0.001 | 0.024 |
| ok | 0.025 | 0.075 | 0.759 | 0.066 | 0.017 | 0.001 | 0.056 |
| palm | 0.003 | 0.002 | 0.003 | 0.976 | 0.012 | 0.001 | 0.004 |
| 指示 | 0.152 | 0.029 | 0.001 | 0.032 | 0.762 | 0.002 | 0.019 |
| down | 0.013 | 0.001 | 0.000 | 0.005 | 0.001 | 0.866 | 0.115 |
| up | 0.014 | 0.073 | 0.003 | 0.034 | 0.021 | 0.048 | 0.806 |
表II 复杂背景下手势识别的混淆矩阵
表III显示了提出的模型与AlexNet[29]和VGG 19[30]在简单背景和复杂背景图像中的比较结果。提出的模型在计算时间和平均准确率方面均优于AlexNet。另一方面,VGG19在简单背景图像中的准确率与提出的模型相近,但在复杂背景下的准确率最差,并且处理一张图像所需时间更长。
| 测量 | 提出的网络 | AlexNet | VGG19 |
|---|---|---|---|
| 准确率在简单背景 | 97.1 | 86.3 | 96.2 |
| 准确率在复杂背景 | 85.3 | 69.4 | 77.6 |
| GPU时间 毫秒/每张图像 | 2.96 | 4.89 | 25.10 |
表III 比较结果
图5展示了一些正确分类的显著示例。图5(a)和(b)中手势的大小和形状差异显著,尽管如此,系统仍能有效预测正确的类别。在图5(c)中,光照和分辨率有明显变化,但系统仍表现出良好的鲁棒性。
图6显示了一些错误分类。这些错误是由于图像中同时出现了第二只手所致。当手势的一部分被裁剪而不可见时,也可能发生错误。
V. 结论
与许多先前利用手部定位信息进行手势识别的方法不同,提出的深度卷积神经网络能够从整幅图像无需任何手部定位信息。该深度卷积神经网络不依赖于任何区域提议算法或滑动窗口策略,有利于实现实时操作。这种方法在训练数据库的构建和自身学习过程中也具有显著优势,因为无需标注指定手部区域的边界框。所提出的方法在实际应用中极具吸引力,可用于实时识别可控制消费电子设备(如手机和电视)的手势,且在速度和内存方面比其他方法更具成本效益和效率。
1144

被折叠的 条评论
为什么被折叠?



