一种基于HOG和深度残差网络的人脸识别方法与流程

文档序号:22678533发布日期:2020-10-28 12:36阅读:168来源:国知局
一种基于HOG和深度残差网络的人脸识别方法与流程

本发明涉及数字图像处理领域,特别是涉及一种基于hog+深度残差网络的人脸识别方法。



背景技术:

随着人工智能和计算机视觉的发展,如何使计算设备获得感知图像内容的能力已成为当前研究的热点问题,其中对于人脸图像的感知问题,因具有广阔的应用前景与应用价值而被广泛关注。人脸识别技术是当前在计算机视觉方面的一个重要研究领域,由于人脸识别在鉴别身份等方面具有非侵扰性,采集成本低以及人机交互性强的优点,所以该技术在金融、信息、公用安全等领域得到了广泛应用,并且随着人们实际生活需要的增加,该技术也将普遍应用于更多领域,因此研究人脸识别技术具有十分重要的现实意义。

人脸识别技术主要分为两个步骤:人脸检测与人脸识别。人脸检测技术主要是使计算机获得对于图像识别的能力并检测出图像中的人脸部分,人脸检测技术作为人脸识别的前置,检测结果的好坏直接影响人脸识别的最终结果。人脸检测主要是基于目标检测算法对于整幅图像中的人脸进行检测并提取人脸图像,常用的传统方法有基于人工设计的哈尔特征(haar-likefeatures)人脸检测算法,通过设计对于眼睛、鼻子、嘴巴等部位的特征进行人脸部分的检测,该算法主要针对于单一背景环境下的检测。随着现代技术的发展,图像的背景越来越复杂,基于哈尔特征在复杂场景中检测效果并不稳定。常用的人脸检测方法还有基于人脸肤色特征进行检测,通过统计人脸肤色的常见范围,将皮肤与背景实现区分,由于该方法是针对一定范围的肤色进行检测,所以对于不同人种的检测效果非常不好。因此研究一种稳定的检测人脸方案具有十分重要的意义。

对于人脸识别技术研究方案,包括有:依据人脸器官的几何特性分析人脸之间的相似性进而进行识别,但由于人脸图像的复杂性,该方案直接进行识别效率低,准确性差;使用主成分分析(principalcomponentanalysis,pca)生成“特征脸”(eigenface)将人脸图像降维至低维空间,尽可能保留原始数据的主要信息提高了方法的可行性,但是该方法对于光照、环境、表情等变化不具有较好的鲁棒性,对于头部姿态变化也具有不够稳定的缺点。因此开发一种克服上述识别缺点的人脸识别方法具有十分重要的现实意义。



技术实现要素:

为克服现有技术的不足,本发明旨在提供一种基于方向梯度直方图(histogramoforientedgradient,hog)与深度残差网络相结合的方案实现人脸识别的方法。针对采集到的图像由于光照影响导致的人物与背景不分明的问题,采用自适应的灰度直方图均衡方法进行图像增强提高对比度;然后使用hog对增强后的图像进行纹理特征描述,通过基于纹理特征训练的支持向量机(supportvectormachine,svm)分类器实现图像中的人脸检测并裁剪;将裁剪的人脸图像通过输入深度残差网络模型得到128维人脸特征,并与存储的人脸库中的特征进行比对,获得对比矩阵,通过求对比矩阵1-范数得到两张人脸图像特征的欧氏距离,根据欧氏距离是否符合相似阈值来判断相似度,实现人脸的准确、快速识别。

为此,本发明采取的技术方案是,一种基于方向梯度直方图与深度残差网络相结合的方案实现人脸识别的方法,具体步骤如下:

一种hog和深度残差网络的人脸识别方法,包括以下步骤:

s1,对人脸图像进行预处理:

首先对图像进行灰度化操作,计算整幅图像的平均亮度,当图像过于明亮或过于黑暗时,进行灰度直方图均衡,实现图像增强,提升图像对比度;

