一种基于深度学习的人脸识别装置及识别方法与流程

文档序号:22131186发布日期:2020-09-08 12:55阅读:167来源:国知局
一种基于深度学习的人脸识别装置及识别方法与流程

本发明属于机器视觉领域,涉及一种基于深度学习的人脸识别装置及识别方法。



背景技术:

传统人脸识别装置/系统体积大、可携带性差,构建起来十分麻烦,无法实现多场景转换应用。并且,操作时依赖于操作者的水平,稳定性不高,尤其是在极端光照条件下(如强太阳光或阴雨天),识别效率低、准确度低。



技术实现要素:

本发明提出一种便携,易于操作的人脸识别装置,同时,提出一种识别效率及准确度更高的基于深度学习的人脸识别方法。

本发明所采用的技术方案为:

一种基于深度学习的人脸识别装置,包括装置本体、升降机构和可自动调焦的摄像机;所述装置本体为方形盒体结构,内置有用于人脸识别数据处理的树莓派、用于数据存储的硬盘组和用于为所述人脸识别装置供电的储能电池,所述升降机构垂直固定在所述装置本体上端面中间位置,所述摄像机水平固定在所述升降机构顶部,所述摄像机的主控芯片与所述树莓派电性连接。

进一步地,所述升降机构包括圆管、齿条、电机、第一固定板和第二固定板,所述第一固定板开设有第一螺孔并通过螺钉固定在所述装置本体上端面,所述圆管一体垂直固定在所述第一固定板上,所述齿条插接在所述圆管中,所述齿条顶部与所述第二固定板下端面垂直一体连接,所述第二固定板上开设第二螺孔并通过螺钉与所述摄像机固定;所述圆管顶部后侧一体设置有水平承托板,所述电机通过螺栓固定在所述水平承托板上,所述电机的输出轴端部固定有齿轮,所述齿轮穿过所述圆管并与所述齿条啮合;所述电机上配套有用于手动控制所述电机正、反转的旋钮开关。

进一步地,所述升降机构还包括用于卡住所述齿条的插销式卡扣,所述圆管顶部开设有供所述卡扣插入的孔。

进一步地,所述树莓派上设置有usb接口,所述装置本体上对应于所述usb接口的位置开孔。

进一步地,所述储能电池连有电源插头;所述装置本体侧面设置有散热风扇。

进一步地,所述装置本体、所述圆管、所述齿条、所述第一固定板和所述第二固定板均为碳纤维材质。

一种基于深度学习的人脸识别方法,包括如下步骤:

步骤a、人脸检测,获取包含人脸的图像,通过yolo算法对包含人脸的图像进行检测,分割并提取出人脸图像;

步骤b、人脸图像预处理,通过拉普拉斯高斯算法对提取出的人脸图像进行平滑降噪处理及边缘检测;

步骤c、面部表情特征提取,将预处理的人脸图像输入预先训练的神经网络模型中,输出识别结果。

进一步地,步骤a中,yolo算法的架设采用darknet-53网络作为训练网络。

进一步地,步骤b包括:

步骤b-1、对图像f(x,y)进行平滑滤波,滤波函数选用高斯函数g(x,y):

高斯函数g(x,y)为一个圆对称函数,公式(1)中,x为图像横轴坐标,y为图像纵轴坐标,exp表示自然常数e为底的指数函数,高斯函数g(x,y)平滑作用由控制参数σ来控制;

将g(x,y)与f(x,y)卷积,得到一个平滑的图像g(x,y)=f(x,y)*g(x,y);

步骤b-2、增强,对平滑图像g(x,y)进行拉普拉斯运算:

公式(2)中,表示梯度;

步骤b-3、边缘检测,边缘检测的判断依据为h(x,y)=0的点,作为边缘点。

进一步地,步骤c中,采用vgg-16作为训练网络,将fer人脸表情训练集作为基础训练集输入vgg-16网络进行训练,在得到训练矩阵生成的同时,加入其类别矩阵,用于保存训练集标签;

vgg-16网络为全连接神经网络,输入数据在加权求和之后通过激活函数计算传入下一个神经源,而上层每一个神经源都要经过此运算过程后传到进入下一层;

具体包括:

步骤c-1、将relu函数作为激活函数,对输入数据进行激活处理;

步骤c-2、通过损失函数计算预测值和真实值之间的差值,损失函数采用交叉熵损失函数:

公式(3)输出某一个对象是某一类的概率,其中,tk为某一个对象的正确解,为0或1;k表示求和下标,yk为上一层的输出;

步骤c-3、通过优化函数计算权重更新值,优化函数采用adam优化器。

