收藏 分销(赏)

基于机器视觉的静态手势识别实验设计.pdf

上传人:自信****多点 文档编号:637777 上传时间:2024-01-22 格式:PDF 页数:6 大小:2.49MB
下载 相关 举报
基于机器视觉的静态手势识别实验设计.pdf_第1页
第1页 / 共6页
基于机器视觉的静态手势识别实验设计.pdf_第2页
第2页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 实 验 技 术 与 管 理 第 40 卷 第 6 期 2023 年 6 月 Experimental Technology and Management Vol.40 No.6 Jun.2023 收稿日期:2022-10-29 作者简介:白煜(1978),男,山西太原,博士,高级工程师,从事通信与信号处理技术的研究,。引文格式:白煜,李香萍,张雨菡.基于机器视觉的静态手势识别实验设计J.实验技术与管理,2023,40(6):187-191.Cite this article:BAI Y,LI X P,ZHANG Y H.Design of static gesture recognition

2、 experiment based on machine visionJ.Experimental Technology and Management,2023,40(6):187-191.(in Chinese)ISSN 1002-4956 CN11-2034/T DOI:10.16791/ki.sjg.2023.06.029 基于机器视觉的静态手势识别实验设计 白 煜,李香萍,张雨菡(天津大学 电气自动化与信息工程学院,天津 300072)摘 要:该文面向本科实践教学,以静态手势识别为目标,利用机器学习开发了机器视觉实验项目。在实验的算法设计部分,分别利用支持向量机和卷积神经网络实现了两种

3、手势识别算法。文中详细介绍了两种手势识别算法的原理、特点和流程。在实验的算法验证部分,详细介绍了利用 Python 语言、编译环境和数据集实现算法仿真的方法。仿真结果显示,两种算法均可有效识别多种静态手势。该实验项目包括任务分析、算法设计、算法优化、编程实现、结果分析等环节。通过本实验的训练,有助于提升本科生在智能图像处理领域的实践能力。关键词:机器视觉;卷积神经网络;支持向量机;手势识别 中图分类号:TP391.4 文献标识码:A 文章编号:1002-4956(2023)06-0187-05 Design of static gesture recognition experiment ba

4、sed on machine vision BAI Yu,LI Xiangping,ZHANG Yuhan(School of Electrical and Information Engineering,Tianjin University,Tianjin 300072,China)Abstract:A machine vision experiment project is developed by the use of machine learning in this paper.It is intended for undergraduate practical teaching an

5、d aims at static gesture recognition.In the algorithm design part of the experiment,support vector machine and convolutional neural network are used separately to implement two gesture recognition algorithms.In addition,the principles,characteristics and processes of two gesture recognition algorith

6、ms are introduced in detail.In the algorithm validation part of the experiment,a detailed introduction is given to the method of implementing algorithm simulation using Python language,compilation environment,and datasets.The simulation results show that both algorithms can effectively recognize mul

7、tiple static gestures.This experimental project includes task analysis,algorithm design,algorithm optimization,programming implementation,and result analysis.Through the training of this experiment,it is helpful to enhance the practical ability of undergraduate students in the field of intelligent i

8、mage processing.Key words:machine vision;convolutional neural network;support vector machine;gesture recognition 手势识别在日常生活和工作中应用广泛,是人机交互、手语翻译的基础,也是“工业 4.0”与“中国制造 2050”的一项相关技术,面向本科生开发关于手势识别的实践教学项目很有必要1-2。目前人们大多利用数据手套3、Kinect 相机4-5、射频信号6、肌电信号7、电容式传感器8、红外传感阵列1等来实现手势识别。这些方法的共同点是需要利用特殊装置采集手势特征。另外还有一类识别方法

9、是利用机器视觉技术,通过图像处理算法获得手势特征2。前者在识别精度和抗干扰能力方面具有优势7-8,而后者对设备和环境要求低,应用范围更广。基于机器视觉的手势识别方法,主要涉及关键帧提取、手势分割、手势跟踪、特征提取、特征融合、手势识别、手势交互等内容。手势检测与分割的作用是将图像中的手势与背景分开。基于颜色空间的肤色分割可以实现这一目标9。188 实 验 技 术 与 管 理 特征提取是手势识别的核心技术10。基于视觉的静态手势特征主要有形状特征、描述符特征等11。形状特征主要依据手势的几何特征描述手势12。基于描述符特征的方法有 Hu 矩、Zernike 矩、Krawtchouk 特征、方向梯

