改进YOLOv5s的手语识别算法研究

2022-08-19 08:27邢晋超潘广贞
计算机工程与应用 2022年16期
关键词:手语注意力聚类

邢晋超,潘广贞

中北大学 软件学院,太原 030000

在如今飞速发展的时代,文法手语(简称手语)是听障人士与他人交流和获取外界信息的主要途径,也是帮助他们融入社会的重要工具。听力障碍者在全世界残疾人群体中占有较大的比重,随着人们对特殊群体的深入了解,对手语的关注也更为广泛[1]。但是,当健全人士与听障人士进行信息交互时,健全人士会遇到无法读懂手语的巨大障碍,因此手语识别(sign language recognition,SLR)研究在听障人士与健全人士的交流之中占据着非常重要的地位。

手语识别是指利用算法和技术来识别所产生的手势序列,并以文本或语音的形式阐述其意义。目前,国内外主流的手语识别方法依据使用的媒介不同可分为:基于传感器的方法和基于计算机视觉的方法。

第一种是基于传感器的方法。传感器包括数据手套、臂环、智能手表等。Wen等[2]提出了一个基于摩擦电智能手套的手语识别方法,共配置了15 个摩擦电传感器,将智能手套收集到的句子利用分割法分为单词单元,识别通过单词单元重组创建的新的句子,平均正确率达到86.67%。Li 等[3]利用隐马尔可夫模型技术提出了一种过渡信息建模的SLR模型框架,对来自5个手势采集者利用数据手套收集获得的1 024个测试句子、510个单词的词汇量进行测试,单词的准确率达到87.4%。Ahmed等[4]提出了一种基于可穿戴感官手套的新型实时标志识别系统,该系统具有17 个传感器和65 个通道。实验中包括5名马来西亚手语(Malaysian sign language,MSL)的参与者执行的75个手势,所有这些手势都取自MSL数字,字母和单词,其中数字、字母和单词的识别精度分别为99%、96%和93.4%。虽然利用传感器进行手语识别的方法具有较高的灵活度,但是它们要求听障人士佩戴必要的感官设备,这对听障人士来说是额外的负担。

另一种是基于计算机视觉的方法。Boukdir 等[5]提出了一种基于深度学习架构的阿拉伯手语识别方法,使用2DCRNN(2D convolutional recurring neural network)模型提取具有循环网络模式的特征,以检测帧之间的关系,使用3DCNN(3D convolutional neural network)模型从视频块中学习时空特征,通过四重交叉验证技术得到的结果证明了2DCRNN的水平准确率为92%,3DCNN的水平准确率为99%。Guo等[6]提出了一种用于手语翻译的分层长短期记忆网络(long short-term memory,LSTM),该方法解决了传统的隐马尔可夫模型和联结时间分类在识别期间可能无法解决与句子中的视觉内容相对应的混乱单词顺序困难。Necati等[7]提出了一个端到端的手语转换器,通过CTC(connectionist temporal classification)将识别和翻译问题绑定到一个统一的体系结构中实现,这种联合方法不需要时间信息,解决了两个相互依赖的序列学习问题,在PHOENIX14T 数据集上有着优越的表现。Zhang等人[8]构建了一种基于全局-局部特征描述的手语识别框架,提出了具有注意层的三维残差全局网络模型和基于目标检测的局部网络模型。通过SLR_Dataset 和DEVSIGN_Dataset 两个数据集的实验表明,该方法能够获得较高的准确率(分别为89.2%、91.0%)和较好的泛化性能。基于计算机视觉的手语识别,在保证准确率的情况下,交互方式简单,设备依赖性较低,适合在现实生活中应用。

YOLO(you only look once)系列算法具有比较简洁的结构,计算处理速度快,但是在最新的YOLOv5中,对整个特征图中的每个区域会进行相同的处理,并考虑每个区域对最终检测具有相同的贡献。然而,在实际应用中,对象周围往往存在复杂而丰富的上下文信息,网络应该重点学习关键信息,忽视不重要的背景信息,而不是一视同仁。并且在现实生活中由于内存以及计算机资源的限制,将常规的网络模型部署到移动设备是件非常困难的事,在优化网络时,也需要考虑网络规模的大小。