s2,计算图像的方向梯度直方图,通过支持向量机实现人脸检测:

计算预处理后图像中各个像素的梯度幅值与梯度方向,通过相邻像素的梯度组合构成梯度单元与块单元,进行归一化处理构成方向梯度直方图;通过使用支持向量机进行图像中人脸部分的检测,然后对于图像中的人脸部分进行裁剪操作,作为后续提取特征的输入;

s3,搭建基于深度残差模块的提取特征网络:

通过深度残差模块搭建提取特征网络,将步骤s2采集的人脸图像作为提取特征网络输入,提取人脸图像的128维深层特征,并进行编码;

s4,进行特征比对,实现人脸识别:

将待检测人脸与已存储的人脸库的128维特征编码进行一对多的比对,将检测的人脸特征向量与已存储的人脸库特征向量相减,获得对比矩阵,计算对比矩阵的1-范数获得两幅图像的欧式距离,判断两幅图像的相似度,将人脸库中的相似人脸进行存储,再将这些相似人脸的特征编码与待识别人脸的特征编码进行二次比对,选择欧氏距离最小者作为识别结果,实现人脸识别。

其中,步骤s2中,像素点(x,y)的梯度值表示为:

其中:x轴为图像的水平方向,y轴为图像的竖直方向,gx(x,y),gy(x,y),h(x,y)分别表示图像的像素点(x,y)处的横坐标方向、纵坐标方向的梯度幅值与像素值;

(x,y)对应的梯度幅值和方向分别为:

8*8个像素的梯度与幅值构成最小的梯度单元,梯度单元的梯度幅值为每个像素的梯度幅值的平均值,梯度方向根据每个像素的梯度幅值作为权值进行梯度方向的加权的矢量计算,相邻4个梯度单元组成一个块单元,将块单元内的特征向量串联,并对块单元内的特征向量归一化并对使用块单元对整幅图像扫描,将所有块单元的特征向量串联构成方向梯度直方图。

上述的步骤s3中,搭建基于深度残差模块的提取特征网络包括以下步骤:

1)将检测的人脸图像缩放处理为224*224大小的图像并输入至该网络中,通过使用尺寸大小为7*7的卷积核、步距为2进行卷积操作获得图像的浅层特征;

2)将第一层卷积层输出的特征层通过以3*3大小、步距为2的池化层进行最大池化操作,通过由两层深度为64、卷积核3*3大小的卷积层与一层深度为64、卷积核大小为1*1的卷积层并联组成的残差结构进行处理,得到64张大小为56*56的特征图,同理,第二、第三层残差结构输出均64张大小为56*56的特征图;

3)第四层残差结构通过一层深度为128、卷积核3*3大小、步距为2的卷积层与一层深度为128、卷积核3*3大小、步距为1的卷积层串联后,与一层深度为128、卷积核大小为1*1、步距为2的卷积层并联构成残差结构使得输出结果为128张28*28大小的特征图;

4)第四至第七层残差结构均由两层深度为128、卷积核3*3大小的卷积层与一层深度为128、卷积核大小为1*1的卷积层组成,输出结果均为128张28*28大小的特征图;第八层残差结构、第十二层残差结构与步骤3同理,深度分别改为256与512,得到输出结果分别为256张14*14大小的特征图与512张7*7大小的特征图;第九层至第十一层残差结构、第十三至第十四层残差结构与第四至第七层结构同理,深度分别改为256与512,得到输出结果分别为256张14*14大小的特征图与512张7*7大小的特征图;

5)通过平均池化的操作进行处理并添加128节点的全连接层作为输出,此时全连接层输出作为输入人脸图像的128维特征表示。

上述的步骤s4中,对于采集的人脸图像通过网络进行提取后将特征生成128维特征矩阵,通过与已有人脸库中已存储的人脸特征矩阵进行相减获得比对矩阵,对于比对矩阵求得1-范数:

对于1*128的比对矩阵进行1-范数计算如下:

