一种手掌图像识别方法、系统及设备与流程

文档序号:21410443发布日期:2020-07-07 14:46阅读:379来源:国知局
一种手掌图像识别方法、系统及设备与流程

本发明涉及图像识别技术领域,尤其涉及一种手掌图像识别方法、系统及设备。



背景技术:

目前,身份认证核验系统通常包含生物特征检测、登记与识别等过程,其中,能否正确检测生物特征对于认证核验系统的性能至关重要。当前对于生物特征的检测,通常采用传统图像处理和深度学习两种方法实现,但前者是人为设计的特征模板,学习过程计算量大且耗时;后者则是设计卷积神经网络(cnn)实现自主学习样本的特征信息,这种方式适用性强,加之近几年学术界和工业界对其展开大量的研究,其模型的计算参数和耗时对比传统方法已经有很大的改进。

考虑到算法结合产品的实际应用场景,计算量少的小网络模型成为很多研究者的首选。然而,由于小网络模型存在着a.模型设计简单;b.训练数据较少;c.模型训练过程易出现拟合等不足,导致对于图像中的手掌检测准确率低。

综上所述,现有技术中采用小网络模型对图像中的手掌进行检测时,存在着准确率较低的技术问题。



技术实现要素:

本发明提供了一种手掌图像识别方法、系统及设备,用于解决现有技术中采用小网络模型对图像中的手掌进行检测时,存在着准确率较低的技术问题。

本发明提供的一种手掌图像识别方法,适用于预先建立好的mobilenet神经网络模型,所述mobilenet神经网络模型使用maxmin函数作为激活函数,方法包括以下步骤:

获取可见光场景下不同的手掌图像;

对手掌图像中手掌区域的关键点信息进行标注;

将标注好的手掌图像输入到mobilenet神经网络模型中进行训练,得到训练好的mobilenet神经网络模型;

将实时的图像输入到训练好的mobilenet神经网络模型中,mobilenet神经网络模型输出图像中的手掌识别结果。

优选的,手掌图像通过输入层输入mobilenet神经网络模型,卷积层提取出手掌图像的特征信息以及特征映射关系;激励层根据特征映射关系对特征信息进行非线性运算,提取深层特征信息;池化层对手掌图像进行压缩处理;全连接层压缩后的手掌图像的深层特征信息进行拟合,并将拟合后的深层特征信息传输到分类回归层中进行计算、输出识别结果。

优选的,maxmin函数作为激活函数的工作过程如下:

将输入maxmin函数的所有特征通道划分成特征通道大小一致、通道数量相同的两部分n1和n2;其中,若输入的特征通道为奇数时,最后一个通道信息则采用relu运算得到f(xm),若为偶数,f(xm)则为0;

对n1和n2进行最大值、最小值的点运算,分别生成输入通道信息的最大值fmaxmin(x)|max和最小值fmaxmin(x)|min;

将fmaxmin(x)|max、fmaxmin(x)|min以及f(xm)进行拼接运算,得到maxmin函数输出的特征值。

优选的,手掌区域的关键点信息进行标注时,标注出9个手掌关键点对。

优选的,采用反向传播方法对mobilenet神经网络模型进行训练。

优选的,在反向传播方法中,采用sgd梯度下降法更新mobilenet神经网络模型的参数。

优选的,sgd梯度下降法的学习率为4e-4,每训练100epoch其数值衰减0.1倍。

优选的,在反向传播的过程中,使用损失函数对mobilenet神经网络模型的特征值求偏导,将偏导得到的值作为反向传播误差。

一种手掌图像识别系统,包括手掌图像获取模块、信息标注模块、mobilenet神经网络模型模块、训练模块以及实时图像输入模块;

所述手掌图像获取模块用于获取可见光场景下不同的手掌图像;

所述信息标注模块用于对手掌图像中手掌区域的关键点信息进行标注;

