CN113297956B - 一种基于视觉的手势识别方法及系统 - Google Patents
一种基于视觉的手势识别方法及系统 Download PDFInfo
- Publication number
- CN113297956B CN113297956B CN202110561526.7A CN202110561526A CN113297956B CN 113297956 B CN113297956 B CN 113297956B CN 202110561526 A CN202110561526 A CN 202110561526A CN 113297956 B CN113297956 B CN 113297956B
- Authority
- CN
- China
- Prior art keywords
- image
- gesture
- preprocessing
- detected
- vision
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000007781 pre-processing Methods 0.000 claims abstract description 28
- 238000003062 neural network model Methods 0.000 claims abstract description 19
- 230000009471 action Effects 0.000 claims abstract description 8
- 238000005516 engineering process Methods 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 21
- 230000003044 adaptive effect Effects 0.000 claims description 20
- 238000009499 grossing Methods 0.000 claims description 13
- 238000005520 cutting process Methods 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000592183 Eidolon Species 0.000 description 1
- 206010068829 Overconfidence Diseases 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于视觉的手势识别方法,包括以下步骤:获取待测手势图像,并将待测手势图像进行预处理;基于预先训练好的深度神经网络模型,对预处理之后的待测手势图像进行识别,并根据所得的识别结果,确定手势动作。实施本发明,能解决传统手势识别方法计算复杂度较高及精确度较低的问题,从而满足现实应用中的要求。
Description
技术领域
本发明涉及计算机视觉处理技术领域,尤其涉及一种基于视觉的手势识别方法及系统。
背景技术
随着人工智能技术的发展,计算机视觉领域在人体行为识别、目标检测等方面都取得了长足进步,相关技术也逐渐经历从理论研究到应用落地的转变,正慢慢从实验室走向真正的市场。计算性能在不断的提高,使得深度学习的学习速度不断加快,计算机的识别速度也在不断提高,深度学习在工程方面拥有良好的硬件基础,这将导致新的模式和商业模式以及产业结构的深刻变化。
在公司日常的运营中,常常需要多个部门对项目进行开会研讨。然而,基于传统方法只能单一演讲者进行演示,无法让其他参会人员进行点评,难以进行实时讨论,不利于协同会商的高效开展,使得通过应用人工智能技术,基通过手势控制,实现会商演示系统具有良好的应用前景与发展机遇。然而,基于手势识别的实现在线演示系统拥有了完善的理论支持,多人协同交互式增强现实系统应用拥有着扎实的理论基础。因此,基于手势识别,达到多人共同参与点评的会商演示系统具有现实的可行性以及良好的发展机遇。
传统的基于视觉的手势识别,需要对手势图像进行肤色检测做二值化处理,然后进行形态学处理提取轮廓,利用傅里叶描述子图等方式建立手势特征库,最后进行模版匹配达到人机交互鼠标控制的目的,整个过程有三个关键步骤:手势分割、特征提取选择和手势识别。但传统的手势识别模式计算复杂度较高及精确度较低,无法满足现实应用中的要求。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于视觉的手势识别方法及系统,能解决传统手势识别方法计算复杂度较高及精确度较低的问题,从而满足现实应用中的要求。
为了解决上述技术问题,本发明实施例提供了一种基于视觉的手势识别方法,所述方法包括以下步骤:
获取待测手势图像,并将所述待测手势图像进行预处理;
基于预先训练好的深度神经网络模型,对预处理之后的待测手势图像进行识别,并根据所得的识别结果,确定手势动作。
其中,所述待测手势图像采用改进的Mosaic数据增强技术、自适应锚框计算、自适应图像缩放技术及类标签平滑技术进行预处理。
其中,所述采用改进的Mosaic数据增强进行预处理的步骤具体为首先选择多张图片,然后按照指定裁剪和随机排布的方式进行拼接,最后输出拼接的图片;其中,
所述指定裁剪为基于图像中目标框的中心位置进行随机缩放及裁剪,再填充进主体图片,且进一步对目标框的宽度与高度进行交集分析,若目标框50%的内容被裁剪进主体图像,则对目标框位置进行相应修改。
其中,所述采用自适应锚框计算进行预处理的步骤具体为首先在图像中生成多个锚框,然后为每个锚框预测类别以及偏移量,接着根据预测的偏移量调整锚框位置得到预测边界框,最后筛选需要输出的预测边界框。
其中,所述采用自适应图像缩放技术进行预处理的步骤具体为首先确定最小缩放系数,然后根据最小缩放系数得到图片的缩放尺寸,接着利用图片的缩放尺寸得到图片高度两端需要填充的数值,最后根据需要图片高度两端需要填充的数值对图片进行填充。
其中,所述采用类标签平滑技术进行预处理的步骤具体为采用正则化方法对类标签表示进行编码。
其中,所述深度神经网络模型是基于改进的Yolov5s模型构建出来的;其中,所述改进的Yolov5s模型包括采用Focus结构进行初步的特征提取、采用CSPDarknet结构进行进一步的特征提取、采用Neck结构进行聚合图像特征以及采用Prediction结构实现图像多尺度预测。
本发明实施例还提供了一种基于视觉的手势识别系统,包括:
图像获取及预处理单元,用于获取待测手势图像,并将所述待测手势图像进行预处理;
手势识别单元,用于基于预先训练好的深度神经网络模型,对预处理之后的待测手势图像进行识别,并根据所得的识别结果,确定手势动作。
其中,所述待测手势图像采用改进的Mosaic数据增强技术、自适应锚框计算、自适应图像缩放技术及类标签平滑技术进行预处理。
其中,所述深度神经网络模型是基于改进的Yolov5s模型构建出来的;其中,所述改进的Yolov5s模型包括采用Focus结构进行初步的特征提取、采用CSPDarknet结构进行进一步的特征提取、采用Neck结构进行聚合图像特征以及采用Prediction结构实现图像多尺度预测。
实施本发明实施例,具有如下有益效果:
本发明利用深度神经网络自动实现特征提取与选择,无需传统模式中人工手势分割与特征提取选择,减少了计算步骤及复杂度,且识别精度也得到一定的提高,从而解决了传统手势识别方法计算复杂度较高及精确度较低的问题,从而满足现实应用中的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
图1为本发明实施例提供的基于视觉的手势识别方法的流程图;
图2为本发明实施例提供的基于视觉的手势识别系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
如图1所示,为本发明实施例中,提出的一种基于视觉的手势识别方法,所述方法包括以下步骤:
步骤S1、获取待测手势图像,并将所述待测手势图像进行预处理;
步骤S2、基于预先训练好的深度神经网络模型,对预处理之后的待测手势图像进行识别,并根据所得的识别结果,确定手势动作。
具体过程为,在步骤S1中,通过OpenCV调用摄像头(或手机、摄像机等)进行手势图像进行抓取,并将获得的1024*768像素的待测手势图像进行预处理。其中,待测手势图像采用改进的Mosaic数据增强技术、自适应锚框计算、自适应图像缩放技术及类标签平滑技术等技术进行预处理。
在本发明实施例中,采用改进的Mosaic数据增强进行预处理的步骤具体为首先选择多张图片,然后按照指定裁剪和随机排布的方式进行拼接,最后输出拼接的图片;其中,指定裁剪为基于图像中目标框的中心位置进行随机缩放及裁剪,再填充进主体图片,且进一步对目标框的宽度与高度进行交集分析,若目标框50%的内容被裁剪进主体图像,则对目标框位置进行相应修改。
在一个实施例中,Mosaic数据增强(马赛克数据增强)不仅加快训练速度,而且能够有效的处理小目标检测(可解决手势离摄像头太远,手势过小无法识别问题)。原本的Mosaic数据增强是在CutMix数据增强方法的基础上改进而来的,而Mosaic数据增强方法则采用了4张图片,并且按照随机缩放、随机裁剪和随机排布的方式进行拼接而成。但在实际应用中发现,进行随机裁剪后再对目标框的位置进行修正,存在手势主体内容被随机裁剪掉了,但手臂边缘衣服被标记上标签的错误标记,导致训练结果存在将袖口误识别成手势的现象,训练完成的模型在实际的手势识别应用中,出现一定概率的错误识别。
所以,对Mosaic数据增强部分进行修正,提出了SafeBoxMosaic数据增强,实现方式由原先的整张图片随机裁剪,更改为基于随机图像目标框的中心位置进行的随机缩放、裁剪,再填充进主体图片((114,114,114)灰度值填充),保证了目标框的安全裁剪,并且对目标框的宽度与高度进行交集分析,若目标框50%的内容被裁剪进主体图像,则对目标框位置进行修改为有效标签。这大大改善了误识别的现象,且能识别远距离处个体的小手势,有助于每人的手势均能被捕捉,并对此进行准确的响应。
在本发明实施例中,采用自适应锚框计算进行预处理的步骤具体为首先在图像中生成多个锚框,然后为每个锚框预测类别以及偏移量,接着根据预测的偏移量调整锚框位置得到预测边界框,最后筛选需要输出的预测边界框。
在一个实施例中,在目标检测时首先生成多个锚框,然后为每个锚框预测类别以及偏移量,接着根据预测的偏移量调整锚框位置从而得到预测边界框,最后筛选需要输出的预测边界框。在此次任务中,使用自适应锚框计算技术,能够根据手势数据集图像的大小自动计算出相应的大小的初始锚框,在网络模型的训练中,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,计算两者差距再反向更新,迭代网络参数。
在本发明实施例中,采用自适应图像缩放技术进行预处理的步骤具体为首先确定最小缩放系数,然后根据最小缩放系数得到图片的缩放尺寸,接着利用图片的缩放尺寸得到图片高度两端需要填充的数值,最后根据需要图片高度两端需要填充的数值对图片进行填充。
在一个实施例中,在收集手势照片时,不同设备拍摄采集的图片像素大小存在差异,图片的长宽比例也存在16:9,4:3,1:1等多种格式,虽然经过数据增强的尺寸处理,但还无法满足网络模型对尺寸的要求。由于模型下采样5次,所以要求图片的长宽尺寸能够被25即32整除。若不加处理,会导致模型的训练速度变慢,同时也无法实现批训练方式,因为会导致后续神经网络的输出shape值无法确定,模型在dataload时无法实现tensor.stack()(该函数只能对统一shape进行stack),进而导致运行错误。
在此,选用416*416的最终传入图片格式。假设视频流图片为800*600的格式,先用min{416/800,416/600}=0.52得到最小缩放系数,然后得到只进行了缩放后的图片尺寸为0.52*[800 600]=[416 312],再利用np.mod(416-312,64)/2得到图片高度两端需要填充的数值,即采用(114,114,114)的灰色填充。在实测中发现,推理速度得到极大的提高。
在本发明实施例中,采用类标签平滑技术进行预处理的步骤具体为采用正则化方法对类标签表示进行编码。
在一个实施例中,手势数据集的收集和标签制作通过手工完成,在此过程中会有可能出现少量的错误样本,而模型过于相信训练样本,在训练过程中调整参数极力去逼近样本,这就导致了这些错误样本的负面影响变大,因此需要在一定程度上减缓这些错误样本的影响,使得模型避免过于相信训练样本。本发明采用类标签平滑(Class labelsmoothing)技术解决over-confident的问题。Class label smoothing是一种正则化方法,是对类标签表示进行了编码,以便在一定程度上对不确定性进行评估。
在步骤S2中,首先,确定深度神经网络模型是基于改进的Yolov5s模型构建出来的;其中,改进的Yolov5s模型包括采用Focus结构进行初步的特征提取、采用CSPDarknet结构进行进一步的特征提取、采用Neck结构进行聚合图像特征以及采用Prediction结构实现图像多尺度预测。
在一个实施例中,从Backbone骨架网络框架及Neck结构框架、Prediction结构框架,对整体深度神经网络模型的实现进行详细介绍,具体如下:
(1)Backbone除了应用CSPDarknet结构外,还应用了Focus结构进行初步的特征提取;
(11)Focus模块能够使图片在下采样的过程中,不带来信息丢失的情况下,将W、H的信息集中到通道C上,再使用3×3的卷积对其进行特征提取,使得特征提取得更加的充分。虽然增加了一点点的计算量,但是为后续的特征提取保留了更完整的图片下采样信息。
为保证模型能够取得丰富的手势特征,提高分类检测的性能,在输入图像进入CSPDarknet模块之前,先应用Focus模块对图像进行切片下采样操作,具体操作是在一张图片中每隔一个像素拿到一个值,类似于邻近下采样,这样就拿到了四张图片,四张图片互补,长的差不多,但是没有信息丢失,这样一来,将W、H信息就集中到了通道空间,输入通道扩充了4倍,即拼接起来的图片相对于原先的RGB三通道模式变成了12个通道,最后将得到的新图片再经过卷积操作,最终得到了没有信息丢失情况下的二倍下采样特征图。
(12)CSPDarknet是在Darknet网路的基础上结合了CSPnet所形成。CSPNet(CrossStage Partial Networks,跨阶段局部网络)实际上是基于Densnet的思想,复制基础层的特征映射图,通过dense block发送副本到下一个阶段,从而将基础层的特征映射图分离出来。这样可以有效缓解梯度消失问题(通过非常深的网络很难去反推丢失信号),支持特征传播,鼓励网络重用特征,从而减少网络参数数量。CSPNet解决了其他大型卷积神经网络框架Backbone中网络优化的梯度信息重复问题,将梯度的变化从头到尾地集成到特征图中,因此减少了模型的参数量和FLOPS数值,既保证了推理速度和准确率,又减小了模型尺寸。所以应用CSPNet结合到Darknet中,不仅保证了手势识别的实时性,能够满足项目所要求的手势动作检测和识别的时间,而且能够从输入图像中提取丰富的信息特征,保证识别的准确性。此时,在网络模型结构中设计了两种改进的CSP结构,在Backbone中使用的是CSP1_X结构(名称同Yolov5的命名,具体内容做了改进变化),而另外一种CSP2_X则在Neck部分中使用。
(2)Neck结构块连接于Backbone之后,用于聚合图像特征。输入图像经过Backbone的下采样后图像特征集中在通道空间中,通过Neck的上采样,进一步聚合特征,能够获得更鲁棒的特征表示。FPN网络一直是目标检测框架特征聚合层的State of the art,所以采用基于PAN和FPN框架的PANET(路径聚合网络),作为Neck部分的主要构成来生成特征金字塔,有助于增强模型对于不同缩放尺度对象的检测,从而能够识别不同大小和尺度的同一个物体,并且能够加强了信息传播。PANET的特征提取器采用了一种新的增强自下向上路径的FPN结构,改善了低层特征的传播。
除此之外,Neck部分还添加了SPP模块(Spatial Pyramid Pooling空间金字塔池化),利用SPP融合不同大小的最大池化层来获得更为鲁棒的特征表示。本项目中,使用k=*1×1,5×5,9×9,13×13+的最大池化方式生成特征值,再通过Concat操作进行合并,能够更有效的增加主干特征的接收范围,显著的分离了最重要的上下文特征。
(3)Prediction结构块的设计是能够实现多尺度预测,该部分融合了网络head输出+loss计算+预测结果解析三个部分。head检测层作为最后的识别输出,在特征图上应用锚定框,并生成带有类概率、对象得分和包围框的最终输出向量。采用三个不同缩放尺度的head输出用来检测不同大小的物体,与会人员无论是靠近摄像头还是远离摄像头,只要做出相应的手势,均能很好的被识别到。
将从以下四个方面对本部分做一个详细的介绍:head输出、anchor生成与匹配、loss计算和预测处理,具体如下:
(31)head输出:通过两层卷积操作输出三种不同尺寸的特征图,作为网络原始的输出。输入图像通过Backbone、Neck之后,形成了三种尺寸的特征金字塔,也即三个分支,后接两层卷积输出预测head,其尺寸为:BatchSize*((5+类别总数)*3个预设锚框)*特征图宽*特征图高。
(32)anchor生成与匹配:Yolo系列模型采用grid cell的方式划分样本位置,其anchor只有宽高两个属性。而预测box的位置(x,y)是相对于其对应grid cell偏移的,其大小是相对anchor的宽高。anchor的生成方式和Faster RCNN以及SSD等算法不一样。
当前目标检测任务中,主流的anchor匹配策略有两种方式,第一个是IOU最大匹配规则,保证了每个gt bbox有一个唯一的anchor进行对应,不考虑一个gt bbox对应多个anchor的场合,也不考虑anchor是否设置合理,如SSD、Faster RCNN网络、Yolo v3和v4采用这种策略;第二种方式是跨网格匹配规则,如Yolov5,这种规则增加了高质量正样本anchor数目,相比第一种方式可以显著加速收敛。
考虑到第二种方式的优势,采用Yolov5一致的anchor匹配策略,详细如下:
3个head输出采用shape规则匹配,也就是该bbox和当前层的anchor计算宽高比,如果宽高比例大于设定阈值,则说明该bbox和anchor匹配度不够,将该bbox过滤暂时丢掉,在该层预测中认为是背景。
对于剩下的bbox,计算其落在哪个网格内,同时利用四舍五入规则,找出最近的两个网格,将这三个网格都认为是负责预测该bbox的,可以发现粗略估计正样本数相比第一种策略,增加了三倍。
(33)loss计算:网络模型通过loss值计算,反向梯度优化各模型参数。该网络模型的loss有三部分构成:Bounding Box Regression Loss(目标框回归损失函数)、Confidence Loss(置信度损失函数)、Classification Loss(分类损失函数)。
在Bounding Box Regression Loss(目标框回归损失函数)中,采用CIOU_Loss方式进行loss的计算。计算公式如下:
其中v是衡量长宽比一致性的参数,定义为:
通过公式看出,CIOU_Loss就将目标框回归函数应该考虑三个重要几何因素:重叠面积、中心点距离,长宽比全都考虑进去了。
在Confidence Loss(置信度损失函数)和Classification Loss(分类损失函数)中,都采用BCEWithLogitsLoss,该loss相当于把传统loss,即BCELoss(BinaryCrossEntropyLoss)和sigmoid融合了,也就是说省略了sigmoid这个步骤。BCELoss的计算公式如下:
(34)预测处理:模型预测的流程为遍历全部batch中的输出tensor;利用sigmoid操作将位置x,y预测拉到0到1之间,并获取预测的box;利用sigmoid操作获取预测的confidence;利用sigmoid操作获取预测的类别得分;保留confidence大于一定阈值的部分,对剩下的box进行nms操作,获取最终的box。
nms称为非极大值抑制,在目标检测的后处理中,为了减少手势误识别,针对很多目标框的筛选,通常需要nms操作。该nms是DIOU_nms,相对比传统nms能够在不增加计算成本的情况下,识别精确度得到稍微的改进。
接着,利用历史的手势图像对深度神经网络模型进行训练及测试。
在一个实施例中,总共收集了690张手势图片,定义了10种手势动作,分别为“点击”、“抓取”、“平移”(分为:左移、右移、上移、下移)、“缩小”、“放大”、“旋转”(分为:左旋转、右旋转)。为了保证数据集的类间平衡,每个手势动作所采集的图片数量相差2张以内,使得10个动作类别能够均匀分布在690张照片中。另外,手势动作数据标签制作,我们使用精灵标注助手(官网:http://www.jinglingbiaozhu.com/)来生成gt文件(或用LabelImg进行标注),gt文件的导出标注格式为VOC格式,文件为xml文件。利用xml.etree.ElementTree库,编写读取函数,读取xml文件的内容,将bbox(目标框)的坐标由VOC标签格式转为Yolo标签格式。
考虑到当前数据集过小,模型训练会出现过拟合现象,还采用albumentations库对手势图像进行扩增(扩增代码可见附录),每张图片都进行了随机旋转、水平翻转、颜色、亮度、锐利度变化、高斯噪点、模糊变化、图片大小变化等扩增方式扩增为25张图片。
最终数据集的图片数量达到17250张,其中训练集占80%,验证集和测试集各占10%,通过随机函数读取手势图片生成三个数据集。为保证各数据集内各类手势的类间数据平衡,避免随机读取某类手势图片过少(甚至极端情况可能造成某类手势没有读取到数据集中),采用每种手势存放各自单独文件夹,按数据集的百分比分别随机读取各个手势文件夹中的图片,最终合并形成三个数据集,这种方式实现了每一种手势都均匀的随机读取到数据集中。
对所采集的17250张图片均进行预处理,包括采用改进的Mosaic数据增强技术、自适应锚框计算、自适应图像缩放技术及类标签平滑技术等技术进行预处理,具体过程请参见前面所述,在此不再赘述。
参照Yolov5的网络模型训练的管理方式,通过创建数据集的yaml控制文件,设置训练集、验证集、测试集的位置以及labels文件夹的位置信息、目标种类的名称。通过模型yaml控制文件,配置类别数、模型的深度、通道宽度、初始anchor、模型backbone信息、head信息,能够实现直接通过该yaml文件就能调整模型的大小。采用训练集对深度神经网络模型进行训练,采用测试集和验证集对深度神经网络模型进行测试和验证,从而得到训练好的深度神经网络模型。
最后,基于预先训练好的深度神经网络模型,对预处理之后的待测手势图像进行识别,并根据所得的识别结果,确定手势动作,如5种基本交互手势之中一种。
如图2所示,为本发明实施例中,提供的一种基于视觉的手势识别系统,包括:
图像获取及预处理单元110,用于获取待测手势图像,并将所述待测手势图像进行预处理;
手势识别单元120,用于基于预先训练好的深度神经网络模型,对预处理之后的待测手势图像进行识别,并根据所得的识别结果,确定手势动作。
其中,所述待测手势图像采用改进的Mosaic数据增强技术、自适应锚框计算、自适应图像缩放技术及类标签平滑技术进行预处理。
其中,所述深度神经网络模型是基于改进的Yolov5s模型构建出来的;其中,所述改进的Yolov5s模型包括采用Focus结构进行初步的特征提取、采用CSPDarknet结构进行进一步的特征提取、采用Neck结构进行聚合图像特征以及采用Prediction结构实现图像多尺度预测。
实施本发明实施例,具有如下有益效果:
本发明利用深度神经网络自动实现特征提取与选择,无需传统模式中人工手势分割与特征提取选择,减少了计算步骤及复杂度,且识别精度也得到一定的提高,从而解决了传统手势识别方法计算复杂度较高及精确度较低的问题,从而满足现实应用中的要求。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (7)
1.一种基于视觉的手势识别方法,其特征在于,所述方法包括以下步骤:
获取待测手势图像,并将所述待测手势图像进行预处理;
基于预先训练好的深度神经网络模型,对预处理之后的待测手势图像进行识别,并根据所得的识别结果,确定手势动作;所述深度神经网络模型是基于Yolov5s模型构建出来的;
所述待测手势图像采用改进的Mosaic数据增强技术、自适应锚框计算、自适应图像缩放技术及类标签平滑技术进行预处理;
所述采用改进的Mosaic数据增强进行预处理的步骤具体为首先选择多张图片,然后按照指定裁剪和随机排布的方式进行拼接,最后输出拼接的图片;其中,
所述指定裁剪为基于图像中目标框的中心位置进行随机缩放及裁剪,再填充进主体图片,且进一步对目标框的宽度与高度进行交集分析,若目标框50%的内容被裁剪进主体图像,则对目标框位置进行相应修改。
2.如权利要求1所述的基于视觉的手势识别方法,其特征在于,所述采用自适应锚框计算进行预处理的步骤具体为首先在图像中生成多个锚框,然后为每个锚框预测类别以及偏移量,接着根据预测的偏移量调整锚框位置得到预测边界框,最后筛选需要输出的预测边界框。
3.如权利要求2所述的基于视觉的手势识别方法,其特征在于,所述采用自适应图像缩放技术进行预处理的步骤具体为首先确定最小缩放系数,然后根据最小缩放系数得到图片的缩放尺寸,接着利用图片的缩放尺寸得到图片高度两端需要填充的数值,最后根据需要图片高度两端需要填充的数值对图片进行填充。
4.如权利要求3所述的基于视觉的手势识别方法,其特征在于,所述采用类标签平滑技术进行预处理的步骤具体为采用正则化方法对类标签表示进行编码。
5.如权利要求1所述的基于视觉的手势识别方法,其特征在于,其中,所述Yolov5s模型包括采用Focus结构进行初步的特征提取、采用CSPDarknet结构进行进一步的特征提取、采用Neck结构进行聚合图像特征以及采用Prediction结构实现图像多尺度预测。
6.一种基于视觉的手势识别系统,其特征在于,包括:
图像获取及预处理单元,用于获取待测手势图像,并将所述待测手势图像进行预处理;
手势识别单元,用于基于预先训练好的深度神经网络模型,对预处理之后的待测手势图像进行识别,并根据所得的识别结果,确定手势动作;所述深度神经网络模型是基于Yolov5s模型构建出来的;
所述待测手势图像采用改进的Mosaic数据增强技术、自适应锚框计算、自适应图像缩放技术及类标签平滑技术进行预处理;
所述采用改进的Mosaic数据增强进行预处理的步骤具体为首先选择多张图片,然后按照指定裁剪和随机排布的方式进行拼接,最后输出拼接的图片;其中,
所述指定裁剪为基于图像中目标框的中心位置进行随机缩放及裁剪,再填充进主体图片,且进一步对目标框的宽度与高度进行交集分析,若目标框50%的内容被裁剪进主体图像,则对目标框位置进行相应修改。
7.如权利要求6所述的基于视觉的手势识别系统,其特征在于,所述Yolov5s模型包括采用Focus结构进行初步的特征提取、采用CSPDarknet结构进行进一步的特征提取、采用Neck结构进行聚合图像特征以及采用Prediction结构实现图像多尺度预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110561526.7A CN113297956B (zh) | 2021-05-22 | 2021-05-22 | 一种基于视觉的手势识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110561526.7A CN113297956B (zh) | 2021-05-22 | 2021-05-22 | 一种基于视觉的手势识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113297956A CN113297956A (zh) | 2021-08-24 |
CN113297956B true CN113297956B (zh) | 2023-12-08 |
Family
ID=77323959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110561526.7A Active CN113297956B (zh) | 2021-05-22 | 2021-05-22 | 一种基于视觉的手势识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297956B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113705111B (zh) * | 2021-09-22 | 2024-04-26 | 百安居网络技术(上海)有限公司 | 一种基于深度学习的装修家具自动布局方法及系统 |
CN114022705B (zh) * | 2021-10-29 | 2023-08-04 | 电子科技大学 | 一种基于场景复杂度预分类的自适应目标检测方法 |
CN117523679A (zh) * | 2024-01-08 | 2024-02-06 | 成都运达科技股份有限公司 | 一种驾驶员手势识别方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808143A (zh) * | 2017-11-10 | 2018-03-16 | 西安电子科技大学 | 基于计算机视觉的动态手势识别方法 |
WO2019080203A1 (zh) * | 2017-10-25 | 2019-05-02 | 南京阿凡达机器人科技有限公司 | 一种机器人的手势识别方法、系统及机器人 |
AU2019100354A4 (en) * | 2019-04-04 | 2019-05-16 | Chen, Mingjie Mr | An animal image search system based on convolutional neural network |
CN111709310A (zh) * | 2020-05-26 | 2020-09-25 | 重庆大学 | 一种基于深度学习的手势跟踪与识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325485B (zh) * | 2015-06-30 | 2019-09-10 | 芋头科技(杭州)有限公司 | 一种手势检测识别方法及系统 |
KR20190085890A (ko) * | 2019-07-01 | 2019-07-19 | 엘지전자 주식회사 | 제스처 인식 장치 및 방법 |
-
2021
- 2021-05-22 CN CN202110561526.7A patent/CN113297956B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019080203A1 (zh) * | 2017-10-25 | 2019-05-02 | 南京阿凡达机器人科技有限公司 | 一种机器人的手势识别方法、系统及机器人 |
CN107808143A (zh) * | 2017-11-10 | 2018-03-16 | 西安电子科技大学 | 基于计算机视觉的动态手势识别方法 |
AU2019100354A4 (en) * | 2019-04-04 | 2019-05-16 | Chen, Mingjie Mr | An animal image search system based on convolutional neural network |
CN111709310A (zh) * | 2020-05-26 | 2020-09-25 | 重庆大学 | 一种基于深度学习的手势跟踪与识别方法 |
Non-Patent Citations (1)
Title |
---|
一种基于深度图像的静态手势神经网络识别方法;彭理仁;王进;林旭军;陆国栋;;自动化与仪器仪表(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113297956A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108334848B (zh) | 一种基于生成对抗网络的微小人脸识别方法 | |
CN113297956B (zh) | 一种基于视觉的手势识别方法及系统 | |
CN109697434B (zh) | 一种行为识别方法、装置和存储介质 | |
US20180114071A1 (en) | Method for analysing media content | |
CN109543606A (zh) | 一种加入注意力机制的人脸识别方法 | |
Yun et al. | Selfreformer: Self-refined network with transformer for salient object detection | |
CN107808376B (zh) | 一种基于深度学习的举手检测方法 | |
CN112287941B (zh) | 一种基于自动字符区域感知的车牌识别方法 | |
CN111428664B (zh) | 一种基于深度学习技术的计算机视觉的实时多人姿态估计方法 | |
CN114155527A (zh) | 一种场景文本识别方法和装置 | |
CN109063626B (zh) | 动态人脸识别方法和装置 | |
CN110532959B (zh) | 基于双通道三维卷积神经网络的实时暴力行为检测系统 | |
CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
CN113298018A (zh) | 基于光流场和脸部肌肉运动的假脸视频检测方法及装置 | |
CN106874825A (zh) | 人脸检测的训练方法、检测方法和装置 | |
CN113743389B (zh) | 一种面部表情识别的方法、装置和电子设备 | |
CN115424017A (zh) | 一种建筑物内外轮廓分割方法、装置及存储介质 | |
CN117315752A (zh) | 人脸情绪识别网络模型的训练方法、装置、设备和介质 | |
Zerrouki et al. | Exploiting deep learning-based LSTM classification for improving hand gesture recognition to enhance visitors’ museum experiences | |
CN113887468B (zh) | 一种三阶段网络框架的单视角人-物交互的识别方法 | |
CN115953744A (zh) | 一种基于深度学习的车辆识别追踪方法 | |
CN115909493A (zh) | 一种面向课堂实录视频的教师不当手势检测方法及系统 | |
CN113221824B (zh) | 基于个体模型生成的人体姿态识别方法 | |
CN114663910A (zh) | 基于多模态学习状态分析系统 | |
Kaushik et al. | A Survey of Approaches for Sign Language Recognition System |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |