本发明涉及神经网络、图像处理领域,特别涉及一种人脸图像质量评估系统以及实现方法。
背景技术:
人脸图像质量可以在不同的层次上进行评估,有低等级的质量评估,比如对图像全局特性如光照、对比度等的评估,也可以通过对人脸图像匹配分数分析评估。关于哪些因素或者哪种图像属性会引起质量问题现在还没有一个共识,对于质量评估算法,其最终目标是最大化跟匹配分数的相关性,因此,所有会影响匹配分数的应该都需要被考虑作为质量评估算法的输入。对人脸图像质量评估算法而言,输入是一幅人脸图像i,输出是相应的质量分数q(i),质量分数可以是一个标量或者向量,例如,标量可以是最终的人脸质量分数q(i),向量可以是由各个方面的质量分数组成.人脸图像质量分数必须能够对匹配时的性能有一定的预测性,匹配分数表征了两个人脸图像i1、i2之间的相似性,它可能可以通过两幅图像的质量q(i1)和q(i2)来表征ms=p(i1,i2;q1,q2)。在现有技术中进行人脸图像质量评估时的识别技术,一种方法是通过灰度直方图、图像色彩、边缘检测等传统方法进行判别,但缺点在于:模型复杂,速度较慢,容易被极端情况误导。
另一种方法:直接使用单个神经网络判别,但缺点在于:预测结果受数据集影响严重,难以适应真实情况。
技术实现要素:
本发明要解决的技术问题是,提供具有灵活判断模式、较快判别速度和稳健准确识别精度的人脸图像质量评估系统。
解决上述技术问题,本发明提供了一种人脸图像质量评估方法,包括如下步骤:
训练得到带有神经网络的多类预测器,使用所述多类预测器提取得到人脸特征和人脸预测值,
分别将所述人脸特征和所述人脸预测值连接形成新的用于判断人脸图像质量的多维特征,
采用boosting算法将所述多维特征训练得到预测评估分类器,
在所述预测评估分类器中采用分类器联合投票方式,得到图像质量预测值。
更进一步,在所述多类预测器中使用的人脸属性类别包括:胡子、眉毛形状、发型、模糊、滤镜、光线、眼镜、帽子、性别、表情、年龄的11种人脸属性。
更进一步,所述神经网络按照如下方法部署:四层卷基层和两个全连接层,
第一层:首先将人脸图像调整到预置的大小,作为神经网络多类预测器的输入,
第二层:输入为第一层卷积,
第三层:输入为第二层卷积,
第四层:输入为第三层卷积,
第一个全连接层:输入为第四层卷积,经过全连接运算,输出为多维特征,
第二个全连接层:输入为多维特征输出,经过全连接运算,输出为属性预测值。
更进一步,所述神经网络包括如下的前馈过程:
图像经过上述相同的卷积神经网络结构获得特征图,通过不同的全连接操作,输出不同的属性特征,属性特征在通过全连接操作就可以输出预测的属性值:
其中,k表示神经网络的卷积算法,k表示层数为s的卷积,xf表示经过卷积算法处理后的图像特征图,i是输入的图像,φ表示神经网络算法的处理过程,通过第一层全连接层连接输出属性的属性特征x,第二层全连接层获得属性预测值y’:
其中,
更进一步,所述神经网络还包括如下的后馈过程:
预测的属性值与实际的属性标签构造相关的代价函数:
其中,yi是真实属性标签,y′i是系统预测的人脸属性标签,n是一种属性的类别数,m是所有属性的个数,通过对上述参数进行更新参数进行更新,训练至模型收敛。
更进一步,分别将所述人脸特征和所述人脸预测值连接形成新的用于判断人脸图像质量的多维特征的具体步骤如下:
x={x1,x2,,,x11},y’={y’1,y’2,,,y’11}
xboost={x1,x2,,,x11,y’1,y’2,,,y’11}={x,y’}
其中,x是各个属性的特征向量连接形成,xi表示神经网络提取的特征,y’是属性的预测值连接形成,y’1表示输出的属性预测值,xboost作为boosting算法的输入数据。
更进一步,所述预测评估分类器包括:boosting训练过程,
7-1)训练得到单层树状分类器,
7-2)通过树状分类器的错误率,设定分类器的权重
其中,ε是分类器的错误率,再根据分类器的权重a对每个训练样本的权重d进行更新,
7-3)按照更新的权重继续训练新的单层分类器,直到分类错误率ε为0,或者训够指定数目的分类器。
更进一步,所述预测评估分类器还包括:boosting预测过程,
将个结果按照树状分类器的权值加权相加,获得一个最后的图像质量分数。
更进一步,方法还包括:通过一图像质量的测试集选定使用准确率最高的阈值,若超过阈值的判定为高质量,若低于阈值则判定为质量不过关。
基于上述本发明还提供了一种人脸图像质量评估系统,包括:多类预测单元、特征融合单元、boosting单元,
所述多类预测单元,用以训练得到带有神经网络的多类预测器,使用所述多类预测器提取得到人脸特征和人脸预测值,
所述特征融合单元,用以分别将所述人脸特征和所述人脸预测值连接形成新的用于判断人脸图像质量的多维特征,
所述boosting单元,用以采用boosting算法将所述多维特征训练得到预测评估分类器,
以及,在所述预测评估分类器中采用分类器联合投票方式,得到图像质量预测值。
本发明的有益效果:
本发明中由于首先训练能够预测人脸性别,发型,模糊程度,姿势等属性的神经网络分类器即多类预测器。然后使用多类预测器对现有人脸质量的训练数据进行前馈预测,得到多类的输出特征与多类属性的预测结果,将输出的人脸特征和预测结果连接形成新的用于判断人脸质量的特征。再使用boosting分类器对人脸质量的训练数据进行训练,获得人脸质量的预测评估分类器。采用本发明中的方法,相比与直接使用网络较差的训练效果,本发明的准确度更高。相比与难以适应多种情况传统图像处理方式,本发明鲁棒性更好。
本发明通过训练能够预测多种属性的神经网络多类分类器,首先11种人脸属性数据是具有确定标准和相应的标准数据库,易于训练。使用卷积神经网络能够充分将图像的属性特征学习出来,并且以特征的形式表现出来。
本发明通过将神经网络特征和多类分类器预测值相结合,由于图像特征是经过神经网络的提取出来,对图片具有一定表达意义的数组。图片属性预测值也是与质量相关的信息。将两者连接起来作为分类器的输入,能够提升性能。
本发明通过深度学习结合boosting算法预测人脸质量,由于boosting在处理特征到属性预测具有较好的性能,通过多分类器的融合相比于简单的神经网络全连接层,具有更好的鲁棒性和准确率。
附图说明
图1是本发明一实施例中的方法流程示意图;
图2是本发明一实施例中的系统结构示意图;
图3是本发明中的多类预测器的示意图;
图4是本发明中通过boosting算法输出人脸预测值的示意图。
具体实施方式
现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。
如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。
可以理解,在本申请中的所述特征具体是指:一组浮点数。
所述卷积神经网络是一种深度学习算法,卷积神经网络(convolutionalneuralnetwork,cnn)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。它包括卷积层(alternatingconvolutionallayer)和池层(poolinglayer)。
所述boosting是一种用来提高弱分类算法准确度的方法,boosting算法是一种把若干个分类器整合为一个分类器的方法,在boosting算法产生之前,还出现过两种比较重要的将多个分类器整合为一个分类器的方法,即boostrapping方法和bagging方法。
所述relu是神经网络的一种激活方式。
所述lrn是神经网络的一种归一化方式。
所述树状分类器是一种弱分类器。
图1是本发明一实施例中的方法流程示意图,本实施例中的一种人脸图像质量评估方法,包括如下步骤:
步骤s100训练得到带有神经网络的多类预测器,使用所述多类预测器提取得到人脸特征和人脸预测值,
步骤s101分别将所述人脸特征和所述人脸预测值连接形成新的用于判断人脸图像质量的多维特征,
步骤s102采用boosting算法将所述多维特征训练得到预测评估分类器,
步骤s103在所述预测评估分类器中采用分类器联合投票方式,得到图像质量预测值。
在所述步骤s100中,本实施例通过训练能够预测多种属性的神经网络多类分类器,首先11种人脸属性数据是具有确定标准和相应的标准数据库,易于训练。使用卷积神经网络能够充分将图像的属性特征学习出来,并且以特征的形式表现出来。
在所述步骤s101中,本实施例通过将神经网络特征和多类分类器预测值相结合,由于图像特征是经过神经网络的提取出来,对图片具有一定表达意义的数组。图片属性预测值也是与质量相关的信息。将两者连接起来作为分类器的输入,能够提升性能。
在所述步骤s103中,本实施例通过深度学习结合boosting算法预测人脸质量,由于boosting在处理特征到属性预测具有较好的性能,通过多分类器的融合相比于简单的神经网络全连接层,具有更好的鲁棒性和准确率。
作为本实施例中的优选,在所述多类预测器中使用的人脸属性类别包括:胡子、眉毛形状、发型、模糊、滤镜、光线、眼镜、帽子、性别、表情、年龄的11种人脸属性。
在所述步骤s100中,通过训练神经网络构成的多类预测器,主要分为前馈过程和后馈更新模型两个部分。其中,使用的人脸属性类别包括:胡子、眉毛类型、发型、模糊、滤镜、光线、眼镜、帽子、性别、表情、年龄共11种人脸属性。
前馈部分包括:首先将人脸图像调整到128*128的大小,作为神经网络多类预测器的输入,不同数据集图像ii,经过相同的神经网络结构φ,获得特征图,通过不同的全连接操作,输出不同的属性特征,属性特征在通过全连接操作就可以输出预测的属性值。
后馈过程包括:通过梯度下降算法对系统的参数进行更新参数进行更新,训练至模型收敛之后就可以使用训练好的模型进行特征提取和属性预测。
在所述步骤s101中,主要包括了特征融合过程,使用多类预测器的前馈过程提取人脸质量数据集的人脸特征和人脸预测值。每种属性可以提供一个128维的属性特征xi和n维的属性预测值y’1,将他们各自级联头尾相互连接构成特征向量集合与预测值集合,再将这两个集合级联构成1419维的特征。
在所述步骤s102、步骤s103中采用boosting算法通过不断的特征挖掘和分析能够有效的增强预测的准确度。计算量低,效果好,训练速度快,可以有效地针对有限的人脸图像质量数据进行学习。
boosting也分训练和判决两个部分
训练部分:输入人脸质量的特征xboost。按照贪心算法训练单层的属性分类器,获得目前分类效果最好的维数和相关阈值。并且通过当前的分类准确度计算当前分类器的权重和并且增加判断错误训练样本的权值,减少判断正确样本的权重。使用更新之后的权重继续训练新的分类器。直到在错误率为0或者达到指定分类器
判决部分:采用分类器联合投票的方式,分类器的判决结果结合他自身的权重,最终给出图像的最终质量得分。
作为本实施例中的优选,所述神经网络按照如下方法部署:四层卷基层和两个全连接层,
第一层:首先将人脸图像调整到预置的大小,作为神经网络多类预测器的输入,
第二层:输入为第一层卷积,
第三层:输入为第二层卷积,
第四层:输入为第三层卷积,
第一个全连接层:输入为第四层卷积,经过全连接运算,输出为多维特征,
第二个全连接层:输入为多维特征输出,经过全连接运算,输出为属性预测值。
如图3所示,具体地,通过设计一个四层卷积接两个全连接层的的神经网络:
第一层:首先将人脸图像调整到128*128的大小,作为神经网络多类预测器的输入。滑动窗大小为5*5,滑动间隔为1的卷积,经过relu激活函数和采样窗为2*2,采样间隔为2,采样方式为最大值采样的下采样窗并将输出值进行归一化。
第二层:输入为第一层卷积,滑动窗大小为3*3,滑动间隔为1的卷积,经过relu激活函数和采样窗为2*2,采样间隔为2,采样方式为最大值采样的的下采样窗,并将输出值进行归一化。
第三层:输入为第二层卷积,滑动窗大小为3*3,滑动间隔为1的卷积,经过relu激活函数和采样窗为2*2,采样间隔为2,采样方式为最大值采样的的下采样窗,不做归一化输出
第四层:输入为第三层卷积,滑动窗大小为3*3,滑动间隔为1的卷积,经过relu激活函数和采样窗为2*2,采样间隔为2,采样方式为平均值采样的的下采样窗,不做归一化输出。
第一个全连接层:输入为第四层卷积,经过全连接运算,输出为128维特征。
第二个全连接层:输入为128维输出,经过全连接运算,输出为属性预测值。
作为本实施例中的优选,所述神经网络包括如下的前馈过程:
图像经过上述相同的卷积神经网络结构获得特征图,通过不同的全连接操作,输出不同的属性特征,属性特征在通过全连接操作就可以输出预测的属性值:
其中,k表示神经网络的卷积算法,k表示层数为s的卷积,xf表示经过卷积算法处理后的图像特征图,i是输入的图像,φ表示神经网络算法的处理过程,通过第一层全连接层连接输出属性的属性特征x,第二层全连接层获得属性预测值y’:
作为本实施例中的优选,所述神经网络还包括如下的后馈过程:
预测的属性值与实际的属性标签构造相关的代价函数:
其中,yi是真实属性标签,y′i是系统预测的人脸属性标签,n是一种属性的类别数,m是所有属性的个数,通过对上述参数进行更新参数进行更新,训练至模型收敛。
具体地,上述过程包括的前馈过程如下:
四层卷积神经网络结构简称φ,图像经过相同的卷积神经网络结构获得特征图,通过不同的全连接操作,输出不同的属性特征,属性特征在通过全连接操作就可以输出预测的属性值。神经网络的卷积算法不是本专利的发明和重点,将其用k表示,k表示层数为s的卷积,xf表示经过卷积算法处理后的图像特征图,i是输入的图像,φ表示神经网络算法的处理过程。
如公式表示:
通过第一层全连接层连接输出属性的属性特征x,第二层全连接层获得属性预测值y’:
其中,
后馈过程:
在获得系统前馈的输出预测属性值之后,就可以构造系统代价函数,预测的属性值与实际的属性标签构造相关的代价函数:
其中yi是真实属性标签,y′i是系统预测的人脸属性标签,n是一种属性的类别数(如说性别属性的个数就是2,男女)。m是所有属性的个数。
通过梯度下降算法对系统的参数进行更新参数进行更新,训练至模型收敛之后就可以使用训练好的模型进行特征提取和属性预测。
作为本实施例中的优选,分别将所述人脸特征和所述人脸预测值连接形成新的用于判断人脸图像质量的多维特征的具体步骤如下:
x={x1,x2,,,x11},y’={y’1,y’2,,,y’11}
xboost={x1,x2,,,x11,y’1,y’2,,,y’11}={x,y’}
其中,x是各个属性的特征向量连接形成,xi表示神经网络提取的特征,y’是属性的预测值连接形成,y’1表示输出的属性预测值,xboost作为boosting算法的输入数据。
具体地,上述特征融合过程为:
在训练好多类预测器后,应当提取人脸质量数据集的人脸特征和人脸预测值,也就是使用多类预测器的前馈过程。再将获取的特征和预测值做如下操作:
x={x1,x2,,,x11},y’={y’1,y’2,,,y’11}
xboost={x1,x2,,,x11,y’1,y’2,,,y’11}={x,y’}
x:是各个属性的特征向量连接形成的,xi表示神经网络提取的特征,y’:是属性的预测值连接形成,y’1表示输出的属性预测值,xboost作为boosting算法的输入数据。
每种属性可以提供一个128维的属性特征xi和n维的属性预测值y’1,将他们各自级联头尾相互连接构成特征向量集合x与预测值集合y’,再将x与y’级联构成1419维的特征。
作为本实施例中的优选,所述预测评估分类器包括:boosting训练过程,
7-1)训练得到单层树状分类器,
7-2)通过树状分类器的错误率,设定分类器的权重
其中,ε是分类器的错误率,再根据分类器的权重α对每个训练样本的权重d进行更新,
7-3)按照更新的权重继续训练新的单层分类器,直到分类错误率ε为0,或者训够指定数目的分类器。
作为本实施例中的优选,所述预测评估分类器还包括:boosting预测过程,
将个结果按照树状分类器的权值加权相加,获得一个最后的图像质量分数。
作为本实施例中的优选,方法还包括:通过一图像质量的测试集选定使用准确率最高的阈值,若超过阈值的判定为高质量,若低于阈值则判定为质量不过关。
请参考图4,是boosting人脸质量预测器的具体流程。
经过boosting算法会输出人脸质量的预测值。
boosting(训练过程):
训练100个弱分类器,采用单层树状弱分类器。
训练数据共有15299个样本,每个样本经过前一层神经网络输出1419维特征,每个训练样本的权重(d)为1/n.
第一步:首先选出1419维特征每一维特征的最大值max和最小值min,在每一维特征中,阈值从min每次增长(max-min)/100,一直增长到max。在这个过程中,选出对于训练数据分类效果最好的对应维度和阈值,从而可以获得一个针对其中某一维的单层树状分类器。
分类效果通过分类错误样本的权重相加大小判定,越小越好。
第二步:通过分类器的错误率,设定分类器的权重a,
其中ε是分类器的错误率,再根据分类器的权重a对每个训练样本的权重d进行更新,
分类样本如果被正确分类则减少权重,被错误分类则增加权值。
第三步:按照更新的权重继续训练新的单层分类器,直到分类错误率ε为0,或者训够指定数目的分类器
boosting(预测过程):
预测过程将一张图片的1419维特征通过100个弱分类器,获得100个结果,再将100个结果按照分类器的权值加权相加。获得一个最后的图像质量分数。通过图片质量的测试集,选定使准确率最高的阈值,超过阈值的判定为高质量。低于阈值的就可以判定为质量不过关。在不同环境下可以灵活调整阈值
请参考图2是本发明一实施例中的系统结构示意图,本实施例中的一种人脸图像质量评估系统,包括:多类预测单元1、特征融合单元2、boosting单元3,
所述多类预测单元1,用以训练得到带有神经网络的多类预测器,使用所述多类预测器提取得到人脸特征和人脸预测值,本实施例中的多类预测单元1,通过训练能够预测多种属性的神经网络多类分类器,首先11种人脸属性数据是具有确定标准和相应的标准数据库,易于训练。使用卷积神经网络能够充分将图像的属性特征学习出来,并且以特征的形式表现出来。
所述特征融合单元2,用以分别将所述人脸特征和所述人脸预测值连接形成新的用于判断人脸图像质量的多维特征,本实施例中的特征融合单元2,通过将神经网络特征和多类分类器预测值相结合,由于图像特征是经过神经网络的提取出来,对图片具有一定表达意义的数组。图片属性预测值也是与质量相关的信息。将两者连接起来作为分类器的输入,能够提升性能。
所述boosting单元3,用以采用boosting算法将所述多维特征训练得到预测评估分类器,以及,在所述预测评估分类器中采用分类器联合投票方式,得到图像质量预测值。本实施例中的boosting单元3,通过深度学习结合boosting算法预测人脸质量,由于boosting在处理特征到属性预测具有较好的性能,通过多分类器的融合相比于简单的神经网络全连接层,具有更好的鲁棒性和准确率。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
总体而言,本公开的各种实施例可以以硬件或专用电路、软件、逻辑或其任意组合实施。一些方面可以以硬件实施,而其它一些方面可以以固件或软件实施,该固件或软件可以由控制器、微处理器或其它计算设备执行。虽然本公开的各种方面被示出和描述为框图、流程图或使用其它一些绘图表示,但是可以理解本文描述的框、设备、系统、技术或方法可以以非限制性的方式以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或其一些组合实施。
此外,虽然操作以特定顺序描述,但是这不应被理解为要求这类操作以所示的顺序执行或是以顺序序列执行,或是要求所有所示的操作被执行以实现期望结果。在一些情形下,多任务或并行处理可以是有利的。类似地,虽然若干具体实现方式的细节在上面的讨论中被包含,但是这些不应被解释为对本公开的范围的任何限制,而是特征的描述仅是针对具体实施例。在分离的一些实施例中描述的某些特征也可以在单个实施例中组合地执行。相反对,在单个实施例中描述的各种特征也可以在多个实施例中分离地实施或是以任何合适的子组合的方式实施。