CN111666873A - 一种基于多任务深度学习网络的训练方法、识别方法及系统 - Google Patents
一种基于多任务深度学习网络的训练方法、识别方法及系统 Download PDFInfo
- Publication number
- CN111666873A CN111666873A CN202010503034.8A CN202010503034A CN111666873A CN 111666873 A CN111666873 A CN 111666873A CN 202010503034 A CN202010503034 A CN 202010503034A CN 111666873 A CN111666873 A CN 111666873A
- Authority
- CN
- China
- Prior art keywords
- face
- deep learning
- task
- model
- training
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/178—Human faces, e.g. facial parts, sketches or expressions estimating age from face image; using age information for improving recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种人脸识别的技术领域,揭露了一种基于多任务深度学习网络的训练方法、识别方法及系统,训练方法包括:利用预设的规则提取训练集图像的haar特征;根据人脸图像的haar特征,利用改进的人脸检测算法检测人脸区域;将检测到的人脸区域图像输入到多任务深度学习网络中,训练得到多任务深度学习网络模型。识别方法包括:提取待识别人脸图像的haar特征,并使用人脸检测算法对人脸区域进行检测;利用多任务深度学习网络提取人脸区域的多层次特征信息;使用MPN网络对所得多层次特征信息进行融合,得到多任务人脸识别泛化特征;根据特征匹配结果进行多任务识别。本发明还提出一种基于多任务深度学习网络的系统。本发明实现了多任务人脸识别。
Description
技术领域
本发明涉及人脸识别的技术领域,尤其涉及一种基于多任务深度学习网络的训练方法、识别方法及系统。
背景技术
人脸识别是同属于人工智能领域和生物特征识别领域的一个重要课题,是图像分析与理解的一种非常成功的应用,因其在商业、安全、身份认证等众多方面的应用越来越广泛,人脸识别技术成为当今研究的热门课题。随着应用需求的不断提升,人脸识别技术不再只针对人脸身份识别,人脸属性识别也显得愈发重要。
多任务深度学习,即在深度学习领域充分运用多任务学习思想。传统深度学习模型一般由多层的卷积神经网络构成,输入数据后,网络结构的每一层都进行了数据的非线性表示,深度网络的层级表示在语义上从底层到高层不断递进,不同层次的输出特征也逐渐抽象。而多任务深度学习的基本思想是:网络结构的底层参数共享,上层参数独立,多任务协同运行获得更好的识别结果。
为了实现多任务人脸识别,现有技术一般采用利用Adaboost算法检测人脸区域,并根据所检测到的人脸区域训练多个不同任务的深度学习模型,将所训练的多个深度学习模型采用并联的方法构成一个总的深度学习模型,以完成多个不同的识别任务。这种方法存在以下问题:一、多个深度学习模型的训练需要多个训练集,且现有多任务深度学习模型的训练时间慢,应用周期长;二、现有Adaboost算法的样本权重更新规则注重困难样本,即被分错的样本在算法后续可得到更多的重视,因此当现有Adaboost算法很难对训练样本中包含的噪声样本或一些罕见困难样本进行正确分类时,算法会将重心转移到分类困难的样本上,即这些样本的权重会呈指数增长,最终导致样本权重严重扭曲的现象,同时由于权重归一化,已经被正确分类的样本权重急剧减小,出现偏差,即不被重视,而且随着迭代次数的增加,曾经较为正确的分类规则可能逐渐被破坏或丢失,从而造成人脸检测算法性能的降低;三、在实际使用时,存在系统资源消耗大的问题,这意味着对硬件要求高,增加了使用成本。
鉴于此,在保证低资源消耗以及高识别精度的同时,如何高效地训练一种多任务深度学习网络,并利用所训练的多任务深度学习网络快速进行多任务人脸识别,成为本领域技术人员亟待解决的问题。
发明内容
本发明提供一种基于多任务深度学习网络的训练方法、识别方法及系统,通过设计一个精简的多任务人脸识别模型加快了运行速度,同时针对参数收敛较慢的人脸年龄识别训练过程设计了一种全新的损失函数,加快了模型训练速度,从而能够较快得到多任务深度学习模型,并利用该模型进行高效地多任务人脸识别。
为实现上述目的,本发明提供的一种基于多任务深度学习网络的训练方法,包括:
收集包含人脸的图像,并使用预设的规则提取人脸图像的haar特征;
基于所提取haar特征对人脸图像进行仿射变换、随机裁剪以及数据平衡处理;
根据所提取的人脸图像haar特征,利用人脸检测算法对人脸图像中的人脸区域进行检测,得到所述人脸图像中的人脸区域图像,并将所得人脸区域图像作为所述多任务深度学习网络模型的训练集;
将人脸区域图像输入到预构建的多任务深度学习识别网络中,训练得到多任务深度学习网络模型;
其中,所述多任务深度学习网络模型依次包括人脸身份识别任务模型、人脸年龄识别任务模型、人脸性别识别任务模型以及人脸疲劳状态识别任务模型,各人脸识别任务模型在所述多任务深度学习网络模型中以串联的形式存在,且各人脸识别任务模型所得人脸特征信息依次传递到下一个人脸识别任务模型的全连接层,多任务深度学习网络模型的第一个全连接层连接每个任务的全连接层以及损失函数,所述人脸身份识别任务模型的损失函数为softmax损失函数,所述人脸年龄识别任务模型的损失函数为Gaussian-Crossloss损失函数,所述人脸性别识别任务模型的损失函数为softmax损失函数,所述人脸疲劳状态识别任务模型的损失函数为交叉熵损失函数。
可选地,所述使用预设的规则提取人脸图像的haar特征,包括:
用s(i,j)表示人脸图像行方向的像素累加和,初始化s(i,-1)=0;
用v(i,j)表示人脸图像的积分图,初始化v(-1,j)=0;
从图像左上角开始,逐行扫描人脸图像,利用下式递归计算每个像素(i,j)行方向的累加和s(i,j),以及积分图像v(i,j)的值:
s(i,j)=s(i,j-1)+f(i,j)
v(i,j)=v(i-1,j)+s(i,j)
其中:
f(i,j)为积分图在(i,j)处的位置点;
(i,j)为人脸图像像素点的坐标;
当扫描位置到达图像右下角像素时,得到最终人脸图像的积分图;
将所述积分图与预设的haar特征模板进行匹配,所述haar特征模板有黑白两种矩形,根据匹配结果进行如下haar特征值的计算:
其中:
weightall为整个haar特征模板的权重,不同的haar特征模板预设有不同的权重;
Pixel为人脸图像的像素;
weightblack为haar特征模板中黑色区域的权重,不同的haar特征模板预设有不同的权重;
black为haar特征模板中的黑色区域;
all为haar特征模板的整个区域。
可选地,所述基于所提取haar特征对人脸图像进行仿射变换、随机裁剪以及数据平衡处理,包括:
根据所提取的haar特征,选取haar特征值最大的两张人脸图像作为基准图像,从而对其他图像进行两个方向的仿射变换;
使用了opencv人脸检测公开库和dlib人脸检测公开库将人脸图像裁剪到了64×64大小;
对原数据集中裁剪后的图像都予以保留,向两个方向仿射变换的人脸图像根据注册集中人脸图像的数量进行适当保留。
可选地,所述人脸检测算法的具体步骤为:
1)利用下述公式训练若干弱分类器,当输出结果为1时说明识别出人脸区域,反之则未识别出人脸区域:
其中:
f为haar特征;
θ为本发明自设的阈值;
p指示不等号的方向;
x为一个检测子窗口;
2)设置弱分类器权值的限制条件,即在每一轮弱分类器的算法迭代中都设置一个更新权重阈值Wm,并进行弱分类器的迭代训练,所述更新权重阈值以及弱分类器的误差为:
em=P(hm(xi)≠yi)
其中:
Wm为所设定的第m轮算法迭代的阈值,它的大小为本轮训练全部样本权重的均值;
Wm,i为第i个弱分类器在进行第m轮算法迭代的权重值;
N为样本数;
hm(xi)为第m轮算法迭代中,第i个样本在弱分类器中的分类结果;
yi为第i个样本的真实分类结果;
em为弱分类器误分类的概率;
根据上述定义,在弱分类器迭代过程中进行如下权重更新:
其中:
β为所述弱分类器在最终分类器中所占的权重;
3)将训练得到的弱分类器通过级联(串联)的方式组成一个人脸检测级联分类器,以检测到人脸区域图像,并将所得人脸区域图像作为所述多任务深度学习网络模型的训练集,所述级联分类器即为一个退化的决策树。在级联分类器中,第2层分类器分类是由第1层分类得到的正样本触发的,第3层分类器分类是由第2层分类得到的正样本触发的,依次类推。
可选地,所述将人脸区域图像输入到预构建的多任务深度学习识别网络中,训练得到多任务深度学习网络模型,包括:
将人脸区域图像转换为人脸区域图像矩阵;
将人脸区域图像矩阵输入到多任务深度学习网络第一个全连接层,进行人脸身份识别任务模型的训练;
将得到结果输入到多任务深度学习网络的第二个全连接层,进行人脸年龄识别任务模型的训练;所述人脸年龄任务模型的损失函数为本发明所设计的Gaussian-Crossloss损失函数,其具体公式为:
G_Loss(y,oy)=μG(y,oy)+(1-μ)Loss(y,oy)
其中:
G(y,oy)为Gauss损失函数;
Loss(y,oy)为softmax损失函数;
μ为loss权重,在本发明中一般取0.5;
oy为模型的输出年龄;
y为训练集中人脸图像的真实年龄;
δ为训练集的年龄分布标准差;
将得到结果输入到多任务深度学习网络的第三个全连接层,进行人脸性别识别任务模型的训练;
将得到结果输入到多任务深度学习网络的第四个全连接层,进行人脸疲劳程度识别任务模型的训练;
连接所有全连接层得到最终的多任务深度学习网络模型,其中所述多任务深度学习网络模型的损失函数为各人脸识别任务损失函数的和。
此外,本发明还提供一种基于多任务深度学习网络的识别方法,所述方法包括:
获取待识别人脸图像,并使用预设的规则提取待识别人脸图像的haar特征,并基于所提取haar特征对人脸图像进行仿射变换、随机裁剪以及数据平衡处理;
利用人脸检测算法对待识别人脸图像中的人脸区域进行检测,得到所述人脸图像中的人脸区域图像;
将人脸区域图像输入到训练后的多任务深度学习网络模型进行特征提取,得到多层次的人脸特征信息;
将所提取的多层次特征信息基于concat融合原理进行特征融合,得到融合后的特征,并利用MFN特征融合计算网络对融合得到的特征进行卷积计算,得到多任务人脸识别泛化特征;
将所述待识别人脸图像的多任务人脸识别泛化特征分别与注册集中每张人脸图像对应的特征进行匹配,根据匹配结果,完成各识别任务;
其中,所述多任务深度学习网络模型依次包括人脸身份识别任务模型、人脸年龄识别任务模型、人脸性别识别任务模型以及人脸疲劳状态识别任务模型,各人脸识别任务模型在所述多任务深度学习网络模型中以串联的形式存在,且各人脸识别任务模型所得人脸特征信息依次传递到下一个人脸识别任务模型的全连接层,多任务深度学习网络模型的第一个全连接层连接每个任务的全连接层以及损失函数,所述人脸身份识别任务模型的损失函数为softmax损失函数,所述人脸年龄识别任务模型的损失函数为Gaussian-Crossloss损失函数,所述人脸性别识别任务模型的损失函数为softmax损失函数,所述人脸疲劳状态识别任务模型的损失函数为交叉熵损失函数。
可选地,所述人脸检测算法的具体步骤为:
1)利用下述公式训练若干弱分类器,当输出结果为1时说明识别出人脸区域,反之则未识别出人脸区域:
其中:
f为haar特征;
θ为本发明自设的阈值;
p指示不等号的方向;
x为一个检测子窗口;
2)设置弱分类器权值的限制条件,即在每一轮弱分类器的算法迭代中都设置一个更新权重阈值Wm,并进行弱分类器的迭代训练,所述更新权重阈值以及弱分类器的误差为:
em=P(hm(xi)≠yi)
其中:
Wm为所设定的第m轮算法迭代的阈值,它的大小为本轮训练全部样本权重的均值;
Wm,i为第i个弱分类器在进行第m轮算法迭代的权重值;
N为样本数;
hm(xi)为第m轮算法迭代中,第i个样本在弱分类器中的分类结果;
yi为第i个样本的真实分类结果;
em为弱分类器误分类的概率;
根据上述定义,在弱分类器迭代过程中进行如下权重更新:
其中:
β为所述弱分类器在最终分类器中所占的权重;
3)将训练得到的弱分类器通过级联(串联)的方式组成一个人脸检测级联分类器,以检测到人脸区域图像,所述级联分类器即为一个退化的决策树。在级联分类器中,第2层分类器分类是由第1层分类得到的正样本触发的,第3层分类器分类是由第2层分类得到的正样本触发的,依次类推。
可选地,所述多层次特征融合的过程为:
fconcat=[f1,...,fi,...fm]
其中:
fi为第i个人脸识别子任务模型所提取到的特征信息;
m为所述多任务深度学习网络模型中任务的个数;
[]为向量维度上的连接操作。
此外,为实现上述目的,本发明还提供一种基于多任务深度学习网络的识别系统,所述系统包括:
人脸区域检测模块,用于获取待识别人脸图像的人脸区域图像;
模型训练模块,用于基于人脸图像训练集,训练出基于多任务深度学习网络模型;
特征提取模块,用于根据所训练的多任务深度学习网络模型,提取待识别人脸图像的各任务特征信息;
特征融合模块,用于将所提取到的特征信息进行融合,得到多任务人脸泛化特征;
特征匹配模块,用于将待识别人脸图像的多任务人脸识别泛化特征分别与注册集中每张人脸图像对应的特征进行匹配,根据匹配结果,完成各识别任务。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于多任务深度学习网络的模型训练程序指令,所述基于多任务深度学习网络的模型训练程序指令可被一个或者多个处理器执行,以实现如上所述的一种基于多任务深度学习网络的训练方法的步骤。
相对于现有技术,本发明提出一种基于多任务深度学习网络的训练方法、识别方法及系统,该技术具有以下优势:
现有技术大多采用Adaboost算法进行人脸识别检测,由于现有Adaboost算法的样本权重更新规则注重困难样本,即被分错的样本在算法后续可得到更多的重视,因此当现有Adaboost算法很难对训练样本中包含的噪声样本或一些罕见困难样本进行正确分类时,算法会将重心转移到分类困难的样本上,即这些样本的权重会呈指数增长,最终导致样本权重严重扭曲的现象,同时由于权重归一化,已经被正确分类的样本权重急剧减小,出现偏差,即不被重视,而且随着弱分类器迭代次数的增加,曾经较为正确的分类规则可能逐渐被破坏或丢失,从而造成算法性能的降低,进而影响了人脸检测的正确率。
为解决上述问题,本发明通过对算法权值的更新设定限制条件,并引入弱分类器的权重式中,em为弱分类器误分类的概率,其中β随着em的减小而增大,因此分类误差的越小的弱分类器在最终的人脸检测级联分类器中的作用越大,且只有当迭代运算得到的弱分类器权重小于本轮运算设定的阈值时,下一轮迭代的权重才会增加,否则权值保持不变,例如,在hm(xi)≠yi时,仅当Wm,i<Wm时,Wm+1,i=Wm,iβ-1,此时第i个分类器在第m+1轮算法权重增加,否则Wm+1,i=Wm,i,即权重保持不变,其中Wm为所设定的第m轮算法迭代的阈值,它的大小为本轮训练全部样本权重的均值,Wm,i为第i个弱分类器在进行第m轮算法迭代的权重值,hm(xi)为第m轮算法迭代中,第i个样本在弱分类器中的分类结果,yi为训练集中第i个样本的真实分类结果,因此,本发明所述改进算法有效控制了现有Adaboost算法中存在的样本权重扭曲的问题,在一定程度上避免了因样本权重不断增加而造成的算法性能退化的问题,同时能利用所述Adaboost改进算法正确识别出不同环境中的所有人脸图像。
现有技术一般采用多个模型并联的方法来完成多个不同人脸属性的识别任务,即根据任务数,训练等量的深度学习模型,各深度学习模型并联且独立地形成一个多任务并联模型;本发明利用深度学习框架Caffe设计了一个深度网络结构,各人脸识别任务模型在所述多任务深度学习网络模型中以串联的形式存在,且各人脸识别任务模型所得人脸特征信息依次传递到下一个人脸识别任务模型的全连接层,相较于基于识别任务独立训练多个深度学习模型,各深度学习模型之间毫无关联的现有技术,本发明所采用多任务深度学习网络训练方法将各人脸识别任务模型结合在一起,使得不同任务模型所提取的人脸特征信息能在多任务深度学习网络模型中进行传递,各任务模型只需提取其中有利于模型训练的人脸特征信息进行训练,无需对原始待识别图像进行训练,极大缩短模型的训练过程。
其次,由于现有技术未考虑依照模型复杂度进行顺序训练,均为同时训练多个深度学习子任务模型,本发明按照模型训练复杂性由高到低的顺序进行各人脸识别任务模型的训练,所述模型训练的复杂性的高低即为模型中所提取出人脸特征信息的多少,所提取出的人脸特征信息越多,模型训练的复杂性也就越大,因此复杂性更高的人脸识别任务模型所位于的全连接层输出了包含更多人脸信息的特征信息,而复杂性更低的人脸识别任务模型通过接收包含更多人脸信息的特征信息,提取其中有利于模型训练的特征信息,相较于现有技术,本发明只需根据高层人脸识别任务模型所得的特征信息,便可对底层人脸识别任务模型进行训练,无需重复训练多个人脸识别任务模型,因此本发明所设计模型的训练速度相较于并联方式的多任务深度学习模型提升了超过十倍;同时由于人脸身份识别模型所输出的特征信息为人脸的整体特征信息,人脸年龄识别模型输出的特征信息包含了人脸中眼睛、鼻子、嘴巴的特征信息,人脸性别识别模型所输出的特征信息包含了人脸中眼睛、鼻子的特征信息,而人脸疲劳状态识别模型所输出的特征信息仅包含人脸眼睛的特征信息,因此本发明按照模型训练复杂性的由高到低,即模型中所提取出人脸特征信息的由多到少,所设置的任务模型训练顺序依次为人脸身份识别模型,人脸年龄识别模型,人脸性别识别模型以及人脸疲劳状态识别模型;同时现有技术需要训练多个深度学习子任务模型,各子任务模型可能由于训练数据噪音严重、数据量小等原因,单一训练很难实现模型收敛,本发明通过将各子任务模型串联在一起,训练数据量较大的子任务模型能够极大地隐藏补充其他子任务模型所需的数据集;
同时针对参数收敛较慢的人脸年龄识别训练过程,本发明根据年龄符合Gaussian分布的特点,提出了一种Gaussian-Crossloss损失函数 该损失函数相较于传统softmax损失函数,将Gauss损失函数与softmax损失函数Loss(y,oy)线性相加;根据本发明所提出的Gaussian-Crossloss损失函数,当模型的输出年龄oy与模型训练集中的真实年龄y差距过大时,Gaussian-Crossloss损失函数会变大,模型会增大训练中的学习率参数,从而加速训练过程,当模型输出的年龄与真实的标签年龄差距过小时,Gaussian-Crossloss损失函数会变小,这时可以减小50%当前训练的学习率参数,由网络权值参数=当前权值参数-学习率×梯度,过小的学习率有助于对网络模型参数进行精调,所述学习率控制着基于损失梯度调整神经网络权值的速度和大小,当学习率大时,模型参数更新的速度和大小也会增大,相较于现有损失函数,本发明所提出的Gaussian-Crossloss损失函数可以加快人脸年龄识别任务的参数收敛过程,同时提高模型训练的精度。
附图说明
图1为本发明一实施例提供的一种基于多任务深度学习网络的训练方法的流程示意图;
图2为本发明一实施例提供的一种基于多任务深度学习网络的识别方法的流程示意图;
图3为本发明一实施例提供的一种基于多任务深度学习网络系统的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在保证低资源消耗以及高识别精度的同时,如何高效地训练一种多任务深度学习网络,并利用所训练的多任务深度学习网络快速进行多任务人脸识别,本发明提供一种基于多任务深度学习网络的训练方法、识别方法及系统。参照图1所示,为本发明一实施例提供的基于多任务深度学习网络的训练方法的流程示意图。
在本实施例中,基于多任务深度学习网络的训练方法包括:
S101、收集包含人脸的图像,并使用预设的规则提取所述人脸图像的haar特征,从而基于所提取haar特征对人脸图像进行仿射变换、随机裁剪以及数据平衡处理。
首先,本发明收集包含人脸的图像,所收集的图像为以下格式中的任意一种:bmp、jpg、png、gif、svg、psd、pex、eps等,且为无压缩图像;
根据所收集的人脸图像,本发明使用预设的规则对所述人脸图像的haar特征进行提取,所述基于预设规则的haar特征提取过程为:
1)用s(i,j)表示人脸图像行方向的像素累加和,初始化s(i,-1)=0;
2)用v(i,j)表示人脸图像的积分图,初始化v(-1,j)=0;
3)从图像左上角开始,逐行扫描人脸图像,利用下式递归计算每个像素(i,j)行方向的累加和s(i,j),以及积分图像v(i,j)的值:
s(i,j)=s(i,j-1)+f(i,j)
v(i,j)=v(i-1,j)+s(i,j)
其中:
f(i,j)为积分图在(i,j)处的位置点;
(i,j)为人脸图像像素点的坐标;
4)当扫描位置到达图像右下角像素时,得到最终人脸图像的积分图;
5)将所述积分图与预设的haar特征模板进行匹配,所述haar特征模板有黑白两种矩形,根据匹配结果进行如下haar特征值的计算:
其中:
weightall为整个haar特征模板的权重,不同的haar特征模板预设有不同的权重;
Pixel为人脸图像的像素;
weightblack为haar特征模板中黑色区域的权重,不同的haar特征模板预设有不同的权重;
black为haar特征模板中的黑色区域;
all为haar特征模板的整个区域。
进一步地,根据本发明所提取的haar特征,本发明对所收集的人脸图像进行仿射变换、随机裁剪以及数据平衡处理;
在一个具体实施例中,本发明根据所提取的haar特征,选取haar特征值最大的两张人脸图像作为基准图像,从而对其他图像进行两个方向的仿射变换,最终得到了接近原数据集三倍数量的数据,既扩充了数据集,方便之后的操作,又清洗了部分模糊照片;
在一个具体实施例中,本发明分别使用了opencv人脸检测公开库和dlib人脸检测公开库将人脸图像裁剪到了64×64大小,实现了随机裁剪的目的;同时对原数据集中裁剪后的图像都予以保留,向两个方向仿射变换的人脸图像根据注册集中人脸图像的数量进行适当保留,从而实现数据平衡,所述注册集为本发明已知的信息的人脸图像集合。
S102、根据所提取的人脸图像haar特征,利用人脸检测算法对人脸图像中的人脸区域进行检测,得到所述人脸图像中的人脸区域图像,并将所得人脸区域图像作为所述多任务深度学习网络模型的训练集。
进一步地,根据所提取的人脸图像haar特征,本发明利用人脸检测算法对人脸图像中的人脸区域进行检测,以得到所述人脸图像中的人脸区域图像;在本发明一个较佳实施例中,所述人脸检测算法可为基于haar特征的Adaboost改进算法,由于现有Adaboost算法的样本权重更新规则注重困难样本,即被分错的样本在算法后续可得到更多的重视,因此当现有Adaboost算法很难对训练样本中包含的噪声样本或一些罕见困难样本进行正确分类时,算法会将重心转移到分类困难的样本上,即这些样本的权重会呈指数增长,最终导致样本权重严重扭曲的现象,同时由于权重归一化,已经被正确分类的样本权重急剧减小,出现偏差,即不被重视,而且随着迭代次数的增加,曾经较为正确的分类规则可能逐渐被破坏或丢失,从而造成算法性能的降低;
为解决上述问题,本发明在现有Adaboost算法的基础上对算法权值的更新设定限制条件,以完成对现有Adaboost算法的改进,所述基于haar特征的Adaboost改进算法的步骤如下:
1)利用下述公式训练若干弱分类器,当输出结果为1时说明识别出人脸区域,反之则未识别出人脸区域:
其中:
f为haar特征;
θ为本发明自设的阈值;
p指示不等号的方向;
x为一个检测子窗口。
2)设置弱分类器权值的限制条件;本发明在每一轮弱分类器的算法迭代中都设置一个更新权重阈值Wm,并进行弱分类器的迭代训练,所述更新权重阈值以及弱分类器的误差为:
em=P(hm(xi)≠yi)
其中:
Wm为所设定的第m轮算法迭代的阈值,它的大小为本轮训练全部样本权重的均值;
Wm,i为第i个弱分类器在进行第m轮算法迭代的权重值;
N为样本数;
hm(xi)为第m轮算法迭代中,第i个样本在弱分类器中的分类结果;
yi为第i个样本的真实分类结果;
em为弱分类器误分类的概率。
根据上述定义,本发明在弱分类器迭代过程中进行如下权重更新:
其中:
β为所述弱分类器在最终分类器中所占的权重。
3)将训练得到的弱分类器通过级联(串联)的方式组成一个人脸检测级联分类器,以检测到人脸区域图像,并将所得人脸区域图像作为所述多任务深度学习网络模型的训练集,所述级联分类器即为一个退化的决策树。在级联分类器中,第2层分类器分类是由第1层分类得到的正样本触发的,第3层分类器分类是由第2层分类得到的正样本触发的,依次类推。
根据上述算法的权重更新公式可得,β随着em的减小而增大,分类误差的越小的弱分类器在最终的人脸检测级联分类器中的作用越大,且当迭代运算得到的弱分类器权重小于本轮运算设定的阈值时,下一轮迭代的权重才会增加,否则则保持不变,因此本发明所述改进算法相较于现有算法,在一定程度上避免了因样本权重不断增加而造成的算法性能退化的问题。
S103、将人脸区域图像输入到预构建的多任务深度学习识别网络中,训练得到多任务深度学习网络模型,所述多任务深度学习网络模型包括人脸身份识别任务、人脸年龄识别任务、人脸性别识别任务以及人脸疲劳状态识别任务。
进一步地,本发明将所述训练集中的人脸区域图像利用matlab进行矩阵化,得到人脸区域图像矩阵,并将所述人脸区域图像矩阵输入到预构建的多任务深度学习识别网络中;
所述多任务深度学习识别网络能够进行多个人脸识别任务的训练,在本发明实施例中,本发明根据不同人脸识别任务的特点,使用不同的目标函数和训练算法,基于Caffe深度学习框架进行多任务深度学习网络模型的训练,多任务深度学习网络模型的第一个全连接层连接每个任务的全连接层以及损失函数;
对M个不同的人脸识别任务而言,其中第k个人脸识别任务的正向传播公式为:
outputk=f(WkX+bk)
其中:
f为激活函数;
X为所输入的人脸区域图像矩阵;
Wk、bk为卷积相关参数。
反向传播公式为:
其中:
ηk为第k个识别任务的学习率;
Lk为第k个识别任务的损失函数。
在本发明较佳实施例中,对于不同的人脸识别任务,本发明按照识别任务的复杂性从高到低、训练数据量的由多到少依次进行训练,从而得到所述多任务深度学习网络模型,可以极大减少训练时间和训练质量,且各任务的权重相同,各人脸识别任务模型在所述多任务深度学习网络模型中以串联的形式存在,且各人脸识别任务所得人脸特征信息依次传递到下一个人脸识别任务的全连接层,本发明按照模型训练复杂性由高到低的顺序进行各人脸识别任务模型的训练,复杂性更高的人脸识别任务模型所位于的全连接层输出了包含更多人脸信息的特征信息,而复杂性更低的人脸识别任务通过接收包含更多人脸信息的特征信息,提取其中有利于模型训练的特征信息,因此在本发明一个实施例中,由于人脸身份识别模型所输出的特征信息为人脸的整体特征信息,人脸年龄识别模型输出的特征信息包含了人脸中眼睛、鼻子、嘴巴的特征信息,人脸性别识别模型所输出的特征信息包含了人脸中眼睛、鼻子的特征信息,而人脸疲劳状态识别模型所输出的特征信息仅包含人脸眼睛的特征信息,而因此本发明按照模型训练复杂性的由高到低,即模型中所提取出人脸特征信息的由多到少,所设置的人脸识别任务的训练顺序为:人脸身份识别任务、人脸年龄识别任务、人脸性别识别任务以及人脸疲劳状态识别任务,极大缩减了多任务深度学习网络模型的训练时间,本发明具体的训练策略设计如下:
(1)人脸身份识别任务
本发明采用softmax分类函数作为人脸身份识别任务的目标函数,以分类任务为驱动来完成人脸身份特征的提取,将人脸区域图像输入到多任务深度学习网络第一个全连接层,并将第一个全连接层的输出结果作为需要的人脸身份特征,所述输出结果将被输入到多任务深度学习网络的第二个全连接层,依次类推;本发明所选择的softmax损失函数为:
其中:
y为人脸图像真实身份特征;
oy为softmax输出概率向量中位置为y的概率值;
zy为对人脸图像卷积后的结果。
在计算出softmax损失函数后,本发明进行SGD反向传播,更新网络的权重W和偏置参数b,进而可以更新正向传播输出值oy,从而使得网络参数W和b逐渐逼近期待的适当收敛值,并使得网络的损失函数逐渐趋于最小值,所述反向传播的具体公式为:
其中:
m为多任务深度学习网络的动量;
η为多任务深度学习网络的学习率;
λ为权重衰退量参数;
L表示模型的损失函数。
(2)人脸年龄识别任务
在本发明实施例中,按照人脸图像的年龄信息,本发明将人脸年龄分为1到100共100个类别,因此本发明采用softmax分类函数作为人脸年龄识别任务的目标函数,以进行100分类任务处理,并将第二个全连接层的输出结果作为需要的人脸年龄特征;所述正向和反向传播过程与所述人脸身份识别任务一致,为加速训练过程,本发明设计了一种Gaussian-Crossloss损失函数,作为所述人脸年龄识别任务的损失函数,其具体公式为:
G_Loss(y,oy)=μG(y,oy)+(1-μ)Loss(y,oy)
其中:
G(y,oy)为Gauss损失函数;
Loss(y,oy)为softmax损失函数;
μ为loss权重,在本发明中一般取0.5;
oy为模型的输出年龄;
y为训练集中人脸图像的真实年龄;
δ为训练集的年龄分布标准差。
相对于普通softmax损失函数,本发明将Gauss损失函数与之线性相加,从而充分利用了年龄的gauss分布性质。当模型的输出年龄oy与真实的标签年龄y差距过大时,Gaussian-Crossloss损失函数会变大,模型会增大训练中的学习率参数,从而加速训练过程,当模型输出的年龄与真实的标签年龄差距过小时,Gaussian-Crossloss损失函数会变小,这时可以减小50%当前训练的学习率参数,由网络权值参数=当前权值参数-学习率×梯度,过小的学习率有助于对网络模型参数进行精调,所述学习率控制着基于损失梯度调整神经网络权值的速度和大小,当学习率大时,模型参数更新的速度和大小也会增大。
(3)人脸性别识别任务。
本发明将人脸性别识别任务作为一个二分类问题进行处理,因此本发明采用softmax分类函数作为人脸性别识别任务的目标函数,并进行二分类任务,并将第三个全连接层的输出结果作为需要的人脸性别特征。其网络的正向和反向传播过程与人脸身份识别一致。
所述人脸性别识别部分最后的输出结果为一个1×2维的softmax概率向量,直接取概率值最大的预测类别最为最终结果。
(4)人脸疲劳状态识别任务
在实际场景中,人脸疲劳状态可分为疲劳、非疲劳以及疲劳状态不明三种状态,因此本发明采用softmax分类函数作为人脸疲劳状态识别任务的目标函数,并进行三分类任务,并将第四个全连接层的输出结果作为需要的人脸疲劳状态特征。其网络的正向和反向传播过程与人脸身份识别一致。同时本发明设计了一种交叉熵损失函数,所述交叉熵损失函数为:
其中:
m为样本数量;
y(i)为样本类别,当y(i)为0时,表示非疲劳状态,当y(i)为1时,表示疲劳状态,当y(i)为-1时,表示疲劳状态不明。
所述人脸疲劳状态识别部分最后的输出结果为一个1×3维的softmax概率向量,直接取概率值最大的预测类别最为最终结果。
参照图2所示,为本发明一实施例提供的基于多任务深度学习网络的识别方法的流程示意图。
在本实施例中,基于多任务深度学习网络的识别方法包括:
S201、获取待识别人脸图像,并使用预设的规则提取待识别人脸图像的haar特征。
本发明使用预设的规则对所述待识别人脸图像的haar特征进行提取,所述基于预设规则的haar特征提取过程为:
1)用s(i,j)表示人脸图像行方向的像素累加和,初始化s(i,-1)=0;
2)用v(i,j)表示人脸图像的积分图,初始化v(-1,j)=0;
3)从图像左上角开始,逐行扫描人脸图像,利用下式递归计算每个像素(i,j)行方向的累加和s(i,j),以及积分图像v(i,j)的值:
s(i,j)=s(i,j-1)+f(i,j)
v(i,j)=v(i-1,j)+s(i,j)
其中:
f(i,j)为积分图在(i,j)处的位置点;
(i,j)为人脸图像像素点的坐标;
4)当扫描位置到达图像右下角像素时,得到最终人脸图像的积分图;
5)将所述积分图与预设的haar特征模板进行匹配,所述haar特征模板有黑白两种矩形,根据匹配结果进行如下haar特征值的计算:
其中:
weightall为整个haar特征模板的权重,不同的haar特征模板预设有不同的权重;
Pixel为人脸图像的像素;
weightblack为haar特征模板中黑色区域的权重,不同的haar特征模板预设有不同的权重;
black为haar特征模板中的黑色区域;
all为haar特征模板的整个区域。
S202、利用人脸检测算法对待识别人脸图像中的人脸区域进行检测,得到所述人脸图像中的人脸区域图像。
根据所提取的人脸图像haar特征,本发明利用人脸检测算法对待识别人脸图像中的人脸区域进行检测,以得到所述人脸图像中的人脸区域图像;在本发明一个较佳实施例中,所述人脸检测算法可为基于haar特征的Adaboost改进算法,由于现有Adaboost算法的样本权重更新规则注重困难样本,即被分错的样本在算法后续可得到更多的重视,因此当现有Adaboost算法很难对训练样本中包含的噪声样本或一些罕见困难样本进行正确分类时,算法会将重心转移到分类困难的样本上,即这些样本的权重会呈指数增长,最终导致样本权重严重扭曲的现象,同时由于权重归一化,已经被正确分类的样本权重急剧减小,出现偏差,即不被重视,而且随着迭代次数的增加,曾经较为正确的分类规则可能逐渐被破坏或丢失,从而造成算法性能的降低;
为解决上述问题,本发明在现有Adaboost算法的基础上对算法权值的更新设定限制条件,以完成对现有Adaboost算法的改进,所述基于haar特征的Adaboost改进算法的步骤如下:
1)利用下述公式训练若干弱分类器,当输出结果为1时说明识别出人脸区域,反之则未识别出人脸区域:
其中:
f为haar特征;
θ为本发明自设的阈值;
p指示不等号的方向;
x为一个检测子窗口。
2)设置弱分类器权值的限制条件;本发明在每一轮弱分类器的算法迭代中都设置一个更新权重阈值Wm,并进行弱分类器的迭代训练,所述更新权重阈值以及弱分类器的误差为:
em=P(hm(xi)≠yi)
其中:
Wm为所设定的第m轮算法迭代的阈值,它的大小为本轮训练全部样本权重的均值;
Wm,i为第i个弱分类器在进行第m轮算法迭代的权重值;
N为样本数;
hm(xi)为第m轮算法迭代中,第i个样本在弱分类器中的分类结果;
yi为第i个样本的真实分类结果;
em为弱分类器误分类的概率。
根据上述定义,本发明在弱分类器迭代过程中进行如下权重更新:
其中:
β为所述弱分类器在最终分类器中所占的权重。
3)将训练得到的弱分类器通过级联(串联)的方式组成一个人脸检测级联分类器,以检测到人脸区域图像,所述级联分类器即为一个退化的决策树。在级联分类器中,第2层分类器分类是由第1层分类得到的正样本触发的,第3层分类器分类是由第2层分类得到的正样本触发的,依次类推。
根据上述算法的权重更新公式可得,β随着em的减小而增大,分类误差的越小的弱分类器在最终的人脸检测级联分类器中的作用越大,且当迭代运算得到的弱分类器权重小于本轮运算设定的阈值时,下一轮迭代的权重才会增加,否则则保持不变,因此本发明所述改进算法相较于现有算法,在一定程度上避免了因样本权重不断增加而造成的算法性能退化的问题。
S203、将人脸区域图像输入到训练后的多任务深度学习网络模型进行特征提取,得到多层次的人脸特征信息。
进一步地,本发明将所述训练集中的人脸区域图像输入到训练好的多任务深度学习识别网络中,从而获得多层次的人脸特征信息,如人脸身份识别特征、人脸年龄识别特征、人脸性别识别特征以及人脸疲劳状态识别特征;
对M个不同的人脸识别任务而言,其中第k个人脸识别任务的正向传播公式为:
outputk=f(WkX+bk)
其中:
f为激活函数;
Wk、bk为卷积相关参数。
反向传播公式为:
其中:
ηk为第k个识别任务的学习率;
Lk为第k个识别任务的损失函数。
在本发明较佳实施例中,对于不同的人脸识别任务,本发明按照识别任务的复杂性从高到低、训练数据量的由多到少依次进行训练,且各任务的权重相同,据此本发明训练得到了一种多任务深度学习网络模型,所述多任务深度学习网络模型依次实现了人脸身份识别任务、人脸年龄识别任务、人脸性别识别任务以及人脸疲劳状态识别任务,并分别提取了人脸身份特征、人脸年龄特征、人脸性别特征以及人脸疲劳状态特征,其中利用所述各任务的训练步骤参见上述多任务深度学习网络训练方法。。
S204、将人脸图像输入到训练后得多任务深度学习网络模型中,进行多任务的特征提取,并使用预构建的MFN特征融合网络对所提取的多任务特征进行特征融合,得到适用于各识别任务的多任务人脸识别泛化特征。
进一步地,本发明将人脸图像输入到训练后得到的多任务深度学习网络模型中,由于不同层次的深度学习网络层学习到的特征是不同的,低层次的网络层学习到的更多是纹理、颜色等信息,高层次的网络层学习到的是高度抽象的语义信息,所述多任务深度学习网络模型根据所包含的多个子任务深度学习模型,分别提取人脸身份识别特征信息,人脸年龄识别特征信息,人脸性别识别特征信息等,使所提取的特征信息能基本表示人脸各属性的信息;
进一步地,根据所提取的人脸各属性的特征信息,本发明基于concat融合原理进行多层次特征融合,所述多层次特征融合的过程为:
fconcat=[f1,...,fi,...fm]
其中:
fi为第i个人脸识别子任务模型所提取到的特征信息;
m为所述多任务深度学习网络模型中任务的个数;
[]为向量维度上的连接操作。
由于不同的特征信息适合完成不同的任务,因此本发明设计了一个MFN多层特征融合网络,所述MFN多层特征融合计算网络首先将所融合得到的concat特征,利用一个卷积核大小为1×1的卷积层进行卷积操作,从而获得一个低维的多任务人脸识别泛化特征,其中卷积核的数量便是提取出的特征的数量,所述卷积操作公式为:
f=fconcat×Wi+bi
其中:
fconcat为基于concat原理融合得到的特征;
Wi为第i个卷积神经元的卷积参数;
bi为第i个卷积神经元的偏置。
S205、将所述待识别人脸图像的多任务人脸识别泛化特征分别与注册集中每张人脸图像对应的特征进行匹配,根据匹配结果,完成各识别任务。
进一步地,本发明将所述待识别人脸图像的多任务人脸识别泛化特征,分别与注册集中每张人脸图像对应的特征进行身份匹配,通过设定匹配阈值,若匹配结果满足匹配阈值要求,则认为两者为同一人,从而得到对应的身份以及年龄等信息,以完成各识别任务;所述特征匹配算法为:
其中:
X为多任务人脸识别泛化特征,Xi为其特征子向量;
Y为注册集中每张人脸图像对应的特征,Yi为其特征子向量。
所述注册集为本发明已知的信息的人脸图像集合。
下面通过一个仿真实验来说明本发明的具体实施方式,并对发明的算法进行测试。本发明所述仿真实验部署在Caffe深度学习框架中,处理器为Intel(R)Core(TM)i7-7700 CPU,8核8G内存,操作系统为64位的Ubuntu16.04,显卡位GeForce GTX1070,显存8G,开发环境为python2.7,开发工具为Anaconda科学计算库。在本发明所述实验环境中,分别进行多个子任务并联的深度学习模型训练以及本发明所述多任务深度学习网络模型的训练,并利用所训练的模型进行多个人脸识别任务的识别,所述人脸识别任务包括人脸身份识别,人脸年龄识别,人脸性别识别以及人脸疲劳状态识别;
根据实验结果,多个子任务并联的深度学习模型所需的训练时间为112个小时,而本发明所述多任务深度学习网络模型所需的训练时间为10个小时,因此本发明所述模型训练方法相较于现有技术能更快得到可用模型;
同时,在输入待识别图像维度为64×64×1且待识别图像数量为10000张时,本发明所述多任务深度学习网络模型的准确率为98.78%,耗时为1624.8s,而多个子任务并联的深度学习模型的准确率为97.75%,耗时为9765.3s,因此本发明所述多任务深度学习网络模型相较于现有技术具有更高的准确率,且能更快完成识别任务。
发明还提供一种基于多任务深度学习网络的识别系统。参照图3所示,为本发明一实施例提供的基于多任务深度学习网络的识别系统的内部结构示意图。
在本实施例中,所述基于多任务深度学习网络的识别系统1至少包括人脸区域检测模块11、模型训练模块12、特征提取模块13、特征融合模块14,特征匹配模块15,以及通信总线16。
其中,人脸检测模块11可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。
模型训练模块12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型模型训练模块(例如,SD或DX模型训练模块等)、磁性模型训练模块、磁盘、光盘等。模型训练模块12在一些实施例中可以是基于多任务深度学习网络的识别系统1的内部存储单元,例如该基于多任务深度学习网络的识别系统1的硬盘。模型训练模块12在另一些实施例中也可以是基于多任务深度学习网络的识别系统1的外部存储设备,例如基于多任务深度学习网络的识别系统1上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,模型训练模块12还可以既包括基于多任务深度学习网络的识别系统1的内部存储单元也包括外部存储设备。模型训练模块12不仅可以用于存储安装于基于多任务深度学习网络的识别系统1的应用软件及各类数据,例如基于多任务深度学习网络的模型训练程序指令的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
特征提取模块13在一些实施例中可以是一中央处理器(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于根据所训练的多任务深度学习网络模型,提取待识别人脸图像的各任务特征信息。
特征融合模块14用于将所提取到的特征信息进行融合,得到多任务人脸泛化特征。
特征匹配模块15用于将待识别人脸图像的多任务人脸识别泛化特征分别与注册集中每张人脸图像对应的特征进行匹配,根据匹配结果,完成各识别任务
通信总线16用于实现这些组件之间的连接通信。
可选地,该系统1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在基于多任务深度学习网络的识别系统1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-16以及基于多任务深度学习网络的识别系统1,本领域技术人员可以理解的是,图1示出的结构并不构成对基于多任务深度学习网络的识别系统1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,模型训练模块12中存储有基于多任务深度学习网络的模型训练程序指令;执行模型训练模块12中存储的基于多任务深度学习网络的模型训练程序指令的步骤,与基于多任务深度学习网络的识别方法相同,在此不作累述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于多任务深度学习网络的模型训练程序指令,所述基于多任务深度学习网络的模型训练程序指令可被一个或多个处理器执行,以实现如下操作:
获取待识别人脸图像,并使用预设的规则提取待识别人脸图像的haar特征,并基于所提取haar特征对人脸图像进行仿射变换、随机裁剪以及数据平衡处理;
利用人脸检测算法对待识别人脸图像中的人脸区域进行检测,得到所述人脸图像中的人脸区域图像;
将人脸区域图像输入到训练后的多任务深度学习网络模型进行特征提取,得到多层次的人脸特征信息;
将所提取的多层次特征信息基于concat融合原理进行特征融合,得到融合后的特征,并利用MFN特征融合计算网络对融合得到的特征进行卷积计算,得到多任务人脸识别泛化特征;
将所述待识别人脸图像的多任务人脸识别泛化特征分别与注册集中每张人脸图像对应的特征进行匹配,根据匹配结果,完成各识别任务。
本发明计算机可读存储介质具体实施方式与上述基于多任务深度学习网络的识别方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于多任务深度学习网络的训练方法,其特征在于,所述方法包括:
收集包含人脸的图像,并使用预设的规则提取人脸图像的haar特征;
基于所提取haar特征对人脸图像进行仿射变换、随机裁剪以及数据平衡处理;
根据所提取的人脸图像haar特征,利用人脸检测算法对人脸图像中的人脸区域进行检测,得到所述人脸图像中的人脸区域图像,并将所得人脸区域图像作为所述多任务深度学习网络模型的训练集;
将人脸区域图像输入到预构建的多任务深度学习识别网络中,训练得到多任务深度学习网络模型;
其中,所述多任务深度学习网络模型依次包括人脸身份识别任务模型、人脸年龄识别任务模型、人脸性别识别任务模型以及人脸疲劳状态识别任务模型,各人脸识别任务模型在所述多任务深度学习网络模型中以串联的形式存在,且各人脸识别任务模型所得人脸特征信息依次传递到下一个人脸识别任务模型的全连接层,多任务深度学习网络模型的第一个全连接层连接每个任务的全连接层以及损失函数,所述人脸身份识别任务模型的损失函数为softmax损失函数,所述人脸年龄识别任务模型的损失函数为Gaussian-Crossloss损失函数,所述人脸性别识别任务模型的损失函数为softmax损失函数,所述人脸疲劳状态识别任务模型的损失函数为交叉熵损失函数。
2.如权利要求1所述的基于多任务深度学习网络的训练方法,其特征在于,所述使用预设的规则提取人脸图像的haar特征,包括:
用s(i,j)表示人脸图像行方向的像素累加和,初始化s(i,-1)=0;
用v(i,j)表示人脸图像的积分图,初始化v(-1,j)=0;
从图像左上角开始,逐行扫描人脸图像,利用下式递归计算每个像素(i,j)行方向的累加和s(i,j),以及积分图像v(i,j)的值:
s(i,j)=s(i,j-1)+f(i,j)
v(i,j)=v(i-1,j)+s(i,j)
其中:
f(i,j)为积分图在(i,j)处的位置点;
(i,j)为人脸图像像素点的坐标;
当扫描位置到达图像右下角像素时,得到最终人脸图像的积分图;
将所述积分图与预设的haar特征模板进行匹配,所述haar特征模板有黑白两种矩形,根据匹配结果进行如下haar特征值的计算:
其中:
weightall为整个haar特征模板的权重,不同的haar特征模板预设有不同的权重;
Pixel为人脸图像的像素;
weightblack为haar特征模板中黑色区域的权重,不同的haar特征模板预设有不同的权重;
black为haar特征模板中的黑色区域;
all为haar特征模板的整个区域。
3.如权利要求2所述的基于多任务深度学习网络的训练方法,其特征在于,所述基于所提取haar特征对人脸图像进行仿射变换、随机裁剪以及数据平衡处理,包括:
根据所提取的haar特征,选取haar特征值最大的两张人脸图像作为基准图像,从而对其他图像进行两个方向的仿射变换;
使用了opencv人脸检测公开库和dlib人脸检测公开库将人脸图像裁剪到了64×64大小;
对原数据集中裁剪后的图像都予以保留,向两个方向仿射变换的人脸图像根据注册集中人脸图像的数量进行适当保留。
4.如权利要求3所述的基于多任务深度学习网络的训练方法,其特征在于,所述人脸检测算法的具体步骤为:
1)利用下述公式训练若干弱分类器,当输出结果为1时说明识别出人脸区域,反之则未识别出人脸区域:
其中:
f为haar特征;
θ为本发明自设的阈值;
p指示不等号的方向;
x为一个检测子窗口;
2)设置弱分类器权值的限制条件,即在每一轮弱分类器的算法迭代中都设置一个更新权重阈值Wm,并进行弱分类器的迭代训练,所述更新权重阈值以及弱分类器的误差为:
em=P(hm(xi)≠yi)
其中:
Wm为所设定的第m轮算法迭代的阈值,它的大小为本轮训练全部样本权重的均值;
Wm,i为第i个弱分类器在进行第m轮算法迭代的权重值;
N为样本数;
hm(xi)为第m轮算法迭代中,第i个样本在弱分类器中的分类结果;
yi为第i个样本的真实分类结果;
em为弱分类器误分类的概率;
根据上述定义,在弱分类器迭代过程中进行如下权重更新:
其中:
β为所述弱分类器在最终分类器中所占的权重;
3)将训练得到的弱分类器通过级联(串联)的方式组成一个人脸检测级联分类器,以检测到人脸区域图像,并将所得人脸区域图像作为所述多任务深度学习网络模型的训练集,所述级联分类器即为一个退化的决策树。在级联分类器中,第2层分类器分类是由第1层分类得到的正样本触发的,第3层分类器分类是由第2层分类得到的正样本触发的,依次类推。
5.如权利要求4所述的基于多任务深度学习网络的训练方法,其特征在于,所述将人脸区域图像输入到预构建的多任务深度学习识别网络中,训练得到多任务深度学习网络模型,包括:
将人脸区域图像转换为人脸区域图像矩阵;
将人脸区域图像矩阵输入到多任务深度学习网络第一个全连接层,进行人脸身份识别任务模型的训练;
将得到结果输入到多任务深度学习网络的第二个全连接层,进行人脸年龄识别任务模型的训练;所述人脸年龄任务模型的损失函数为Gaussian-Crossloss损失函数,其具体公式为:
G_Loss(y,oy)=μG(y,oy)+(1-μ)Loss(y,oy)
其中:
G(y,oy)为Gauss损失函数;
Loss(y,oy)为softmax损失函数;
μ为loss权重,在本发明中一般取0.5;
oy为模型的输出年龄;
y为训练集中人脸图像的真实年龄;
δ为训练集的年龄分布标准差;
将得到结果输入到多任务深度学习网络的第三个全连接层,进行人脸性别识别任务模型的训练;
将得到结果输入到多任务深度学习网络的第四个全连接层,进行人脸疲劳程度识别任务模型的训练;
连接所有全连接层得到最终的多任务深度学习网络模型,其中所述多任务深度学习网络模型的损失函数为各人脸识别任务损失函数的和。
6.一种基于多任务深度学习网络的识别方法,其特征在于,所述方法包括:
获取待识别人脸图像,并使用预设的规则提取待识别人脸图像的haar特征,并基于所提取haar特征对人脸图像进行仿射变换、随机裁剪以及数据平衡处理;
利用人脸检测算法对待识别人脸图像中的人脸区域进行检测,得到所述人脸图像中的人脸区域图像;
将人脸区域图像输入到训练后的多任务深度学习网络模型进行特征提取,得到多层次的人脸特征信息;
将所提取的多层次特征信息基于concat融合原理进行特征融合,得到融合后的特征,并利用MFN特征融合计算网络对融合得到的特征进行卷积计算,得到多任务人脸识别泛化特征;
将所述待识别人脸图像的多任务人脸识别泛化特征分别与注册集中每张人脸图像对应的特征进行匹配,根据匹配结果,完成各识别任务;
其中,所述多任务深度学习网络模型依次包括人脸身份识别任务模型、人脸年龄识别任务模型、人脸性别识别任务模型以及人脸疲劳状态识别任务模型,各人脸识别任务模型在所述多任务深度学习网络模型中以串联的形式存在,且各人脸识别任务模型所得人脸特征信息依次传递到下一个人脸识别任务模型的全连接层,多任务深度学习网络模型的第一个全连接层连接每个任务的全连接层以及损失函数,所述人脸身份识别任务模型的损失函数为softmax损失函数,所述人脸年龄识别任务模型的损失函数为Gaussian-Crossloss损失函数,所述人脸性别识别任务模型的损失函数为softmax损失函数,所述人脸疲劳状态识别任务模型的损失函数为交叉熵损失函数。
7.如权利要求6所述的基于多任务深度学习网络的识别方法,所述人脸检测算法的具体步骤为:
1)利用下述公式训练若干弱分类器,当输出结果为1时说明识别出人脸区域,反之则未识别出人脸区域:
其中:
f为haar特征;
θ为本发明自设的阈值;
p指示不等号的方向;
x为一个检测子窗口;
2)设置弱分类器权值的限制条件,即在每一轮弱分类器的算法迭代中都设置一个更新权重阈值Wm,并进行弱分类器的迭代训练,所述更新权重阈值以及弱分类器的误差为:
em=P(hm(xi)≠yi)
其中:
Wm为所设定的第m轮算法迭代的阈值,它的大小为本轮训练全部样本权重的均值;
Wm,i为第i个弱分类器在进行第m轮算法迭代的权重值;
N为样本数;
hm(xi)为第m轮算法迭代中,第i个样本在弱分类器中的分类结果;
yi为第i个样本的真实分类结果;
em为弱分类器误分类的概率;
根据上述定义,在弱分类器迭代过程中进行如下权重更新:
其中:
β为所述弱分类器在最终分类器中所占的权重;
3)将训练得到的弱分类器通过级联(串联)的方式组成一个人脸检测级联分类器,以检测到人脸区域图像,所述级联分类器即为一个退化的决策树。在级联分类器中,第2层分类器分类是由第1层分类得到的正样本触发的,第3层分类器分类是由第2层分类得到的正样本触发的,依次类推。
8.如权利要求7所述的基于多任务深度学习网络的识别方法,其特征在于,所述多层次特征融合的过程为:
fconcat=[f1,...,fi,...fm]
其中:
fi为第i个人脸识别子任务模型所提取到的特征信息;
m为所述多任务深度学习网络模型中任务的个数;
[]为向量维度上的连接操作。
9.一种基于多任务深度学习网络的识别系统,其特征在于,所述识别系统包括:人脸区域检测模块、模型训练模块、特征提取模块、特征融合模块、特征匹配模块,其中:
所述人脸区域检测模块,用于获取待识别人脸图像的人脸区域图像;
所述模型训练模块,用于基于人脸图像训练集,训练出基于多任务深度学习网络模型;
所述特征提取模块,用于根据所训练的多任务深度学习网络模型,提取待识别人脸图像的各任务特征信息;
所述特征融合模块,用于将所提取到的特征信息进行融合,得到多任务人脸泛化特征;
所述特征匹配模块,用于将待识别人脸图像的多任务人脸识别泛化特征分别与注册集中每张人脸图像对应的特征进行匹配,根据匹配结果,完成各识别任务。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于多任务深度学习网络的模型训练程序指令,所述基于多任务深度学习网络的模型训练程序指令可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的一种基于多任务深度学习网络的训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010503034.8A CN111666873A (zh) | 2020-06-05 | 2020-06-05 | 一种基于多任务深度学习网络的训练方法、识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010503034.8A CN111666873A (zh) | 2020-06-05 | 2020-06-05 | 一种基于多任务深度学习网络的训练方法、识别方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111666873A true CN111666873A (zh) | 2020-09-15 |
Family
ID=72386503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010503034.8A Withdrawn CN111666873A (zh) | 2020-06-05 | 2020-06-05 | 一种基于多任务深度学习网络的训练方法、识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111666873A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308149A (zh) * | 2020-11-02 | 2021-02-02 | 平安科技(深圳)有限公司 | 基于机器学习的图像信息识别的优化方法及装置 |
CN112801203A (zh) * | 2021-02-07 | 2021-05-14 | 新疆爱华盈通信息技术有限公司 | 基于多任务学习的数据分流训练方法及系统 |
CN112991757A (zh) * | 2021-03-15 | 2021-06-18 | 四川爱通线缆股份有限公司 | 一种安全行车的警示方法 |
CN113255539A (zh) * | 2021-06-01 | 2021-08-13 | 平安科技(深圳)有限公司 | 多任务融合的人脸定位方法、装置、设备及存储介质 |
CN116363452A (zh) * | 2023-03-07 | 2023-06-30 | 阿里巴巴(中国)有限公司 | 任务模型训练方法以及装置 |
CN117058536A (zh) * | 2023-07-19 | 2023-11-14 | 中公高科养护科技股份有限公司 | 一种基于双分支网络的路面病害识别方法、装置及介质 |
CN116310516B (zh) * | 2023-02-20 | 2023-11-21 | 交通运输部水运科学研究所 | 船舶分类方法及装置 |
CN117762602A (zh) * | 2024-02-22 | 2024-03-26 | 北京大学 | 面向边缘异构硬件的深度学习级联任务调度方法及装置 |
-
2020
- 2020-06-05 CN CN202010503034.8A patent/CN111666873A/zh not_active Withdrawn
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308149B (zh) * | 2020-11-02 | 2023-10-24 | 平安科技(深圳)有限公司 | 基于机器学习的图像信息识别的优化方法及装置 |
CN112308149A (zh) * | 2020-11-02 | 2021-02-02 | 平安科技(深圳)有限公司 | 基于机器学习的图像信息识别的优化方法及装置 |
CN112801203A (zh) * | 2021-02-07 | 2021-05-14 | 新疆爱华盈通信息技术有限公司 | 基于多任务学习的数据分流训练方法及系统 |
CN112991757A (zh) * | 2021-03-15 | 2021-06-18 | 四川爱通线缆股份有限公司 | 一种安全行车的警示方法 |
CN113255539B (zh) * | 2021-06-01 | 2024-05-10 | 平安科技(深圳)有限公司 | 多任务融合的人脸定位方法、装置、设备及存储介质 |
CN113255539A (zh) * | 2021-06-01 | 2021-08-13 | 平安科技(深圳)有限公司 | 多任务融合的人脸定位方法、装置、设备及存储介质 |
CN116310516B (zh) * | 2023-02-20 | 2023-11-21 | 交通运输部水运科学研究所 | 船舶分类方法及装置 |
CN116363452A (zh) * | 2023-03-07 | 2023-06-30 | 阿里巴巴(中国)有限公司 | 任务模型训练方法以及装置 |
CN116363452B (zh) * | 2023-03-07 | 2024-01-09 | 阿里巴巴(中国)有限公司 | 任务模型训练方法以及装置 |
CN117058536A (zh) * | 2023-07-19 | 2023-11-14 | 中公高科养护科技股份有限公司 | 一种基于双分支网络的路面病害识别方法、装置及介质 |
CN117058536B (zh) * | 2023-07-19 | 2024-04-30 | 中公高科养护科技股份有限公司 | 一种基于双分支网络的路面病害识别方法、装置及介质 |
CN117762602B (zh) * | 2024-02-22 | 2024-05-07 | 北京大学 | 面向边缘异构硬件的深度学习级联任务调度方法及装置 |
CN117762602A (zh) * | 2024-02-22 | 2024-03-26 | 北京大学 | 面向边缘异构硬件的深度学习级联任务调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Uncertainty-guided transformer reasoning for camouflaged object detection | |
Jalilian et al. | Iris segmentation using fully convolutional encoder–decoder networks | |
CN111666873A (zh) | 一种基于多任务深度学习网络的训练方法、识别方法及系统 | |
Zafar et al. | Face recognition with Bayesian convolutional networks for robust surveillance systems | |
Kouw et al. | Feature-level domain adaptation | |
JP4429370B2 (ja) | ポーズによるヒト検出 | |
CN111178251B (zh) | 一种行人属性识别方法及系统、存储介质及终端 | |
CN112395979B (zh) | 基于图像的健康状态识别方法、装置、设备及存储介质 | |
CN112308237B (zh) | 一种问答数据增强方法、装置、计算机设备及存储介质 | |
CN112464865A (zh) | 一种基于像素和几何混合特征的人脸表情识别方法 | |
Zhang et al. | Patch strategy for deep face recognition | |
US20220207305A1 (en) | Multi-object detection with single detection per object | |
Yang et al. | Joint estimation of age and expression by combining scattering and convolutional networks | |
Gupta et al. | Single attribute and multi attribute facial gender and age estimation | |
CN113255557A (zh) | 一种基于深度学习的视频人群情绪分析方法及系统 | |
Alphonse et al. | Novel directional patterns and a Generalized Supervised Dimension Reduction System (GSDRS) for facial emotion recognition | |
Bose et al. | Light weight structure texture feature analysis for character recognition using progressive stochastic learning algorithm | |
CN112116012B (zh) | 一种基于深度学习的手指静脉即时注册、识别方法及系统 | |
Sumalakshmi et al. | Fused deep learning based Facial Expression Recognition of students in online learning mode | |
Murtza et al. | Object detection using hybridization of static and dynamic feature spaces and its exploitation by ensemble classification | |
Srininvas et al. | A framework to recognize the sign language system for deaf and dumb using mining techniques | |
Zheng et al. | 3D texture-based face recognition system using fine-tuned deep residual networks | |
Dong et al. | A supervised dictionary learning and discriminative weighting model for action recognition | |
Li et al. | A pre-training strategy for convolutional neural network applied to Chinese digital gesture recognition | |
Dhamija et al. | An approach to enhance performance of age invariant face recognition |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200915 |