当所得结果小于设定阈值时,判断人脸相似,寻找采集人脸图像与人脸库中每张人脸的比对矩阵的1-范数的值最小的人脸库信息作为输出结果,实现识别。

本发明具有以下有益效果:

1、本发明通过对图像进行灰度直方图均衡化处理,使得图像中人物与背景部分的边界更加分明。

2、本发明利用方向梯度直方图求得图像的特征纹理,通过支持向量机进行分类检测图像中的人脸部分,可准确检测人脸并提取人脸部分,实验表明将hog与svm结合的方法具有检测速度快,对硬件要求低,检测精度较高的优势,在保证人脸检测准确性的基础上提高了系统的整体效率与性能。

3、本发明的基于深度残差模块构建的提取特征网络通过提取人脸图像的128维深层特征和计算两特征向量的欧氏距离来判断人脸图像的相似度有效提高了人脸识别率。该方法对于光照的变化具有更好的鲁棒性,对于提取特征网络获得的人脸图像128维特征,在头部姿态变化的情况下依然具有良好的识别效果。

附图说明

图1是本发明的人脸识别方法的流程图;

图2是本发明的方法中针对光照影响的图像预处理前后对比结果图,其中,a为原图;b为对a图灰度化后的结果图;c为对b图进行灰度直方图均衡后的结果图;d为b图的灰度直方图;e为均衡后的灰度直方图;

图3为图2中人脸部分的方向梯度直方图在图像预处理前后的比对图,其中,a为图2.b中人脸部分的方向梯度直方图,b为图2.c中人脸部分的方向梯度直方图;

图4为本发明中基于残差结构搭建的人脸图像提取深层特征网络;

图5为人脸图像通过第一层卷积层提取到大小为112*112的特征图的前12张;

图6为人脸图像通过第三层残差结构提取到大小为56*56的特征图的前12张;

图7为人脸图像通过最后一层残差结构提取到的大小为7*7特征图的前12张;

图8为对于yale人脸库中三人共31张人脸图像进行pca降维的分类图像。

具体实施方式

下面结合具体实施方式对本发明的方法进行详细说明。

考虑到图像由于光照问题对检测人脸的影响,本发明首先对图像进行灰度直方图均衡预处理,提升图像的对比度,使图像中人物与背景部分的边界明显,增大了方向梯度直方图表示的边界部分幅值;然后基于方向梯度直方图描述图像中的纹理特征,使用svm分类器实现图像中的人脸检测并裁剪,然后将裁剪后的部分人脸通过输入基于深度残差网络模块搭建的提取特征网络得到人脸的128维深层特征生成编码;最后通过检测人脸特征编码与人脸库中人脸特征编码相减得到对比矩阵,求1-范数进行欧式距离判别,判断相似度。将人脸库中的相似人脸进行存储,再将这些相似人脸的特征编码与待识别人脸的特征编码进行二次比对,选择欧氏距离最小者作为识别结果。通过两次比对,选出与已知人脸库中最相似的人脸对应信息作为输出,最终实现人脸识别。

除非特别说明,以下实施方式中表示图像大小的单位均为像素。

本发明的技术方案具体如下:

一种基于方向梯度直方图与深度残差网络的人脸识别方法,包括以下步骤:

s1,对人脸图像进行预处理:

1、进行图像归一化处理,包括图像灰度化与灰度直方图均衡,为后续操作减少运算量并提高准确率,提高系统的效率:

根据公式(1)对采集到的图像进行rgb三原色加权灰度处理:

y=0.2*r+0.8*g+0.1*b(1)

其中:r、g、b分别对应于采集到的24位图像中的红、绿、蓝三色的幅值,y为生成的8位灰度图对应像素点的亮度。

由于光照导致图像中物体与背景区分不明显的问题,本发明针对图像进行灰度直方图均衡,生成高对比度图像,计算方法如下:

首先对原始图像灰度和变换后图像灰度归一化,分别用r、s表示,0≤r≤1,0≤s≤1,0为黑色,1为白色。

