本发明涉及人脸识别领域,尤其涉及一种基于深度卷积神经网络的人脸识别方法。
背景技术:
在现代社会中,个人身份认证技术的应用无所不在,其中基于指纹、虹膜、以及人脸等人体生物特征的识别技术在多个领域有巨大的市场需求,例如:门禁系统、视频监控、机场安检、以及智能空间等。尽管基于指纹和虹膜的身份认证比人脸识别技术具有更高的准确性和可靠性,但人脸识别因具有自然、友好、对用户干扰少、易被用户接受等优势而有更广阔的应用前景[1]。
人脸识别是基于数字图像处理、计算机视觉和机器学习等技术,借助于计算机处理技术,对数据库中人脸图像进行分析比较的过程。目前,人脸识别技术按照选取特征的方式可以分成两种:一种是基于浅层特征的人脸识别,一种是基于深度学习的人脸识别方法。
1、浅层人脸识别方法首先提取人脸图像的局部特征,比如sift(scale-invariantfeaturetransform,尺度不变特征变换)、lbp(localbinarypattern,局部二值模式)、hog(histogramoforientedgradient,方向梯度直方图)等特征,然后通过某种池化机制将它们聚合成全局人脸描述子,如fishervector(费舍尔向量)等。2、基于深度学习的人脸识别方法通常使用卷积神经网络结构,比较典型的算法是参考文献[2],该方法使用一个深层的卷积神经网络结构,训练所使用的数据集数目为4百万,共包含4000个人脸,其在预处理的阶段使用了3d模型将人脸图像校准到典型姿态下。使用标准数据库进行测试时,取得了较好的识别结果。此方法原理简单、描述特征丰富多样且适用范围广泛。
上述两类方法各有优劣,但由于基于深度学习的人脸识别能够利用发展较成熟的卷积神经网络结构而得到了更广泛的应用[3]。
发明人在实现本发明的过程中,发现现有技术中至少存在以下缺点和不足:
人脸识别领域目前面临的主要挑战为:训练深度神经网络结构时,大部分方法对数据库的容量具有高度依赖性,导致计算量过大以及人脸识别的精度也不是很好,限制了实际的应用范围。
技术实现要素:
本发明提供了一种基于深度卷积神经网络的人脸识别方法,本发明训练时通过使用较少的图片,采用简单的卷积神经网络结构,提高了人脸识别的精度,降低了训练的复杂度,详见下文描述:
一种基于深度卷积神经网络的人脸识别方法,所述方法包括以下步骤:
将人脸识别数据库里的每幅图像分别送入三个构建的深度卷积神经网络中提取特征;
对输出的特征分别进行二范数归一化,并仿射投影到低维空间,得到投影矩阵,通过最小化三元损失函数训练投影矩阵,得到每一幅图像的特征向量;
通过梯度下降法寻找深度卷积神经网络中各滤波器的权重值,经过训练测试,选择平均识别精度最高的深度卷积神经网络;
将选择后的深度卷积神经网络应用到标准人脸识别数据库中,将待检测人脸图像的特征向量与每一幅图像的特征向量进行欧氏距离的计算,若小于阈值判断为同一个人。
所述三个构建的深度卷积神经网络具体包括:深度卷积神经网络a、深度卷积神经网络b与深度卷积神经网络c;
所述深度卷积神经网络a包括8个模块:每个模块的结构均为先经过卷积层,而后施加修正线性单元层和最大池化层;
所述深度卷积神经网络b比所述深度卷积神经网络a多1个卷积层;所述深度卷积神经网络c比所述深度卷积神经网络a多2个卷积层。
所述通过最小化三元损失函数训练投影矩阵,得到每一幅图像的特征向量的步骤具体为:
将人脸识别数据库里的图像分别经过3个深度卷积网络结构,提取每幅图像的基本特征;
对基本特征进行l2归一化,并将归一化后的基本特征仿射投影到低维空间中,获取此时的分数向量;
通过最小化三元函数损失,最小化类内差异和最大化类间差异,结合分数向量训练投影矩阵,得到每一幅图像的特征向量。
所述经过训练测试,选择平均识别精度最高的深度卷积神经网络具体为:
将三个深度卷积神经网络的分类器移除,计算三个深度卷积神经网络的识别精度。
本发明提供的技术方案的有益效果是:
1、避免了训练时对大型数据库的依赖,降低了计算的复杂度;
2、通过比较构建的三种不同结构的卷积神经网络,从中获取相对识别较好的卷积神经网络,实现了基于深度卷积神经网络的人脸识别;
3、结合使用最小化三元损失函数来训练投影矩阵,提高了人脸识别的准确率。
附图说明
图1为一种基于深度卷积神经网络的人脸识别方法的流程图;
图2为深度卷积神经网络a的样图;
图3为三个深度卷积神经网络比较的示意图;
图4为应用到标准数据库时采用不同方法识别精度比较的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
为了解决背景技术中存在的以上问题,需要一种能够全面、自动、准确提取人脸图像的特征并进行识别的方法。研究表明:人脸识别的精度与训练的深度卷积神经网络有非常紧密的关系,可以通过使用三元函数损失,最小化类内差异和最大化类间差异,并在训练阶段将损失应用在多层进而有效地训练深度卷积网络。因此,本发明实施例提出了基于深度卷积神经网络的人脸识别方法,参见图1,详见下文描述:
101:将人脸识别数据库里的每幅图像分别送入三个构建的深度卷积神经网络中提取特征;
102:对输出的特征分别进行二范数归一化,并仿射投影到低维空间,得到投影矩阵,通过最小化三元损失函数训练投影矩阵,得到每一幅图像的特征向量;
103:通过梯度下降法寻找深度卷积神经网络中各滤波器的权重值,经过训练测试,选择平均识别精度最高的深度卷积神经网络;
104:将选择后的深度卷积神经网络应用到标准人脸识别数据库中,将待检测人脸图像的特征向量与每一幅图像的特征向量进行欧氏距离的计算,若小于阈值判断为同一个人。
其中,步骤101中的三个构建的深度卷积神经网络具体包括:深度卷积神经网络a、深度卷积神经网络b与深度卷积神经网络c;
深度卷积神经网络a包括8个模块:每个模块的结构均为先经过卷积层,而后施加修正线性单元层和最大池化层;
深度卷积神经网络b比所述深度卷积神经网络a多1个卷积层;深度卷积神经网络c比深度卷积神经网络a多2个卷积层。
其中,步骤102中的通过最小化三元损失函数训练投影矩阵,得到每一幅图像的特征向量的步骤具体为:
将人脸识别数据库里的图像分别经过3个深度卷积网络结构,提取每幅图像的基本特征;
对基本特征进行l2归一化,并将归一化后的基本特征仿射投影到低维空间中,获取此时的分数向量;
通过最小化三元函数损失,最小化类内差异和最大化类间差异,结合分数向量训练投影矩阵,得到每一幅图像的特征向量。
其中,步骤103中的经过训练测试,选择平均识别精度最高的深度卷积神经网络具体为:
将三个深度卷积神经网络的分类器移除,计算三个深度卷积神经网络的识别精度。
综上所述,本发明实施例通过上述步骤101-步骤104使用较少的图片,简单的卷积神经网络结构,实现了提高人脸识别的精度,降低了训练的复杂度,满足了实际应用中的多种需要。
实施例2
下面结合具体的计算公式、图2、以及图3对实施例1中的方案进行进一步地介绍,详见下文描述:
201:使用多步骤处理的策略,从零开始构建小型的人脸识别数据库;
其中,建立人脸识别数据库包括以下步骤:
1、首先从中国演员榜中,按最近的流行程度排序获取到5000个人名,其中男女各一半。这些人名通过不断的筛选排除,最后得到n(n=2622)个人的人名。
其中,上述筛选排除的过程可以采取本领域技术人员所公知的任意方式,且对选取的人名数量不做限制。
2、借助百度和谷歌图片搜索引擎,分别按“人名”和“人名演员”进行查询,每次查询选前250张,这样可以为每个人名获取到1000张图像。
其中,本发明实施例对搜索引擎、查询方式、图像的数量等不做限制,可以采取本领域技术人员所公知的任意方式,本发明实施例对此不做赘述。
3、对每一幅图像计算其vlad(vectoroflocallyaggregateddescriptors,局部聚集描述符向量)描述子,并对每一个人名的1000张图像进行聚类,最后经过人工过滤,获取最终的图片。
经过该步骤处理后,每个人名对应的图片数目为623个;经过人工过滤,为每个人名挑选出375张较好的图片,最终获得983250张图片。
其中,本发明实施例对挑选的图片数量不做限制,仅以上述图片的数量为例进行说明,具体实现时,根据实际应用中的需要进行选取。
202:将人脸识别视为一个分类问题,人脸识别数据库中的每一个人名都是一类,分别构建三个深度卷积神经网络;
其中,人脸识别数据库中一共有n=2622个人的图片,所以将其视为一个n=2622的分类问题[4]。为了使识别结果更好,设计了三种深度卷积神经网络。
其中,深度卷积神经网络a如图2所示,该深度卷积神经网络a为:其包括8个模块,每个模块均为先经过conv层(convolution,卷积层)而后施加relu(rectifiedlinearunits,修正线性单元)层和mpool层(maxpooling,最大池化层)。
本发明实施例设计的深度卷积神经网络b和深度卷积神经网络c是在深度卷积神经网络a的基础上进行了微调,即深度卷积神经网络b比深度卷积神经网络a多1个卷积层,深度卷积神经网络c比深度卷积神经网络a多2个卷积层,其他层的结构保持不变,本发明实施例在此不做赘述。
其中,上述提到的卷积层、修正线性单元层、以及最大池化层均为本领域技术人员所公知的技术术语,本发明实施例对此不做赘述。
203:将人脸识别数据库里的每幅图像分别送入三个深度卷积神经网络中提取特征,对输出的三个特征分别进行l2归一化,并将归一化后特征仿射投影到维数更低的空间,得到投影矩阵,通过最小化三元损失函数来训练投影矩阵,得到每一幅图像的特征向量;
其中,获取每一幅图像的特征向量包括以下步骤:
1、首先将人脸识别数据库里的图像分别经过3个深度卷积网络结构,提取每幅图像的基本特征φ(lt)∈rd;
其中,φ(lt)为基本特征(为本领域技术人员公知的技术术语,在此不做赘述);lt为第t张训练的图片;rd为d维的实数向量,其中d表示经过网络结构后输出的特征维数,此处取d=4096。
上述提取基本特征φ(lt)的步骤为本领域技术人员所公知,本发明实施例对此不做赘述。
2、再对该基本特征φ(lt)进行l2归一化,并将归一化后的基本特征仿射投影到l=1024维
空间中,得到此时的分数向量xt=w'φ(lt)/||φ(lt)||2,w'∈rl×d;
其中,xt为第t张训练的图片的分数向量;l为仿射投影的维数,此处取l=1024;w'为待求解的投影矩阵。
3、通过最小化三元函数损失,最小化类内差异和最大化类间差异,结合分数向量训练投影矩阵w'[5]。
其中,e(w')为三元函数损失;α代表学习速率,取值大于等于0;三元组(a,p,n)表示从训练数据库中随机选择一张图片记为a,属于同一类的样本记为n,属于不同类的样本记为p;t表示所有的三元训练集;xa、xn和xp分别为第a张、第n张、以及第p张图片的分数向量。
上述具体求解的过程为本领域技术人员所公知,本发明实施例对此不做赘述。
204:通过梯度下降法寻找深度卷积网络中各滤波器的权重值,经过训练测试比较,选择相对最好的深度卷积神经网络结构;
在训练的刚开始,各滤波器的权重值被随机初始化,无法提取准确特征图像,此时再利用反向传播来帮助网络不断地更新权重值并找到想要的特征图像,在不断调整权重值的过程,利用梯度下降法寻找到最合适的权重值[6]。
在测试阶段,将三个深度卷积神经网络结构最后部分的分类器(w,b)都移除,然后通过比较计算经过三个结构的识别的精度,如图3所示,选择深度卷积神经网络结构b作为最终的网络。
205:将训练完成后相对最好的深度卷积神经网络应用到标准人脸识别数据库进行测试,将待检测人脸图像的特征向量与标准数据库中的每一幅图像的特征向量进行欧氏距离的计算,设置一个阈值,用是否大于该阈值来进行判断是不是同一个人,得到最终的测试结果。
为了与其他方法进行比较,使用标准数据库进行测试,该步骤具体为:
1、对于给定的一个待检测人脸图像lt,经过卷积神经网络后提取该图像的特征向量w'φ(lt);
2、将特征向量w'φ(lt)分别与标准数据库中的每幅图像li的特征向量进行比较,计算两者之间的欧式距离||w'φ(lt)-w'φ(li)||;
3、判断欧式距离是否小于阈值τ,如果小于阈值τ,则判定为进行比较的两张图片具有相同的身份,反之则不具有[7],最后计算识别的精度acc。
其中,阈值τ的设定根据实际应用中的需要进行设定,本发明实施例对此不做限制。
综上所述,本发明实施例通过上述步骤201-步骤205实现了使用较少的图片,简单的卷积神经网络结构,就可以提高人脸识别的精度,降低了训练的复杂度,满足了实际应用中的多种需要。
实施例3
下面结合具体的计算公式、实例、以及图4对实施例1和2中的方案进行可行性验证,详见下文描述:
本实验训练时使用的数据库为由步骤201构建的人脸识别数据库。这是一个关于中国演员的人脸数据库,共包含2622个人名,每个人名对应有375张图片,合计983250张图片。
本实验测试时使用的数据库为labeledfacesinthewilddataset(lfw)[8],其已成为学术界评价识别性能的标准数据库,其中包含5749个身份,共13233张图片。该数据库为本领域技术人员所公知,本发明实施例对此不做赘述。
不失一般性的,采用平均识别精度
其中,nz是识别正确的图像的数量,nr是标准数据库中所有图像的数量。
实验中将本方法与以下两种方法进行对比:
df[2](deepface:closingthegaptohuman-levelperformanceinfaceverification),又称“深度人脸识别:缩小与人识别能力的差距”;
fn[9](facenet:aunifiedembeddingforfacerecognitionandclustering),又称“人脸识别和聚类的综合”。
将不同方法训练得到的卷积神经网络应用到标准数据库的比较结果如图4所示。由图4可知,本方法的性能明显高于df算法与fn算法。本方法用较少的数据训练深度卷积神经网络,不仅很大程度上减小了计算量,还大幅度提高了人脸识别的精度。实验结果验证了本方法的可行性与优越性。
参考文献:
[1]zhaow,chellappar,phillipspj,etal.facerecognition:aliteraturesurvey[j].acmcomputingsurveys,2003,35(4):399-458.
[2]y.taigman,m.yang,m.ranzato,andl.wolf.deep-face:closingthegaptohuman-levelperformanceinfaceverification.inproc.cvpr,2014.
[3]池燕玲.基于深度学习的人脸识别方法的研究[d].福建师范大学,2015.
[4]k.simonyananda.zisserman.verydeepconvolutionalnetworksforlarge-scaleimagerecognition.ininternationalconferenceonlearningrepresentations,2015.
[5]o.m.parkhi,k.simonyan,a.vedaldi,anda.zisserman.acompactanddiscriminativefacetrackdescriptor.inproc.cvpr,2014.
[6]刘小华.人脸识别技术及其应用研究[d].吉林大学,2005.
[7]omkarm.parkhi,andreavedaldi,andandrewzisserman.deepfacerecognition,2015.
[8]g.b.huang,m.ramesh,t.berg,ande.learned-miller.labeledfacesinthewild:adatabaseforstudyingfacerecognitioninunconstrainedenvironments.technicalreport07-49,universityofmassachusetts,amherst,2007.
[9]f.schroff,d.kalenichenko,andj.philbin.facenet:aunifiedembeddingforfacerecognitionandclustering.inproc.cvpr,2015.
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。