温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
视觉
手指语
识别
系统
设计
韩团军
实 验 技 术 与 管 理 第 40 卷 第 4 期 2023 年 4 月 Experimental Technology and Management Vol.40 No.4 Apr.2023 收稿日期:2022-10-19 基金项目:国家自然科学基金项目(61972239,61772398);陕西省重点研发计划项目(2019SF-257);陕西省科技厅计划研究项目(2022GY-122);陕西理工大学 2021 年科研基金项目(SLGKY-2118)作者简介:韩团军(1981),男,陕西乾县,讲师,硕士,研究方向为集成电路设计与分析,。引文格式:韩团军,马晨,王战备,等.基于视觉的手指语识别系统设计J.实验技术与管理,2023,40(4):119-124.Cite this article:HAN T J,MA C,WANG Z B,et al.Design of finger language recognition system based on visionJ.Experimental Technology and Management,2023,40(4):119-124.(in Chinese)ISSN 1002-4956 CN11-2034/T DOI:10.16791/ki.sjg.2023.04.017 基于视觉的手指语识别系统设计 韩团军,马 晨,王战备,尹继武(陕西理工大学 物理与电信工程学院,陕西 汉中 723000)摘 要:针对传统手指语识别系统识别速度慢、准确率低、运算量大等问题,提出一种基于 MediaPipe 框架与支持向量机(SVM)的轻量级手指语识别系统。该系统通过 MediaPipe 提取手指语图像关节特征点,使用支持向量机(SVM)中的径向基核函数(RBF)对提取的特征进行分类,以一对一的方法将基本的二分类 SVM转变为多类 SVM,从而实现手语识别目的。该文还用准确度、精度、召回率和 F 分数等指标对该系统的性能进行了评价。关键词:MediaPipe;支持向量机;手指语识别;机器视觉 中图分类号:TP37;TJ0 文献标识码:A 文章编号:1002-4956(2023)04-0119-06 Design of finger language recognition system based on vision HAN Tuanjun,MA Chen,WANG Zhanbei,YIN Jiwu(School of Physics and Telecommunication Engineering,Shaanxi University of Technology,Hanzhong 723000,China)Abstract:Aiming at the problems of traditional finger language recognition system such as slow recognition speed,low accuracy and large amount of computation,a lightweight finger language recognition method based on MediaPipe framework and support vector machine(SVM)is proposed.The system extracts the joint feature points of finger language image through MediaPipe,classifies the extracted features using radial basis function(RBF)in support vector machine(SVM),and converts the basic two-class SVM into multi-class SVM by one-to-one method,thus realizing the purpose of sign language recognition.The proposed system performance is measured by accuracy,precision,recall rate and F score.Key words:MediaPipe;support vector machine;finger language recognition;machine vision 随着计算机技术和人工智能技术的发展,智能人机交互系统已成为人们生活中的重要组成部分,而手指语识别这一智能人机交互领域的核心问题,得到了科研人员的广泛关注。手指语识别就是利用计算机技术对聋哑人日常交流用的手指语进行识别,并将手指语转换为正常人更易理解的语音和文本。传统的手指语识别系统主要依赖传感器、深度相机等外部设备,这就限制了许多解决方案在不同环境中的适用性1-4。近年来,随着深度学习方法在计算机视觉任务上的成功,研究焦点转为由深度学习技术驱动的纯粹基于视觉的符号识别方法。该方法是非侵入性的,只需要一个摄像头生成输入,但这一基于深度学习的解决方案由于缺乏适合机器学习的大规模公共手语数据库,致使区分类间相似性的能力减弱以及对手指或手的自聚焦的敏感性增加,且许多解决方案还不够轻量级,无法在商用移动设备上实时运行,只能在配备强大处理器的平台上运行4-8。本文提出的基于视觉的手指语识别系统,使用 NVIDIA JETSON NANO 为设计平台,内置 Ubuntu 18.04系统,以开源计算机视觉库 OpenCV为基础,通过 MediaPipe 框架和支持向量机(SVM)120 实 验 技 术 与 管 理 分类器对中国手指语字母图像进行识别和实时转录,弥补了传统手势识别方法识别效率低、鲁棒性差的缺点,能够辅助聋人与正常人更好地交流。1 系统架构 整个系统集成了图像采集与特征检测、数据生成及手势识别三个阶段。在第一阶段,建立了手指语数据库,通过网络摄像头采集样本,将所获取的图片输入到 MediaPipe 框架,生成 21 个三维坐标,并以 CSV格式保存。在第二阶段,有时因为图像模糊等原因,检测器无法检测到手,导致数据集中的条目为空,应将这些点清除掉,否则在制作预测模型时会产生偏差。在去除不需要的数据后,将 x 和 y 坐标规范化以适应本系统。然后准备数据文件,将其分解为训练集和验证集。其中 80%的数据为训练集,用于优化和损失函数训练模型,20%的数据为验证集,用于验证模型。第三阶段的手势识别是将从第二阶段提取出的手部特征向量输入到分类器中进行训练,利用训练好的分类器实现手势预测,并评估其性能。系统框架如图 1所示。图 1 手指语识别系统框架 2 特征提取 特征提取的目的是用来识别汉语手指字母。在包含 X、Y 和 Z 轴值的 3D 空间中,获得的关节坐标数为21 个,这些坐标将用于提取新特征。如果一只手在相机或图像的右边缘,即使它与左边缘的手有相同的特征,坐标保持原样,但输出也会显示为一个不同的值。因此,我们需要提取出不受屏幕上位置影响的特征。此外,汉语手指语中有一些标志具有相似的手形,只根据倾斜程度表示不同的字符,因此在设计中,我们需要从初始坐标点中提取基于距离的特征和基于角度的特征。2.1 手势姿态估计 通过 MediaPipe Hands API,从网络摄像头和 RGB图像中估计每个关节的坐标。API 生成的输出由 21 个点组成,每个点都有 3D(X,Y,Z)坐标。输入图像、估计的关节点和关节点的顺序,如图 2 所示。图 2 手势关节估计 2.2 基于距离的特征 为了提取不受屏幕位置影响的特征,首先计算 21个坐标之间的距离。两个关节点 i 和 j 之间的距离可由下式求得:222()()()ijijijijdxxyyzz=-+-+-(1)韩团军,等:基于视觉的手指语识别系统设计 121 例如,测量第 6 和第 9 关节点之间的距离,如图 3 所示。相邻关节之间的距离不用考虑,因为相邻关节是由骨骼连接的关节,其相对位置总是由骨骼固定的,即使手的形状发生变化,相邻关节之间的距离也不会发生变化9-14。因此,相邻关节之间的距离不会对分类产生任何影响。排除相邻关节,每幅图像可以得到190 个特征点。图 3 基于距离特征的示意图 虽然利用关节之间的距离,解决了位置问题,但物体的尺寸问题仍然存在。被识别的物体越大,各个关节之间的距离就越大,物体越小,各个关节之间的距离就越小。我们通过对得到的距离值进行标准化处理来解决这个问题。为了对数据进行标准化,采用了 Z-Score,将不同量级的数据统一转化为同一个量级,即统一用计算出的 Z-Score 值来衡量,以保证数据之间的可比性。对于所采集的数据,可以借助下式进行 Z-Score 标准化处理:meanstddatadata znormalizationdata-=(2)2.3 基于角度的特征 角度特征值是通过手的倾斜程度,通过计算每个 关节坐标之间的方向向量以及每个向量从 X、Y 和 Z轴方向倾斜的程度来获取的。如图 4 所示,通过连接第 5 和第 10 个关节点,创建一个矢量a?,计算矢量与坐标(),x y z?的夹角15-16。需要估计的关节数为 21 个,因此可以创建 210 个向量,每个向量可以计算出 3 个基于角度的特征,总计将产生 630 个角度特征点。图 4 连接第 5 和第 10 关节点创建向量 考虑具有相同形状但基于手部倾斜度不同的手指语时,该特征分类器是具有优势的。在本设计中,L和 R 就是这类字母(见本文第 4 节)。在考虑基于距离的特征时,这两个字母将产生相同的距离特征,形状是相同的,只是倾斜角度不同。由于关节之间的距离不会改变,分类器将无法根据基于距离的特征找到差异,而基于角度的特征可以解决这一问题。此外,由于角度信息不受手的大小影响,所提取的特征与之前描述的基于距离的特征相比不需要进行标准化。首先获取两点之间的方向向量,向量与轴的夹角可以使用方向向量和 X、Y 和 Z 轴方向上的向量来计算。图 5为这些角度的提取过程。所采用的计算方法是计算两个空间向量夹角的余弦值。假设向量a?=(a1,a2,a3),向量b?=(b1,b2,b3),这两 图 5 X、Y 和 Z 轴倾角示意图 122 实 验 技 术 与 管 理 个空间向量的夹角可以通过下式计算:1 12 23 3222222123123cosaba bb ba baaabbb+=+(3)以 X 轴计算倾角的方法是计算向量a?X 轴方向上的向量(1,0,0),用公式(4)表示,类似地,计算 Y轴和 Z 轴倾角的方法是计算向量b?Y 轴和 Z 轴方向的向量(0,1,0)和(0,0,1),分别用方程(5)和(6)表示:1222123cosxaaaa=+(4)2222123cosyaaaa=+(5)3222123coszaaaa=+(6)3 基于支持向量机的手势识别 本设计建立了 SVM 模型。经过训练的 SVM 模型以监督数据作为输入,根据训练数据集预测用户的手势,使用一对一的投票方式进行分类。由于数据集包含 30 种手势,所以要构造 435 个 SVM 子分类器。该算法使用预先训练的两类 SVM 分类器对新的输入特征进行分类,然后对分类结果进行投票。与样本数据均值相差较大的部分训练数据集,在使用经过训练的SVM 分类器对输入的新特征进行分类时,可能会导致评估不正确,从而可能导致交叉投票算法性能低下。另外,使用相同的训练数据集训练 435 个二分类 SVM分类器,并不能最大化不同分类器的结果性能。通过这种方式,435 个 SVM 分类器的训练数据集能够保持一定程度的差异,从而尽可能消除训练数据中野点对分类器分类性能的影响。在核函数方面选用了径向基核函数(RBF)。径向基核函数是一种对应于非线性映射的核函数,可以完成从低维空间向高维空间的映射变