本文将在YOLOv5s 算法的基础上进行改进,对手语图像进行处理,首先使用K-means++算法提高先验锚盒的尺寸匹配度,之后将改进后的CBAM(convolution block attention module)注意力机制加入到骨干网络中,增强特征空间信息以及通道信息之间的关系,以提高手语识别的准确率。最后将Cross Entropy Loss 和Lovasz-Softmax Loss加权结合使用,使得网络在模型训练过程中收敛得更加稳定,以便更好地满足实际应用需求。

1 YOLOv5算法概述

单阶段目标检测算法YOLO 系列随着近年来迭代与优化,新的YOLOv5算法已成为高性能的实施目标检测的模型之一。YOLOv5网络目前包含四种网络模型:YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x。YOLOv5s是其中网络深度和宽度最小的模型,而后三种模型是在YOLOv5s上不断深化和扩展的产品。越小的网络模型对移动端的性能要求也越低,部署起来也越方便,因此本文选择在YOLOv5s 网络模型的基础上进行改进。YOLOv5s 结构分为Input(输入端)、Backbone(骨干网络)、Neck(多尺度特征融合模块)、Prediction(预测端)四部分,其网络结构如图1所示。

图1 YOLOv5s网络结构示意图Fig.1 Network structure diagram of YOLOv5s

在输入端,YOLOv5s 首先采用Mosaic 数据增强的方式,对图片进行随机裁剪、随机缩放和随机排布,丰富了目标检测物的背景,并且在批量标准化计算时一次计算4张图片的数据,使用单个GPU就可以达到比较好的效果,增加了网络的普遍适用性[9]。其次,使用自适应锚框计算初始锚框参数,网络会根据不同的数据集自适应地计算出相对应的先验锚框值,YOLOv5s 的初始先验锚框参数为[10,13,16,30,33,23]、[30,61,62,45,59,119]、[116,90,156,198,373,326]。最后,通过自适应图片缩放将图片统一缩小或者放大到同一个尺寸。

与之前的YOLO系列网络模型相比,YOLOv5在骨干网络中增加了Focus 结构,其核心是对图片进行切片操作。之后YOLOv5 使用了和YOLOv4[10]一样的跨级部分网络(cross stage partial network,CSP)结构,但YOLOv4仅在Backbone中使用了CSP结构,而YOLOv5在Backbone和Neck中分别使用了两种不同的CSP。在Backbone中,使用带有残差结构的CSP1_X。因为Backbone网络较深,残差结构的加入使得层和层之间进行反向传播时,梯度值得到增强,有效防止网络加深时所引起的梯度消失,得到的特征粒度更细。在Neck中使用CSP2_X,相对于单纯的CBL(Conv+BN+Leaky_relu),将主干网络的输出分成了两个分支,之后将其拼接,使网络对特征的融合能力得到加强,保留了更丰富的特征信息。

多尺度特征融合是目标检测框架中的关键环节,最早的Neck 是使用上下采样块,该方法的特点是没有特征层聚合操作,如SSD(single shot multibox detector)[11],直接跟随头部后的多层次特征图。目前常用的Neck聚合块有FPN(feature pyramid networks)[12]、PAN(pyramid attention network)[13]、ASFF(adaptively spatial feature fusion)[14]、BiFPN[15]等。YOLOv5s 的Neck 使 用FPN+PAN 结构,如图2 所示,由若干个自底向上的路径和若干个自顶向下的路径组成,对提取到的特征图进行不同阶段的再处理和合理使用,以便更好地利用Backbone提取到的特征。

图2 Neck结构示意图Fig.2 Neck structure diagram

YOLOv5 预测端通常包括Bounding box 损失函数和非极大值抑制(nonmaximum suppression,NMS)。YOLOv5的Bounding box回归损失函数为GIOU_Loss,有效地解决了前期YOLO 系列无法优化边界框不相交的问题。最后,YOLOv5使用加权NMS筛选多目标框,用来处理冗余预测框的问题,提高了网络识别的准确性。

2 YOLOv5模型改进

