CN117935365A - 一种司机手势识别方法、装置、计算机设备和储存介质 - Google Patents
一种司机手势识别方法、装置、计算机设备和储存介质 Download PDFInfo
- Publication number
- CN117935365A CN117935365A CN202410135239.3A CN202410135239A CN117935365A CN 117935365 A CN117935365 A CN 117935365A CN 202410135239 A CN202410135239 A CN 202410135239A CN 117935365 A CN117935365 A CN 117935365A
- Authority
- CN
- China
- Prior art keywords
- network
- yolov
- module
- layer
- dwconv
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000007246 mechanism Effects 0.000 claims abstract description 23
- 238000012549 training Methods 0.000 claims abstract description 12
- 238000011176 pooling Methods 0.000 claims abstract description 10
- 238000001514 detection method Methods 0.000 claims description 67
- 230000006870 function Effects 0.000 claims description 25
- 230000004927 fusion Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 230000003137 locomotive effect Effects 0.000 abstract description 12
- 238000012544 monitoring process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 15
- 230000002829 reductive effect Effects 0.000 description 15
- 230000006872 improvement Effects 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 230000001965 increasing effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003559 RNA-seq method Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供一种司机手势识别方法、装置、计算机设备和储存介质。该方法包括:构建用于机车司机驾驶状态监测的改进YOLOv5网络,改进YOLOv5网络包括:将原始网络中的C3模块替换为GhostBottleneck模块;卷积操作替换为深度可分离卷积操作;三尺度预测机制替换为双尺度预测机制;Focus模块删除;将空间金字塔池化模块删除;对改进YOLOv5网络进行训练;将待检测的机车司机手势图像输入到训练好的改进YOLOv5网络中进行驾驶状态监测。本发明在保证对司机手势识别性能的情况下降低了计算量,使其满足实时性的要求。
Description
技术领域
本发明涉及深度学习技术领域,特别涉及一种司机手势识别方法、装置、计算机设备和储存介质。
背景技术
司机手势识别可以用于交通信号的交互,例如司机通过手势表示停车、左转、右转等动作,系统能够识别并作出相应的交通信号,这有助于减少驾驶员在操作车辆时的分心,提高交通安全。司机手势识别是智能交通系统发展的一部分,可以促进车辆与交通基础设施之间的互联互通,通过手势交互,车辆可以与周围车辆、交通灯、道路设施等进行更智能的沟通。
YOLO系列是目前应用最广泛的单阶段目标检测算法,可以应用于司机手势识别中。它的模型具有简单、快速的特点,可以预测整个图像并一次性给出所有检测结果。YOLO系列的目标检测模型已经越来越强大,从YOLOv1发展到YOLOv7,其中YOLOv5作为基础模型,该模型能够更简单、方便地部署到列车的驾驶室内,对机车司机的规定性手势做出检测。
尽管YOLOv5是一种先进的目标检测算法,但其较大的计算量在一些内存较小的设备上表现出一定的限制,如在实时对司机手势进行识别时,由于计算量过大导致运行时间变长,无法满足实时性的要求。
发明内容
本发明提供一种司机手势识别方法、装置、计算机设备和储存介质,可以解决现有技术中使用YOLOv5对司机手势进行识别时计算量大的技术问题。
本发明提供一种司机手势识别方法,包括:
构建包括依次连接的主干网络Backbone、颈部模块Neck和检测模块Output的改进YOLOv5网络,所述改进YOLOv5网络包括:
将原始YOLOv5网络中的C3模块替换为GhostBottleneck模块,将原始YOLOv5网络中的卷积操作替换为深度可分离卷积操作,将原始YOLOv5网络中主干网络Backbone的focus模块和空间金字塔池化模块SPP进行删除,将原始YOLOv5网络中检测模块Output的三尺度预测机制替换为双尺度预测机制;
将待识别的司机手势输入到改进YOLOv5网络中,主干网络Backbone获得轻量化特征,颈部模块Neck对轻量化特征进行融合,获得不同尺寸的轻量化融合特征,检测模块Output对不同尺寸的轻量化融合特征进行识别,输出对待识别司机手势图像的识别结果。
进一步的,所述GhostBottleneck模块,包括并行的Ghostconv-DWConv-Ghostconv分支和DWConv-CBS分支;
Ghostconv-DWConv-Ghostconv分支和DWConv-CBS分支同时与上一层的输出端连接,上一层的输出经过Ghostconv-DWConv-Ghost conv分支、DWConv-CBS分支处理后得到两个新的输出,将两个新的输出融合后作为GhostBottleneck层的输出。
进一步的,所述深度可分离卷积操作,包括:
逐通道卷积,逐通道卷积使用与输入图像的通道数量相同的卷积核执行卷积操作,输出与输入图像通道数量相同的特征图;
逐点卷积,逐点卷积使用1*1*n的卷积核对逐通道卷积输出的特征图执行卷积操作,其中n是卷积核的通道数。
进一步的,所述将三尺度预测机制替换为双尺度预测机制,包括:
删除原始YOLOv5网络的检测模块Output中最大尺度的检测层,并删除与最大尺度的检测层对应的上采样、下采样操作。
进一步的,所述改进YOLOv5网络包括依次连接的主干网络Backbone、颈部模块Neck和检测模块Output,其中:
主干网络Backbone用于生成轻量化特征,包括input层、与input层输出端连接的CBS层、与CBS层输出端连接的3个堆叠的DWConv-GhostBottleneck层、与第3个DWConv-GhostBottleneck输出端连接的第一DWConv层;
颈部模块Neck用于融合不同尺度的轻量化特征,是Backbone和Output的中间连接部分,包括与第一DWConv层输出端连接的第二DWConv层,与第二DWConv层输出端连接的Upsample上采样层,与Upsample上采样层输出端、第3个DWConv-GhostBottleneck层输出端连接的第一cancat层,与第一cancat层输出端连接的第一C3_F层,与第一C3_F层输出端连接的第三DWConv层,与第三DWConv层输出端、第二DWConv层输出端连接的第二cancat层,与第二cancat层输出端连接的第二C3_F层;
检测模块Output用于生成待识别司机手势的边界框和类别概率,包括两个输出不同尺度的conv2d层,分别与两个conv2d层输出端连接的YOLO层。
进一步的,所述改进YOLOv5网络训练过程中所使用的损失函数为CIOU损失函数,CIOU损失函数表示为:
其中,A表示损失函数预测集对应的框,B表示真实集对应的框,Union(A,B)表示A和B的并集,Intersection表示(A,B)表示A和B的交集,IOU表示损失函数预测集和真实集的交并比;c是损失函数预测集对应的框和真实集对应的框重叠区域的对角线距离;ρ2(b,bgt)表示损失函数预测集对应的框和真实集对应的框中心点的欧氏距离。
进一步的,所述改进YOLOv5网络训练过程中的训练次数设置为200epoch,权重衰减weight_decay设为0.0005,动量momentum设为0.937,初始学习率设为0.01,优化器采用随机梯度下降法SGD。
一种司机手势识别装置,包括:
模型建立模块,用于:
构建包括依次连接的主干网络Backbone、颈部模块Neck和检测模块Output的改进YOLOv5网络,所述改进YOLOv5网络包括:
将原始YOLOv5网络中的C3模块替换为GhostBottleneck模块,将原始YOLOv5网络中的卷积操作替换为深度可分离卷积操作,将原始YOLOv5网络中主干网络Backbone的focus模块和空间金字塔池化模块SPP进行删除,将原始YOLOv5网络中检测模块Output的三尺度预测机制替换为双尺度预测机制;
识别模块,用于:
将待识别的司机手势输入到改进YOLOv5网络中,主干网络Backbone获得轻量化特征,颈部模块Neck对轻量化特征进行融合,获得不同尺寸的轻量化融合特征,检测模块Output对不同尺寸的轻量化融合特征进行识别,输出对待识别司机手势图像的识别结果。
一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的司机手势识别方法。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的上述的司机手势识别方法。
本发明提供一种司机手势识别方法、装置、计算机设备和储存介质,与现有技术相比,其有益效果如下:
本发明通过将原始YOLOv5网络的backbone中的Focus层和空间金字塔池化层SPP进行删除、将三尺度预测机制替换为双尺度预测机制对YOLOv5网络结构进行精简,通过减少参数量减少计算量;并且将原始YOLOv5网络的backbone和Neck中的C3层替换为GhostBottleneck、将卷积操作替换为深度可分离卷积操作降低了计算量,不但降低了网络的参数量,还减小了特征几何变化的影响,提高了待识别手势的特征提取性能。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
在附图中:
图1是本说明书提供的原始YOLOv5网络结构,(a)是原始YOLOv5整体结构,(b)是CBS结构图,(c)是SPP结构图,(d)是Focus结构图;
图2是本说明书提供的锚框示意图,A表示预测集,B表示真实集放;
图3是本说明书提供的Ghost网络原理图;
图4是本说明书提供的GhostBottleneck结构图;
图5是本说明书提供的backbone的部分修改区域;
图6是本说明书提供的传统卷积的过程图;
图7是本说明书提供的深度可分离卷积过程图;
图8是本说明书提供的Focus操作示意图;
图9是本说明书提供的SPP结构原理图;
图10是本说明书提供的改进后的YOLOv5结构图;
图11是本说明书提供的改进前后平均精度值的对比图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
实施例
一种司机手势识别方法,具体包括以下步骤:
步骤1、机车司机手势数据集的建立与数据增强
在目标检测任务中,模型需要大量的图片来进行训练,学习目标特征。样本要有足够的复杂性与多样性,才能使网络有很强的泛化能力。因此,数据集的数量和质量在目标检测任务中,有着重要的作用。在实际采集数据过程中通常很难覆盖全部的场景,并且数据获取需要大量成本。所以针对小样本数据集而言,数据增强是不可或缺的一部分。通过图像采集设备拍摄了不同光照强度、不同角度、不同背景下的手势图片,将图片保存为jpg格式作为数据集。
步骤2、基于L-YOLOv5的轻量级检测算法
步骤2.1、YOLOv5的网络结构
YOLOv5算法是Ultralytics LLC团队推出的YOLO算法的第五个。YOLOv5包括输入端(Input)、骨干部分(Backbone)、颈部(Neck)、输出端(Output)四个部分。模型结构如图1所示。特征融合层颈部采用PAN+FPN的结构,将不同的检测层与主特征层融合。FPN只是增强了语义信息的传输,但传输低级定位信息的能力并不强。PAN定位信息的传输较强。在预测方面,该模块使用GIoU(Generalized Intersection overUnion)来计算边界框的损失值。
马赛克数据增强能够一次性将四张照片进行随机缩放、裁剪和排列。最后,将处理好的照片随机拼接。这样可以极大地丰富数据集的数量,并使整个网络的性能更好。之前的YOLO系列,都会提前设定好初始的锚框大小,以设定好的为基准,进行修正、调整得到最终的预测框。但是这种方式,适用性不强,会导致误差较大。而YOLOv5系列,对于锚框采用了自适应计算的处理,在训练过程中就可以根据这批数据集的特性,计算出最佳锚框值。自适应图片缩放,也是YOLOv5的训练技巧之一。之前的网络模型会先将图片进行缩放,遇到长宽不相同的长方形图片时,会在缩放后用黑边填充,最后统一尺寸再送入网络模型中,这样会大大地减慢检测速度。在YOLOv5网络中,会按照原图的比例通过计算对缩放后的原图片填充最少的黑边,这样简单的改进能够提升大约37%的推理速度。
具体计算步骤如下:
第一步,计算缩放比例。
第二步,计算缩放后图像尺寸(用最小的比例)。
第三步,计算黑边填充数(最后将填充的黑边数值除以2,分给图片两端)
(1)Backbone:骨干网络部分主要包括Conv结构、C3结构、Focus模块和SPP模块。其中Focus模块在不丢失图片信息的前提下,用切片操作,将图片由三通道转换成12通道,缩小了原图像的尺寸,增大了通道数。C3模块是指含有三次卷积操作的CSPBottleneck模块,从模型结构设计的角度解决了推理中计算过多的问题。SPP模块又叫空间金字塔池化,其目的是进行特征融合,采用步长一致但尺寸不同的卷积核实现。
(2)Neck:Neck部分模块的目的是为了更好地检测不同尺度的目标。在深度学习领域,不同高度的特征层包含信息的重点不一样,各有优势。高层特征层,语义信息多但是位置信息少,而低层特征层,位置信息多但是语义信息少。在Neck部分利用上采样,下采样操作,将高层和低层特征巧妙地融合起来。不断上采样的操作组合起来叫FPN结构。不断下采样地结构组合起来叫PAN结构。两者的结合,使得整个网络的特征融合能力得到了很大的提升。
(3)输出端:输出端的损失函数使用最多的是IOU损失函数,IOU损失函数如下所示:
式中:IOU表示损失函数预测集和真实集的交并比,图2是交集和并集的示意图,A框表示预测集,B框表示真实集。YOLOv5采用CIOU损失函数,CIOU损失函数考虑三个元素:重叠面积、中心点距离和纵横比(长宽比),同时也加入了惩罚因子。CIOU损失函数的计算公式如下所示:
式中:ρ2(b,bgt)表示是两框中心点的欧氏距离;c是两框重叠区域的对角线距离。
在CIOU损失函数的计算过程中还加入了,需要额外考虑两个变量:两框相似度的参数v,用于平衡比例的参数a,又叫惩罚因子。a和v的计算公式如下:
式中:wgt、hgt、w、h分别表示B框和A框长宽,在此条件下定义CIOU的损失函数如下所示:
输出端的边界框回归损失函数采用CIOU_Loss,对一些遮挡重叠的目标有所改进,大幅提升了预测框回归的速度和精度。因此本发明选择使用YOLOv5作为基础算法,通过一系列实验优化从而得到更加适用于列车司机驾驶状态监测的目标检测算法。
步骤2.2、改进后的YOLOv5网络模型
为了避免乘客的生命和财产安全受到威胁,网络模型要能够保持好速度和精度之间的平衡。而随着智慧交通系统的快速发展,硬件设备所要承载的软件越来越多,带来了巨大的挑战。因此,在保证实际情景中所要求的精度的前提下,要尽可能地减小整个网络结构的体积。本发明对YOLOv5进行了重新设计,通过引入轻量化算法模块以及其他改进方法,减小了算法的体积、减少参数量和计算量。并且提升了在CPU下的检测速度。
步骤2.2.1、引入GhostNet网络模型
针对于轻量型网络的研究,MobileNetV1、MobileNetV2、ShuffleNet、GhostNet等是优秀的轻量型网络结构。本发明选用GhostNet作为基准,构造了瓶颈结构“GhostBottleneck”。在对于YOLOv5网络的轻量化改进中,将GhostBottleneck作为主干网络。
Ghost模块如图3所示,其核心思想就是先对输入X做少量的卷积操作,得到固有特征图Y。再将Y经线性变换生成冗余特征图Y’。Y’就是固有特征图Y的“ghost”。
假设需要生成n个特征图,具体操作可以表示为:
Y0=X*f+b
其中,输入数据X∈Rc×h×w,*是指卷积操作,卷积核表示为f∈Rc×k×k×n,b表示偏置项。因为存在大量的特征图冗余,故可以通过一个普通卷积操作生成:
Y=X*f'
在上式中Y∈Rh'×w'×m为普通卷积输出,f'∈Rc×k×k×m为卷积核,将偏置项简化。需要得到n维特征图,现在只得到了m维。因此对现有特征图进行线性变换:
在上式中yi'为固有特征图中的第i个特征图,Φi,j中i表示第i个特征图,j表示第j次的线性变换函数。最后,为了保留现有特征图,对yi'做Φi,s的恒等映射操作。那么在理论上,Ghost模块变换成普通卷积的理论加速比为:
在上式中,1个现有特征图对应个线性变换操作,卷积核大小为d×d。其中d×d和k×k大小相近,s远小于c。可得到参数压缩比为:
综上所述,Ghost模块变换成普通卷积的理论参数压缩比大约等于理论加速比。因此,线性操作每个通道的计算成本远小于普通的卷积。
YOLOv5网络中,C3结构负责在主干网络中提取特征,通过增加网络的深度和感受野,提高了特征提取的能力。这对于目标检测等计算机视觉任务来说非常重要,因为准确地识别和定位需要良好的特征提取能力。并且该模块能够在保持算法检测精度的同时实现轻量化,降低了计算和内存成本。
C3结构也是依照瓶颈结构的思想构建的。瓶颈结构指的是通道数的变化,即原通道数先减少,后增大到原来的大小,用瓶颈来形容这一句结构较为形象。该结构可以减少参数的数量,从而减少计算量,且在降维之后可以更加有效、直观地进行数据的训练和特征提取。也能够增加神经网络的深度,体现网络的良好性能
为了消除冗余特征图,减轻硬件的计算压力,引入了Ghost卷积模块,同样地依照瓶颈结构思想构建了GhostBottleneck作为主干网络的特征提取模块,结构如图4所示。
使用GhostBottleneck作为主干网络中的特征提取模块,替换掉原来的C3模块,替换后Backbone结构如图5最右所示。
在主干网络被替换后,不但降低了网络的参数量,还减小了特征几何变化的影响,提高了待检测目标手势的特征提取性能。
步骤2.2.2、引入深度可分离卷积
为了解决因网络的庞大体积,导致深度神经网络在嵌入式移动终端部署困难的问题。本发明对于基础YOLOv5网络的第二部分改进是用深度可分离卷积替换了原网络中的卷积。深度可分离卷积相比普通卷积参数量少,运算成本低,是一种性能优越的卷积网络。普通卷积为了精确地提取图像特征,要将通道维度和空间维度融合映射。传统卷积结构如图6所示。
深度可分离卷积(Depthwise Separable Convolution)将普通卷积的过程分成了逐通道卷积和点卷积两步,实现了通道维度和空间维度的退耦合。深度可分离卷积的结构如图7所示。
进行卷积操作时,第一步进行逐通道卷积,第二步将第一步的结果用点卷积进行通道联合,最终提取图像特征。假设要求得到4张特征图。在图6传统卷积操作中,首先输入一张3通道图像,尺寸大小为4×4,再经过4个3×3×3的Filter,最终能够得到4张特征图。计算量:4×3×3×3=108。在图7深度可分离卷积中,同样输入4×4大小的3通道图像,先对各个通道进行卷积,得到三个特征图,这一步计算量:3×3×3=27。再经过逐点卷积(卷积核尺寸1×1×3),得到四张特征图,这一步的计算量:1×1×3×4=12。整个过程总的计算量为:27+12=39。相比普通卷积计算量少了约2/3。在网络中,深度可分离卷积的替换可以让无法避免的卷积操作参数量大幅下降。
步骤2.2.3、双尺度预测机制的优化
不同层级的特征图包含不同的信息,在原YOLOv5网络中,网络模型不但可以从低层特征学习到丰富的位置信息,也可以从高层特征学习到大量的位置信息。因此在本发明所应用的机车司机手势检测场景中,第三部分改进是将原YOLOv5网络的多尺度预测机制进行重新设计为双尺度预测,在牺牲少量特征信息的情况下,尽大程度精简网络模型,方便在列车驾驶室内的嵌入式移动端进行部署。
在目标检测模型中,大尺度特征图位置信息多,语义信息少。相反的,在小尺度特征图中,语义信息多,位置信息少。在实际的机车驾驶室场景检测中,一般位置信息比较准确,目标误检问题的主要原因是类别识别错误。因此,本发明优化了YOLOv5网络的多尺度预测机制,删除了最大尺度的检测层,调整为双尺度预测。相应地,分别删除掉一次上采样和一次下采样操作,直接将小尺度特征图经上采样后和中等尺度特征层进行张量拼接,既满足了语义信息与位置信息融合的要求,也能够让整体网络结构更加轻量化,其中,小尺度特征图是将Backbone部分中40×40的中等尺度特征图经卷积操作后得来的。
具体实现如下:将YOLOv5原进行两次上采样的网络结构修改为一次,得到40×40的中等尺度特征图,直接与主干网络中的中等大小特征图进行融合,形成检测层Y2(40×40)。将送入Y2检测层中的特征图再进行一次下采样并与经卷积后的小尺寸检测层进行张量拼接,形成检测层Y1(20×20),其中小尺寸检测层是将送入Y2中的特征图进行卷积操作(下采样)得来的。
深层特征图经过多层下采样后对中小目标的检测精度造成影响。因此,减少一次下采样操作既可以减少这种对精度的影响又可以降低网络的参数量与计算量。YOLOv5使用了三尺度的预测机制,网络最后得到Y1:(20×20),Y2:(40×40)和Y3:(80×80)三个尺度的特征图。在复杂场景中,三尺度可基本涵盖不同尺寸的目标物体。但是在机车驾驶室内场景单一,检测目标数量少的情况下,为了使检测速度更快,只综合中等和小尺寸特征图的信息便可完成任务。考虑对YOLOv5的多尺度预测机制进一步优化,避免大尺度特征图在预测过程中计算力的浪费。位于机车司机驾驶室中的图像采集设备位置固定,采集到的手势目标大小相对固定,因此在检测头部的三个检测层,更改为两个分别用于检测中、小目标。可以更有效地轻量化原网络模型,提高检测速度。
步骤2.2.4、Focus模块的改进
Focus模块是在图像信息没有丢失的情况下,把空间维度的信息映射到了通道维度,提高了网络速度。经过多次切片操作后,再将切片后的特征层拼接在了一起,特征图变小了,通道数变为原来的4倍。Focus示意图如8所示。在没有GPU、NPU加速的情况下,这样频繁的切片操作,会大量占用缓存,增加计算负担。故本发明选择摘除Focus层,方便列车上边缘设备端的部署。
步骤2.2.5、空间金字塔池化模块的删除
空间金字塔模块的结构图如图9所示。首先,输入的特征图用三个不同尺寸的卷积核分别进行池化操作,提取特征信息;其次,为了让尺寸归一化,对三个池化后的特征图分别进行填充;最后,将原始特征图和将三个特征图直接合并,得到大小为H×W×4C的特征图。
SPP结构中存在着并行操作,会大大拖慢网络整体的运行速度。在没有复杂识别目标的应用场景下,本发明选择删除SPP模块。在铁路信号设备中有“故障导向安全”原则,即设备发生故障时,能自动导向安全,以确保行车安全。在本发明对列车司机驾驶状态的监测过程中,由于列车运行速度快,反应时间短,所以在对列车司机驾驶状态监测过程中,要尽可能保证在列车驾驶室内快速地检测列车司机的手势是否正确,当手势不正确时,应留予设备反应并导向安全的时间。
步骤2.2.6、L-YOLOv5的网络结构模型
在经过上述对YOLOv5模型的修改后,整体网络结构如下图10所示,主干网络部分中首先将网络中进行切片操作的Focus模块用3×3的卷积操作和最大池化模块代替,并将并行操作结构SPP删除,其次引入GhostNet模块,构建了新的瓶颈结构,替换掉算法骨干部分的C3结构。用深度可分离卷积替换掉整个网络中的普通卷积,进一步降低参数量和内存压力。最后将了原网络中的三尺度的预测机制优化为双尺度预测机制。整体结构较原网络更加精简,参数量与计算量大幅下降,是一个适合部署在机车司机驾驶室内嵌入式的轻量型目标检测模型。
本说明书还提供了一种司机手势识别方法实验验证,包括以下步骤:
1、实验环境及参数设置
如表1所示为本发明实验中的配置信息。学习框架选用Pytorch结构,该结构是一个开源的深度学习框架,是基于动态图计算的,可以多次计算多次运行,是一个非常年轻并且优秀的深度学习框架之一。CUDA是GPU计算平台,能够在深度学习的诸多计算过程中提供加速服务。本发明使用和配置的环境为Linux+Pytorch3.8+CUDA11.4,使用显卡版本号为Tesla V100 SXM2 32GB完成所有的实验。
表1相关环境配置
名称 | 相关配置 |
操作系统 | Linux |
内存 | 32G |
显卡GPU | Tesla V100 SXM2 32G |
CUDA版本 | CUDA11.4 |
语言 | Python3.8 |
深度学习框架 | Pytorch |
模型的训练以基本数据加增强扩增后的10000张机车司机手势数据集为基础。训练的世代次数设置为200epoch,权重衰减weight_decay设为0.0005,动量momentum设为0.937,初始学习率设为0.01,优化器采用随机梯度下降法SGD。
2、目标检测常用评价指标
(1)准确率(precision)
在一个数据集中,假定待训练的目标类别仅有正例(positive)与负(negtive)两个类别。关于正负样本的混淆矩阵如下表2所示。
表2关于正负样本的混淆矩阵
符号 | 含义 |
TP(Ture Positive) | 预测为正样本,实际为正样本 |
FP(False Positive) | 预测为正样本,实际为负样本 |
FN(False Negative) | 预测为负样本。实际为正样本 |
TN(Ture Negative) | 预测为负样本,实际为负样本 |
Precision即准确率,也叫做查准率,是针对单张图片而言的。计算方法是:预测样本中实际正样本数/所有的正样本数,如下式所示:
(2)平均精度(AP)与平均精度均值(mAP)
平均精度(AP)是指用数学积分的方法求Precision的平均值,如下式所示:
平均精度均值(mAP)是指每一个类别平均精度(AP)的算术平均值。常用的mAP有mAP@.5(表示阈值为0.5)。计算公式如下:
其中:N是总的类别数,AveP(i)是第i类的平均精确率。这是对所有目标检测性能好坏的一个综合度量。
(3)预测速度FPS
FPS(Frames Per Second)叫帧率,表示一秒钟目标检测模型所能预测的总图像数。如果某一目标检测网络一秒钟能够预测M张图像,那么该网络的FPS就为M。
3、实验结果与分析
L-YOLOv5机车司机驾驶状态监测算法的使用目的,是为了缩小整个检测网络的体积,使其能够顺利地搭载在嵌入式设备上。针对于这类设备,要同时兼顾到云端更新速度和模型计算速度。因此,在实用性方面,网络体积的降低能带来更好的效果。
图11是YOLOv5与L-YOLOv5的mAP@.5%曲线对比图,YOLOv5的平均精为95.2%,L-YOLOv5的平均精度是90.8%,稍有下降,但是也可以达到网络对于检测精度的要求。
由表3可以看出,L-YOLOv5参数量为2098k,大小为103.7mb,与YOLOv5相比,均下降了约57%。同时其在本地设备上检测的帧数能够达到34,约为YOLOv5的2.3倍。总的来说,L-YOLOv5网络模型满足实时检测的功能。
表3 YOLOv5与L-YOLOv5模型性能对比
模型名 | mAP@.5% | 参数量/k | 模型大小 | FPS |
YOLOv5 | 95.2% | 7276 | 242.3 | 15 |
L-YOLOv5 | 90.8% | 2098 | 103.7 | 34 |
(1)实时性和准确性检测性能对比
预测速度(FPS)是衡量网络实时性的重要指标。本发明调用笔记本摄像头进行视频的实时检测。
表4主流算法模型性能对比
模型名 | mAP@.5% | FPS |
YOLOv3 | 92.4% | 11 |
EfficientDet-D0 | 75.37% | 45 |
RCNN | 77.5% | 5 |
YOLOv5 | 95.2% | 15 |
L-YOLOv5 | 90.8% | 34 |
本发明选取了主流的目标检测算法YOLOv3、EfficientDet-D0、RCNN、YOLOv5与L-YOLOv5在相同条件下做了对比实验。由表4中展示的数据可以看出:在准确性上,YOLOv5的mAP最高,达到了95.2%,但FPS比较低仅为15;在实时性上,EfficientDet-D0检测算法的FPS最高,但是它的mAP却是最低的,仅有75.37%。而L-YOLOv5的mAP是90.8%,FPS可达到34,能够均衡实时性与检测精度。
(2)轻量化效果对比
体积大小和参数量是轻量化效果的两个衡量指标。同样地,选取了主流目标检测算法,在相同条件下做了对比试验。由表5中展示的数据可得:YOLOv5的体积和参数量最大,EfficientDet-D0的体积与参数量最小。综合所有的值可以得到,L-YOLOv5参数量和模型体积在列举的5种算法中,排在第三位。
表5主流算法模型参数量和体积对比
模型名 | 参数量/k | 模型大小/mb |
YOLOv3 | 5603 | 218.2 |
EfficientDet-D0 | 590 | 22.6 |
RCNN | 1070 | 67.5 |
YOLOv5 | 7276 | 242.3 |
L-YOLOv5 | 2098 | 103.7 |
4、综合分析
经过对上表中的数据分析可得到,YOLOv5和YOLOv3的参数量在5000k以上,体积大小在200mb以上,难以达到轻量型的效果。FPS也均低于20,难以满足实时性的要求。除L-YOLOv5之外的另外两种模型,在实时性,轻量化方面效果好,但是mAP都在80%以下,难以达到标准。综上,在确保检测精度的前提下,L-YOLOv5在驾驶司机手势检测中表现最优,并且在性能方面,L-YOLOv5相比于其它主流算法能够达到均衡。通过对实验结果的分析可以得出:本发明提的轻量型L-YOLOv5检测算法符合实验预期,相对其他算法更适合在机车司机手势检测中采用,可以在内存配置不高的设备中搭载。
关于司机手势识别装置的具体限定可以参见上文中对于司机手势识别方法的限定,在此不再赘述。上述司机手势识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述司机手势识别方法。
本说明书还提供了计算机设备,在硬件层面,该计算机设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述的单细胞RNA-seq数据聚类方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种司机手势识别方法,其特征在于,包括:
构建包括依次连接的主干网络Backbone、颈部模块Neck和检测模块Output的改进YOLOv5网络,所述改进YOLOv5网络包括:
将原始YOLOv5网络中的C3模块替换为GhostBottleneck模块,将原始YOLOv5网络中的卷积操作替换为深度可分离卷积操作,将原始YOLOv5网络中主干网络Backbone的focus模块和空间金字塔池化模块SPP进行删除,将原始YOLOv5网络中检测模块Output的三尺度预测机制替换为双尺度预测机制;
将待识别的司机手势输入到改进YOLOv5网络中,主干网络Backbone获得轻量化特征,颈部模块Neck对轻量化特征进行融合,获得不同尺寸的轻量化融合特征,检测模块Output对不同尺寸的轻量化融合特征进行识别,输出对待识别司机手势图像的识别结果。
2.根据权利要求1所述的司机手势识别方法,其特征在于,所述GhostBottleneck模块,包括并行的Ghostconv-DWConv-Ghostconv分支和DWConv-CBS分支;
Ghostconv-DWConv-Ghostconv分支和DWConv-CBS分支同时与上一层的输出端连接,上一层的输出经过Ghostconv-DWConv-Ghost conv分支、DWConv-CBS分支处理后得到两个新的输出,将两个新的输出融合后作为GhostBottleneck层的输出。
3.根据权利要求1所述的司机手势识别方法,其特征在于,所述深度可分离卷积操作,包括:
逐通道卷积,逐通道卷积使用与输入图像的通道数量相同的卷积核执行卷积操作,输出与输入图像通道数量相同的特征图;
逐点卷积,逐点卷积使用1*1*n的卷积核对逐通道卷积输出的特征图执行卷积操作,其中n是卷积核的通道数。
4.根据权利要求1所述的司机手势识别方法,其特征在于,所述将三尺度预测机制替换为双尺度预测机制,包括:
删除原始YOLOv5网络的检测模块Output中最大尺度的检测层,并删除与最大尺度的检测层对应的上采样、下采样操作。
5.根据权利要求1所述的司机手势识别方法,其特征在于,所述改进YOLOv5网络包括依次连接的主干网络Backbone、颈部模块Neck和检测模块Output,其中:
主干网络Backbone用于生成轻量化特征,包括input层、与input层输出端连接的CBS层、与CBS层输出端连接的3个堆叠的DWConv-GhostBottleneck层、与第3个DWConv-GhostBottleneck输出端连接的第一DWConv层;
颈部模块Neck用于融合不同尺度的轻量化特征,是Backbone和Output的中间连接部分,包括与第一DWConv层输出端连接的第二DWConv层,与第二DWConv层输出端连接的Upsample上采样层,与Upsample上采样层输出端、第3个DWConv-GhostBottleneck层输出端连接的第一cancat层,与第一cancat层输出端连接的第一C3_F层,与第一C3_F层输出端连接的第三DWConv层,与第三DWConv层输出端、第二DWConv层输出端连接的第二cancat层,与第二cancat层输出端连接的第二C3_F层;
检测模块Output用于生成待识别司机手势的边界框和类别概率,包括两个输出不同尺度的conv2d层,分别与两个conv2d层输出端连接的YOLO层。
6.根据权利要求1所述的司机手势识别方法,其特征在于,所述改进YOLOv5网络训练过程中所使用的损失函数为CIOU损失函数,CIOU损失函数表示为:
其中,A表示损失函数预测集对应的框,B表示真实集对应的框,Union(A,B)表示A和B的并集,Intersection表示(A,B)表示A和B的交集,IOU表示损失函数预测集和真实集的交并比;c是损失函数预测集对应的框和真实集对应的框重叠区域的对角线距离;ρ2(b,bgt)表示损失函数预测集对应的框和真实集对应的框中心点的欧氏距离。
7.根据权利要求6所述的司机手势识别方法,其特征在于,所述改进YOLOv5网络训练过程中的训练次数设置为200epoch,权重衰减weight_decay设为0.0005,动量momentum设为0.937,初始学习率设为0.01,优化器采用随机梯度下降法SGD。
8.一种司机手势识别装置,其特征在于,包括:
模型建立模块,用于:
构建包括依次连接的主干网络Backbone、颈部模块Neck和检测模块Output的改进YOLOv5网络,所述改进YOLOv5网络包括:
将原始YOLOv5网络中的C3模块替换为GhostBottleneck模块,将原始YOLOv5网络中的卷积操作替换为深度可分离卷积操作,将原始YOLOv5网络中主干网络Backbone的focus模块和空间金字塔池化模块SPP进行删除,将原始YOLOv5网络中检测模块Output的三尺度预测机制替换为双尺度预测机制;
识别模块,用于:
将待识别的司机手势输入到改进YOLOv5网络中,主干网络Backbone获得轻量化特征,颈部模块Neck对轻量化特征进行融合,获得不同尺寸的轻量化融合特征,检测模块Output对不同尺寸的轻量化融合特征进行识别,输出对待识别司机手势图像的识别结果。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述权利要求1~7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410135239.3A CN117935365A (zh) | 2024-01-31 | 2024-01-31 | 一种司机手势识别方法、装置、计算机设备和储存介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410135239.3A CN117935365A (zh) | 2024-01-31 | 2024-01-31 | 一种司机手势识别方法、装置、计算机设备和储存介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117935365A true CN117935365A (zh) | 2024-04-26 |
Family
ID=90764661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410135239.3A Pending CN117935365A (zh) | 2024-01-31 | 2024-01-31 | 一种司机手势识别方法、装置、计算机设备和储存介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117935365A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113780480A (zh) * | 2021-11-11 | 2021-12-10 | 深圳佑驾创新科技有限公司 | 基于YOLOv5的多目标检测及类别识别模型的构建方法 |
CN114266884A (zh) * | 2021-12-13 | 2022-04-01 | 浙江工业大学 | 旋转框定位多形态瓶状物品分拣目标检测方法 |
CN115601559A (zh) * | 2022-10-27 | 2023-01-13 | 大连海洋大学(Cn) | 一种基于YOLOv5的轻量化藻类目标检测算法Algae-YOLO的构建方法 |
CN116721398A (zh) * | 2023-07-14 | 2023-09-08 | 长沙理工大学 | 一种基于跨阶段路由注意力模块和残差信息融合模块的Yolov5目标检测方法 |
CN117238024A (zh) * | 2023-05-12 | 2023-12-15 | 安徽师范大学 | 一种基于改进YOLOv5的手势识别方法 |
-
2024
- 2024-01-31 CN CN202410135239.3A patent/CN117935365A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113780480A (zh) * | 2021-11-11 | 2021-12-10 | 深圳佑驾创新科技有限公司 | 基于YOLOv5的多目标检测及类别识别模型的构建方法 |
CN114266884A (zh) * | 2021-12-13 | 2022-04-01 | 浙江工业大学 | 旋转框定位多形态瓶状物品分拣目标检测方法 |
CN115601559A (zh) * | 2022-10-27 | 2023-01-13 | 大连海洋大学(Cn) | 一种基于YOLOv5的轻量化藻类目标检测算法Algae-YOLO的构建方法 |
CN117238024A (zh) * | 2023-05-12 | 2023-12-15 | 安徽师范大学 | 一种基于改进YOLOv5的手势识别方法 |
CN116721398A (zh) * | 2023-07-14 | 2023-09-08 | 长沙理工大学 | 一种基于跨阶段路由注意力模块和残差信息融合模块的Yolov5目标检测方法 |
Non-Patent Citations (1)
Title |
---|
孙月平 ,袁必康,詹婷婷 ,孙杰,方正,赵德安: "基于改进 YOLOv5s 的河蟹与饵料检测方法", 《农业工程 学 报》, vol. 39, no. 22, 30 November 2023 (2023-11-30), pages 178 - 187 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3940591A1 (en) | Image generating method, neural network compression method, and related apparatus and device | |
US11940803B2 (en) | Method, apparatus and computer storage medium for training trajectory planning model | |
WO2020029708A1 (zh) | 图像处理方法和装置、电子设备、存储介质、程序产品 | |
CN114359851A (zh) | 无人驾驶目标检测方法、装置、设备及介质 | |
CN112927234A (zh) | 点云语义分割方法、装置、电子设备和可读存储介质 | |
CN114549369B (zh) | 数据修复方法、装置、计算机及可读存储介质 | |
CN112037142B (zh) | 一种图像去噪方法、装置、计算机及可读存储介质 | |
EP4050570A2 (en) | Method for generating image classification model, roadside device and cloud control platform | |
US20240037911A1 (en) | Image classification method, electronic device, and storage medium | |
CN116597326A (zh) | 一种基于改进YOLOv7算法的无人机航拍小目标检测方法 | |
CN114385662A (zh) | 路网更新方法、装置、存储介质及电子设备 | |
CN114677350A (zh) | 连接点提取方法、装置、计算机设备及存储介质 | |
CN114693963A (zh) | 基于电力数据特征提取的识别模型训练、识别方法及装置 | |
CN117036895B (zh) | 基于相机与激光雷达点云融合的多任务环境感知方法 | |
CN115761552B (zh) | 面向无人机机载平台的目标检测方法、设备及介质 | |
KR20210109327A (ko) | 인공신경망의 학습 방법 및 장치 | |
CN116704203A (zh) | 目标检测方法、装置、电子设备、计算机可读存储介质 | |
CN117935365A (zh) | 一种司机手势识别方法、装置、计算机设备和储存介质 | |
US20230196749A1 (en) | Training Neural Networks for Object Detection | |
CN114429602A (zh) | 语义分割方法、装置、电子设备及存储介质 | |
CN113516148A (zh) | 基于人工智能的图像处理方法、装置、设备及存储介质 | |
CN115829898B (zh) | 数据处理方法、装置、电子设备、介质以及自动驾驶车辆 | |
CN117612231B (zh) | 人脸检测方法、装置、电子设备和存储介质 | |
CN114495061B (zh) | 一种道路交通标志牌识别方法及装置 | |
US20240104901A1 (en) | Apparatus for selecting a training image of a deep learning model and a method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |