CN110348417B - 一种深度手势识别算法的优化方法 - Google Patents

一种深度手势识别算法的优化方法 Download PDF

Info

Publication number
CN110348417B
CN110348417B CN201910646658.2A CN201910646658A CN110348417B CN 110348417 B CN110348417 B CN 110348417B CN 201910646658 A CN201910646658 A CN 201910646658A CN 110348417 B CN110348417 B CN 110348417B
Authority
CN
China
Prior art keywords
data
data set
training
file
sample
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.)
Expired - Fee Related
Application number
CN201910646658.2A
Other languages
English (en)
Other versions
CN110348417A (zh
Inventor
徐涛
冯志全
杨晓晖
曹爱增
于杰
刁心怡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Jinan
Original Assignee
University of Jinan
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Jinan filed Critical University of Jinan
Priority to CN201910646658.2A priority Critical patent/CN110348417B/zh
Publication of CN110348417A publication Critical patent/CN110348417A/zh
Application granted granted Critical
Publication of CN110348417B publication Critical patent/CN110348417B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了一种深度手势识别算法的优化方法,涉及人机交互技术领域,所述方法包括:建立统一的数据集存放结构和统一的数据集文件;根据配置文件将数据集样本以载入到内存中;将载入的数据集样本交给完整统一的训练模块;优化神经网络结构;根据配置信息来配置训练过程中各种可调参数和训练模块的行为并开始训练;训练结束后依据配置文件进行模型的保存和实验中数据的保存;将训练过程产生的数据加载到画图模块进行训练过程相关曲线的绘制。建立统一的数据集存放结构和统一的数据集文件,能在不同的项目间迁移,对多种传统网络的网络参数设置与优化,将传统网络结合实际使用情况加以优化和改进,增加训练速度,优化训练结果,减小模型体积。

Description

一种深度手势识别算法的优化方法
技术领域
本申请涉及人机交互技术领域,具体涉及一种深度手势识别算法的优化方法。
背景技术
手是人身上比较灵活的部位,通过手势我们可以很方便的传递信息。因此,手势识别在新一代的人机交互中起到至关重要的作用。例如可以通过手势操作在VR中实现手眼协同从而方便的进行游戏和虚拟装配训练等,通过识别手势代表的操作,可以不用鼠标键盘实现远距离与计算机的交互操作。手势识别在人机交互中起到了至关重要的作用,目前人们大多使用机器学习方法进行手势识别,这就涉及到手势识别模型的训练和优化,当前多数基于普通RGB摄像头的手势识别算法一般对光照的要求比较严苛,对与手颜色相近的身体部位的检测比较敏感,容易导致手势识别性能下降。由于深度手势图像在一定程度上能够降低光照变化对识别效果的影响,所以近年来基于深度手势图像的手势识别算法获得了较多关注。
目前的深度手势识别主要是基于深度学习进行的,该类方法主要是以机器学习或深度卷积网络为基础,通过使用卷积和池化等卷积网络的相关特征提取操作对图像中的每一个部分进行局部特征的提取和全局特征的提取,然后通过卷积神经网络的全连接层或者其他机器学习方法对特征进行整合和再次提取,最后得到识别结果。当前,基于传统机器学习或者深度学习的手势识别方法在大数据集上的表现并不理想,传统机器学习方法使用人工设计的特征并不能很好的对手势特征进行表征,而对于深度学习方法来说在网络的优化上不同的手势识别方法采用了不同的手段,会给实验结果带来较大的差异,而且网络的训练过程与代码质量良莠不齐,不同的训练策略也会给实验效果带来很大的差异。
《无线电工程》在2019年07期的《基于深度神经网络的手势动作识别》一文中提及了一种基于卷积神经网络和人体表面肌电信号结合的手势动作识别方法,该方法利用人体表面肌电信号来进行数据信号的采集,在一定程度上解决了样本采集不完整和杂音较多的情况,使用利用卷积神经网络能自动发现特征的这一特性,可以很好的避免人工特征带来的识别瓶颈,但采集人体表面肌电信号需要使用特定的装置,虽然能保证数据采集的准确性,但是会减缓数据采集的速度和增大数据采集的难度。
《电子工程设计》在2019年02期的《基于椭圆肤色模型和深度学习的静态手势识别》一文中提及了一种基于椭圆肤色模型的深度学习静态手势识别方法。该方法主要利用非线性变换以后的肤色在图像中呈现比较明显的椭圆分布这一特性来进行样本的处理,这样的好处是直接从摄像头就可以获得图像输入,不需要使用额外的可穿戴设备来进行采集,同时使用卷积神经网络来保证提取出来的特征不会遇到人工提取的特征那样的瓶颈,但这种方法对环境光的依赖比较严重,环境光的改变会对识别结果产生较大的干扰,而且和肤色相近的颜色也会在识别过程中起到很大的干扰作用。
《信息通信》在2019年01期的《基于深度卷积神经网络的手势识别》一文中提出了一种基于RGB图像的深度卷积神经网络的手势识别方法。其中手势数据采用的是在黑色背景下通过普通的RGB摄像头捕获手势样本,这样在一定程度上避免了环境光和周围颜色的干扰,但同时也会让样本的采集工作变得更加复杂和繁琐,同时因为使用深度神经网络的过程不透明,导致实验复现的难度变大,实验优化手段不统一,变量控制不到位。
《自动化技术与应用》在2019年04期的《基于Kinect深度图像的手势识别分类》中提出了一种基于Kinect深度图像的手势识别方法。在这里面手势数据的采集使用Kinect代替RGB摄像头,可以很好的解决基于RGB图像的手势数据样本存在的受环境光和颜色变化影响大的问题,但在这篇文章中提到的手部识别算法使用的是形态学特征,这样的人为特征在应对手势种类繁多的任务时效果并不是很理想,对抗噪音的效果以及识别结果不如使用卷积神经网络。
《计算机科学》在2018年12期的《基于深度信息的动态手势识别综述》一文中提出了一种基于深度数据的动态手势识别技术。使用Kinect进行图像深度信息的采集,可以保证采集到的手势不被环境光以及周围的颜色所影响,从而增加样本特征的可靠性。同时使用基于深度阈值的分割方法可以保证手部分的图像可以很好的被裁切和保留下来而不产生过多的噪点。但是本文使用的人工设计的局部特征和全局特征来代替神经网络自己提取的特征,会导致噪点或者其他因素干扰图像的识别效果。
综上所述,现有的手势识别方法中使用的样本采集手段繁多,但真正高效而且效果好的应该是基于Kinect等支持深度信息采集的设备采集出的手势样本。目前现有的手势识别算法主要是基于机器学习和深度学习两种:其中基于机器学习的手势识别算法主要是使用人工设计的特征,这样的特征会导致算法对人工设定的特征依赖程度大,不会根据输入图像的不同自动学习特征之间的差异,从而导致算法对特征间细微的扰动相对敏感,降低了算法的鲁棒性;而使用深度学习的方法中,对大数据集的有效加载,对于模型的优化手法和实验设置的描述不清,让实验的复现难度变大,同时在实验结果绘制时各种评价曲线较多,分析实验的难度变大。
发明内容
本申请为了解决上述技术问题,提出了如下技术方案:
第一方面,本申请实施例提供了一种深度手势识别算法的优化方法,其所述方法包括:
S1:建立统一的数据集存放结构和统一的数据集文件;
S2:根据配置文件将数据集样本以载入到内存中;
S3:将载入的数据集样本交给完整统一的训练模块;
S4:优化神经网络结构;
S5:根据配置信息来配置训练过程中各种可调参数和训练模块的行为并开始训练;
S6:训练结束后依据配置文件进行模型的保存和实验中数据的保存;
S7:将训练过程产生的数据加载到画图模块进行训练过程相关曲线的绘制。
采用上述实现方式,建立统一的数据集存放结构和统一的数据集文件,数据加载流程更加统一和明了,能在不同的项目间迁移,优化后的网络结构运行速度更快,准确率较没有优化前的有提升,网络的训练和使用过程更加统一,能够保证在良好内存控制的基础上不影响训练的速度,并且能够将训练过程中重要的数据和产出成果保存下来,统一的特征数据采集为后面对网络间和模型间的性能,准确率,错误率等的控制变量分析提供了可能。对多种传统网络的网络参数设置与优化,将传统网络结合实际使用情况加以优化和改进,增加训练速度,优化训练结果,减小模型体积。
结合第一方面,在第一方面第一种可能的实现方式中,所述S1包括:
S11:将同一种类的数据集文件整理到一个文件下,并以分类编号作为文件夹名将各个类别的文件夹统一放在一个根目录下;
S12:将数据集样本所在的根目录,操作***目录分割符,需要扫描的子文件夹,文件限定类型,数据样本统一缩放大小,训练集测试集以及数据集的整理形式等编写成配置文件;
S13:自动读取配置文件,依次扫描每一个需要扫描的子文件夹,将扫描到的数据集样本路径字典,对数据集样本路径字典中每一个路径指向的文件进行可用性检测和预处理;
S14:自动根据配置文件和数据集样本路径字典生成对应的训练集文件。
结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述S13包括:
S131:根据配置文件中需要扫描的数据集根目录和需要扫描的数据集子目录进行数据集样本文件的扫描,同时读取配置文件中限定文件类型对扫描结果进行过滤;
S132:将扫描的数据集样本文件根据配置文件中的操作***目录分隔符组成数据集样本路径字典;
S133:对数据集样本路径字典中的每一个路径进行图像可用性检测以及尝试进行图像预处理;
S134:检测步骤S133能否顺利进行,如果不能顺利进行,就将有问题的路径从数据集样本路径字典中删除。
结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述S133包括:
S1331:从数据集样本路径字典中获取一个路径;
S1332:检测文件是否可以被图像处理框架打开;
S1333:对图像的像素数组求平均值检测是否为纯黑色或者纯白色图像;
S1334:对图像进行计算包围盒,利用包围盒算法提取数据样本的Boundingbox;
S1335:提取Boundingbox内的像素内容并根据配置文件进行Resize;
S1336:将Resize后的内容放在新图像的中间;
S1337:将预处理后的图像覆盖到源路径的图像。
结合第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,所述S14包括:
S141:将没有通过可用性检查和无法进行预处理的路径从数据集样本路径字典中删除;
S142:读取配置信息确定数据集的组织形式;
S143:检查是否是使用交叉验证数据集:若不是使用交叉验证数据集则进行步骤S144,若使用交叉验证数据集则进行步骤S145;
S144:根据配置文件生成非交叉验证的测试集和训练集字典;
S145:根据配置文件生成交叉验证的测试集和训练集以及验证集字典;
S146:将生成后的数据集字典写入到文件。
结合第一方面第四种可能的实现方式,在第一方面第五种可能的实现方式中,所述S144包括:
S1441:读取每一类样本的所有的样本路径;
S1442:从所有的样本路径中随机选出配置文件中规定的样本数量,并按照配置文件中配置的比例将随机抽取出的样本路径进行随机分类;
S1443:将所有被扫描样本类别中随机选出的样本分组组合在一起,生成一个大测试集和一个大训练集。
结合第一方面第四种可能的实现方式,在第一方面第六种可能的实现方式中,所述S145包括:
S1451:读取每一类样本的所有的样本路径;
S1452:从所有的样本路径中随机选出配置文件中规定的样本数量,并按照配置文件中配置的比例将随机抽取出的样本路径进行随机分类;
S1453:计算每一类样本在K折分类后的数量;
S1454:根据S1453的计算结果将样本分成K份,并进行编号;
S1455:依据S1454的K折拆分编号合并同编号的数据集字典,形成K个数据集字典。
结合第一方面,在第一方面第七种可能的实现方式中,所述S2包括:
S21:根据配置信息确定是使用交叉验证数据集文件还是非交叉验证数据集文件;
S22:若是使用非交叉验证数据集文件进行步骤S23,如果是使用交叉验证数据集文件进行步骤;
S23:读取非交叉验证数据集训练集文件和测试集的内容,解析路径信息中的分类信息生成包含各自数据的两个字典,内含标签,路径,图像数据:等信息;
S24:读取交叉验证数据集文件时会自动地在每次让一个数据集为测试集,其余的为训练集,生成包含各自数据的两个字点,内含标签,路径,图像数据等信息,并等待数据载入到内存中;
S25:如果配置信息中有直接加载数据的相关配置,会直接将所有的数据载入内存,如果配置信息中没有直接加载数据的相关配置,会在数据被需要的时候再加载数据。
结合第一方面,在第一方面第八种可能的实现方式中,所述S4包括:
S41:判断使用的网络类型:若使用Lenet-5则进行步骤S42,若使用Alexnet则进行步骤S43,若使用VGG-16则进行步骤S44,若使用GoogLenet则进行步骤S45;
S42:将Sigmoid激活函数替换成ReLU激活函数,修改输入特征图的大小,适当调整FC层的输入特征数,将池化方法改成最大池化;
S43:去掉了LRN层,修改输入特征图的大小,适当调整FC层的输入特征数;
S44:使用Dropout代替Batch Normalization,修改输入特征图的大小,适当调整FC层的输入特征数;
S45:将5x5的大池化层拆分成两个3x3的小池化层,增强了BatchNormalization出现的频率,修改输入特征图的大小,适当调整FC层的输入特征数;
S46:去掉Softmax层。
结合第一方面,在第一方面第九种可能的实现方式中,所述S5包括:
S51:读取配置信息;
S52:依据配置信息设置Learningrate;
S53:依据配置信息设置训练轮数;
S54:依据配置信息设置模型正确率验证频率;
S55:依据配置信息设置训练过程追踪器;
S56:依据配置信息设置Batchsize;
S57:依据配置信息设置损失函数;
S58:依据配置信息设置梯度下降优化器;
S59:依据配置信息设置模块的工作状态;
S510:检查模块的工作状态,若是使用训练则执行步骤S511-S517,若是使用状态则执行步骤S518-S520;
S511:自动检查数据加载状态,如果是懒加载则加载需要的数据;
S512:自动将数据集封装成深度学习框架能够识别的类型;
S513:自动送入深度学习框架进行训练,自动识别是否可以使用GPU加速;
S514:自动运行训练过程追踪器;
S515:自动运行模型验证;
S516:自动回收步骤S512和步骤S513产生的临时变量同时清理内存;
S517:自动检测是否可以结束训练,如果训练没有结束则重复执行步骤S514、步骤S515、步骤S516、步骤S517,如果训练结束执行步骤S522;
S518:自动加载数据;
S519:自动加载模型;
S520:自动使用模型进行预测,自动识别是否可以使用GPU加速;
S521:自动检测输入数据是否全部被预测,如果没有被全部预测则重复执行步骤S518、步骤S519、步骤S520、步骤S521;
S522:返回运行结果或运行状态。
结合第一方面,在第一方面第十种可能的实现方式中,所述S7包括:
S71:加载训练过程追踪器的追踪数据;
S72:自动格式化追踪数据;
S73:自动检查追踪数据是否完整以及对应关系是否正确;
S74:自动映射数据;
S75:自动选择绘图线颜色;
S76:自动添加绘图坐标轴和图例;
S77:自动绘制图形。
附图说明
图1为本申请实施例提供的一种深度手势识别算法的优化方法的流程示意图;
图2为本申请实施例提供的Lenet-5优化后的网络结构;
图3为本申请实施例提供的Alexnet优化后的网络结构;
图4为本申请实施例提供的VGG优化后的网络结构;
图5为本申请实施例提供的GoogLenet优化后的网络结构。
具体实施方式
下面结合附图与具体实施方式对本方案进行阐述。
图1为本申请实施例提供的一种高分辨率遥感目标大数据集的高效标注方法的流程示意图,参见图1,所述方法包括:
S1,建立统一的数据集存放结构和统一的数据集文件。
本实施例中步骤S1具体为:S11:将同一种类的数据集文件整理到一个文件下,并以分类编号作为文件夹名将各个类别的文件夹统一放在一个根目录下。S12:将数据集样本所在的根目录,操作***目录分割符,需要扫描的子文件夹,文件限定类型,数据样本同意缩放大小,训练集测试集以及数据集的整理形式等编写成配置文件。S13:自动读取配置文件,依次扫描每一个需要扫描的子文件夹,将扫描到的数据集样本路径字典,对数据集样本路径字典中每一个路径指向的文件进行可用性检测和预处理。S14:自动根据配置文件和数据集样本路径字典生成对应的训练集文件。
具体地,所述步骤S13包括:S131:根据配置文件中需要扫描的数据集根目录和需要扫描的数据集子目录进行数据集样本文件的扫描,同时读取配置文件中限定文件类型对扫描结果进行过滤。S132:将扫描的数据集样本文件根据配置文件中的操作***目录分隔符组成数据集样本路径字典。S133:对数据集样本路径字典中的每一个路径进行图像可用性检测以及尝试进行图像预处理。S134:检测步骤S133能否顺利进行,如果不能顺利进行,就将有问题的路径从数据集样本路径字典中删除。
其中,所述步骤S133包括:S1331:从数据集样本路径字典中获取一个路径。S1332:检测文件是否可以被图像处理框架打开。S1333:对图像的像素数组求平均值检测是否为纯黑色或者纯白色图像。S1334:对图像进行计算包围盒,利用包围盒算法提取数据样本的Boundingbox。S1335:提取Boundingbox内的像素内容并根据配置文件进行Resize。S1336:将Resize后的内容放在新图像的中间。S1337:把预处理后的图像覆盖到源路径的图像。
所述步骤S14包括:S141:将没有通过可用性检查和无法进行预处理的路径从数据集样本路径字典中删除。S142:读取配置信息确定数据集的组织形式。S143:检查是否是使用交叉验证数据集:若不是使用交叉验证数据集则进行步骤S144,若使用交叉验证数据集则进行步骤S145。S144:根据配置文件生成非交叉验证的测试集和训练集字典。S145:根据配置文件生成交叉验证的测试集和训练集以及验证集字典。146:将生成后的数据集字典写入到文件。
其中,所述步骤S144包括:S1441:读取每一类样本的所有的样本路径。S1442:从所有的样本路径中随机选出配置文件中规定的样本数量,并按照配置文件中配置的比例将随机抽取出的样本路径进行随机分类。S1443:将所有被扫描样本类别中随机选出的样本分组组合在一起,生成一个大测试集和一个大训练集。
所述步骤S145包括:S1451:读取每一类样本的所有的样本路径。S1452:从所有的样本路径中随机选出配置文件中规定的样本数量,并按照配置文件中配置的比例将随机抽取出的样本路径进行随机分类。S1453:计算每一类样本在K折分类后的数量。S1454:根据S1453的计算结果将样本分成K份,并进行编号。S1455:依据S1454的K折拆分编号合并同编号的数据集字典,形成K个数据集字典。
S2,根据配置文件将数据集样本以载入到内存中。
本实施例中步骤S2具体为:S21:根据配置信息确定是使用交叉验证数据集文件还是非交叉验证数据集文件。S22:若是使用非交叉验证数据集文件进行步骤S23,如果是使用交叉验证数据集文件进行步骤。S23:读取非交叉验证数据集训练集文件和测试集的内容,解析路径信息中的分类信息生成包含各自数据的两个字典,内含标签,路径,图像数据:等信息。S24:读取交叉验证数据集文件时会自动地在每次让一个数据集为测试集,其余的为训练集,生成包含各自数据的两个字点,内含标签,路径,图像数据等信息,并等待数据载入到内存中。S25:如果配置信息中有直接加载数据的相关配置,会直接将所有的数据载入内存,如果配置信息中没有直接加载数据的相关配置,会在数据被需要的时候再加载数据。
S3,将载入的数据集样本交给完整统一的训练模块。
S4,优化神经网络结构。
本实施例中步骤S4具体为:S41:判断使用的网络类型:若使用Lenet-5则进行步骤S42,若使用Alexnet则进行步骤S43,若使用VGG-16则进行步骤S44,若使用GoogLenet则进行步骤S45。S42:将Sigmoid激活函数替换成ReLU激活函数,修改输入特征图的大小,适当调整FC层的输入特征数,将池化方法改成最大池化,如图2所示为Lenet-5优化后的网络结构。S43:去掉了LRN层,修改输入特征图的大小,适当调整FC层的输入特征数,如图3所示为Alexnet优化后的网络结构。S44:使用Dropout代替Batch Normalization,修改输入特征图的大小,适当调整FC层的输入特征数,如图4所示为VGG优化后的网络结构。S45:将5x5的大池化层拆分成两个3x3的小池化层,增强了BatchNormalization出现的频率,修改输入特征图的大小,适当调整FC层的输入特征数,如图5所示为GoogLenet优化后的网络结构。S46:去掉Softmax层。
S5,根据配置信息来配置训练过程中各种可调参数和训练模块的行为并开始训练。
本实施例中,所述步骤S5具体为:S51:读取配置信息。S52:依据配置信息设置Learningrate。S53:依据配置信息设置训练轮数。S54:依据配置信息设置模型正确率验证频率。S55:依据配置信息设置训练过程追踪器。S56:依据配置信息设置Batchsize。S57:依据配置信息设置损失函数。S58:依据配置信息设置梯度下降优化器。S59:依据配置信息设置模块的工作状态;S510:检查模块的工作状态,若是使用训练则执行步骤S511-S517,若是使用状态则执行步骤S518-S520。S511:自动检查数据加载状态,如果是懒加载则加载需要的数据。S512:自动将数据集封装成深度学习框架能够识别的类型。S513:自动送入深度学习框架进行训练,自动识别是否可以使用GPU加速。S514:自动运行训练过程追踪器。S515:自动运行模型验证。S516:自动回收步骤S512和步骤S513产生的临时变量同时清理内存。S517:自动检测是否可以结束训练,如果训练没有结束则重复执行步骤S514、步骤S515、步骤S516、步骤S517,如果训练结束执行步骤S522。S518:自动加载数据。S519:自动加载模型。S520:自动使用模型进行预测,自动识别是否可以使用GPU加速。S521:自动检测输入数据是否全部被预测,如果没有被全部预测则重复执行步骤S518、步骤S519、步骤S520、步骤S521。S522:返回运行结果或运行状态。
S6,训练结束后依据配置文件进行模型的保存和实验中数据的保存。
S7,将训练过程产生的数据加载到画图模块进行训练过程相关曲线的绘制。
本实施例中,所述步骤S7具体包括:S71:加载训练过程追踪器的追踪数据。S72:自动格式化追踪数据。S73:自动检查追踪数据是否完整以及对应关系是否正确。S74:自动映射数据。S75:自动选择绘图线颜色。S76:自动添加绘图坐标轴和图例。S77:自动绘制图形。
本申请是一个示意性举例,一个示意性实施例,建立深度手势数据集,按以下过程建立数据集:将手势数据集进行分类,按照种类将深度收拾样本进行归类,统一放到一个文件夹下。在程序配置文件中填入路径和需要扫描的子文件夹和操作***路径分隔符、需要过滤的后缀名、图像预处理参数和数据集形式。调用数据集生成函数,等待程序按照配置文件对文件夹进行扫描、过滤、图像有效性检测和图像预处理。得到经过过滤、有效性检测和预处理后最后的数据集样本路径字典文件。
将数据集导入训练模块开始训练,按以下过程进行:选择需要使用的训练网络。在参数列表中传入Learningrate、训练轮数、模型正确率验证频率、工作线程、追踪器配置、模型保存参数、Batchsize、损失函数、优化器、追踪文件名称、模型名称、数据集状态(是否是交叉验证数据集)。实例化训练模块,并传入参数列表和模型网络,调用入口函数,等待自动训练和保存过程数据以及模型完成。得到训练过程数据和训练模型。
模型效果评估,该步骤包括以下过程:加载训练过程数据。分离文件内各种类型的数据。将数据传入绘图模块。使用链式调用设置绘图数据、绘图基本信息。执行绘图函数等待绘图完成。得到分析图。
使用训练出的网络,按以下过程进行:加载训练好的模型;加载需要被预测的数据;将需要被预测的数据放入参数字典中,并传入训练模块;实例化训练模块,并调用入口函数,等待预测完成;获得预测结果。
在深度手势识别中对大数据集的加载和内存占用进行了考量,即在特大规模的数据集下使用懒加载和较为激进的内存回收来控制程序对内存的占用,防止大数据占用过多内存减缓程序的训练速度。本申请提出了对多种传统网络的网络参数设置与优化,将传统网络结合实际使用情况加以优化和改进,增加训练速度,优化训练结果,减小模型体积。
本申请提出了一种泛化统一的CNN训练和使用方法,将传统的训练过程进行封装,并对大多数情况进行了自动判断与处理,这样可以保证代码训练环境和训练规程的统一,同时也可以保证代码的训练过程中影响实验结果的变量可以得到很好的控制。同时也节省了训练代码编写的时间,可以让研究人员更好的将时间放在算法的研究上。同时也提供了灵活的配置,虽然流程统一,但是并不影响网络训练本身的灵活性。
由上述可知,本实施例提供了一种深度手势识别算法的优化方法,建立统一的数据集存放结构和统一的数据集文件,数据加载流程更加统一和明了,能在不同的项目间迁移,优化后的网络结构运行速度更快,准确率较没有优化前的有提升,网络的训练和使用过程更加统一,能够保证在良好内存控制的基础上不影响训练的速度,并且能够将训练过程中重要的数据和产出成果保存下来,统一的特征数据采集为后面对网络间和模型间的性能,准确率,错误率等的控制变量分析提供了可能。对多种传统网络的网络参数设置与优化,将传统网络结合实际使用情况加以优化和改进,增加训练速度,优化训练结果,减小模型体积。
当然,上述说明也并不仅限于上述举例,本申请未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述;以上实施例及附图仅用于说明本申请的技术方案并非是对本申请的限制,如来替代,本申请仅结合并参照优选的实施方式进行了详细说明,本领域的普通技术人员应当理解,本技术领域的普通技术人员在本申请的实质范围内所做出的变化、改型、添加或替换都不脱离本申请的宗旨,也应属于本申请的权利要求保护范围。

Claims (7)

1.一种深度手势识别算法的优化方法,其特征在于,所述方法包括:
S1:建立统一的数据集存放结构和统一的数据集文件;
所述S1包括:
S11:将同一种类的数据集文件整理到一个文件下,并以分类编号作为文件夹名将各个类别的文件夹统一放在一个根目录下;
S12:将数据集样本所在的根目录,操作***目录分割符,需要扫描的子文件夹,文件限定类型,数据样本统一缩放大小,训练集测试集以及数据集的整理形式等编写成配置文件;
S13:自动读取配置文件,依次扫描每一个需要扫描的子文件夹,将扫描到的数据集样本路径字典,对数据集样本路径字典中每一个路径指向的文件进行可用性检测和预处理;
S14:自动根据配置文件和数据集样本路径字典生成对应的训练集文件;
S2:根据配置文件将数据集样本以载入到内存中;
所述S2包括:
S21:根据配置信息确定是使用交叉验证数据集文件还是非交叉验证数据集文件;
S22:若是使用非交叉验证数据集文件进行步骤S23,如果是使用交叉验证数据集文件进行步骤;
S23:读取非交叉验证数据集训练集文件和测试集的内容,解析路径信息中的分类信息生成包含各自数据的两个字典,内含标签,路径,图像数据:等信息;
S24:读取交叉验证数据集文件时会自动地在每次让一个数据集为测试集,其余的为训练集,生成包含各自数据的两个字点,内含标签,路径,图像数据等信息,并等待数据载入到内存中;
S25:如果配置信息中有直接加载数据的相关配置,会直接将所有的数据载入内存,如果配置信息中没有直接加载数据的相关配置,会在数据被需要的时候再加载数据;
S3:将载入的数据集样本交给完整统一的训练模块;
S4: 优化神经网络结构;
所述S4包括:
S41:判断使用的网络类型:若使用Lenet-5则进行步骤S42,若使用Alexnet则进行步骤S43,若使用VGG-16则进行步骤S44,若使用GoogLenet则进行步骤S45;
S42:将Sigmoid激活函数替换成ReLU激活函数,修改输入特征图的大小,适当调整FC层的输入特征数,将池化方法改成最大池化;
S43:去掉了LRN层,修改输入特征图的大小,适当调整FC层的输入特征数;
S44:使用Dropout代替Batch Normalization,修改输入特征图的大小,适当调整FC层的输入特征数;
S45:将5x5的大池化层拆分成两个3x3的小池化层,增强了BatchNormalization出现的频率,修改输入特征图的大小,适当调整FC层的输入特征数;
S46:去掉Softmax层;
S5:根据配置信息来配置训练过程中各种可调参数和训练模块的行为并开始训练;
S6:训练结束后依据配置文件进行模型的保存和实验中数据的保存;
S7:将训练过程产生的数据加载到画图模块进行训练过程相关曲线的绘制。
2.根据权利要求1所述的深度手势识别算法的优化方法,其特征在于,所述S13包括:
S131:根据配置文件中需要扫描的数据集根目录和需要扫描的数据集子目录进行数据集样本文件的扫描,同时读取配置文件中限定文件类型对扫描结果进行过滤;
S132:将扫描的数据集样本文件根据配置文件中的操作***目录分隔符组成数据集样本路径字典;
S133:对数据集样本路径字典中的每一个路径进行图像可用性检测以及尝试进行图像预处理;
S134:检测步骤S133能否顺利进行,如果不能顺利进行,就将有问题的路径从数据集样本路径字典中删除。
3.根据权利要求2所述的深度手势识别算法的优化方法,其特征在于,所述S133包括:
S1331:从数据集样本路径字典中获取一个路径;
S1332:检测文件是否可以被图像处理框架打开;
S1333:对图像的像素数组求平均值检测是否为纯黑色或者纯白色图像;
S1334:对图像进行计算包围盒,利用包围盒算法提取数据样本的Boundingbox;
S1335:提取Boundingbox内的像素内容并根据配置文件进行Resize;
S1336:将Resize后的内容放在新图像的中间;
S1337:用预处理后的图像覆盖到源路径的图像。
4.根据权利要求3所述的深度手势识别算法的优化方法,其特征在于,所述S14包括:
S141:将没有通过可用性检查和无法进行预处理的路径从数据集样本路径字典中删除;
S142:读取配置信息确定数据集的组织形式;
S143:检查是否是使用交叉验证数据集:若不是使用交叉验证数据集则进行步骤S144,若使用交叉验证数据集则进行步骤S145;
S144:根据配置文件生成非交叉验证的测试集和训练集字典;
S145:根据配置文件生成交叉验证的测试集和训练集以及验证集字典;
S146:将生成后的数据集字典写入到文件。
5.根据权利要求4所述的深度手势识别算法的优化方法,其特征在于,所述S144包括:
S1441:读取每一类样本的所有的样本路径;
S1442:从所有的样本路径中随机选出配置文件中规定的样本数量,并按照配置文件中配置的比例将随机抽取出的样本路径进行随机分类;
S1443:将所有被扫描样本类别中随机选出的样本分组组合在一起,生成一个大测试集和一个大训练集。
6.根据权利要求4所述的深度手势识别算法的优化方法,其特征在于,所述S145包括:
S1451:读取每一类样本的所有的样本路径;
S1452:从所有的样本路径中随机选出配置文件中规定的样本数量,并按照配置文件中配置的比例将随机抽取出的样本路径进行随机分类;
S1453:计算每一类样本在K折分类后的数量;
S1454:根据S1453的计算结果将样本分成K份,并进行编号;
S1455:依据S1454的K折拆分编号合并同编号的数据集字典,形成K个数据集字典。
7.根据权利要求1所述的深度手势识别算法的优化方法,其特征在于,所述S5包括:
S51:读取配置信息;
S52:依据配置信息设置Learningrate;
S53:依据配置信息设置训练轮数;
S54:依据配置信息设置模型正确率验证频率;
S55:依据配置信息设置训练过程追踪器;
S56:依据配置信息设置Batchsize;
S57:依据配置信息设置损失函数;
S58:依据配置信息设置梯度下降优化器;
S59:依据配置信息设置模块的工作状态;
S510:检查模块的工作状态,若是使用训练则执行步骤S511- S517,若是使用状态则执行步骤S518- S520;
S511:自动检查数据加载状态,如果是懒加载则加载需要的数据;
S512:自动将数据集封装成深度学习框架能够识别的类型;
S513:自动送入深度学习框架进行训练,自动识别是否可以使用GPU加速;
S514:自动运行训练过程追踪器;
S515:自动运行模型验证;
S516:自动回收步骤S512和步骤S513产生的临时变量同时清理内存;
S517:自动检测是否可以结束训练,如果训练没有结束则重复执行步骤S514、步骤S515、步骤S516、步骤S517,如果训练结束执行步骤S522;
S518:自动加载数据;
S519:自动加载模型;
S520:自动使用模型进行预测,自动识别是否可以使用GPU加速;
S521:自动检测输入数据是否全部被预测,如果没有被全部预测则重复执行步骤S518、步骤S519、步骤S520、步骤S521;
S522:返回运行结果或运行状态。
CN201910646658.2A 2019-07-17 2019-07-17 一种深度手势识别算法的优化方法 Expired - Fee Related CN110348417B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910646658.2A CN110348417B (zh) 2019-07-17 2019-07-17 一种深度手势识别算法的优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910646658.2A CN110348417B (zh) 2019-07-17 2019-07-17 一种深度手势识别算法的优化方法

Publications (2)

Publication Number Publication Date
CN110348417A CN110348417A (zh) 2019-10-18
CN110348417B true CN110348417B (zh) 2022-09-30

Family

ID=68175603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910646658.2A Expired - Fee Related CN110348417B (zh) 2019-07-17 2019-07-17 一种深度手势识别算法的优化方法

Country Status (1)

Country Link
CN (1) CN110348417B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111046796A (zh) * 2019-12-12 2020-04-21 哈尔滨拓博科技有限公司 一种基于双摄像头深度信息的低成本空间手势控制方法及***
CN112508193B (zh) * 2021-02-02 2021-05-07 江西科技学院 一种深度学习平台
CN117351016B (zh) * 2023-12-05 2024-02-06 菲特(天津)检测技术有限公司 提升缺陷检测模型准确度的后处理优化方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052884A (zh) * 2017-12-01 2018-05-18 华南理工大学 一种基于改进残差神经网络的手势识别方法
CN109559298A (zh) * 2018-11-14 2019-04-02 电子科技大学中山学院 一种基于深度学习的乳液泵缺陷检测的方法
WO2019080203A1 (zh) * 2017-10-25 2019-05-02 南京阿凡达机器人科技有限公司 一种机器人的手势识别方法、***及机器人

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019080203A1 (zh) * 2017-10-25 2019-05-02 南京阿凡达机器人科技有限公司 一种机器人的手势识别方法、***及机器人
CN108052884A (zh) * 2017-12-01 2018-05-18 华南理工大学 一种基于改进残差神经网络的手势识别方法
CN109559298A (zh) * 2018-11-14 2019-04-02 电子科技大学中山学院 一种基于深度学习的乳液泵缺陷检测的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于卷积神经网络的手势识别方法;杨文斌等;《安徽工程大学学报》;20180215(第01期);全文 *
基于迁移学习的卷积神经网络应用研究;张鑫鑫等;《电脑知识与技术》;20190405(第10期);全文 *

Also Published As

Publication number Publication date
CN110348417A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN110348417B (zh) 一种深度手势识别算法的优化方法
WO2020098074A1 (zh) 人脸样本图片标注方法、装置、计算机设备及存储介质
CN110796018B (zh) 一种基于深度图像和彩色图像的手部运动识别方法
CN106663189A (zh) 用于叠加的笔迹的识别技术的***和方法
KR102103511B1 (ko) 코드 생성 장치 및 방법
US11600088B2 (en) Utilizing machine learning and image filtering techniques to detect and analyze handwritten text
CN113111804B (zh) 一种人脸检测的方法、装置、电子设备及存储介质
CN109543744B (zh) 一种基于龙芯派的多类别深度学习图像识别方法及其应用
CN113947702A (zh) 一种基于情境感知的多模态情感识别方法和***
CN111797769A (zh) 一种小目标敏感的车辆检测***
WO2021237227A1 (en) Method and system for multi-language text recognition model with autonomous language classification
CN114639150A (zh) 情绪识别方法、装置、计算机设备和存储介质
CN112966088A (zh) 未知意图的识别方法、装置、设备及存储介质
CN115937887A (zh) 文档结构化信息的提取方法及装置、电子设备、存储介质
CN113360305A (zh) 计算机设备及其异常操作检测方法、装置、存储介质
CN109977737A (zh) 一种基于循环神经网络的字符识别鲁棒性方法
CN116994049A (zh) 全自动针织横机及其方法
CN115546824B (zh) 禁忌图片识别方法、设备及存储介质
CN111191584A (zh) 一种人脸识别方法及装置
CN114093027A (zh) 基于卷积神经网络的动态手势识别方法、装置及可读介质
CN114296545A (zh) 一种基于视觉的无人机手势控制方法
CN113903025A (zh) 场景文本检测方法、装置和模型及其训练方法和训练装置
CN107912062A (zh) 叠覆手写的***和方法
Sawant et al. Word Transcription of MODI Script to Devanagari Using Deep Neural Network
CN115565201B (zh) 禁忌图片识别方法、设备及存储介质

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220930