适用于移动设备的轻量化手势识别算法

许 帅,姜俊厚,高 伟,王国栋,虞志军

(1.青岛大学计算机科学技术学院,青岛 266071;
2.海信电子信息集团研发中心,青岛 266104)

手势识别是人机交互领域的一个重要研究方向,广泛应用于手语识别、虚拟现实和智能家居等现实场景。随着深度学习技术的发展,手势识别算法在服务器端已经趋于成熟,现阶段的研究热点是实现移动设备上的产品落地。移动设备诸如智能手机、智能电视等,代表了新的计算机领域,通常具有存储空间小、计算能力低的特点。在移动设备上部署手势识别算法,需要在保证识别成功率的同时,满足模型轻量化、推理时间短的要求。目前,手势识别算法主要分为基于机器学习或者计算机视觉的传统算法和基于深度学习的算法,首要任务是手的定位检测以及手所在图像区域的分割[1]。为了将复杂的背景和人手分隔开,可以基于人体肤色模型提取人手区域,利用手指个数信息和HOG(histogram of oriented gradient)特征建立分类器实现手势识别[2]。针对手势识别特征不足的问题,可以将HOG和SIFT(scale invariant feature transform)两种特征融合[3]。传统手势识别算法主要依赖手工提取的特征,局限性在于需要对数据进行复杂的预处理,且设计对应的特征提取器。基于深度学习的手势识别算法不依赖于手工提取特征,通过深层次的网络结构提取特征。为构建深层次网络结构,可以组合简单的非线性模块,例如卷积神经网络与多层降噪编码器的组合可以实现端到端手势识别[4],卷积神经网络与注意力机制的组合可以实现动态手势识别[5]。手势识别过程中需要对数据预分割和后输出处理,可通过融合卷积神经网络和双向长短时记忆的方法构建串联型网络模型[6]。与二维卷积神经网络相比,三维卷积神经网络具有更复杂的结构,能够实现更丰富的功能,例如将三维卷积神经网络与ResNet结合的Res3D模型[7],可对时序RGB图像、光流数据和深度数据提取特征。在实际应用中,复杂背景会影响手势识别算法识别成功率,且提取的图像特征难以适应手势多变性,可基于肤色阈值来解决这类问题[8]。综上,基于深度学习的算法需要构建深层次的网络结构,存在繁多的权值参数,需要耗费大量的内存空间,且推理时间难以满足实时要求,无法部署于移动设备。为此,本文设计了一种轻量化的手势识别算法,在自制数据集上训练该算法,在移动设备上对比测试算法性能。

1.1 网络整体结构

本文基于改进的YOLOv3目标检测算法实现手势识别。与其他目标检测算法相比,YOLOv3在检测速度和检测精度上取得了平衡[9-10]。为提升手势识别算法的运算速度和减小参数量,重新设计算法网络结构,如图1所示。基于MobileNetv2中的倒置残差结构,构建主干网络,代替YOLOv3中的主干网络DarkNet-53。倒置残差结构将深度可分离卷积与残差结构相结合以提高特征复用性,降低网络的深度。整个网络结构包括特征提取部分和预测分支部分,即图1中的Backbone和Output部分。以输入图像大小256×256为例,特征提取后,在多尺度检测上保留16×16和8×8两个预测分支。采用本文设计的具有12种手势的数据集训练算法,在网络输出部分的16×16×51和8×8×51表示预测结果维度,实际为16×16×3×(5+12)和8×8×3×(5+12),表示有16×16和8×8的网格,每个网格有3个先验框(anchor),每个先验框有17个参数。该算法对小尺度预测分支上采样,融合两个尺度的输出,利用非极大值抑制计算结果。

图1 本文手势识别算法整体结构

1.2 网络模块设计