所述mobilenet神经网络模型模块用于提供mobilenet神经网络模型,mobilenet神经网络模型使用maxmin函数作为激活函数;

所述训练模块用于将标注好的手掌图像输入到mobilenet神经网络模型中进行训练;

所述实时图像输入模块用于将实时的图像输入到训练好的mobilenet神经网络模型中。

一种手掌图像识别设备,所述设备包括处理器以及存储器;

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行上述的一种手掌图像识别方法。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例通过使用mobilenet神经网络模型对图像中的手掌进行识别,并且在mobilenet神经网络模型中使用maxmin函数作为激活函数,使得mobilenet神经网络模型学习到更多的非线性特征,获得较优的模型性能,有效减少模型训练过程中神经元坏死导致梯度消失的情况,从而提高了手掌图像的识别精度,在实际运用中具有指导意义。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的一种手掌图像识别方法、系统及设备的方法流程图。

图2为本发明实施例提供的一种手掌图像识别方法、系统及设备的系统结构图。

图3为本发明实施例提供的一种手掌图像识别方法、系统及设备的设备框架图。

图4为本发明实施例提供的一种手掌图像识别方法、系统及设备的激活函数的工作原理图。

图5为本发明实施例提供的一种手掌图像识别方法、系统及设备的maxmin函数作为激活函数的示意图。

图6为本发明实施例提供的一种手掌图像识别方法、系统及设备的手掌图像关键点信息标注示意图。

具体实施方式

本发明实施例提供了一种手掌图像识别方法、系统及设备,用于解决现有技术中采用小网络模型对图像中的手掌进行检测时,存在着准确率较低的技术问题。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

cnn网络结构中,为从图像中获取更多的原始特征信息,常选用卷积运算进行简单的线性叠加计算,学习特征的空间信息。若cnn全部采用线性计算,训练过程中易出现过拟合现象,并且模型也无法学习更多有意义的特征。因而,常将线性运算与非线性运算结合,使模型学习到复杂特征信息,常采用的非线性运算有sigmode(函数式见2-1)、relu(函数式见2-2),但sigmode函数在模型训练时收敛缓慢且模型趋于饱和时,容易梯度弥散导致模型过拟合;而relu函数会使模型丢弃了小于零的特征信息,会存在原始信息丢失。

根据学术研究,由二维卷积运算(如conv2d)、激活函数(如relu)及归一化运算(如batchnorm)三部分构成的卷积运算模块,训练时能够将特征信息的局部响应值结合相关的概率统计知识实现特征信息的聚合统计,获取更具表征能力的特征向量,进而辅助分类器做更精确的决策,其中,激活函数的性能对模型决策的准确度占有重要作用。

神经网络中激活函数是将神经元的输入信息映射到输出端,如图4所示,其中输入信号{x1...xi...xn}由其它n个神经元组成,信号传递时的权值参数为{w1...wi...wn},θ为输出阈值,神经元的输出为y,用公式表述如2-3示,f(x)即为激活函数。

类似计算机系统工作原理,激活函数f通过阈值判断等运算将输入信号映射为0或1(即模拟生物神元的“激活”和“抑制”状态,神经元为兴奋状态时f等于1,抑制状态时等于0),进而实现输入信息的非线性映射运算。

据式2-2,可知当x>0时,其梯度不饱和,恒为固定数值,因此在反向传播过程中,减轻了梯度弥散的问题,神经网络前几层的参数也可以很快的更新。但随着模型深度的加深,卷积层的输出值更多的是偏向于小于零的数值,故relu激活函数数值易取零值,根relu激活函数对输入值x<0时,其计算的梯度为0,且这个神经元及之后的神经元梯度永远为0,对任何数据无响应值,进而导致相应权值、卷积核参数永远不会被更新。

实施例1

请参阅图1,图1为本发明实施例提供的一种手掌图像识别方法、系统及设备的方法流程图。