2.1 提高先验锚框的尺寸匹配度

YOLOv5使用K-means对通用目标检测数据集COCO进行聚类,获得初始先验锚框参数。但是K-means算法是随机分配初始聚类中心,其可能会导致初始聚类中心与最佳聚类中心相差甚远,且仅适用于COCO、VOC 等开放场景数据集,而文中数据集的检测对象与其存有较大差异。因此,K-means算法并不适合文中的手语动作数据,若以原本的锚框设定进行训练,不仅影响模型收敛速度,还会导致最终的检测效果不佳。

为获取针对性的初始锚框,本文选择K-means++算法对标记的目标框架进行多维聚类,针对K-means聚类算法的缺陷,用直观有效的方法优化了K-means算法随机初始点的选取,即随机选择一个样本作为当前的初始聚类中心,然后计算每个样本和已有聚类中心之间的最短距离,并将该样本归类到与其相距最小的聚类中心所对应的类别中。同时计算出每个样本被设定为下一个聚类中心的概率,选择概率值最大的样本作为下一个中心[16],其中概率的计算公式为:

式中,D(x)表示每一个样本点到当前中心的最短距离,每次分配一个对象,会根据现有的聚类对象重新计算聚类中心,重复此过程直到没有对象被重新分配到其他的聚类中,最后筛选出K聚类中心。尽管K-means++算法中用于初始选择聚类中心的方法需要花费额外的时间,但是K均值部分本身在选取合适的聚类中心后会很快收敛,因此该算法实际上减少了计算时间,同时计算出的锚框与本文数据集中的目标匹配得更加精准,对于文中在复杂背景中的手语动作十分有效。在聚类过程中,对应于不同聚类中心数的平均交并比(intersection over union,IoU)如图3所示。

从图3中可以得出,当聚类中心的数目为0到9时,平均交并比呈快速上升趋势,而当聚类中心的数目为9到12 时,平均交并比的变化逐渐平缓。为了平衡计算精度和效率,本文最终选择了9 个聚类中心,并确定了先验锚框尺寸,如表1所示。

表1 先验锚框尺寸Table 1 Prior anchor box scales

图3 聚类中心数与平均交并比的变化曲线Fig.3 Variation curve of cluster center number and IoU

表1中获取的9 个先验锚框之间的差异性较大,将其应用到网络的不同尺度检测层中,聚类效果较好。K-means++算法降低了原始算法在初始聚类点所造成的聚类偏差,并且使初始的聚类中心之间距离尽可能地远,有效地弥补了K-means的缺陷。

2.2 增添注意力机制

对于输入的手语图像,除了手部信息外,经常会伴有复杂的背景信息,在卷积时,背景的迭代累积会形成大量冗余信息,从而淹没部分目标,导致检测准确率不高[17]。为此,本文改进了CBAM[18]注意力机制,并选择出有效的位置将其加入到YOLOv5s网络模型中进行特征融合,使模型更加精准地定位和识别感兴趣的目标。

注意力机制是通过关注输入对象的重要区域来获得更多的关键信息。CBAM 是一种简单而有效的注意力机制,其结合了通道注意和空间注意。其中,通道注意是学习不同通道的权值,并用权值对不同通道进行多重划分,以增强网络对关键通道域的注意。对于F∈RC×H×W层的特征图,其中C表示通道数,H和W表示特征映射的长度和宽度(以像素为单位),通道注意模块首先计算每个通道MC∈RC×1×1的权重,计算公式如式(2)所示。

式(2)中,FCavg和FCmax分别表示平均池化和最大池化后的特征图,σ是sigmoid激活函数。W1和W2表示两层全连接层的权重,W1∈RC/r×C,W2∈RC×C/r,r是压缩率。之后,将得到的通道注意特征图MC与原始特征图相乘并发送到空间注意力模块。空间注意关注目标在图像上的位置信息,并通过空间特征的加权选择性地聚集每个空间的空间特征。如式(3)所示,空间注意使用通道注意特征图MC与原始特征图F相乘得到的特征图FS作为输入,依次执行最大池化和平均池化,然后通过与7×7 的卷积核进行卷积得到空间注意权重图MS∈R1×H×W,如式(4)所示。