10、度直方图(HOG)等13。手势分类的方法有模板匹配、神经网络、基于概率统计模型的方法等14。传统的模板匹配方法适用于静态手势识别,具有计算简单、速度快、应用范围广等优点15;动态时间规整(DTW)拓展了模板匹配法在动态识别方面的实用性16。卷积神经网络(CNN)17、三维卷积网络(3DCNN)和循环神经网络(RNN)18 对于孤立词手语,有较好的识别效果。本文利用图像处理技术,开发了静态手势识别实验项目,主要分为算法设计、算法仿真和结果分析三个部分。1 手势识别算法设计 本实验项目的算法设计部分,包括两种方案。方案一是先对图像数据进行预处理,得到手势特征后,再利用 SVM 进行分类,特点是速度

11、快、运算量小。方案二是利用 CNN 进行图像分类,特点是预处理要求低、分类器性能更强。1.1 图像预处理 方案一的流程如图 1 所示。首先对图像进行预处理,依次实现手部肤色分割和特征提取,并将其转化为数组格式以便于输入机器学习模型进行训练。图 1 基于 SVM 的手势识别算法流程示意图 1)基于混合颜色空间的肤色检测。传统的肤色检测技术有高斯混合模型、颜色直方图和阈值设置等。在 RGB 颜色空间中,没有针对亮度的参数,对不同光照环境下的颜色图像分割效果有限10。通过对比 YCbCr 颜色空间中的亮度与色度信息,可以有效排除亮度信息的干扰,获得较好的肤色聚类效果。因此,本实验采用设定阈值的 RG

12、B 与YCbCr 混合颜色空间分割算法实现稳定的肤色分割。RGB 颜色空间到 YCbCr 空间转化的公式为:00.2990.5870.114Cb1280.1690.3310.500Cr1280.5000.4190.081Y (1)混合颜色空间分割算法的阈值设置为19:(51270)(57120)Cr(135,180)Cb(85,135)80RGRBGBRGBGBRGBY(2)2)特征提取。采用Canny算子进行手部轮廓特征提取。并利用膨胀运算对提取的手部轮廓进行增强。待处理图像 A 经结构元素 B 膨胀的结果为:|xABx BA (3)其中,|xBxb bB表示结构元素平移 x 后的点的集合,

13、b 为 B 的锚点的坐标,表示空集。具体运算分为两步,首先求结构元素 B 关于锚点的反射集合 Bx,然后将 Bx在目标图像 A 上移动,即若 Bx与 A 至少有一个元素互相重合,则将锚点处像素置为1,否则置为0。数学表达式为20:(,):element(,)0dst(,)maxsrc(,)x yx yx yxx yy (4)3)格式化数据。将图像数据转化为numpy数组后,需要将3通道图像数据进行维数压缩,使之适应SVM分类器的输入数据规格。具体方法如下。首先,在进行jpg图像数据格式读入时分别提取RGB三个通道的信息,将其转化为npy文件后,格式为三维数组。以SVM模型数据为例,全部149张

14、图像的数组格式为149,(80,80,3),按照分类器的输入标准,应将三维数组展开为二维数组,即(149,19200)。然后,根据输入数据的顺序生成标签numpy数组。具体方法为:令图像为x149,将B、D、E、P、Y五个类别,分别用int数值1、2、3、4、5表示,生成存储149个类别标签值的输出数据y149。在CNN模型中,上述两个步骤可使用keras库进行批量处理,只需将对应类别的图像数据储存在训练集及验证集路径中,并将文件夹命名为类名,代码即可自动检索类别及各类别样本数据,并提取类别标签。至此,预处理完成,转入分类器训练与测试。1.2 分类器的优化方法 1)SVM优化。SVM分类器的表