1.2.1 深度可分离卷积模块 在移动设备上部署手势识别算法,首要任务是降低算法网络的参数量。深度可分离卷积是MobileNet的核心构建模块,将标准卷积转换成一个深度卷积和一个逐点卷积[11-12]。标准卷积的输入特征图和输出特征图连接方式如图2(a)所示。分组卷积将输入特征图分为3组,每组输出特征图通道数为2,每个卷积核的通道数为4,卷积核只与其同组的输入特征图进行卷积,如图2(b)所示。当分组数量等于输入特征图的通道数,则输出特征图和输入特征图的通道数相等,分组卷积就成为深度卷积,与标准卷积相比参数量降低。逐点卷积为1×1的卷积,在深度可分离卷积中,一是让深度卷积能够自由改变输出特征图的通道数,二是对深度卷积的输出的特征图进行通道融合。

图2 卷积参数量对比(a) 标准卷积;
(b)分组卷积

1.2.2 倒置残差模块 为降低网络参数量,采用MobileNetV2[13]的模块构建主干网络,将倒置残差(Inverted Residuals)结构和线性瓶颈 (Linear Bottlenecks) 层与深度可分离卷积结合,使网络在多类型多尺度手势识别方面的性能得到提升。倒置残差结构呈“两头窄、中间宽”的形式,输入的特征图经过深度可分离卷积处理,将输入数据扩充到高维空间,再经过卷积操作,将输出特征图的通道融合。借鉴ResNet网络的跳跃连接结构,用来增强特征复用性。该结构以深度可分离卷积为基础,参数量低,可有效提升神经网络的运行效率。ReLU6激活函数能够保证输入数据的信息完整性,可用来替换ReLU激活函数。

2.1 手势数据集的制作

手势数据集是手势识别算法的基础,高质量的数据集可以提高算法模型训练效率和识别准确率。为满足本文算法在实际应用中对手势多样化的需求以及应对各类复杂的现实场景,由不同年龄不同性别的个体在室内和室外各种复杂背景环境下采集制作了一个具有12种手势的数据集,其中每张图像像素大小为1 920×1 080。该自制手势数据集样本数量丰富,贴合实际生活。将其划分为训练集和验证集,其中各类手势样本数量和数字对应关系见表1。

表1 自制手势数据集中各类手势样本数量及数字对应关系

2.2 图像二值化处理

采用二值化图像作为算法的训练数据,可降低实际环境中各种颜色对手势识别的影响,加快模型的训练速度。二值图像中的每一个像素由一个on/off(开/关)位来表示。基于深度神经网络的自动化方法[14],可将数据集中的图像转化为二值纹理图像,原始图像中的所有特征信息都被编码到可见的纹理中,如图3所示。

图3 手势数据集中的二值化纹理图像示例

该方法采用自编码器神经网络[15-16]给定输入空间x∈X和特征空间h∈H,自编码器求解两者的映射f和g,使输入特征的重建误差达到最小求解完成后,由编码器输出的隐含层特征h,可视为输入数据x的表征。

(1)

2.3 先验框的提取

人工设计的先验框(anchor)存在弊端,若先验框的尺寸和目标的尺寸差异较大,会影响算法模型的检测效果。为此,对数据集的边界框采用K-均值聚类的方法提取先验框[17]。为避免采用欧式距离作为度量方法产生较大误差的问题,采用先验框与边界框的交并比作为度量,度量公式为

d(box,anchor)=1-IOU(box,anchor)

(2)

其中,box代表训练集中所有边界框的集合,anchor代表通过聚类边界框得到的先验框,通过迭代得到最优的先验框,IOU代表先验框与边界框的面积交并比。

使用K-均值聚类时,一个重要的问题是如何选择合适的K值,即先验框的数量。考虑到计算复杂度,K值应不超过10。本文在自制的12种手势的数据集上对先验候选框数量和平均交并比的关系进行了对比试验,结果如图4所示。采用elbow方法来确定最佳K值,即使平均交并比的斜率发生了明显变化的K值为最佳值。因此,选取K=6作为先验候选框的数量,在网络输入大小为320×320时,6个anchor为:[(10,25), (14,38), (21,34), (22,56), (36,74), (60,127)]。

图4 先验框数量与平均交并比的关系