将卷积后得到的MS与FS相乘,再与原始特征图F相加。最后,将求和后的特征图通过ReLU激活函数,输出最终的特征图MF,如式(5)所示。

但是CBAM 中的通道注意为了控制模型的复杂性,使用全连接层来对通道特征的空间维度进行压缩,将通道特征投影到低维空间,然后再将其映射回来。然而,降维的过程必然会造成部分通道特征信息的缺失,对捕获所有通道之间的依赖性有副作用,无法获取复杂的手语动作的全部特征信息。因此,为了避免CBAM通过降维造成的部分通道信息的缺失,以及更有效地提高手语识别网络检测的精准率,本文改进后的CBAM注意力机制,仅保留CBAM的空间域,而舍弃其通道域的部分,选择ECA-Net(efficient channel attention)[19]作为改进后的CBAM注意力机制的通道域。

在没有降维的信道级全局平均池(global average pooling,GAP)之后,ECA-Net模块通过使用一维卷积进行通道特征聚合,考虑每个通道及其K个相邻的通道来捕获跨通道交互信息。卷积核大小K表示局部交叉通道交互的覆盖范围,即计算中涉及该通道的多少个邻居。为了避免手动调整K,使用一种方法自适应地确定其值,如式(6)所示。其中,通道数C的初始值为64,|t|odd表示t的最近奇数,γ设置为2,b设置为1。

将ECA模块应用于本文改进后CBAM注意力机制的通道域后,不同的卷积核大小对应的准确率如图4所示。分析图4 可知,当K在所有卷积块中固定时,需要人工进行不断的验证,以选取最合适的卷积核大小。针对本文的手语数据集,K=7 时网络模型检测效果最佳;而通过式(6)自适应地确定卷积核大小时,它可以避免通过交叉验证手动调整参数,直接计算出最合适的K值,充分融合了通道间的交互信息,使得网络的检测性能得到优化。改进后CBAM 注意力机制的结构如图5所示。

图4 卷积核大小与准确率的变化曲线Fig.4 Variation curve of convolution kernel size and accuracy

图5 改进的CBAM注意力机制结构示意图Fig.5 Structure diagram of improved CBAM attention mechanism

2.3 损失函数的改进

YOLOv5s网络使用交叉熵函数(Cross Entropy Loss)作为置信度和类别的损失函数。交叉熵损失函数主要用于梯度下降,但是其只关注对于正确标签预测的准确性,而没有注意到其他非正确标签的差异,从而导致学习到的特征比较零散,会造成一部分离散损失,而这部分离散的损失不能直接求导,使得损失函数无法继续优化。而Lovasz-Softmax Loss[20]中用于平滑扩展的Lovasz Extension是一个次模函数,此函数已经具有成熟的数学工具,可以将离散函数做光滑处理。因此本文对Cross Entropy Loss和Lovasz-Softmax Loss进行权重配比,从而将两个损失函数加权结合使用,以优化网络的检测性能。

首先,交叉熵作为损失函数的一部分,在梯度下降时,有效地避免了均方误差损失函数学习速率下降的问题,如式(7)所示。

之后,通过Lovasz-Softmax Loss中的Lovasz Extension对离散损失进行平滑扩展。扩展是基于集合函数的次模分析,其中次模函数的定义如式(8)所示,定义在有限集合E上,幂2E的一个实函数f,当且仅当对于E的任意两个子集X、Y满足式(8),称f是次模函数。

本文中扩展的集合函数是从一组预测失误的数据映射到真实数据的集合,对于一个真实值y*和预测值y~ ,定义类别c的错误像素集,如式(9)所示:

给定一个次模函数f:Hn→R和一个Lovasz 扩展函数,次模函数的Lovasz Extension 被定义为式(11),其中1 ≥xπ(1)≥xπ(2)≥…≥xπ(n)≥0,xπ(0)=1,xπ(n+1)=0。Lovasz-Softmax损失函数如式(12)所示,其中Fi(x)表示i类的输出分数。

由式(11)可知,此时平滑后的函数已经是连续的,能直接对误差x求导,导数也很简洁,即f(x)。并且Lovasz Extension 处理后的函数是一个凸函数,可高效实现最小化,这样就大大方便了对损失函数的优化。经过Lovasz Extension 平滑后的损失函数,将之前无法利用的离散损失加入计算,对于之前无法识别或者识别度较低的复杂手语动作十分有效,并且使得训练过程变得较为平稳,优化了模型的检测性能。但是在单独训练Lovasz-Softmax Loss的过程中,Lovasz扩展不会受到与标签匹配的样本的影响,在深层网络中,Lovasz 扩展可能没有任何梯度。而交叉熵损失函数可弥补Lovasz-Softmax Loss中可能不存在梯度的缺陷,后者又可以在前者的基础上进行平滑收敛。

最终将Cross Entropy Loss和Lovasz-Softmax Loss通过加权系数k1和k2结合使用,使得改进后的网络在模型训练过程中收敛得更加稳定。本文中的k1和k2的取值分别为1.0和0.7,最终的损失函数如式(13)所示。

3 实验结果与分析

3.1 实验环境

本文采用Roboflow的American Sign Language Letters Dataset数据集进行训练,此数据集共1 728张图像,图像大小为608×608,其中除了720张真实手语图像外,还包含通过数据扭曲和过度采样处理后扩充的图像。在训练时按照9∶1的比例,将此数据集随机划分为包含1 555张图片的训练集和173张图片的测试集。

网络超参数配置如下:在模型训练中,通过Adam Optimizer 优化器对参数进行调优,设置目标的类别置信度阈值为0.5,初始学习率为0.001,权重衰减系数设置为0.000 5,以防止数据过拟合。此外,batch size设置为16,一共训练300个epoch。

具体测试环境:GPU 为Tesla T4,显存为16 GB,CUDA 版本10.2,cuDNN 版本7.6.5,Pytorch 版本1.7.0,编译语言为Python3.7。

3.2 评价标准

在目标检测领域,通常使用精准率(precision)、召回率(recall)和平均精准率(mean average precision,mAP)对目标检测算法性能进行评价[21]。其中,精准率P是指真正的正样本与模型识别出的正样本的比率,计算公式如式(14)所示:

式中,TP表示模型正确预测正样本的个数;FP表示模型将负样本错误检测为正样本的个数。

召回率R是指在测试集所有真正的正样本中,模型正确检测出正样本的个数所占的比率,计算公式如式(15)所示。

其中,FN表示正样本被错误识别为负样本的个数。

如果一个算法的性能比较好,那么其应该有如下的表现:在召回率增长的同时,精准率的值保持在一个很高的水平。

一般还需要一个综合的参数来检测网络的算法性能,例如mAP值,计算公式如式(16)所示:

式中,N表示测试集中的样本总数,C是检测任务中类别的种数,P(K)是模型在同时识别K个样本时精准率的值,R(K)表示模型识别的样本个数从K-1 变为K时,召回率的变化情况。

3.3 对比实验

3.3.1K-means++

首先通过对比实验来验证本文应用K-means++算法提高先验锚框的尺寸匹配度是否能够提升网络在手语识别方面的精准率。原YOLOv5s网络模型与改进的网络在同一个数据集上分别进行相同epoch 数量的训练,实验结果如表2 所示,其中FPS(frame per second)用来评估目标检测的速度。

表2 对比实验测试结果Table 2 Test results of comparative experiment

从表2 中可以看出,在YOLOv5s 网络的基础上先验锚盒的聚类方法由K-means算法改为K-means++算法,mAP 提升了0.83 个百分点,FPS 提升了0.12。而改进后的YOLOv5s 算法因与原YOLOv5s 网络结构的不同,检测精度随之也发生变化。在改进后YOLOv5s 网络的基础上使用K-means++算法与使用K-means算法相比较,mAP提升了0.23个百分点,FPS提升了0.11,同时与原YOLOv5 模型相比,mAP 高出了3.01 个百分点。总体上来说,应用K-means++聚类算法定制出的先验锚盒的尺寸更加合理,对于本文中的手语动作目标和复杂的背景十分有效,使得网络获得了更好的定位精度。