灰度直方图均衡变换函数为:

式中rk为原图中的灰度值,pr(rj)为原图像中灰度值为j的概率密度函数,sk为均衡化后原图中rk对应的灰度值,nj为原图像中具有灰度级rj灰度级的数量,n为图像中总像素数量,l为灰度级总数的个数。

如图2所示,进行灰度直方图均衡后的图像相比原图,人物和背景界限更为分明。由灰度直方图可知,均衡前的图像灰度值集中在50以下,均衡后调整了图像的灰度分布,使得在0~255灰度上的分布更加均衡,提高了图像的对比度。

通过直方图均衡,可以改善原图存在对比度低的问题,提高图像对比度后使得图像中人物与背景的边缘更为明显,边界的梯度幅值增大,分类更为精准。

s2,计算图像的方向梯度直方图,通过支持向量机进行人脸检测:

计算经过预处理操作后图像中的各个像素的梯度幅值与梯度方向,通过相邻像素的梯度组合构成梯度单元与块单元,进行归一化处理构成方向梯度直方图。通过使用支持向量机进行图像中人脸部分的检测,并对图像中的人脸部分进行裁剪操作,具体步骤如下:

在数字图像中,像素点(x,y)的梯度值可以表示为

其中:x轴为图像的水平方向,y轴为图像的竖直方向,gx(x,y),gy(x,y),h(x,y)分别表示图像的像素点(x,y)处的横坐标方向、纵坐标方向的梯度幅值与像素值。(x,y)对应的梯度幅值和方向分别为:

8*8个像素的梯度与幅值构成最小的梯度单元,梯度单元的梯度幅值为每个像素的梯度幅值的平均值,梯度方向根据每个像素的梯度幅值作为权值进行梯度方向的加权的矢量计算。相邻4个梯度单元组成一个块单元,将块单元内的特征向量串联,并对块单元内的特征向量归一化并对使用块单元对整幅图像扫描,将所有块单元的特征向量串联构成方向梯度直方图。使用滑窗在方向梯度直方图进行扫描,通过支持向量机检测人脸部分并裁剪作为后续输入。

方向梯度直方图如图3所示,图3.a与图3.b分别为图2.b与图2.c的人脸部分方向梯度直方图显示,由图3可观察,进行步骤1图像增强后,方向梯度的幅值有了明显的提升,人脸部分在边缘具有更大的方向梯度幅值。

s3,基于深度残差模块搭建提取特征网络

通过深度残差模块搭建提取特征网络,将步骤2中采集的人脸图像输入提取特征网络中进行128维深层特征提取并进行编码,具体实施方案如下:

如图4所示,每两层卷积层前后添加传递路径构成基本的深度残差结构,通过基本的深度残差结构训练的模型,可以解决堆叠卷积层越来越多,训练时反向梯度难于传导和梯度消失的问题,同时改善神经网络随着深度加深,准确率反而越来越低的问题。该网络通过大量人脸面部图像进行训练后,使该网络输出的128维深层特征在128维空间中具有相同人脸距离间隔小、不同人脸距离间隔大的特点。通过距离判断实现不同人脸的分类。输入图像在提取特征网络中具体操作如下:

1)将检测的人脸图像缩放处理为224*224大小的图像并输入至该网络中,通过使用尺寸大小为7*7的卷积核、步距为2的卷积层进行卷积操作获得图像的浅层特征,此时图像的浅层特征如图5所示,图5展示了64张112*112大小浅层特征图中的前12张特征图,由图5可以看出,针对于人脸图像的提取特征网络在第一次卷积操作后获得了人脸图像的不同特征,每张特征图的高亮部分代表不同的卷积核的感兴趣区域,通过观察特征图的高亮部分,可以看出特征图包含有人脸面部的信息与面部纹理信息。

