模型评估方法、装置及存储介质与流程

文档序号:30134688发布日期:2022-05-21 00:22阅读:172来源:国知局
模型评估方法、装置及存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及一种模型评估方法、装置及存储介质。


背景技术:

2.当前机器学习模型在各个领域中得到了越来越广泛的应用,例如在与人脸识别技术相关的人脸验证、人脸支付等场景下,人脸识别模型起到至关重要的作用。在将机器学习模型正式应用于实际产品之前,需要对模型的预测性能进行全面的评估。
3.目前针对机器学习模型的评估方法,一般是根据模型提供特定的数据集和特定的评估指标,通过对评估指标数值的比较来判断模型的优劣。例如针对分类模型,常见的评估指标有准确率、召回率、预测精度等。但是,现有的针对机器学习模型的评估指标比较单一,无法全方面的对机器学习模型的性能进行准确评估。另外,传统的模型评估方法对评估数据集的样本数量要求比较高,因此评估指标数值的计算效率比较低,从而导致模型评估效率降低。


技术实现要素:

4.有鉴于此,本公开实施例提供了一种模型评估方法、装置及存储介质,以解决现有技术存在的模型评估指标单一,无法全面评估模型性能,对评估指标数值的计算效率比较低,降低模型评估效率的问题。
5.本公开实施例的第一方面,提供了一种模型评估方法,包括:获取预先配置的评估协议,评估协议包括第一评估协议、第二评估协议和第三评估协议,每种评估协议均对应各自的测试集;利用评估协议中的一种或多种协议的组合,对第一待评估模型执行评估操作,以获取对第一待评估模型的评估指标结果;在利用第一评估协议对第一待评估模型进行评估时,获取第一评估协议的测试集中每组图像对的特征相似度,将特征相似度与阈值进行比较,根据比较结果计算评估指标结果;在利用第二评估协议或者第三评估协议对第一待评估模型进行评估时,获取第二评估协议或者第三评估协议的测试集中的探测集和干扰集,并分别基于探测集以及干扰集中的样本特征生成查询矩阵和数据库矩阵;计算查询矩阵与数据库矩阵之间的样本相似度,基于样本相似度生成相似度矩阵,根据相似度矩阵计算模型准确率,将模型准确率作为第一待评估模型的评估指标结果。
6.本公开实施例的第二方面,提供了一种模型评估装置,包括:获取模块,被配置为获取预先配置的评估协议,评估协议包括第一评估协议、第二评估协议和第三评估协议,每种评估协议均对应各自的测试集;评估模块,被配置为利用评估协议中的一种或多种协议的组合,对第一待评估模型执行评估操作,以获取对第一待评估模型的评估指标结果;比较模块,被配置为在利用第一评估协议对第一待评估模型进行评估时,获取第一评估协议的测试集中每组图像对的特征相似度,将特征相似度与阈值进行比较,根据比较结果计算评估指标结果;生成模块,被配置为在利用第二评估协议或者第三评估协议对第一待评估模型进行评估时,获取第二评估协议或者第三评估协议的测试集中的探测集和干扰集,并分
别基于探测集以及干扰集中的样本特征生成查询矩阵和数据库矩阵;计算模块,被配置为计算查询矩阵与数据库矩阵之间的样本相似度,基于样本相似度生成相似度矩阵,根据相似度矩阵计算模型准确率,将模型准确率作为第一待评估模型的评估指标结果。
7.本公开实施例的第三方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
8.本公开实施例采用的上述至少一个技术方案能够达到以下有益效果:
9.通过获取预先配置的评估协议,评估协议包括第一评估协议、第二评估协议和第三评估协议,每种评估协议均对应各自的测试集;利用评估协议中的一种或多种协议的组合,对第一待评估模型执行评估操作,以获取对第一待评估模型的评估指标结果;在利用第一评估协议对第一待评估模型进行评估时,获取第一评估协议的测试集中每组图像对的特征相似度,将特征相似度与阈值进行比较,根据比较结果计算评估指标结果;在利用第二评估协议或者第三评估协议对第一待评估模型进行评估时,获取第二评估协议或者第三评估协议的测试集中的探测集和干扰集,并分别基于探测集以及干扰集中的样本特征生成查询矩阵和数据库矩阵;计算查询矩阵与数据库矩阵之间的样本相似度,基于样本相似度生成相似度矩阵,根据相似度矩阵计算模型准确率,将模型准确率作为第一待评估模型的评估指标结果。本公开能够通过多种评估协议和评估指标对模型进行全面评估,能够提高对评估指标结果的计算效率,从而提高模型评估效率。
附图说明
10.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
11.图1是本公开实施例提供的模型评估方法的流程示意图;
12.图2是本公开实施例提供的模型评估装置的结构示意图;
13.图3是本公开实施例提供的电子设备的结构示意图。
具体实施方式
14.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
15.如背景技术中所述内容,在将人脸模型应用到实际场景中进行人脸识别或者人脸支付验证时,需要对人脸模型进行比较全面的评估,从而对人脸模型的预测结果做出评价。例如以人脸识别模型为例,人脸识别模型的应用比较广泛且场景复杂,如火车站闸机上的人脸验证、手机软件上的人脸支付等等,因此需对人脸识别模型进行全面可靠的评估。
16.传统的人脸模型评估方法通常只提供特定的数据集和对应的特定评估指标,并通过对评估指标数值的比较来判断模型的优劣。例如针对分类模型,常见的评估指标有准确率、召回率、预测精度等。但是现有的人脸模型评估方法所使用的数据集以及评估指标比较
单一,无法使用定制数据集进行模型评估,并且评估指标也比较单一。另外,由于传统的人脸模型评估方法对于真实场景规模(如百万级图片量)下的评估数据集,传统的人脸模型评估方法的计算速度较慢,评估效率较低。传统的人脸模型评估方法未将人脸质量模型的评估相结合,导致无法对人脸质量模型进行评估。
17.鉴于现有技术中的问题,本公开实施例通过设计多种评估协议和评估指标,在人脸模型评估任务中,能够对人脸识别模型进行全面的评估,包括采用不同规模的测试集、人脸验证以及人脸查询等不同方式。在对人脸识别模型进行评估时,基于faiss加速的相似度计算方法,另外结合对人脸质量模型的评估,即结合人脸质量值的指标计算,提供了一种能够快速对人脸识别模型和人脸质量模型进行综合评估的方案。
18.图1是本公开实施例提供的模型评估方法的流程示意图。图1的模型评估方法可以由服务器执行。如图1所示,该模型评估方法具体可以包括:
19.s101,获取预先配置的评估协议,评估协议包括第一评估协议、第二评估协议和第三评估协议,每种评估协议均对应各自的测试集;
20.s102,利用评估协议中的一种或多种协议的组合,对第一待评估模型执行评估操作,以获取对第一待评估模型的评估指标结果;
21.s103,在利用第一评估协议对第一待评估模型进行评估时,获取第一评估协议的测试集中每组图像对的特征相似度,将特征相似度与阈值进行比较,根据比较结果计算评估指标结果;
22.s104,在利用第二评估协议或者第三评估协议对第一待评估模型进行评估时,获取第二评估协议或者第三评估协议的测试集中的探测集和干扰集,并分别基于探测集以及干扰集中的样本特征生成查询矩阵和数据库矩阵;
23.s105,计算查询矩阵与数据库矩阵之间的样本相似度,基于样本相似度生成相似度矩阵,根据相似度矩阵计算模型准确率,将模型准确率作为第一待评估模型的评估指标结果。
24.具体地,本公开实施例的模型评估方法是针对人脸识别模型和人脸质量模型所做的评估,即通过预先配置好的评估协议,对人脸识别模型和人脸质量模型的预测性能进行评价。但是需要说明的是,本公开实施例的评估方法不限于对人脸模型的评估,其他任意的机器学习模型同样适用,本公开以下实施例是以人脸模型作为应用场景进行描述的,该应用场景不构成对本公开技术方案的限定。
25.进一步地,在本公开实施例的模型评估方法中提供了三种评估协议,这里的评估协议可以认为是一套完整的评估方法,三种评估协议之间是相对独立的关系,任意一种评估协议的实现不依赖于其他评估协议的实施。为了对人脸识别模型进行全面评估,本公开实施例提供了以下三种评估协议:lfw协议、ijb协议和megaface协议,每种评估协议均对应一种或多种评估方式和评估指标。在实际应用中,每种评估协议均提供了公开的人脸测试集,同时用户也可以根据评估协议定制人脸测试集。
26.根据本公开实施例提供的技术方案,本公开通过获取预先配置的评估协议,评估协议包括第一评估协议、第二评估协议和第三评估协议,每种评估协议均对应各自的测试集;利用评估协议中的一种或多种协议的组合,对第一待评估模型执行评估操作,以获取对第一待评估模型的评估指标结果;在利用第一评估协议对第一待评估模型进行评估时,获
取第一评估协议的测试集中每组图像对的特征相似度,将特征相似度与阈值进行比较,根据比较结果计算评估指标结果;在利用第二评估协议或者第三评估协议对第一待评估模型进行评估时,获取第二评估协议或者第三评估协议的测试集中的探测集和干扰集,并分别基于探测集以及干扰集中的样本特征生成查询矩阵和数据库矩阵;计算查询矩阵与数据库矩阵之间的样本相似度,基于样本相似度生成相似度矩阵,根据相似度矩阵计算模型准确率,将模型准确率作为第一待评估模型的评估指标结果。本公开能够通过多种评估协议和评估指标对模型进行全面评估,能够提高对评估指标结果的计算效率,从而提高模型评估效率。
27.在一些实施例中,利用第一评估协议对第一待评估模型进行评估,包括:获取第一评估协议对应测试集中的正图像对和负图像对,利用第一待评估模型分别对正图像对和负图像对进行预测,得到每个图像对应的归一化特征,利用图像的归一化特征计算每组图像对的特征相似度;将特征相似度与阈值进行比较,并将特征相似度大于阈值的图像对作为预测的正图像对,将特征相似度小于或等于阈值的图像对作为预测的负图像对;对预测的正图像对以及预测的负图像对的预测结果进行判断,确定预测结果为正确图像对的对数,以及预测结果为错误图像对的对数,基于正确图像对的对数和错误图像对的对数,对预设的评估指标结果进行计算;其中,预设的评估指标结果包括预测准确率、预测正确率、真正例率、假正例率、roc曲线图和auc值。
28.具体地,第一评估协议为lfw评估协议,首先获取为lfw评估协议预先定制的测试集,lfw评估协议的测试集为n组人脸图像对(如n=6000),其中包含n1组正图像对和n2组负人脸图像对,因此n=n1+n2。正图像对是指在n1组的正图像对中每个图像中的人脸属于同一个人,负图像对则表示不属于同一个人。
29.进一步地,利用lfw评估协议对模型进行评估测试的过程中,待评估模型依次对数据集(测试集)中的每对图像进行识别,并给出属于正对和负对的概率,通过n对人脸测试结果的预测答案与真实答案的比较得到人脸识别准确率acc、真正例率tpr、假正例率fpr、roc曲线图和auc值。下面结合具体实施例,对lfw评估协议的评估流程进行详细说明,具体可以包括以下内容:
30.首先获取第一待评估模型(即人脸识别模型),人脸识别模型能够根据输入的图片输出提取的特征f;准备好n组人脸图像对作为测试集,其中在n组人脸图像对中包含n1组正图像对和n2组负图像对。
31.接下来执行以下操作:对测试集中的每对图像:分别使用人脸识别模型提取每个图像对应的归一化特征f1和f2;计算图像对的相似度sim=cos(f1,f2);将测试集分为10等份,每等份均包含1/10的正对和1/10的负对,对于每个等份,采用[-1,1]等间隔0.01取值,得到每个值对应的thr;将预测的sim》thr的图像对作为预测的正图像对,其他作为预测的负图像对。
[0032]
进一步地,计算剩余9份整体正对预测正确的对数tp,正对预测错误的对数fp,负对预测正确的对数tn,负对预测错误的对数fn;根据以上计算结果对预设的评估指标结果进行计算,例如:
[0033]
计算正确率acc(thr)=(tp+tn)/(n/10);
[0034]
计算真正例率tpr(thr)=(tp)/(tp+fn);
[0035]
计算假正例率fpr(thr)=(fp)/(fp+tn);
[0036]
在计算得到正确率、真正例率和假正例率之后,将acc最高时的thr作为当前等份的thr值,按照上述方法计算当前等份的acc;即计算当前等份在上述多个thr值下的tpr和fpr;并通过计算10组数据acc、tpr和fpr的平均值,绘制roc图和计算auc值,将上述计算结果作为该人脸识别模型的指标结果。在实际应用中,用户可以选择上述指标结果中的一种或多种作为最终的评估指标。lfw评估协议由于数据量一般较少,计算速度快,通常用于模型训练时的验证。
[0037]
在一些实施例中,利用第二评估协议对第一待评估模型进行评估,包括:获取第二评估协议对应测试集中的探测集和干扰集,利用第一待评估模型分别对探测集和干扰集中的图像进行预测,得到每个图像对应的归一化特征;基于每个图像的归一化特征,计算探测集中每个图像与干扰集中每个图像之间的特征相似度,将特征相似度进行排序,并根据排序结果判断第一待评估模型的预测准确率,将预测准确率作为第一待评估模型的评估指标结果。
[0038]
具体地,第二评估协议为ijb评估协议,ijb评估协议包含人脸验证(1:1)和人脸查询(1:n)两种方式。与lfw协议不同的是,ijb协议中的一个样本(即图像)可以是一张或多张同一个人的人脸图像。
[0039]
人脸验证的测试集是n组样本对(如n=8000000),其中n1组正样本对和n2组负样本对,因此n=n1+n2。测试过程模型依次对数据集中的每对图像进行识别,并给出属于正对和负对的概率,通过n对人脸测试结果的预测答案与真实答案的比较得到多组fpr对应的tpr值、roc曲线图和auc值,在本公开实施例中,样本可以是图像样本,样本对也可以称为图像对。
[0040]
人脸查询的测试集分为探测集和干扰集两个部分,探测集包含n1个样本,干扰集包含n2个样本,且探测集中每个人像在干扰集中都有唯一相同的人像与之对应。测试过程模型依次对探测集中的每张人像进行识别,并给出与干扰集中图像的相似度,通过预测答案与真实答案的比较得到topk的准确率,topk准确率是指,对探测集中每个样本,如果与干扰集中同一人像样本相似度排在前k位,则预测正确;预测正确样本数与探测集样本数比值即为topk准确率。
[0041]
下面结合具体实施例分别对ijb评估协议的人脸验证流程和人脸查询流程进行详细说明,具体可以包括以下内容:
[0042]
在ijb评估协议的人脸验证流程中,人脸识别模型能够根据输入的一张图像输出提取的特征f;测试集为n组人脸样本对,其中包含n1组正对和n2组负对,因此n=n1+n2。
[0043]
接下来执行以下操作:对测试集中的每对样本,使用人脸识别模型提取每个样本的归一化特征f1和f2,如果有多张图片则将特征直接求和或加权求和;计算样本对的相似度sim=cos(f1,f2);对[-1,1]等间隔0.01取值,对于每个值thr,将预测的sim》thr的图像对(即样本对)预测为正样本对,其他为负样本对。计算测试集正对预测正确的对数tp,正对预测错误的对数fp,负对预测正确的对数tn,负对预测错误的对数fn;根据以上计算结果对预设的评估指标结果进行计算,例如:
[0044]
计算真正例率tpr(thr)=(tp)/(tp+fn);
[0045]
计算假正例率fpr(thr)=(fp)/(fp+tn);
[0046]
在计算得到真正例率和假正例率之后,记录fpr=1e-6,1e-5,1e-4,1e-3,1e-2和1e-1时的tpr值,并绘制roc图和计算auc值,将上述计算结果作为该人脸识别模型的指标结果。
[0047]
在ijb评估协议的人脸查询流程中,人脸识别模型能够根据输入的一张图像输出提取的特征f;测试集包含探测集和干扰集,探测集包含n1个样本,干扰集包含n2个样本,且探测集中每个人像在干扰集中都有唯一相同的人像与之对应;
[0048]
接下来执行以下操作:对探测集和干扰集中的每个样本,使用人脸识别模型提取归一化特征f1和f2,如果有多张图片将特征直接求和或加权求和;对探测集中的每个样本,计算与每个干扰集特征的相似度sim=cos(f1,f2),并从大到小排序,分别计算top1,top5和top10的准确率,记为该模型的指标结果。输出用户选择的其中一种或多种指标结果。
[0049]
在一些实施例中,第三评估协议包括人脸验证测试方式,利用第三评估协议中人脸验证测试方式对第一待评估模型进行评估,包括:获取第三评估协议对应测试集中的探测集和干扰集,将探测集中属于同一对象的图像组成正样本对,将探测集中的图像与干扰集中的图像进行组合得到负样本对;利用第一待评估模型分别对正样本对和负样本对进行预测,得到每个图像对应的归一化特征,利用图像的归一化特征计算每组正样本对或者负样本对的特征相似度;将特征相似度与阈值进行比较,并将特征相似度大于阈值的样本对作为预测的正样本对,将特征相似度小于或等于阈值的样本对作为预测的负样本对;根据预测的正样本对确定正样本对的预测结果,并根据预测的负样本对确定负样本对的预测结果,根据正样本对的预测结果以及负样本对的预测结果,对预设的评估指标结果进行计算;其中,预设的评估指标结果包括真正例率、假正例率、roc曲线图和auc值。
[0050]
具体地,第三评估协议为megaface评估协议,megaface评估协议包含人脸验证(1:1)和人脸查询(1:n)两种方式。两种方式可以使用同一组测试集,测试集分为探测集和干扰集两个部分,探测集包含n1个人像图片,干扰集包含n2个人像图片,且探测集和干扰集不存在相同的人像。
[0051]
进一步地,人脸验证测试中,将探测集中同一人像的图片两两组成正样本对,探测集中每张图片与干扰集中每张图片组成负样本对,并采用与ijb评估协议相同的计算方式和评估指标。人脸查询测试中,模型依次对探测集中的每张人像进行识别,并将属于同一人像的其他样本依次放入干扰集进行相似度排序,通过预测答案与真实答案的比较得到topk的准确率。
[0052]
下面结合具体实施例分别对megaface评估协议的人脸验证流程和人脸查询流程进行详细说明,具体可以包括以下内容:
[0053]
在megaface评估协议流程中,人脸识别模型能够根据输入的一张图像输出提取的特征f;测试集包含探测集和干扰集,其中,探测集包含n1个样本,干扰集包含n2个样本,且探测集和干扰集不存在相同的人像。
[0054]
接下来执行以下操作:在人脸验证测试过程中,将探测集中同一人像的图片两两组成正样本对,探测集中每张图片与干扰集中每张图片组成负样本对,并采用与ijb评估协议相同的计算方式和评估指标。
[0055]
在一些实施例中,第三评估协议包括人脸查询测试方式,利用第三评估协议中人脸验证测试方式对第一待评估模型进行评估,包括:获取第三评估协议对应测试集中的探
测集和干扰集,对探测集和干扰集中的图像,利用第一待评估模型分别对图像进行预测,得到每个图像对应的归一化特征;对探测集中的每个图像依次进行遍历,将属于同一对象的图像依次放入干扰集中,得到新的干扰集,计算探测集中图像的归一化特征与新的干扰集中每个图像的归一化特征之间的特征相似度;将特征相似度进行排序,并根据排序结果判断第一待评估模型的预测准确率,将预测准确率作为第一待评估模型的评估指标结果。
[0056]
具体地,与人脸验证测试过程相同的是,人脸查询测试过程中采用的测试集分为探测集和干扰集两个部分,探测集包含n1个人像图片,干扰集包含n2个人像图片,且探测集和干扰集不存在相同的人像。
[0057]
进一步地,在人脸查询测试过程中,对探测集和干扰集中的每个样本,使用人脸识别模型提取归一化特征f1和f2;对探测集中的每个样本s1,对与该样本属于同一人像的每个样本s2,将s2加入干扰集形成新的干扰集,计算s1与每个干扰集特征的相似度sim=cos(f1,f2),并从大到小排序;最后分别计算top1,top5和top10的准确率,记为该模型的指标结果。
[0058]
在一些实施例中,分别基于探测集以及干扰集中的样本特征生成查询矩阵和数据库矩阵,包括:获取探测集中每个图像对应的归一化特征,以及干扰集中每个图像对应的归一化特征,根据探测集中每个图像对应的归一化特征以及特征通道生成查询矩阵,根据干扰集中每个图像对应的归一化特征以及特征通道生成数据库矩阵。
[0059]
具体地,由于ijb评估协议和megaface评估协议均需计算每个探测集和与每个干扰集样本的相似度并排序,如果直接计算非常耗时,因此本公开实施例提出了基于faiss加速相似度计算的加速策略。在人脸查询计算topk准确率时,k的最大值一般为10,因此只需要获取与探测集样本最相似的前10个干扰集样本即可。基于此,本公开实施例提出了faiss加速相似度计算流程。
[0060]
在一些实施例中,计算查询矩阵与数据库矩阵之间的样本相似度,基于样本相似度生成相似度矩阵,包括:利用加速相似度算法,计算数据库矩阵中与查询矩阵中的样本之间的相似度,按照相似度排序选取若干个样本,根据若干个样本对应的归一化特征以及特征通道生成相似度矩阵。
[0061]
具体地,在faiss加速相似度计算流程中,首先根据探测集中每个图像对应的归一化特征以及特征通道生成查询矩阵,并根据干扰集中每个图像对应的归一化特征以及特征通道生成数据库矩阵。即探测集样本特征为f1∈r
n1
×
l
,干扰集样本特征为f2∈r
n2
×
l