15、达式为:211min|.()121,nTiiiiiwCst y w xbin,(5)其中,w 是超平面参数,为向量。惩罚系数 C 与松弛变量i的引入使得调节分类器准确性与鲁棒性之间 白 煜,等:基于机器视觉的静态手势识别实验设计 189 的平衡成为可能。2)CNN调参及优化。本实验采用的CNN模型为VGG16,其全连接层扮演着分类器的角色,在实际操作中可参考常规设计思路对全连接层进行调试与优化,从而提升卷积层与池化层提取信息的能力和特征分类的效果。2 仿真实验设计与算法测试 本实验采用的编程语言是Python3.6,开发环境是PyCharm Community 2020.3。2.1 仿真实验设

16、计 1)数据集与库。使用美国手语手势语开源数据集,选取了20类手势语图像用于手势识别算法的搭建与测试。实验使用的python库有h5py 2.8.0、imageio 2.9.0、keras 2.3.1、numpy 1.15.0、opencv 3.4.2、pandas 1.0.5、scikit-image 0.23.2、scikit-learn 0.23.2、tensorflow 1.4.0等。2)图像预处理。对于本文第1节提到的方案一。首先通过OpenCV读入图像,然后按照1.1节的方法进行图像预处理,效果如图2所示。图 2 图像预处理效果对比图 图2(a)为拍摄的原图,(b)为肤色分割效果。

17、分割算法能够有效排除背景干扰,提取出由混合色彩空间决定的手部区域,且保持较为完整的边缘。(c)为边缘检测算法效果,手部形状及反映手指关系的轮廓细节被有效提取出来。(d)为基于图像形态学的膨胀运算效果。膨胀算法加粗了手部轮廓线条,保留了各处细节,有效增强了手部轮廓的特征。依据上述方法,可得五类手势的预处理结果如 图3所示。图 3 五类手势的预处理结果 如本文第1节所述,方案二是直接将机器视觉采集到的图像输入到CNN中,而不需要图1中的预处理过程(见图4)。图 4 输入 CNN 的五类手势图像 这五类手势图像分别表示字母B、D、E、P、Y,每类手势图片数据量分别为28、32、28、20、31。预处

18、理后,图像的手势特征较为明显,压缩不会损伤特征。为提高训练速度,分别将方案一和方案二的训练图像压缩至8 080和224 224像素。2.2 定义分类器模型 1)定义SVM模型。SVM模型输入数据集的分割和乱序由sklearn库中的现有函数完成,其中总样本的70%被设置为训练集,30%被设置为测试集,随机度为109。实验中,将SVM作为数据集的基线进行参考。经验证,特征提取结果线性可分。因此将SVM的核函数设置为线性。设置SVM的正则常量为1.0,停止训练(判为收敛)的默认公差为0.001,每个类别的权重自动调节为样本数所占比例的反比。2)定义CNN模型。采用keras库的VGG16作为本实验的

19、CNN模型。输入数据前,在ImageNet数据集进行预训练。大型神经网络的训练过程占用内存多且耗时,因此预训练VGG16网络时,数据只通过卷积层与池化层,而不通过全连接层,在其bottleneck feature处提取特征权重值,用于本实验实际使用的小型神经网络微调。然后,将预训练所得特征值导入训练集,利用keras sequential序贯模型,将输入层一维化,再通过三个LeakyRelu作为激活函数,对维度分别为100、50、5(输出分类数)的全连接层进行分类,在三个全连接层添加dropout层进行正则化,比例分别为50%和30%,即每次随机丢弃50%和30%的节点来避免过拟合。实验模型中

20、的epoch设置为7,初始batch_size设置为50,并根据训练进行自动优化。在CNN模型训练中,应将5%10%的数据设置为验证组。由于本实验数据集的总数较小(每类20至30个样本),因此各取2个样本用于交叉验证。2.3 程序结构介绍 本节将介绍实验中代码的整体构架。1)SVM分类器的预处理及训练。SVM程序中的函数较为复杂,各函数之间的关系190 实 验 技 术 与 管 理 及功能如表1所示。表 1 实现 SVM 所涉及的函数 功能 函数及其说明 图像预处理 通过 imgMass 调用 imgPrep 函数,对图片进行肤色分割、边缘检测、特征线条膨胀、尺寸压缩。图片转为numpy 数组