本发明提供的一种手掌图像识别方法,适用于预先建立好的mobilenet神经网络模型,所述mobilenet神经网络模型使用maxmin函数作为激活函数,方法包括以下步骤:

获取可见光场景下不同的手掌图像,不同的手掌图像包括不同人、不同光线、不同角度以及不同年龄;通过选取不同的手掌图像以便后续对mobilenet神经网络模型进行训练时使得mobilenet神经网络模型能够识别出不同情况下的手掌图像中的手掌,扩大适用的范围;

对手掌图像中手掌区域的关键点信息进行标注,在手掌图像中标注出手掌的关键点信息,有利于后续mobilenet神经网络模型学习到图像中手掌的特征,从而进行识别;

将标注好的手掌图像输入到mobilenet神经网络模型中进行训练,得到训练好的mobilenet神经网络模型,mobilenet神经网络模型在训练中不断更新自身的网络结构特征参数,将网络结构特征参数调整到最优的状态;

将实时的图像输入到训练好的mobilenet神经网络模型中,mobilenet神经网络模型输出图像中的手掌识别结果。

作为一个优选的实施例,所述mobilenet神经网络模型包括输入层、卷积层、激励层、池化层、全连接层以及分类回归层;手掌图像通过输入层输入mobilenet神经网络模型,卷积层提取出手掌图像的特征信息以及特征映射关系;激励层根据特征映射关系对特征信息进行非线性运算,提取深层特征信息;池化层对手掌图像进行压缩处理;全连接层压缩后的手掌图像的深层特征信息进行拟合,并将拟合后的深层特征信息传输到分类回归层中进行计算、输出识别结果。

作为一个优选的实施例,mobilenet神经网络模型的卷积层中使用maxmin函数作为激活函数,如图5所示,maxmin函数作为激活函数的工作过程如下:

将输入maxmin函数的所有特征通道c划分成特征通道大小一致、通道数量相同的两部分n1和n2;具体为:若c为偶数(c%2=0)时,将c划分为二等分(n1=n2=c/2,),若c为奇数时(即c%2≠0),则将c划分为三部分(n1=n2=(c-1)/2,m=1);其中,最后一个通道信息则采用relu运算得到f(xm),若为偶数,f(xm)则为0;

对n1和n2进行最大值、最小值的点运算,分别生成输入通道信息的最大值fmaxmin(x)|max和最小值fmaxmin(x)|min,具体如下所示:

f(xm)=relu,{ifc%2≠0,m=c-n1-n2}(式2-5)

如式2-4所示,将特征通道大小一致、通道数一样的n1和n2两部分信息,一一对应的两种点运算,进行最大值、最小值的点运算,分别生成输入通道信息的最大值fmaxmin(x)|max、最小值fmaxmin(x)|min;其中,relu运算如式2-5示。

将fmaxmin(x)|max、fmaxmin(x)|min以及f(xm)进行拼接运算,得到maxmin函数最后的输出信息,具体如式2-6所示:在不增加通道计算量的情况下,将式2-4、式2-5映射运算后的结果进行拼接运算,使maxmin函数最后的输出信息具有输入通道的最大、最小值信息,从而减少mobilenet神经网络模型训练时梯度丢失,提高mobilenet神经网络模型的性能;

f(x)output=fmaxmin(x)|min+fmaxmin(x)|max+f(xm)(式2-6)

作为一个优选的实施例,手掌区域的关键点信息进行标注时,标注出9个手掌关键点对,如图6所示,在图6中线m与点3-9线平行,线n与点5-8线平行,点1-7与点8-9线平行

作为一个优选的实施例,采用反向传播方法对mobilenet神经网络模型进行训练。手掌图像送入mobilenet神经网络模型后,根据mobilenet神经网络模型的网络结构特征信息前向传播至预测层,得到mobilenet神经网络模型针对该输入图像的预测值,结合真实标签值和损失函数从而计算得到输出层的损失值;