[0062]
进一步地,将f1作为查询矩阵xq,将f2作为数据库矩阵xb;使用faiss-gpu开源库计算与xq中每个样本最相似的前10个xb中样本,得到相似度矩阵s∈r
n1
×
10
和索引矩阵i∈r
n1
×
10

[0063]
在一些实施例中,该方法还包括:在利用第一评估协议、第二评估协议和/或第三评估协议对第二待评估模型进行评估时,利用第一待评估模型预测图像对中每个图像的归一化特征,并利用第二待评估模型预测图像对中每个图像的质量值,根据图像的归一化特征和质量值,计算图像对的加权相似度,根据加权相似度确定评估指标结果,利用评估指标结果对第二待评估模型进行评估;其中,第一待评估模型为人脸识别模型,第二待评估模型为人脸质量模型。
[0064]
具体地,由于缺乏人像质量真实值,人脸质量模型本身难以准确评估。针对该问
题,本公开实施例提出了结合人脸模型的质量模型评估方式。本公开提供了两种方式,即一种是基于质量分的相似度加权的方式,另一种是按比例移除低质量样本的方式。
[0065]
进一步地,基于质量分的相似度加权的方式。该方式通过计算样本对质量给相似度加权,一般质量值越低,权值越低,相似度越小。如果通过加权相似度计算得到的人脸评估指标高于原始的相似度计算方式,说明人脸质量模型输出的质量值有效。指标提升越多,质量模型越准确。下面结合具体实施例对基于质量分的相似度计算流程进行详细说明,具体可以包括以下内容:
[0066]
将样本对中的样本分别输入到人脸识别模型和人脸质量模型中,利用人脸识别模型和人脸质量模型分别输出两个样本的特征f1和f2,以及质量值s1和s2;通过某种公式计算样本对质量值,如求和平均s=(s1+s2)/2;样本对的加权相似度为sim=cos(f1,f2)*s,从而输出每个样本对的加权相似度sim。
[0067]
进一步地,在按比例移除低质量样本的方式中,该方式是对测试样本的质量值排序,去掉一定比例(如10%)质量最低的样本,将剩余样本作为测试集进行评测。评测指标提升越多,说明质量模型越准确。
[0068]
需要说明的是,本公开实施例在对样本对进行相似度计算时,也可以采用欧式距离的倒数来代替余弦相似度。
[0069]
根据本公开实施例提供的技术方案,本公开提供了3种评估协议、5种评估方式和17个评价指标的综合人脸模型评估方案;本公开还利用faiss加速相似度计算的加速评估策略,提升ijb协议和megaface协议的评估流程中进行相似计算的效率;另外,本公开实施例结合人脸识别模型进行人脸质量模型评估,因此不仅能够对人脸识别模型进行全面评估,还可以对人脸质量模型进行全面评估。
[0070]
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
[0071]
图2是本公开实施例提供的模型评估装置的结构示意图。如图2所示,该模型评估装置包括:
[0072]
获取模块201,被配置为获取预先配置的评估协议,评估协议包括第一评估协议、第二评估协议和第三评估协议,每种评估协议均对应各自的测试集;
[0073]
评估模块202,被配置为利用评估协议中的一种或多种协议的组合,对第一待评估模型执行评估操作,以获取对第一待评估模型的评估指标结果;
[0074]
比较模块203,被配置为在利用第一评估协议对第一待评估模型进行评估时,获取第一评估协议的测试集中每组图像对的特征相似度,将特征相似度与阈值进行比较,根据比较结果计算评估指标结果;
[0075]
生成模块204,被配置为在利用第二评估协议或者第三评估协议对第一待评估模型进行评估时,获取第二评估协议或者第三评估协议的测试集中的探测集和干扰集,并分别基于探测集以及干扰集中的样本特征生成查询矩阵和数据库矩阵;
[0076]
计算模块205,被配置为计算查询矩阵与数据库矩阵之间的样本相似度,基于样本相似度生成相似度矩阵,根据相似度矩阵计算模型准确率,将模型准确率作为第一待评估模型的评估指标结果。
[0077]
在一些实施例中,图2的比较模块203获取第一评估协议对应测试集中的正图像对
和负图像对,利用第一待评估模型分别对正图像对和负图像对进行预测,得到每个图像对应的归一化特征,利用图像的归一化特征计算每组图像对的特征相似度;将特征相似度与阈值进行比较,并将特征相似度大于阈值的图像对作为预测的正图像对,将特征相似度小于或等于阈值的图像对作为预测的负图像对;对预测的正图像对以及预测的负图像对的预测结果进行判断,确定预测结果为正确图像对的对数,以及预测结果为错误图像对的对数,基于正确图像对的对数和错误图像对的对数,对预设的评估指标结果进行计算;其中,预设的评估指标结果包括预测准确率、预测正确率、真正例率、假正例率、roc曲线图和auc值。
[0078]
在一些实施例中,图2的生成模块204获取第二评估协议对应测试集中的探测集和干扰集,利用第一待评估模型分别对探测集和干扰集中的图像进行预测,得到每个图像对应的归一化特征;基于每个图像的归一化特征,计算探测集中每个图像与干扰集中每个图像之间的特征相似度,将特征相似度进行排序,并根据排序结果判断第一待评估模型的预测准确率,将预测准确率作为第一待评估模型的评估指标结果。
[0079]
在一些实施例中,第三评估协议包括人脸验证测试方式,图2的生成模块204获取第三评估协议对应测试集中的探测集和干扰集,将探测集中属于同一对象的图像组成正样本对,将探测集中的图像与干扰集中的图像进行组合得到负样本对;利用第一待评估模型分别对正样本对和负样本对进行预测,得到每个图像对应的归一化特征,利用图像的归一化特征计算每组正样本对或者负样本对的特征相似度;将特征相似度与阈值进行比较,并将特征相似度大于阈值的样本对作为预测的正样本对,将特征相似度小于或等于阈值的样本对作为预测的负样本对;根据预测的正样本对确定正样本对的预测结果,并根据预测的负样本对确定负样本对的预测结果,根据正样本对的预测结果以及负样本对的预测结果,对预设的评估指标结果进行计算;其中,预设的评估指标结果包括真正例率、假正例率、roc曲线图和auc值。
[0080]
在一些实施例中,第三评估协议包括人脸查询测试方式,图2的生成模块204获取第三评估协议对应测试集中的探测集和干扰集,对探测集和干扰集中的图像,利用第一待评估模型分别对图像进行预测,得到每个图像对应的归一化特征;对探测集中的每个图像依次进行遍历,将属于同一对象的图像依次放入干扰集中,得到新的干扰集,计算探测集中图像的归一化特征与新的干扰集中每个图像的归一化特征之间的特征相似度;将特征相似度进行排序,并根据排序结果判断第一待评估模型的预测准确率,将预测准确率作为第一待评估模型的评估指标结果。
[0081]
在一些实施例中,图2的计算模块205获取探测集中每个图像对应的归一化特征,以及干扰集中每个图像对应的归一化特征,根据探测集中每个图像对应的归一化特征以及特征通道生成查询矩阵,根据干扰集中每个图像对应的归一化特征以及特征通道生成数据库矩阵。
[0082]
在一些实施例中,图2的计算模块205利用加速相似度算法,计算数据库矩阵中与查询矩阵中的样本之间的相似度,按照相似度排序选取若干个样本,根据若干个样本对应的归一化特征以及特征通道生成相似度矩阵。
[0083]
在一些实施例中,图2的计算模块205在利用第一评估协议、第二评估协议和/或第三评估协议对第二待评估模型进行评估时,利用第一待评估模型预测图像对中每个图像的归一化特征,并利用第二待评估模型预测图像对中每个图像的质量值,根据图像的归一化
特征和质量值,计算图像对的加权相似度,根据加权相似度确定评估指标结果,利用评估指标结果对第二待评估模型进行评估;其中,第一待评估模型为人脸识别模型,第二待评估模型为人脸质量模型。
[0084]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
[0085]
图3是本公开实施例提供的电子设备3的结构示意图。如图3所示,该实施例的电子设备3包括:处理器301、存储器302以及存储在该存储器302中并且可以在处理器301上运行的计算机程序303。处理器301执行计算机程序303时实现上述各个方法实施例中的步骤。或者,处理器301执行计算机程序303时实现上述各装置实施例中各模块/单元的功能。
[0086]
示例性地,计算机程序303可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器302中,并由处理器301执行,以完成本公开。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序303在电子设备3中的执行过程。
[0087]
电子设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备3可以包括但不仅限于处理器301和存储器302。本领域技术人员可以理解,图3仅仅是电子设备3的示例,并不构成对电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
[0088]
处理器301可以是中央处理单元(central processing unit,cpu),也可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0089]
存储器302可以是电子设备3的内部存储单元,例如,电子设备3的硬盘或内存。存储器302也可以是电子设备3的外部存储设备,例如,电子设备3上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器302还可以既包括电子设备3的内部存储单元也包括外部存储设备。存储器302用于存储计算机程序以及电子设备所需的其它程序和数据。存储器302还可以用于暂时地存储已经输出或者将要输出的数据。
[0090]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0091]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0092]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
[0093]
在本公开所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0094]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0095]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0096]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0097]
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1