2)将第一层卷积层输出的特征层通过以3*3大小、步距为2的池化层进行最大池化操作。通过由两层深度为64、卷积核3*3大小的卷积层与一层深度为64、卷积核大小为1*1的卷积层并联组成的残差结构进行处理,该步骤总共通过三层相同的残差结构,输出结果为64张大小为56*56的特征图,图6为通过第三层残差结构输出的64张中的前12张特征图,由于人脸图像经过了较深的网络模型进行特征的提取,可以看出此时第三层残差结构输出的特征层相比于第一层卷积层输出的特征层表示的特征相对抽象。

3)通过第三层残差结构输出的特征图为64张56*56的特征图,此时需要通过改变残差结构得到128张28*28大小的特征图,第四层残差结构通过一层深度为128、卷积核3*3大小、步距为2的卷积层与一层深度为128、卷积核3*3大小、步距为1的卷积层串联后,与一层深度为128、卷积核大小为1*1、步距为2的卷积层并联构成残差结构使得输出结果为128张28*28大小的特征图;图4中第四层残差结构虚线所表示的为卷积核大小为1*1、步距为2,深度为128的卷积层对于第三层残差结构输出的特征图进行处理,使得传递后的特征图变换为128张28*28大小的特征图。第四至第七层残差结构均由两层深度为128、卷积核3*3大小的卷积层与一层深度为128、卷积核大小为1*1的卷积层组成,输出结果均为128张28*28大小的特征图。

4)第八层残差结构、第十二层残差结构中虚线部分与步骤3中虚线结构同理,深度分别改为256与512,得到输出结果分别为256张14*14大小的特征图与512张7*7大小的特征图;第九层至第十一层残差结构、第十三至第十四层残差结构与第四至第七层残差结构同理,深度分别改为256与512,得到输出结果分别为256张14*14大小的特征图与512张7*7大小的特征图。

5)通过平均池化的操作进行处理并添加128节点的全连接层作为输出,此时全连接层输出作为输入人脸图像的128维特征表示。

s4,通过进行特征间距离判断,实现人脸识别

将采集的待识别人脸图像通过提取特征网络生成的128维特征分别与已存储的128维特征计算人脸特征的距离进行比对,通过计算人脸图像128维特征进行矩阵相减得到比对矩阵后,对于所得的比对矩阵求1-范数:

对于1*128的对比矩阵进行1-范数计算为:

通过将计算得到的对比矩阵的1-范数与设定阈值进行比对(本实施例中阈值是0.6),若待检测人脸的特征与所有已知人脸库的对比矩阵的1-范数全部大于设定阈值时,认为已知人脸库中无相似人脸;当该对比矩阵的1-范数的值小于设定阈值时,认为两人脸相似,将全部相似的已知人脸存储为待对比库,将待检测人脸与待对比库中相似人脸进行二次对比,选择其中比对矩阵的最小1-范数对应的信息作为最终的比对结果予以输出,最终实现识别。

人脸识别结果分析:

通过上述人脸识别过程,针对于yale人脸库中三位不同志愿者的脸部进行特征提取,生成128维特征编码,将每张人脸图像的128维特征使用主成分分析(principalcomponentsanalysis,pca)降维至二维空间,所得结果如图8所示。从图中可以看出,本发明对于不同人脸具有良好的分类效果。

为了验证本识别方法的性能,针对于不同的头部姿态进行录像后,应用本发明的方法对于视频进行人脸的检测与识别,针对于检测的人脸数量与识别正确的数量与总人脸数量进行比对,求得对于不同头部姿态的准确率;通过统计视频录像总帧数与人脸识别的时间,求得应用于视频中的人脸识别速度。该测试环境基于inter(r)core(tm)i5-4200hcpu2.8ghz处理,处理图像大小为640*320像素。所得验证结果见表1

表1为对于不同姿态情况的识别率和识别速度

通过表1可知,本发明的hog与深度残差网络结合的人脸识别方法对于不同头部姿态的识别率较高,而且识别速度基本符合实际应用的需求。

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