21、通过 npMass 文件将图像信息储存在 numpy 数组中。将三维数组展开至二维,便于 SVM 训练。数据整合 通过 alignData 将所有类的特征文件整合为一个输入文件,并创建一个输出文件,按顺序存储每个类对应的类别值。SVM 训练 在 SVM 中,使用 sklearn 库的 SVM 模型进行训练。需要时可以调整不同参数。2)CNN分类器的预处理及训练。CNN分类器的代码实现由数据处理dataPrep及cnnModel分类器完成。具体操作流程如下。首先,在数据处理函数中定义图像像素格式,分别导入训练集、测试集和验证集数据,设置预训练模型参数,导入VGG16模型。在dataPrep中分别

22、令训练集和验证集在VGG16深度神经网络上进行预训练,其中 keras 库可以自动对样本类型、数据量进行分类及检测,只需在导入数据时将不同分类储存在对应的文件夹中即可。再将训练集和验证集的预训练特征值储存在bottleneck Numpy数组中。然后,在本地CNN分类器中进行训练,同样先定义图像像素格式,导入训练集、测试集和验证集数据,设置分类器模型参数,对样本类型标签、数据量进行分类及检测,设置分类器全连接层数及dropout参数,导入预训练结果,进行训练,将训练好的参数储存在本地。再对训练结果进行可视化,并进行随机图像的分类测试。3 实验结果分析与讨论 3.1 分类器结果分析参数介绍 通过

23、比较测试集预测结果及实际结果,可定义四个变量:TP、FP、TN、FN,其表述如表2所示。表 2 分类器结果分析参数定义 变量 状态 Positive Negative True TP TN False FP FN 准确率为全部待识别样本中识别正确的比例:TPTNTPTNFPFNACC(6)精度为正的样本中确定为正的比例:TPTPFPP (7)召回率为所有正类别的样本中被正确识别的比例:TPTPFNR (8)本实验的结果分析中,使用加权平均函数对多分类结果的准确率、精度和召回率进行分析。3.2 SVM 训练结果 经学习,SVM模型在训练集中准确度为97.9%;在测试集中准确度为90.5%,精度为

24、91.2%,召回率为90.5%,五折交叉验证的平均准确性为92%,其混淆矩阵进行可视化后,如图5所示。图 5 SVM 分类器验证集预测结果混淆矩阵 混淆矩阵中,纵轴表示样本的实际标签,横轴表示样本的预测标签,对角线上的数字表示分类器正确分类的样本量。如果分类无误,则其他位置都应为零。图中第三行第一列为1,表示有一个实际标签为E的样本被错误分类为B,其余非0位置的含义以此类推。由图5可见,P与Y类样本分类准确,B、D、E三类分别有12个错误分类。对交叉验证结果进行可视化分析,有助于为代码的进一步优化提供思路。3.3 CNN 训练结果 CNN分类器在每次批运算后,计算损失和准确性,并返回运算时间等

25、信息。CNN在训练集中准确度为100%,在验证集中准确度为95%,其训练组及验证组准确率与训练次数的关系如图6所示。图 6 CNN 分类器训练组与验证组准确性分析 白 煜,等:基于机器视觉的静态手势识别实验设计 191 图7所示为目标函数随训练次数增加达到收敛的过程。显然6次epoch是一个较为合适的参数选择,损失函数随着训练次数的增多逐渐下降,并趋于收敛。图 7 CNN 分类器训练与验证集准确性分析 3.4 SVM 与 CNN 分类器性能对比 由训练结果可知,经过有效的特征提取,在样本量较小的情况下,SVM分类器可达到良好的分类效果。CNN分类器采纳了VGG16模型的预训练特征提取结果,在手