3.3.2 注意力机制对比

为了分析降低特征图的空间维度对通道注意的影响,实验只保留改进前后CBAM模块中的通道注意力,并将其融入到YOLOv5s 骨干网络中。实验结果如表3所示,YOLOv5s_CBAM表示使用原始CBAM中压缩率为16 的两层全连接层进行通道特征聚合;YOLOv5s_CBAM_FC2表示直接使用两层全连接层聚合通道特征;YOLOv5s_CBAM_FC表示仅使用一层全连接层进行通道特征聚合;YOLOv5s_ICBAM 表示使用改进后的CBAM 注意力机制(简称为ICBAM)的通道域,即采用ECA-Net的一维卷积进行通道特征的聚合。

表3 通道注意模块对比实验Table 3 Comparative experiment of channel attention module

通过分析表3 的数据可知,不进行特征压缩的YOLOv5s_CBAM_FC2的模型准确率比使用原始CBAM注意力机制的模型准确率高出0.51个百分点,这表明去除特征压缩的过程,虽然使得模块的参数量增大,但是保留了较完整的特征图信息,提升了通道注意力的特征表达能力。而直接使用一层全连接层对通道信息进行聚合时,mAP值提升了0.45个百分点,这意味着减少全连接层的使用,可以在参数量大量下降的情况下,进一步避免特征压缩,从而提升了模型的检测效果。最后,使用本文的ICBAM 注意力机制,直接对全局池化后的通道特征进行一维卷积,并没有对特征进行压缩,也没有使用全连接层进行映射,mAP 值总体提升了1.37 个百分点。以上结果清楚地表明了避免维度降低将有助于聚合通道特征,从而提升整体ICBAM 注意力机制在YOLOv5s中的性能。

改进后的CBAM 注意力机制将特征空间的位置信息与通道特征信息相结合,以便网络能够在训练过程中掌握目标特征的“关键点”。然而,在特定情况下,ICBAM模块在网络模型中的哪个位置进行特征融合是有效的,仍然是一个有待研究的问题。本文将ICBAM模块融合到YOLOv5s 网络模型的不同位置,并对检测结果进行了研究,实验结果如表4所示。

表4 改进的CBAM模块嵌入到网络不同区域的测试结果Table 4 Test results of improved CBAM module embedded into different areas of network

从表4中可以发现,将ICBAM模块嵌入在YOLOv5s骨干网络中,mAP 为97.01%,与原YOLOv5s 相比提升了2.78 个百分点,检测精度有了明显的提升;而将ICBAM 模块嵌入在多尺度特征融合模块时,mAP 为94.27%,模型参数增加了8.8×105,对模型产生的影响很小;最后,将ICBAM模块嵌入到YOLOv5s的预测端时,mAP为95.18%,模型参数增加了1.34×106。经过对比可以得出,将ICBAM 模块融合到YOLOv5s 骨干网络中,可以最有效地增强实例上特征层的语义信息,网络会更加关注隐藏在底层的容易被忽略的目标。图6 展示了将ICBAM 注意力机制模块分别嵌入到YOLOv5s 的骨干网络、多尺度特征融合模块、预测端三个区域后的网络结构。

图6 ICBAM模块嵌入YOLOv5s不同区域后的三种结构Fig.6 Three structures of ICBAM module embedded in different areas of YOLOv5s

为了进一步验证本文改进后CBAM 注意力机制模块的性能,将其分别与仅有通道域的ECA 注意力机制模块和改进前同时拥有通道域和空间域的CBAM注意力机制模块做了对比实验,结果如表5所示。

分析表5的数据可知,当YOLOv5s网络中加入ECA注意力机制模块时,与原YOLOv5s网络相比,参数增加了1.09×106,mAP 提升了0.85 个百分点,由此说明添加通道注意力可以使模型更加精准地定位目标。而将改进前的CBAM 模块加入到YOLOv5s 网络时,模型参数增加了1.7×105,mAP提升了1.66个百分点,精准率比加入ECA 模块时更高,这意味着在注意力机制模块中添加空间注意更有助于手语识别。最后,将ICBAM 模块加入到YOLOv5s 网络中,尽管附加了1.33×106模型参数,但是mAP 比原YOLOv5s 网络高出了2.78 个百分点。上述实验表明,改进后的CBAM 注意力机制同时具有空间注意和通道注意,可以有效地提高网络检测的准确率,更适用于手语识别任务。