本发明的有益效果在于:

(1)、本发明的人脸识别装置结构简单,体积小,成本低,便于携带并转换场景使用。

(2)、传统图像预处理采用平均或积分运算,易使图像模糊。本发明中,采用微分运算,具体使用高斯滤波器(滤波器也称核函数或卷积核)优化高频分量,抑制低频分量,提高图像边界清晰度,能够尽可能地排除掉无效数据,增加网络输出结果的效率和准确度。进而使得本发明尤其适用于光照不均、太阳光、阴雨天等极端光照条件场景下,并保证了本发明的装置使用场景的多样性、适用性。

(3)、神经网络模型训练完成后保存于硬盘组中,使用时,将数据输入并直接调用该预先训练的神经网络模型并得到预测值,可极大地减少数据测试时间,提高识别效率。

附图说明

图1为人脸识别装置的结构示意图;

图2为升降机构的结构示意图;

图3为人脸识别装置的立体结构示意图;

图4为人脸识别方法的流程框图;

附图标记:1-装置本体,2-树莓派,201-usb接口,3-硬盘组,4-储能电池,5-电源插头,6-散热风扇,7-升降机构,701-圆管,702-齿条,703-电机,704-齿轮,705-第一固定板,706-第二固定板,707-卡扣,8-摄像机,801-主控芯片。

具体实施方式

下面结合附图和具体的实施例对本发明的基于深度学习的人脸识别装置及识别方法作进一步地详细说明。

如图1和图3所示,一种基于深度学习的人脸识别装置,包括装置本体1、升降机构7和可自动调焦的摄像机8。装置本体1为方形盒体结构,内置有用于人脸识别数据处理的树莓派2、用于数据存储的硬盘组3和用于为人脸识别装置供电的储能电池4,升降机构7垂直固定在装置本体1上端面中间位置,摄像机8水平固定在升降机构7顶部,摄像机8的主控芯片801与树莓派2电性连接。

具体地,如图2所示,升降机构7包括圆管701、齿条702、电机703、第一固定板705和第二固定板706,第一固定板705开设有第一螺孔并通过螺钉固定在装置本体1上端面,圆管701一体垂直固定在第一固定板705上,齿条702插接在圆管701中,齿条702顶部与第二固定板706下端面垂直一体连接,第二固定板706上开设第二螺孔并通过螺钉与摄像机8固定。圆管701顶部后侧一体设置有水平承托板,电机703通过螺栓固定在水平承托板上,电机703的输出轴端部固定有齿轮704,齿轮704穿过圆管701并与齿条702啮合。电机703上配套有用于手动控制电机703正、反转的旋钮开关。此外,升降机构7还包括用于卡住齿条702的插销式卡扣707,圆管701顶部开设有供卡扣707插入的孔。并且,齿条702可在圆管701中360度旋转,当需要调节摄像机8时,将卡扣707拔下,高度调整完毕后,将卡扣707插回,以防升降机构7损坏。在手动调节升降后,摄像机8进行面部特征提取,若相应的算法程序判定摄像机8无法提取完整面部特征,则树莓派2驱动齿轮704控制齿条702使得摄像机8上下微调。

本实施例中,树莓派2上设置有usb接口201,装置本体1上对应于usb接口201的位置开孔。usb接口201用于数据读写、转存及方便外部设备查看数据。

储能电池4连有电源插头5。装置本体1侧面设置有散热风扇6。

装置本体1、圆管701、齿条702、第一固定板705和第二固定板706均为碳纤维材质,保证了人脸识别装置高强度的同时,重量轻。

本发明的基于深度学习的人脸识别装置的使用方法为:

首先接上电源插头5,为人脸识别装置提供220v交流电源,储能电池4在通电后存储电力同时为整个人脸识别装置供电。通过电机703上的旋钮开关,调节摄像机8至适宜高度,树莓派2实时向主控芯片801下达自动对焦指令,获取包含人脸的图像,该图像传输至树莓派2中并通过下述的人脸识别方法进行识别处理,处理结果存储于硬盘组3中。

如图4所示,一种基于深度学习的人脸识别方法,包括如下步骤:

步骤a、人脸检测,获取包含人脸的图像,通过yolo算法对包含人脸的图像进行检测,分割并提取出人脸图像。yolo算法能够直接以用户预先定义的格式给出图片中检测出的目标位置的坐标,且其运算速度极快,只需要遍历图片一次,非常适合实时目标检测。本实施例中,yolo算法的架设采用darknet-53网络作为训练网络。

步骤b、人脸图像预处理,通过拉普拉斯高斯算法(也称log算法,laplacianofgassian)对提取出的人脸图像进行平滑降噪处理及边缘检测。包括:

步骤b-1、对图像f(x,y)进行平滑滤波,滤波函数根据人类视觉特性,选用为高斯函数g(x,y):

高斯函数g(x,y)为一个圆对称函数,公式(1)中,x为图像横轴坐标,y为图像纵轴坐标,exp表示自然常数e为底的指数函数,高斯函数g(x,y)平滑作用由控制参数σ来控制。

将g(x,y)与f(x,y)卷积,即可得到一个平滑的图像g(x,y)=f(x,y)*g(x,y)。

步骤b-2、增强,对平滑图像g(x,y)进行拉普拉斯运算:

公式(2)中,表示梯度。

步骤b-3、边缘检测,边缘检测的判断依据为h(x,y)=0的点(即二阶导数的零交叉点),作为边缘点,对应于一阶导数的较大峰值。

拉普拉斯高斯算法的特点是图像首先与高斯滤波器进行卷积,孤立的噪声点和较小的结构组织将被滤除,这样既平滑了图像又降低了噪声。但是,由于平滑会造成图像边缘的延伸,因此,边缘检测器只考虑那些具有局部梯度最大值的点为边缘点,采用二阶导数的零交叉点来实现。拉普拉斯函数用二维二阶导数的近似,是因为它是一种无方向算子。在实际应用中为了避免检测出非显著边缘,应选择一阶导数大于某一阈值的零交叉点作为边缘点。由于对平滑图像g(x,y)进行拉普拉斯运算可等效为g(x,y)的拉普拉斯运算与f(x,y)的卷积,故由公式(2)可得:

这样就有两种方法求图像边缘:

①先求图像与高斯滤波器的卷积,再求卷积的拉普拉斯的变换,然后再进行过零判断。

②求高斯滤波器的拉普拉斯的变换,再求与图像的卷积,然后再进行过零判断。

这两种方法在数学上是等价的。

具体实现时,将每个像素的灰度值或rgb的分量与算子矩阵求卷积(用加权求和代替),锐化突出细节(边界),就要对边缘的像素加强(比如直接用梯度值作为像素的灰度或者rgb的分量),而边缘检测只要根据设置的阀值,超过阀值的像素灰度设为0,否则设为255。

步骤c、面部表情特征提取,将预处理的人脸图像输入预先训练的神经网络模型中进行训练,输出识别结果(神经网络属于监督学习的一种,是用已知数据集输入构建的网络中试图使用该已知的数据集训练出网络自身的权重,然后输入待识别数据,以得到一个接近真实值的数据)。步骤c中,采用vgg-16作为训练网络,将fer人脸表情训练集作为基础训练集输入vgg-16网络进行训练,在得到训练矩阵生成的同时,加入其类别矩阵,用于保存训练集标签。vgg-16网络为全连接神经网络,输入数据在加权求和之后通过激活函数计算传入下一个神经源,而上层每一个神经源都要经过此运算过程后传到进入下一层。

具体包括:

步骤c-1、将relu函数作为激活函数,对输入数据进行激活处理,使得某一层的数据进入下一层引起的变化是非线性的,在加权求和后要使用激活函数进行计算,使得数据呈现非线性变化。通过relu函数激活的网络训练速度较快、并且可以有效防止网络梯度消失。

步骤c-2、通过损失函数计算预测值和真实值之间的差值,得到的差值大则表明误差较大。损失函数采用交叉熵损失函数:

公式(3)输出某一个对象是某一类的概率,其中,tk为某一个对象的正确解,为0或1。k表示求和下标,yk为上一层的输出。交叉熵损失函数不再和激活函数的导数相关,这样既可以避免由网络层级带来的梯度消失,也可以得到更快的收敛速度。

步骤c-3、通过优化函数计算权重更新值,优化函数采用adam优化器(自适应梯度下降法)来更新网络中的权重参数,相对于传统皮梯度下降,adam优化器的优点在于可以自行调节优化的学习率以避免无法收敛或者是过拟合的问题,并且有效加速了训练效率。

通过步骤c-1至c-3,可在有限的数据资源下得到有效的模型生成,vgg16的网络结构较为简单,且连续规格的卷积层有效的延长了网络的深度,确保更多的提取出需要的特征数据,同时,不会过分加大训练成本。

本发明采用了较小的神经网络和精简有效的数据处理方法,同时,装置结构简单,成本低,轻便。满足人脸识别的效率、准确度,以及装置的便携性和使用场景的多样性、适用性。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术方法范围内,可轻易想到的替换或变换方法,都应该涵盖在本发明的保护范围之内。

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