在反向传播的过程,使用损失函数对当前层的w(w为卷积核与输入的手掌图像进行卷积运算时的权值参数)和特征值x求偏导。上一层所产生的新的w等于上一层的w减去学习率乘以损失函数对本层w的偏导的差,再结合sgd梯度更新算法更新当前层的参数,整个传播过程从输出层到输入层,直到更新到最后一层。其中损失函数对特征值x的偏导的目的为在前向传播过程中向前传递误差,后面的层再根据该误差对w进行更新。

由上可知,若某一层的特征值x数值很小或为零时,该层的梯度值将变得很小或为零,随着模型的训练,很容易出现梯度消失,导致模型过拟合。而通过maxmin函数能对卷积线性运算后的信息进行最大、最小值的非线性运算,其特征值x不易丢失,再进行反向传播运算时,使得梯度值不易消失,从而减少模型的过拟合现象。

实施例2

在本实施例中,对mobilenet神经网络模型进行训练时,可分为以下三部分:(1)模型输入:手掌图像和标注的9个手掌关键点对;(2)模型结构:为实现手掌检测任务,搭建的手掌检测cnn框架,即选择mobilenet为backbone,ssd模型的多尺度采样融合运算为detectionhead,而mobilenet和ssd结构内的卷积运算模块中的激活函数映射方法,由relu函数改为maxmin函数;(3)模型训练:根据反向传播规则,图像特征信息的正向传播学习过程中,对卷积线性运算后的信息进行maxmin激活函数非线性运算,其特征值不易丢失,故参数反向传播时,梯度值不易消失,较少出现过拟合现象。最后,将训练效果较好的mobilenet神经网络模型在测试集上测试,其模型性能比采用relu激活函数优。

在本实施例中,在采集和标注处理后的手掌数据上进行模型训练,训练时学习率选用sgd、初始学习率为4e-4且每训练100epoch其数值衰减0.1倍,最后,mobilenet神经网络模型训练到500epoch时loss数值已趋于稳定,故选取第500epoch训练得到的epoch为最终的检测模型文件,检测模型文件为最终的识别模型。

mobilenet神经网络模型测试(推断)时,程序调用上述训练过程得到的性能较优的mobilenet神经网络模型(推断过程中网络参数不变,即不更新),对测试集图像或摄像头实时采集的图像,能够实现实时的手掌检测。

实施例3

如图2所示,一种手掌图像识别系统,包括手掌图像获取模块201、信息标注模块202、mobilenet神经网络模型模块203、训练模块204以及实时图像输入模块205;

所述手掌图像获取模块201用于获取可见光场景下不同的手掌图像;

所述信息标注模块202用于对手掌图像中手掌区域的关键点信息进行标注;

所述mobilenet神经网络模型模块203用于提供mobilenet神经网络模型,mobilenet神经网络模型使用maxmin函数作为激活函数;

所述训练模块204用于将标注好的手掌图像输入到mobilenet神经网络模型中进行训练;

所述实时图像输入模块205用于将实时的图像输入到训练好的mobilenet神经网络模型中。

实施例4

如图3所示,一种手掌图像识别设备30,所述设备包括处理器300以及存储器301;

所述存储器301用于存储程序代码302,并将所述程序代码302传输给所述处理器;

所述处理器300用于根据所述程序代码302中的指令执行上述的一种手掌图像识别方法中的步骤。

示例性的,所述计算机程序302可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器301中,并由所述处理器300执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序302在所述终端设备30中的执行过程。

所述终端设备30可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器300、存储器301。本领域技术人员可以理解,图3仅仅是终端设备30的示例,并不构成对终端设备30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器300可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器301可以是所述终端设备30的内部存储单元,例如终端设备30的硬盘或内存。所述存储器301也可以是所述终端设备30的外部存储设备,例如所述终端设备30上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器301还可以既包括所述终端设备30的内部存储单元也包括外部存储设备。所述存储器301用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器301还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1