26、势分类上也达到了十分可观的准确性。针对本实验数据集,基于机器视觉的特征提取算法可以有效地提取特征,且SVM与CNN分类器均可达到较好的分类结果。针对本实验数据集的样本体量,SVM分类器体现出轻便高效的特点;针对更大样本量的手势分类问题,基于深度神经网络模型的CNN分类器更具潜力。4 哑语手势识别系统 为了完善实验项目,调动学生的学习积极性,本文将所设计的手势识别算法和仿真实验应用于哑语手势识别,并利用python GUI库中的Tkinter模块开发了哑语手势识别系统,该系统界面如图8所示。图 8 手势识别系统界面和识别结果显示 点击“开始”,选择本地照片后,算法对手势图片进行识别,显示所选图片

27、和识别结果。点击“返回”,可以继续选择手势照片或者退出手势识别系统。5 结语 本文通过机器视觉、机器学习两个领域的算法架构,设计了基于机器视觉的手势识别实验。在分类器方面,分别采用了支持向量机和卷积神经网络模型。其中,支持向量机的数据预处理采用了基于手势表观特征的手型分割及特征提取方案,将手势轮廓作为特征值输入支持向量机中进行学习;卷积神经网络则采用了在大规模数据集上训练好的深度神经网络模型进行预训练,来获得手势的特征值并实现分类。此外,本文详细介绍了基于Python语言的算法实现方式,开发了图形显示界面。这两部分内容与手势识别算法结合,形成了一个完整的面向本科生的机器视觉实践教学项目。通过该

28、项目的锻炼,可提高本科生参与各类竞赛和大学生创新实践活动的能力。参考文献(References)1 吴振宇,吴冀平,蔡天驰,等.手势识别实验平台设计J.实验室研究与探索,2019,38(4):165168.2 马学条,陈龙,程知群.手势识别车载人机交互系统虚实结合实验教学项目研究与实践J.实验技术与管理,2019,36(10):183186,210.3 吴常铖,曹青青,费飞,等.基于数据手套和神经网络的数字手势识别方法J.东南大学学报(自然科学版),2020,50(3):563569.4 龚茜茹,俞惠芳.基于体感控制耦合深度相机的手势识别算法J.光学技术,2022,48(3):341349.5

29、 JIANG X,SATAPATHY,S C,YANG L.et al.A survey on artificial intelligence in chinese sign language recognitionJ.Arabian Journal for Science and Engineering,2020,45(prepublish):136.6 韩崇,韩磊,孙力娟,等.基于时空压缩特征表示学习的毫米波雷达手势识别算法J.电子与信息学报,2022,44(4):12741283.7 梅武松,陈科仲,李忠新.某小型地面无人作战平台控制手势 识 别 方 法 研 究 J.南 京 理 工 大

30、学 学 报,2022,46(3):262269.8 王鑫,陈成凯,陈梓威,等.基于 FDC2214 单通道阈值分析的手势识别系统J.实验技术与管理,2020,37(6):112115,178.9 张晓俊,李长勇.基于深度学习多特征融合的手势分割识别算法J.济南大学学报(自然科学版),2022,36(3):286291.10 张钰,徐伟斌,陆敬微,等.去除冗余背景的手势连续轮廓提取算法与实验J.实验室研究与探索,2017,36(10):812,99.11 李浩,杨森林,张晓丽.基于机器视觉的火车驾驶员动态手势识别方法J.传感器与微系统,2021,40(2):3437,43.(下转第198页)19

31、8 实 验 技 术 与 管 理 学系统各个单元的构成以及结构健康监测原理,并通过典型实验示例说明了该实验教学的一般过程,同时给出了结合该实验教学系统可进行的拓展性实验教学内容及研究方向。近三年的教学实践结果表明,该综合性实验教学系统的引入,在没有显著提升实验难度的情况下增强了教学实验的可设计性及创新探索性,有效提升了学生的主观能动性及学习兴趣,极大促进了学生对振动力学基本知识、振动测试基本原理的理解,培养了学生利用已学知识处理相关工程问题的科学研究能力。参考文献(References)1 龙驭球,崔京浩,袁驷,等.力学筑梦中国J.工程力学,2018,35(1):154.2 马宏伟,张伟伟.新工

