当前位置:首页 期刊杂志

基于Copula贝叶斯分类器与改进YOLOv5网络的手势识别研究

时间:2024-05-18

袁帅 吕佳琪

(沈阳建筑大学 辽宁沈阳 110168)

在过去的几十年里,传统人机交互技术所使用的键盘、鼠标或者可触摸屏幕在机器控制方面已有非常广泛的应用,但是新出现的手势识别技术更加符合人体的使用习惯,因此对手势识别技术的研究具有重要意义和潜在应用价值。除此之外,手势是人类普遍使用的交流方式之一,同时又是聋哑人的主要交流方式,因此,手势识别方面的研究将可能给人机交互和人与人之间的交互方式带来重大变革[1]。手势识别技术因其特有的优势已在许多领域获得广泛应用,例如:(1)在人机交互领域,以手势特征作为控制信号的方式相较于传统以按键触屏进行控制的方式来说更加富有交互体验;(2)在智能家居领域,用户可通过手势实现对智能设备相应功能的控制,从而使控制过程更加自然简单;(3)在身体语言分析领域中,通过手势识别可以更加准确地识别和理解人们的意图和情感,进而为人们提供更好的交互体验。除此之外,手势识别在智能驾驶、网络直播、安防监控等领域也有广泛的应用。

YOLOv5(You Only Look Once version 5)是一种用于目标检测的深度学习算法,由美国加州大学伯克利分校的研究人员Alexey Bochkovskiy 和团队开发,核心思想是将输入的图像分为一个个小的方格,对每个方格同时预测出目标的位置、类别和置信度等信息。YOLOv5 在目标检测领域广受欢迎,但仍存在对手势特征不敏感问题。

针对目标检测网络对手势特征不敏感和传统的朴素贝叶斯分类器的分类精度缺失问题,本文提出了一种新型改进YOLOv5网络和Copula贝叶斯分类器手势识别算法。该算法包含预处理、手势检测和手势分类3个主要步骤,预处理主要有图片统一大小、转化成灰度图、图片归一化3 个部分;手势检测利用改进YOLOv5 网络训练出的检测模型实现;手势分类采用了Copula 贝叶斯分类器手势识别算法。实验结果表明:本文提出的算法通过改进现有框架,进一步提高了手势识别分类精度和速度,具有一定实际价值。

1 相关工作

1.1 YOLOv5网络

YOLOv5目标检测网络包含一系列网络模型,包括YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x、YOLOv5x+TTA等不同版本。总体上说,YOLOv5是YOLOv4的改进加强版,通过对细节进一步优化,从而具有更好的检测精度和速度。YOLOv5网络结构[2]主要包含输入端、Backbone、Neck和输出端4个部分。其中,输入端的拼接方式采用随机缩放、排布、缩减,可以提高对小目标检测精度;Backbone 部分采用了Focus 结构,且包含切片操作;Neck部分采用CSPNet中的CSP2结构,增强了特征融合能力;输出端采用了Bounding box 损失函数和nms 加权方式,可对多目标进行筛选和非极大值抑制。

1.2 卷积注意力机制模块

卷积注意力机制模块[3,4](Convolutional Block Attention Module,CBAM)的基本思想是在卷积神经网络中引入注意力机制,以便在处理输入数据时更好地捕捉其重要的特征。CBAM 模块依次从通道和空间两个不同的维度推算注意力图,然后将得到的注意力图与输入特征图相乘,以此进行自适应特征细化。作为一个轻量级模块,CBAM可以很方便地集成到卷积神经网络中实现端到端训练。此外,CBAM还具有参数少、速度快和效果好等特点,含有CBAM的特征层可以捕捉到简单的边缘、形状等,进而获取更复杂的语义表示。

本文将CBAM 模块添加到YOLOv5 结构中,它可以将输入手势图片中的手势特征进行加权,从而突出目标物体与背景的差异。

1.3 朴素贝叶斯分类器

经YOLOv5实现手势检测后,为实现手势识别,还需要引入一种图片分类算法。贝叶斯分类器是一种简单快速且可解释性强的多分类算法,较为适合本研究中的场景,因此,本研究选取该算法实现图片分类。

贝叶斯定理的基本思想是在已知某些先验信息的基础上,通过新的观测数据来更新对于某个事件发生概率的估计,其数学表达如式(1)所示。

假设各属性Xk(k=1,2,…,n)之间相互独立,那么该事件各属性发生概率和数学表达如式(2)所示。

由于分母的P(X)对各属性间概率相同,因此根据贝叶斯定理形成的朴素贝叶斯分类器[5],只需要比较哪个属性的分子属性概率最大,就是该目标特征的属性,朴素贝叶斯分类器的判别准则的数学表达如式(4)所示。

1.4 Copula模型

传统贝叶斯分类器依赖于属性间相互独立的假设,这在实际应用中难以得到保证,因而本文在此基础上采用一种属性间关系描述利用Copula理论方法构造类条件概率密度函数的方法。