通过真实场景测试和对比实验,验证本文算法的有效性。实验运行环境为Pyhon3.6和Darknet深度学习框架。训练服务器搭载64位Ubuntu18.04操作系统,Intel Xeon Gold 6240处理器,32 GB内存,Titan RTX显卡等。训练时各参数值:batch为512,subdivisions为16,max_batches为50 000,动量值为0.9。每训练1 000步保存一次模型且保存最后一次模型,最终选取loss最低的模型用于真实场景测试和对比实验。将本文算法的模型部署在搭载MTK9652处理器的海信电视,部分真实场景测试效果如图5所示。可以看出,模型能准确识别测试者做出的手势。

图5 本文算法在真实场景中的测试效果

基于自制手势数据集,将本文算法与YOLOv3-tiny、YOLOv4-tiny、MobileNetv2-YOLOv3、NanoDet等经典轻量化算法进行对比实验,得到模型大小、运算量、mAP(均值平均精度用来衡量算法模型识别成功率)和移动端推理时间等技术指标见表2(算法满足实时手势识别的标准推理时间在30 ms以内)。YOLOv3-tiny和YOLOv4-tiny分别是YOLOv3和YOLOv4的简化版本。YOLOv3-tiny基于YOLOv3算法开发,去掉部分特征提取层,只保留2个独立预测分支。该算法在对比实验中表现最差,mAP为72.1%,相比本文算法低了21.4%。YOLOv4-tiny是基于YOLOv4算法提出的,在特征加强层只采用一个特征金字塔,没有下采样操作,mAP为83.3%。上述两种算法均未达到实时手势识别标准。MobileNetv2-YOLOv3是采用MobileNetv2作为YOLOv3主干网络,与原主干网络DarkNet53相比,MobileNetv2的计算量较低。该算法在对比实验中mAP最高,为98.7%。但与本文算法相比,MobileNetv2-YOLOv3的计算量较大,未达到实时手势识别标准。NanoDet是一种一阶全卷积的单阶段无预选框的目标检测算法,通过自适应的方法选取正样本,该算法mAP达到了92.3%,比本文算法低了1.2%。

表2 不同算法技术指标对比

本文所提算法是基于深度可分离卷积与倒置残差结构改进的YOLOv3手势识别算法,在对比实验中mAP为93.5%,计算量最小,且在搭载骁龙710的智能手机端推理时间最短,仅有8.3 ms,满足实时手势识别标准。同时,在搭载MTK9652处理器的海信电视端的推理时间仅有24.7 ms,模型只有0.6 MB,满足在海信电视的实际部署中模型轻量化、推理速度快的要求。

本文提出了一种轻量化的手势识别算法和一个具有12种手势的大型手势识别数据集,满足了实际应用场景中手势多样化的需求。采用基于深度学习的图像二值化方法,将提出的数据集转化为二值图像进行训练,降低实际环境中肤色、灯光、衣服颜色、背景颜色等各类颜色对手势识别的影响,在保证识别准确率的前提下提高了推理速度。通过真实场景测试和对比实验,新算法在各项指标上达到了较优,可以部署在移动设备上。由于Ok手势样本数量有限,测试中存在识别错误的情况。下一步研究将采集更多Ok手势的图像添加至数据集进行训练,提高算法对Ok手势识别的准确率。

猜你喜欢 先验手势卷积 基于全卷积神经网络的猪背膘厚快速准确测定农业工程学报(2022年12期)2022-09-09康德定言命令的演绎是一种先验演绎吗?——论纯粹知性与实践理性在先天原则证成方面之异同社会科学战线(2022年1期)2022-02-16基于暗通道先验的单幅图像去雾算法研究与实现客联(2021年9期)2021-11-07一种基于卷积神经网络的地磁基准图构建方法北京航空航天大学学报(2021年9期)2021-11-02基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02一种并行不对称空洞卷积模块①计算机系统应用(2021年9期)2021-10-11先验想象力在范畴先验演绎中的定位研究海外文摘·艺术(2020年22期)2020-11-18挑战!神秘手势红领巾·萌芽(2019年9期)2019-10-09胜利的手势小学阅读指南·低年级版(2017年6期)2017-06-12先验的风岁月(2016年5期)2016-08-13

推荐访问:适用于 手势 算法