32、科力学课程体系的几点思考J.高等工程教育研究,2018(3):612.3 孙侠生.飞机结构强度新技术M.北京:航空工业出版社,2017.4 郭宁,王乐,曹善成,等.基于固有频率向量的结构健康监测实验教学设计J.实验技术与管理,2022,39(5):134137.5 董桂伟,赵国群,王桂龙,等.科研成果转化为实验教学资源的探索J.实验技术与管理,2019,36(4):114117,124.6 周一恒,严家明,吴新忠,等.融合科研成果的综合创新实验教学探讨J.实验技术与管理,2020,37(11):230234.7 沈利荣,沈蓉,李小平,等.将科研成果向本科生实验教学转换的具体实践J.实验技术与管

33、理,2020,37(12):199204.8 WANG L,YANG Z C,WATERS T P.Structural damage detection using cross correlation functions of vibration responseJ.Journal of Sound and Vibration,2010,329(24):50705086.9 WANG L,GUO N,YANG Z C.Boundary condition identification of tapered beam with flexible supports using static fl

34、exibility measurementsJ.Mechanical Systems and Signal Processing,2016(75):138154.10 王慧,王乐,田润泽.基于时域响应相关性分析及数据融合的结构损伤检测研究J.工程力学,2020,37(9):3037,111.11 王慧,郭晨林,王乐,等.基于内积矩阵及深度学习的结构健康监测研究J.工程力学,2022,39(2):1422,75.12 GOODFELLOW I,BENGIO Y,COURVILLE A.Deep LearningM.USA:The MIT Press,2016:452477.13 丁建立,邹云开,

35、王静,等.基于深度学习的 ADS-B 异常数据检测模型J.航空学报,2019,40(12):167177.14 韩小雷,冯润平,季静,等.基于深度学习的 RC 梁集中塑性铰模型参数研究J.工程力学,2021,38(11):160169.15 ZHAO R,YAN R Q,CHEN Z H,et al.Deep learning and its applications to machine health monitoringJ.Mechanical Systems and Signal Processing,2019,115(1):213237.16 CHA Y J,CHOI W,BYKZTR

36、K O.Deep learning-based crack damage detection using convolutional neural networksJ.Computer-Aided Civil and Infrastructure Engineering,2017,32(5):361378.17 张敏照,王乐,田鑫海.基于内积矩阵及卷积自编码器的螺栓松动状态监测J.工程力学,2022,39(12):222231.18 王慧,王乐,田鑫海.基于相关函数矩阵及卷积神经网络的结构健康监测研究J/OL.工程力学:1-12(20221025)2023 0118.http:/ 田鑫海,王乐

37、.基于增强内积矩阵的 PMI 泡沫夹层结构损伤检测J/OL.工程力学:1-13(20221025)20230118.http:/ 杨强,张宇,戴文渊,等.迁移学习M.庄福振,等译.北京:机械工业出版社,2020.(编辑:张文杰)(上接第 191 页)12 李光,王长元,薛鹏翔.基于手部关键点和肤色的手势识别J.计算机系统应用,2021,30(1):180185.13 EMGULYS J,RAUDONIS V,MASKELINAS,R.et al.Recognition of basketball referee signals from videos using Histogram of Or

38、iented Gradients(HOG)and Support Vector Machine(SVM)J.Procedia Computer Science,2018(130):953960.14 鹿智,秦世引,李连伟,等.智能人机交互中第一视角手势表达的一次性学习分类识别J.自动化学报,2021,47(6):12841301.15 易靖国,程江华,库锡树.视觉手势识别综述J.计算机科学,2016,43(增刊 1):103108.16 李为斌,刘佳.基于视觉的动态手势识别概述J.计算机应用与软件,2020,37(3):190197,208.17 孙进,张道周,张洋,等.基于双通道空洞卷积神经

39、网络的手势识别J.传感器与微系统,2022,41(3):126128.18 张淑军,张群,李辉.基于深度学习的手语识别综述J.电子与信息学报,2020,42(4):10211032.19 HSU R L,ABDELMOTTALEB M,JAIN A K.Face detection in color imagesJ.IEEE Transactions on Pattern Analysis&Machine Intelligence,2002,1(5):696706.20 SOILLE P.Morphological image analysis:Principles and applicationsM.Berlin:Springer Press,2003.(编辑:张文杰)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服