表5 不同注意力机制对比结果Table 5 Comparison of different attention mechanisms

3.3.3 不同损失函数对比

此小节通过对比实验来验证Cross Entropy Loss与Lovasz-Softmax Loss加权结合使用,是否能够使改进后的YOLOv5s网络更加稳定平滑地收敛。为了能更清晰地展现实验结果,将只具有Cross Entropy Loss 函数的模型称为CEL-YOLOv5s,只具有Lovasz-Softmax Loss函数的模型称为LSL-YOLOv5s,具有Cross Entropy Loss与Lovasz-Softmax Loss 加权结合损失函数的模型称为CELS-YOLOv5s,损失曲线对比图如图7所示。

图7 损失曲线对比图Fig.7 Loss curve comparison chart

分析图7可以看出,30次epoch后,三个网络模型都开始逐渐收敛。首先,CEL-YOLOv5s 模型收敛后的损失值在0.060~0.100 之间波动,并且其Loss 值普遍高于LSL-YOLOv5s 和CELS-YOLOv5s,损失波动严重。其次,LSL-YOLOv5s 模型收敛后,其损失波动范围在0.020~0.048 之间,损失值的大小下降颇多,但是其训练过程仍有振荡的现象,平稳性的提升程度依然有限。最后,CELS-YOLOv5s 模型收敛后的损失值的大小与LSL-YOLOv5s 损失值的大小相当,但是损失波动范围在0.018~0.030之间,损失波动范围缩小,使得网络收敛地更加平滑稳定,在保证网络快速收敛的情况下,最大限度地优化了网络的稳定性,适用于手部动作等小范围的变化目标。

3.3.4 不同网络模型对比实验

最后,为了验证本文提出的改进YOLOv5s 模型的高效性,将其与同类型单阶段网络YOLOv3[22]、YOLOv4、SSD 进行对比,同时,加入双阶段网络Faster RCNN[23],对测试结果进行多元分析,得到结果如表6 所示。改进的YOLOv5s 模型的参数规模远小于YOLOv3 和YOLOv4模型的参数规模,mAP50值为97.67%,比后两个模型分别高出了7.66个百分点和5.54个百分点,说明本文改进后的YOLOv5s模型在准确识别手语动作方面有较大的优势。与不同系列但同为单阶段网络的SSD比较,本文改进后的YOLOv5 模型仍具有明显的优势,模型参数比其低1.62×107,mAP50 值比其高14.07 个百分点。而双阶段检测网络模型Faster RCNN,与其他算法比较,其mAP50 值过低,并且其模型参数过大,检测速度较慢,对硬件设备要求较高。最后,通过对比实验可以得出,本文改进的YOLOv5s 网络模型有较高的准确率,可以更有效地进行手语识别,实现了更好的检测性能。

表6 不同网络的对比实验测试结果Table 6 Comparative experimental test results of different networks

3.4 消融实验

此节对本文提出的改进YOLOv5s 模型进行消融实验以验证各模块的有效性,其结果如表7所示。分析表7中的数据可以得出,首先将改进后的CBAM模块加入到YOLOv5s的骨干网络中,模型参数增加了1.33×106,mAP50 值升高了2.78 个百分点,虽然附加了少量的参数,但是使得网络检测的精准率有比较明显的提升,在一定程度上缓解了因背景复杂而出现的手语动作误检、漏检等问题。其次,应用K-means++算法提高先验锚框的尺寸匹配度,模型参数没有发生太大的变化,mAP50值提升了0.23个百分点,有效地提升了先验锚框与实际物体的匹配度。最后,将Cross Entropy Loss和Lovasz-Softmax Loss加权结合应用在网络中,对模型参数也几乎没有产生影响,mAP50值在之前的基础上提升了0.43个百分点,与原YOLOv5s 模型相比mAP50 值整体提高了3.44个百分点。