基于Copula理论改进的朴素贝叶斯分类器构造的类条件概率密度函数,可以刻画各属性间的相关性。Copula贝叶斯分类器在一定程度上改善了朴素贝叶斯分类器因属性间相互独立的假设而产生的分类精度缺失问题[6]。

Copula 理论的核心概念是:随机变量X的联合概率密度函数可以使用边缘概率密度函数和与此相关的Copula密度函数的乘积来表示,其数学公式为

Pair Copula构建树是一种基于树形结构的联合概率密度估计方法,它的基本思想是将多维变量的联合概率密度函数分解为一系列边缘分布和条件分布函数的乘积形式。假设概率密度函数为fn(x),其核密度估计如式(6)所示。

2 改进YOLOv5手势识别算法

2.1 Attention-YOLOv5网络结构

YOLOv5 在手势识别中应用广泛,但其对易混淆信息的抑制能力不够,无法选择性地关注到更有用的目标对象。因此,本文在YOLOv5 中插入CBAM 模块,得到的Attention-YOLOv5网络结构如图1(a)所示。由此可以看出,在经典YOLOv5 基本结构的Backbone 与Neck部分之间,本文添加了多个CBAM模块,从而使网络更关注手势特征部分。

图1 结构图与检测结果

2.2 基于CBAM改进的YOLOv5网络

本文采取融合注意力模块CBAM的改进方式去实现手势特征向量筛选加权,在YOLOv5目标检测网络中添加CBAM 模块的具体步骤如下:(1)首先修改YOLOv5s的配置文件,将C3模块修改为添加注意力机制后的模块CBAMC3;(2)然后在原来的YOLOv5 网络结构中添加CBAMC3 模块;(3)在改进的YOLOv5 网络程序中添加额外的判断语句,得到修改后的CBAMC3模块。

添加该模块后,本文在模型训练时调用了修改后的YOLOv5配置文件,去验证注意力机制在YOLOv5模型上的有效性。

2.3 基于Copula改进的贝叶斯分类器

Copula 贝叶斯分类器的主要思想是:属性间的联合概率密度函数可以表示为Pair Copula函数和对应边缘概率密度函数的乘积。改进分类器的具体实现方法是:首先计算相关系数矩阵,然后构建Copula 模型,再利用极大似然估计进行参数估计,最后根据贝叶斯原理样本类别属于后验概率最大的类别。

3 实验分析

3.1 手势图像数据集和标签

3.1.1 数据集制作

数据集制作主要是将包含自建数据和标准数据集的手势图片放在特定文件夹中。其中,手势识别标准数据集为HaGRID(Hand Gesture Recognition Image Dataset),包含18类手势共计552 992个样本,因该数据集过于庞大,本文选取手势0~5这6组数据中的部分图片作为标准数据集,与自建数据集混合进行后续模型训练。

3.1.2 标签制作

首先对数据集进行手势区域人工标注,再将标注后的图片放到指定的文件夹中,用于后续的训练。

3.1.3 模型训练

在确定好训练数据集的相关路径之后,修改模型配置文件的相关参数,并使用预训练模型中的权重作为训练权重。在经过50 个epoch 后,选取训练结果最好的权重进行保存。

3.1.4 图片检测

修改测试利用的权重路径为训练时得到的最好权重路径,并输入测试的手势图片数据集,手势检测的结果示意图见图1(b)。

3.2 实验结果与分析

针对YOLOv5手势识别目标检测网络存在的识别偏差问题,本文提出了Attention-YOLOv5算法。该算法将CBAM添加到YOLOv5结构中,通过对输入的手势图像中手势目标进行加权,从而突出了手势目标与背景的差异。图片检测实验结果如表1所示,从表中数据可以看出:相比于改进前的YOLOv5网络,Attention-YOLOv5目标检测网络精确度提升3.0%,平均精度提升3.2%,召回率提升5.9%。图片分类的结果如表2所示,从表中数据可以看出:Copula贝叶斯分类器分类结果相比于朴素贝叶斯分类器在不同手势的准确率上均有显著提升。

表1 YOLOv5算法改进前后性能对比(单位:%)

表2 改进前后贝叶斯分类器分类准确率对比(单位:%)

4 结语

本文提出的Attention-YOLOv5 算法,将注意力机制网络模块融合到YOLOv5结构中,提高了YOLOv5目标检测手势识别网络的识别准确率和召回率。此外,本文提出的Copula 贝叶斯分类器,通过刻画随机变量间复杂的相关性,解决了朴素贝叶斯分类器必须依赖于随机变量间相互独立的问题,并且在实验中取得了比朴素贝叶斯分类器更高的分类准确率。今后相关研究还应关注复杂背景、复杂光照和多目标同时存在情况下的手势识别,以使手势识别算法可以具有更好的鲁棒性。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!