表7 消融实验测试结果Table 7 Test results of ablation

同时,图8 更清晰地展现了改进前后YOLOv5s 网络在训练过程中损失曲线和精度曲线的变化。在图8(a)中,改进YOLOv5s 曲线在原YOLOv5s 曲线下方,这说明改进的YOLOv5s 网络损失值更低,同时前者曲线发生拐点的时间比后者曲线更早并且在100次Epoch后变得更加光滑,这表明改进的YOLOv5s网络可以更快、更平稳地收敛。从图8(b)中可以看出,改进的YOLOv5s曲线在原YOLOv5s曲线上方,这意味着改进的YOLOv5s网络的检测精度整体高于原YOLOv5s 网络,并且改进后网络的学习曲线平滑了许多,这说明改进YOLOv5s网络的训练过程的稳定性更好。从总体上来说,本文改进后的YOLOv5s网络具有较高的准确率,优化了手语网络检测性能,能够较好地满足实际手语识别应用的需求。

图8 损失和准确率变化曲线Fig.8 Loss and accuracy curves

3.5 检测结果分析

本文改进YOLOv5s网络模型后的检测结果的混淆矩阵如图9所示。从图中可以看出,大部分数据落于对角线上,且数值较高,说明本文改进后的YOLOv5s网络精准率较高。但是偶尔也会出现错误检测的问题,例如将字母I检测为字母F,将字母M检测为字母N,这是因为不同字母手语动作相像或者需要变化动作表示的字母都有可能被误测,后期仍需对数据集和网络进行优化。

图9 混淆矩阵Fig.9 Confusion matrix

为了进一步展示本文改进YOLOv5s网络在手语动作方面的检测效果,从测试集中随机选取了不同类型的手语动作图片进行测试,改进YOLOv5s 网络前后的对比检测结果如图10所示。图10(a)为YOLOv5s的检测结果,图10(b)是本文改进后的YOLOv5s网络模型检测结果。从图10(a)中可以发现,在复杂的环境背景下,YOLOv5s 出现了检测错误的情况,误将背景检测成了手语动作。而在图10(b)中,本文改进后的YOLOv5s网络模型没有受到背景变化的影响,准确地检测出图像中的手语动作,并且置信度也更高。通过两图的对比可以得出,本文改进后的YOLOv5s 网络模型检测结果更精准,这说明改进后的网络对复杂的环境具有良好的适应性,能够捕捉到关键的信息,具有更好的泛化能力[24]。

图10 改进YOLOv5s与原YOLOv5s检测结果对比Fig.10 Detection results comparison of improved YOLOv5s and original YOLOv5s

4 结束语

针对健全人士与听障人士交互信息困难的问题,本文提出了一种改进YOLOv5s 网络模型的手语识别网络。首先将改进的注意力机制CBAM 模块融合到YOLOv5s的骨干网络中,使模型做出更加准确的判断;随后应用K-means++算法提高网络先验锚框的尺寸匹配度;最后将Cross Entropy Loss和Lovasz-Softmax Loss加权结合应用在YOLOv5s 网络模型中,得到更适用于手语识别的网络模型。在消融实验中,本文改进的YOLOv5s 网络模型与原YOLOv5s 网络模型相比,mAP提高了3.44个百分点,具有较高的精准率。本文改进的YOLOv5s 网络模型,能够较好地满足实际生活中手语识别应用的需求,并且可以有效地避免听障人士被社会孤立,解决健全人士与听障人士交流沟通的问题。

猜你喜欢
手语注意力聚类
让注意力“飞”回来
如何培养一年级学生的注意力
基于K-means聚类的车-地无线通信场强研究
自然手语在聋人大学生手语中的使用调查研究——以南京特殊教育师范学院为例
无声的世界里,怎样唱一首歌?
基于高斯混合聚类的阵列干涉SAR三维成像
A Beautiful Way Of Looking At Things
基于Spark平台的K-means聚类算法改进及并行化实现
基于加权模糊聚类的不平衡数据分类方法
奇怪的手语图