人脸图像查找方法及装置、计算机装置和存储介质与流程

文档序号:14249629阅读:160来源:国知局
人脸图像查找方法及装置、计算机装置和存储介质与流程

本发明涉及图像识别技术领域,具体涉及一种人脸图像查找方法及装置、计算机装置和存储介质。



背景技术:

人脸图像查找技术是指将给定的人脸图片与目标数据库中的图像进行对比,输出若干张与给定的人脸图像相似的人脸图像。人脸图像查找技术可广泛的应用于逃犯追踪、目标布控、失踪人员查找等场景中。随着应用的广泛,目标数据库中的数据会不断增加,目标数据库中会有千万级甚至亿级的数据规模。在如此大数据规模的目标数据库中也往往存在与给定的人脸图像相似的人脸图像,这也会使得过于相似的人脸图像难以进行区分,人脸图像的查找较为困难,人脸图像的查找准确率与效率可能降低,进而在实际应用中会增加逃犯追踪、目标布控、失踪人员查找的难度,不利于人脸图像查找技术的应用和推广。



技术实现要素:

鉴于此,有必要提供一种人脸图像查找方法及装置、计算机装置和可读存储介质,可以提高人脸图像查找的准确率和效率。

本发明一方面提供了一种人脸图像查找方法,所述人脸图像查找方法包括:

获取待查找人脸图像;

提取所述待查找人脸图像的待查找人脸特征;

根据欧式距离或余弦距离计算所述待查找人脸特征与目标数据库中的人脸图像的人脸特征的相似度,得到与所述待查找人脸特征的相似度满足预设条件的人脸特征的待选集合;

根据机器学习得到的相似度度量函数重新计算所述待查找人脸特征与所述待选集合中人脸特征的相似度;

根据重新计算的相似度由高到低从所述集合中获取预设数量的人脸特征,返回所述预设数量的人脸特征表示的人脸图像。

可选地,所述方法还包括:

获取若干张样本图像,提取每张样本图像的人脸特征,得到表示所述若干张样本图像的人脸特征的样本特征向量集;

根据所述样本特征向量集构造训练样本集,其中,所述训练样本集包括正样本与负样本,所述正样本是相同类别的样本特征向量之差,所述负样本是不同类别的样本特征向量之差,所述相同类别的样本特征向量是表示相同人脸的样本特征向量,所述不同类别的样本特征向量是表示不同人脸的样本特征向量;

根据所述训练样本集对支持向量机训练模型进行训练,得到所述基于机器学习的相似度度量函数。

可选地,所述根据所述样本特征向量集构造训练样本集包括:

识别所述样本特征向量集中相同类别的样本特征向量与不同类别的样本特征向量;

将相同类别的样本特征向量之间两两做差,得到正样本的集合;

若两个不同类别的样本特征向量的相似度满足预设相似条件,确定所述两个不同类别的样本特征向量的差为负样本,将从所述样本特征向量集之中获取到的所有负样本组成负样本的集合。

可选地,所述两个不同类别的样本特征向量的相似度满足预设相似条件包括:

若第一样本特征向量与第二样本特征向量为不同类别的样本特征向量,当所述第一样本特征向量与所述第二样本特征向量的相似度大于所述第一样本特征向量与第三样本特征向量的相似度时,确定两个不同类别的样本特征向量的相似度满足预设相似条件,其中,所述第三样本特征向量是与所述第一样本特征向量为相同类别的样本特征向量。

可选地,所述与待查找人脸特征的相似度满足预设条件的人脸特征的待选集合为与所述待查找人脸特征的相似度大于等于预设相似度或者与所述待查找人脸特征的相似度最相似的指定数量的人脸特征的待选集合。

可选地,所述获取待查找人脸图像之后还包括:

对所述待查找人脸图像进行人脸对齐和预处理操作。

本发明另一方面还提供了一种人脸图像查找装置,所述人脸图像查找装置包括:

图像获取模块,用于获取待查找人脸图像;

特征提取模块,用于提取所述待查找人脸图像的待查找人脸特征;

第一计算模块,用于根据欧式距离或余弦距离计算所述待查找人脸特征与目标数据库中的人脸图像的人脸特征的相似度,得到与所述待查找人脸特征的相似度满足预设条件的人脸特征的待选集合;

第二计算模块,用于根据机器学习得到的相似度度量函数重新计算所述待查找人脸特征与所述待选集合中人脸特征的相似度;

输出模块,用于根据重新计算的相似度由高到低从所述集合中获取预设数量的人脸特征,返回所述预设数量的人脸特征表示的人脸图像。

可选地,所述装置还包括:

样本获取模块,用于获取若干张样本图像,提取每张样本图像的人脸特征,得到表示所述若干张样本图像的人脸特征的样本特征向量集;

构造模块,用于根据所述样本特征向量集构造训练样本集,其中,所述训练样本集包括正样本与负样本,所述正样本是相同类别的样本特征向量之差,所述负样本是不同类别的样本特征向量之差,所述相同类别的样本特征向量是表示相同人脸的样本特征向量,所述不同类别的样本特征向量是表示不同人脸的样本特征向量;

训练模块,用于根据所述训练样本集对支持向量机训练模型进行训练,得到所述基于机器学习的相似度度量函数。

可选地,所述构造模块具体用于:

识别相同类别的样本特征向量与不同类别的样本特征向量;

将两个相同类别的样本特征向量做差,得到正样本;

若两个不同类别的样本特征向量的相似度满足预设相似条件时,将所述两个不同类别的样本特征向量做差,得到负样本。

可选地,所述两个不同类别的样本特征向量的相似度满足预设相似条件包括:

若第一样本特征向量与第二样本特征向量为不同类别的样本特征向量,当所述第一样本特征向量与所述第二样本特征向量的相似度大于所述第一样本特征向量与第三样本特征向量的相似度时,确定两个不同类别的样本特征向量的相似度满足预设相似条件,其中,所述第三样本特征向量是与所述第一样本特征向量为相同类别的样本特征向量。

可选地,所述与待查找人脸特征的相似度满足预设条件的人脸特征的待选集合为与所述待查找人脸特征的相似度大于等于预设相似度或者与所述待查找人脸特征的相似度最相似的指定数量的人脸特征的待选集合。

可选地,所述装置还包括:

处理模块,用于获取待查找人脸图像之后,对所述待查找人脸图像进行人脸对齐和预处理操作。

本发明再一方面还提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述人脸图像查找方法。

本发明又一方面还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现上述人脸图像查找方法。

由以上技术方案,本发明中,电子设备可以获取待查找人脸图像;提取所述待查找人脸图像的待查找人脸特征;根据欧式距离或余弦距离计算所述待查找人脸特征与目标数据库中的人脸图像的人脸特征的相似度,得到与所述待查找人脸特征的相似度满足预设条件的人脸特征的候选集合;根据机器学习得到的相似度度量函数重新计算所述待查找人脸特征与所述待选集合中人脸特征的相似度;根据重新计算的相似度由高到低从所述集合中获取预设数量的人脸特征,返回所述预设数量的人脸特征表示的人脸图像。本方案在进行人脸查找时,先通过欧式距离或余弦距离计算相似度,得到了相似度较高的图像,再通过基于机器学习的相似度度量函数可以在相似度较高的图像之中进一步进行区分与筛选,使得若目标数据库中的相似度的图像较高,本方案也可以识别与待查找人脸图像相似的图像,并且通过两次相似度计算,逐步提高查找的准确性,由于第二次相似度计算是在第一次相似度计算的基础上进行的,第二次无需对目标数据库中的全部图像进行相似度计算,缩短了相似人脸图像查找的时间,因此本方案实现了提高人脸图像查找的准确率和效率的目的。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种人脸图像查找方法的流程图;

图2是本发明实施例提供的人脸图像查找装置的功能模块图;

图3是本发明实施例提供的计算机装置的示意图。

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

实施例

图1为本发明实施例提供的人脸图像查找方法的示意流程图。如图1所示,人脸图像查找方法可包括以下步骤:

s10:获取待查找人脸图像。

其中,上述待查找人脸图像是要查找的人脸图像。具体的,可以通过人脸采集模块(如摄像头)采集人物图像,再对采集的人物图像进行截取,获得其中的人脸图像。

进一步地,在本发明另一实施例中,所述获取待查找人脸图像之后还包括:

对所述待查找人脸图像进行人脸对齐和预处理操作。

其中,人脸对齐是指根据输入的人脸图像,自动定位出人物脸部的关键特征点,如眼睛、鼻尖、嘴角点、眉毛以及人脸各部件轮廓点等。人脸对齐的方法可以从现有技术中获取,例如可以通过aam(activeappearancemodel)算法、asm(activeshapemodel)算法、clm(constrainedlocalmodel)算法等算法来进行人脸对齐。

同时,预处理操作包括但不限于图像归一化。图像归一化是指对图像进行一系列标准的处理变换(即利用图像的不变矩寻找一组参数使其能够消除其他变换函数对图像变换的影响),将图像变换为固定标准形式。具体的,对人脸图像进行归一化,可以使不同成像条件(如光照强度、距离、姿势等)下拍摄的同一个人的照片具有一致性,因此可以减少光照和姿态变化对识别该图像的影响。人脸归一化主要包括几何归一化与灰度归一化,人脸图像归一化的具体方法可以从现有的归一化方法中获取,这里不作赘述。

当对人脸图像经过人脸对齐和预处理操作之后,可以有利于快捷准确的对人脸图像进行下一步处理。

s20:提取所述待查找人脸图像的待查找人脸特征。

在获取待查找人脸图像之后,或者是获取待查找图像并进行人脸对齐与图像归一化之后,提取待查找人脸图像的待查找人脸特征。

例如,可以根据lbp(localbinarypattern)算法提取待查找人脸图像的待查找人脸特征。

或者,基于深度学习来进行特征提取,例如基于卷积神经网络(convolutionalneuralnetwork,cnn)提取待查找人脸特征。若基于深度学习来进行特征提取,则经过深度学习可得到特征提取模型,利用特征提取模型对该待查找人脸图像进行特征提取,得到待查找人脸特征。

具体的人脸特征的特征提取方法可以从现有的人脸特征提取方法中获取,提取到的人脸特征可以用特征向量来表达。

s30:根据欧式距离或余弦距离计算所述待查找人脸特征与目标数据库中的人脸图像的人脸特征的相似度,得到与所述待查找人脸特征的相似度满足预设条件的人脸特征的待选集合。

其中,目标数据库是人脸图像查找的范围,即从目标数据库中查找与待查找人脸图像最相似的一个或多个图像。同时,目标数据库中保存了若干人脸图像的人脸特征。

上述欧式距离是指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。当欧式距离用于计算图像相似度时,若两图像的欧式距离越小,则表明两图像相似度越大,若两图像的欧式距离越大,则表明两图像相似度越小。

上述余弦距离是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量。当余弦值越大,则表明两个体间相似度越大,当余弦值越小,则表明两个体间相似度越小。

在具体实现时,根据欧式距离或余弦距离计算相似度有其特定的计算公式,可以从现有技术获取,此处不赘述计算过程。

由于根据欧氏距离与余弦距离的方式计算的计算复杂度低,因此可以从目标数据库中迅速的筛选出一些与待查找人脸特征相似的特征。

可选地,在本发明另一实施例中,所述与待查找人脸特征的相似度满足预设条件的人脸特征的待选集合为与所述待查找人脸特征的相似度大于等于预设相似度或者与所述待查找人脸特征的相似度最相近的指定数量的人脸特征的待选集合。

其中,上述预设相似度的值可以根据需要设置,例如预设相似度的值为90%。即通过相似度计算,获取与待查找人脸特征的相似度为大于90%的一个或多个人脸特征,组成人脸特征的集合为待选集合。

上述指定数量的值也可以根据需要设置,例如设置为100。也可以根据目标数据库中人脸特征的数量来确定,例如,根据目标数据库中的人脸特征总量的百分比来确定指定数量的值。

上述与待查找人脸特征的相似度最相似的指定数量的人脸特征的待选集合是指,在计算待查找人脸特征与目标数据库中的人脸特征之后,获取由相似度由高到低的前指定数量(如100)个人脸特征,组成人脸特征的集合为待选集合。

s40:根据机器学习得到的相似度度量函数重新计算所述待查找人脸特征与所述待选集合中人脸特征的相似度。

其中,机器学习是使用算法来解析数据,从数据中学习(学习的过程是通过大量数据进行训练),然后对真实世界的事件作出决策和预测。

通过步骤s30,可以得到与待查找人脸特征相似的若干人脸特征组成的待选集合,进而通过步骤s40从待选集合中寻找与待查找人脸特征相似的人脸特征,此时,通过步骤s30已经缩小了步骤s40的查找范围并减少了计算量,因此经过步骤30的初步筛选,可以提高步骤s40的计算效率,进而提高查找效率。

在本实施例的机器学习过程中,训练的数据是相似度大于预设阈值的人脸图像,训练包括未知参数的相似度度量函数,得到相似度度量函数中未知参数的值,从而得到基于机器学习的相似度度量函数,该基于机器学习的相似度度量函数可以用于对相似度高的人脸图像进行相似度计算。因此,即使待查找人脸特征与待选集合中的人脸特征相似度较高,也可以通过相似度度量函数进行相似度计算进而对人脸图像进行区分。

由于通过机器学习做出的决策和预测是基于大量“经验”做出的,具有更高的辨别能力,具有一定的有效性和准确性。因此尽管待查找人脸特征与待选集合中人脸特征相似度较高,仍可以将其进行区分,准确的获取与待查找人脸特征相似度高的一张或多张人脸特征。

进一步地,在本发明另一实施例中,本发明所述人脸图像查找方法还可包括根据机器学习得到机器学习的相似度度量函数的过程。具体的,所述人脸图像查找方法还包括:

(1)获取若干张样本图像,提取每张样本图像的人脸特征,得到表示所述若干张样本图像的人脸特征的样本特征向量集;

(2)根据所述样本特征向量集构造训练样本集,其中,所述训练样本集包括正样本与负样本,所述正样本是相同类别的样本特征向量之差,所述负样本是不同类别的样本特征向量之差,所述相同类别的样本特征向量是表示相同人脸的样本特征向量,所述不同类别的样本特征向量是表示不同人脸的样本特征向量;

(3)根据所述训练样本集对支持向量机训练模型进行训练,返回所述根据机器学习得到的相似度度量函数。

上述若干张样本图像可以从各种数据库中获取(如摄像机之前获取到的海量人脸图像),样本图像的数量越大,则机器学习的经验越丰富,得到的相似度度量函数在进行图像相似度计算时的计算结果会越准确。

其中,提取样本图像的人脸特征的方式,可以根据前述提到的特征提取方法进行提取,此处不再赘述。

上述表示若干张样本图像的人脸特征的样本特征向量集是从若干张样本图像中获取到的每张样本图像的特征向量所组成的集合,每张样本图像的特征向量可称为样本特征向量。

当两个或多个样本特征向量表示的为同一人脸时,即当两个或多个样本特征向量表示的是同一人时,则为相同类别的样本特征向量。

当两个或多个样本特征向量表示的为不同人脸时,即当两个或多个样本特征向量表示的是不同人时,则为不同类别的样本特征向量。

例如,以下为正样本与负样本的示例。

第a个正样本pa,可以表示为:

其中,j与k不相等,a为正整数且a大于等于1,xi,j表示第i类的第j个样本的特征向量。

第a个负样本na,可以表示为:

其中,i与h不相等,即xi,j与xh,k是不同类别的样本特征向量。

在本实施例的机器学习中构建相似度度量函数时,可使用支持向量机(supportvectormachine,svm)训练模型,对支持向量机模型进行训练,得到输出函数为相似度度量函数。具体的求解支持向量机训练模型的方法可从现有技术中获取,此处不再赘述。

由于支持向量机在二分类(将样本分为两类)问题中有着比较好的表现效果,通过在机器学习时,采用支持向量机模型得到的相似度度量函数用于计算人脸图像之间的相似度的准确率更高。

可选地,在本发明另一实施例中,所述根据所述样本特征向量集构造训练样本集可包括:

(1)识别所述样本特征向量集中相同类别的样本特征向量与不同类别的样本特征向量;

(2)将相同类别的样本特征向量之间两两做差,得到正样本的集合;

(3)若两个不同类别的样本特征向量的相似度满足预设相似条件,确定所述两个不同类别的样本特征向量的差为负样本,将从所述样本特征向量集之中获取到的所有负样本组成负样本的集合。

本发明实施例中,训练样本集由正样本的集合与负样本的集合构成,所有的正样本构成正样本的集合,所有的负样本构成负样本的集合。

具体的,将样本特征向量集中所有的相同类别的样本特征向量之间两两做差,得到正样本的集合。

例如,若a、b、c、d为相同类别的样本特征向量,则可将a与b做差,得到一个正样本,同样的,可以将该相同类别之内其他样本特征向量分别做差(a与c,a与d,b与c,b与d,c与d分别做差),得到多个正样本;若同时存在另一组相同类别的样本特征向量,由q、m、s构成,则q、m、s之间也可以两两做差(q与m,q与s,m与s分别做差),则得到多个正样本。则将从以上两组相同类别的样本特征向量集中得到的所有的正样本构成正样本的集合。

同时,在本实施例中,负样本并非仅仅由每个不同类别的样本特征向量之间做差得到的,而是在样本特征向量集之中任意两个不同类别的样本特征向量的相似度满足预设相似条件时,才将该不同类别的样本特征向量做差,得到负样本,所有的负样本构成负样本的集合。

例如,a、b、c、d为一组相同类别的样本特征向量,q、m、s为另一组相同类别的样本特征向量,即a、b、c、d分别与q、m、s之中的每一个为不同类别的样本特征向量,若a与q的相似度满足预设相似条件,则将a与q做差,确定a与q的差为负样本。同样的,若有a与m,以及b与m,c与s的相似度都满足预设相似条件,则将a与m,b与m,c与s分别做差,得到多个负样本。从以上两组样本特征向量中获取到的多个负样本组成负样本的集合。

上述预设相似条件用于确定两个不同类别的样本特征向量的相似度是否较高,具体的预设相似条件可以根据需要设定。例如,上述预设相似条件可以是两个不同类别的样本特征向量的相似度大于某一相似度(如90%)。

则此时,负样本也是由区分难度较大的样本特征向量所构成。同时由于正样本是由相同类别的样本特征向量构成。因此本发明中进行机器学习时,用于训练的样本特征向量之间的相似度很高,有效提升了判断相似图像之间相似度的准确性。

可选地,在本发明另一实施例中,两个不同类别的样本特征向量的相似度满足预设相似条件包括:

若第一样本特征向量与第二样本特征向量为不同类别的样本特征向量,当所述第一样本特征向量与所述第二样本特征向量的相似度大于所述第一样本特征向量与第三样本特征向量的相似度时,确定两个不同类别的样本特征向量的相似度满足预设相似条件,其中,所述第三样本特征向量是与所述第一样本特征向量为相同类别的样本特征向量。

例如,若第一样本特征向量为a,第二样本特征向量q,第三样本特征向量b,其中,a与q为不同类别的样本特征向量,a与q的样本特征向量的相似度为m%,a与b为相同类别的样本特征向量,a与b的样本特征向量的相似度为n%,若m大于n,则确定,a与q的相似度满足预设条件。此时不同类别的样本特征向量之间的相似度大于相同类别样本特征向量之间的相似度,即a与q的相似度大于a与其相同类别的样本特征向量的相似度,表明a与q的相似度极高(因为相同类别样本特征向量表示的为同一人脸,其相似性已经是比较高的了)。

则通过本方法得到的负样本的特征向量之间相似度极高,区分难度大,通过对区分难度大的正样本与负样本进行学习得到的相似度度量函数可以进一步提高判断相似图像之间相似度的准确性。

s50:根据重新计算的相似度由高到低从所述集合中获取预设数量的人脸特征,返回所述预设数量的人脸特征表示的人脸图像。

上述预设数量的值可以根据需要设定,例如,根据步骤s40得到的相似度由高到低获取与待查找人脸图像相似的前15个人脸特征。

由于人脸特征是从人脸图像中提取的,因此某一人脸特征可以表示某一人脸图像。若得到了与待查找人脸特征相似的若干人脸特征,因此可以得到该若干人脸特征所表示的人脸图像。

在进行人脸查找之后,可以将返回的人脸图像显示在计算机装置的显示界面上,则此时用户可以直观的了解哪张图像是与待查找人脸图像最相似的图像。

本发明提供的人脸图像查找方法,获取待查找人脸图像;提取所述待查找人脸图像的待查找人脸特征;根据欧式距离或余弦距离计算所述待查找人脸特征与目标数据库中的人脸图像的人脸特征的相似度,得到与所述待查找人脸特征的相似度满足预设条件的人脸特征的候选集合;根据机器学习得到的相似度度量函数重新计算所述待查找人脸特征与所述待选集合中人脸特征的相似度;根据重新计算的相似度由高到低从所述集合中获取预设数量的人脸特征,返回所述预设数量的人脸特征表示的人脸图像。本方案在进行人脸查找时,先通过欧式距离或余弦距离计算相似度,得到了相似度较高的图像,再通过基于机器学习的相似度度量函数可以在相似度较高的图像之中进一步进行区分与筛选,使得若目标数据库中的相似度的图像较高,本方案也可以识别与待查找人脸图像相似的图像,并且通过两次相似度计算,逐步提高查找的准确性,由于第二次相似度计算是在第一次相似度计算的基础上进行的,第二次无需对目标数据库中的全部图像进行相似度计算,缩短了相似人脸图像查找的时间,因此本方案实现了提高人脸图像查找的准确率和效率的目的。

以上是对本发明所提供的方法进行的详细描述。根据不同的需求,所示流程图中方块的执行顺序可以改变,某些方块可以省略,人脸图像查找方法也可以在上述人脸图像查找方法中选择性的组合使用,或者与其他上述未提及的人脸图像查找方法组合使用。下面对本发明所提供的装置进行描述。

实施例

图2为本发明实施例提供的人脸图像查找装置的结构图,如图2所示,人脸图像查找装置可以包括:图像获取模块210、特征提取模块220、第一计算模块230、第二计算模块240和输出模块250。

图像获取模块210,用于获取待查找人脸图像。

其中,上述待查找人脸图像是要查找的人脸图像。具体的,可以通过人脸采集模块(如摄像头)采集人物图像,再对采集的人物图像进行截取,获得其中的人脸图像。

进一步地,在本发明另一实施例中,本发明人脸图像查找装置还可以包括处理模块,

所述处理模块,用于获取待查找人脸图像之后,对所述待查找人脸图像进行人脸对齐和预处理操作。

其中,人脸对齐是指根据输入的人脸图像,自动定位出人物脸部的关键特征点,如眼睛、鼻尖、嘴角点、眉毛以及人脸各部件轮廓点等。人脸对齐的方法可以从现有技术中获取,例如可以通过aam(activeappearancemodel)算法、asm(activeshapemodel)算法、clm(constrainedlocalmodel)算法等算法来进行人脸对齐。

同时,预处理操作包括但不限于图像归一化。图像归一化是指对图像进行一系列标准的处理变换(即利用图像的不变矩寻找一组参数使其能够消除其他变换函数对图像变换的影响),将图像变换为固定标准形式。具体的,对人脸图像进行归一化,可以使不同成像条件(如光照强度、距离、姿势等)下拍摄的同一个人的照片具有一致性,因此可以减少光照和姿态变化对识别该图像的影响。人脸归一化主要包括几何归一化与灰度归一化,人脸图像归一化的具体方法可以从现有的归一化方法中获取,这里不作赘述。

当对人脸图像经过人脸对齐和预处理操作之后,可以有利于快捷准确的对人脸图像进行下一步处理。

特征提取模块220,用于提取所述待查找人脸图像的待查找人脸特征。

在获取待查找人脸图像之后,或者是获取待查找图像并进行人脸对齐与图像归一化之后,特征提取模块220提取待查找人脸图像的待查找人脸特征。

例如,可以根据lbp(localbinarypattern)算法提取待查找人脸图像的待查找人脸特征。

或者,基于深度学习来进行特征提取,例如基于卷积神经网络(convolutionalneuralnetwork,cnn)提取待查找人脸特征。若基于深度学习来进行特征提取,则经过深度学习可得到特征提取模型,利用特征提取模型对该待查找人脸图像进行特征提取,得到待查找人脸特征。

具体如何对人脸特征进行特征提取可以从现有的人脸特征提取方法中获得,不限于以上提到的两种方式,提取到的人脸特征可以用特征向量来表达。

第一计算模块230,用于根据欧式距离或余弦距离计算所述待查找人脸特征与目标数据库中的人脸图像的人脸特征的相似度,得到与所述待查找人脸特征的相似度满足预设条件的人脸特征的待选集合。

其中,目标数据库是人脸图像查找的范围,即从目标数据库中查找与待查找人脸图像最相似的一个或多个图像。同时,目标数据库中保存了若干人脸图像的人脸特征。

上述欧式距离是指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。当欧式距离用于计算图像相似度时,若两图像的欧式距离越小,则表明两图像相似度越大,若两图像的欧式距离越大,则表明两图像相似度越小。

上述余弦距离是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量。当余弦值越大,则表明两个体间相似度越大,当余弦值越小,则表明两个体间相似度越小。

在具体实现时,根据欧式距离或余弦距离计算相似度有其特定的计算公式,可以从现有技术获取,此处不赘述计算过程。

由于根据欧氏距离与余弦距离的方式计算的计算复杂度低,因此可以从目标数据库中迅速的筛选出一些与待查找人脸特征相似的特征。

可选地,在本发明另一实施例中,所述与待查找人脸特征的相似度满足预设条件的人脸特征的待选集合为与所述待查找人脸特征的相似度大于等于预设相似度或者与所述待查找人脸特征的相似度最相近的指定数量的人脸特征的待选集合。

其中,上述预设相似度的值可以根据需要设置,例如预设相似度的值为90%。即通过相似度计算,获取与待查找人脸特征的相似度为大于90%的一个或多个人脸特征,组成人脸特征的集合为待选集合。

上述指定数量的值也可以根据需要设置,例如设置为100。也可以根据目标数据库中人脸特征的数量来确定,例如,根据目标数据库中的人脸特征总量的百分比来确定指定数量的值。

上述与待查找人脸特征的相似度最相似的指定数量的人脸特征的待选集合是指,在计算待查找人脸特征与目标数据库中的人脸特征之后,获取由相似度由高到低的前指定数量(如100)个人脸特征,组成人脸特征的集合为待选集合。

第二计算模块240,用于根据机器学习得到的相似度度量函数重新计算所述待查找人脸特征与所述待选集合中人脸特征的相似度。

其中,机器学习是使用算法来解析数据,从数据中学习(学习的过程是通过大量数据进行训练),然后对真实世界的事件作出决策和预测。

通过第一计算模块230,可以得到与待查找人脸特征相似的若干人脸特征组成的待选集合,进而通过第二计算模块240从待选集合中寻找与待查找人脸特征相似的人脸特征,此时,通过第一计算模块230已经缩小了第二计算模块240的查找范围并减少了计算量,因此经过第一计算模块230的初步筛选,可以提高第二计算模块240的计算效率,进而提高查找效率。

在本实施例的机器学习过程中,训练的数据是相似度大于预设阈值的人脸图像,训练包括未知参数的相似度度量函数,得到相似度度量函数中未知参数的值,从而得到基于机器学习的相似度度量函数,该基于机器学习的相似度度量函数可以用于对相似度高的人脸图像进行相似度计算。因此,即使待查找人脸特征与待选集合中的人脸特征相似度较高,也可以通过相似度度量函数进行相似度计算进而对人脸图像进行区分。

由于通过机器学习做出的决策和预测是基于大量“经验”做出的,具有更高的辨别能力,具有一定的有效性和准确性。因此尽管待查找人脸特征与待选集合中人脸特征相似度较高,仍可以将其进行区分,准确的获取与待查找人脸特征相似度高的一张或多张人脸特征。

进一步地,在本发明另一实施例中,本发明所述人脸图像查找装置还可包括用于根据机器学习得到机器学习的相似度度量函数的模块。具体的,所述人脸图像查找装置还包括样本获取模块、构造模块和训练模块。

样本获取模块,用于获取若干张样本图像,提取每张样本图像的人脸特征,得到表示所述若干张样本图像的人脸特征的样本特征向量集。

构造模块,用于根据所述样本特征向量集构造训练样本集,其中,所述训练样本集包括正样本与负样本,所述正样本是相同类别的样本特征向量之差,所述负样本是不同类别的样本特征向量之差,所述相同类别的样本特征向量是表示相同人脸的样本特征向量,所述不同类别的样本特征向量是表示不同人脸的样本特征向量。

训练模块,用于根据所述训练样本集对支持向量机训练模型进行训练,得到所述基于机器学习的相似度度量函数。

上述若干张样本图像可以从各种数据库中获取(如摄像机之前获取到的海量人脸图像),样本图像的数量越大,则机器学习的经验越丰富,得到的相似度度量函数在进行图像相似度计算时的计算结果会越准确。

其中,样本获取模块提取样本图像的人脸特征的方式,可以根据前述特征提取方式进行提取,此处不再赘述。

上述表示若干张样本图像的人脸特征的样本特征向量集是从若干张样本图像中获取到的每张样本图像的特征向量所组成的集合,每张样本图像的特征向量可称为样本特征向量。

当两个或多个样本特征向量表示的为同一人脸时,即当两个或多个样本特征向量表示的是同一人时,则为相同类别的样本特征向量。

当两个或多个样本特征向量表示的为不同人脸时,即当两个或多个样本特征向量表示的是不同人时,则为不同类别的样本特征向量。

例如,以下为正样本与负样本的示例。

第a个正样本pa,可以表示为:

其中,j与k不相等,a为正整数且a大于等于1,xi,j表示第i类的第j个样本的特征向量。

第a个负样本na,可以表示为:

其中,i与h不相等,即xi,j与xh,k是不同类别的样本特征向量。

在本实施例的机器学习中构建相似度度量函数时,可使用支持向量机(supportvectormachine,svm)训练模型,对支持向量机模型进行训练,得到输出函数为相似度度量函数。具体的求解支持向量机训练模型的方法可从现有技术中获取,此处不再赘述。

由于支持向量机在二分类(将样本分为两类)问题中有着比较好的表现效果,通过在机器学习时,采用支持向量机模型得到的相似度度量函数用于计算人脸图像之间的相似度的准确率更高。

可选地,在本发明另一实施例中,所述构造模块具体用于:

(1)识别所述样本特征向量集中相同类别的样本特征向量与不同类别的样本特征向量;

(2)将相同类别的样本特征向量之间两两做差,得到正样本的集合;

(3)若两个不同类别的样本特征向量的相似度满足预设相似条件,确定所述两个不同类别的样本特征向量的差为负样本,将从所述样本特征向量集之中获取到的所有负样本组成负样本的集合。

本发明实施例中,训练样本集由正样本的集合与负样本的集合构成,所有的正样本构成正样本的集合,所有的负样本构成负样本的集合。

具体的,将样本特征向量集中所有的相同类别的样本特征向量之间两两做差,得到正样本的集合。

例如,若a、b、c、d为相同类别的样本特征向量,则可将a与b做差,得到一个正样本,同样的,可以将该相同类别之内其他样本特征向量分别做差(a与c,a与d,b与c,b与d,c与d分别做差),得到多个正样本;若同时存在另一组相同类别的样本特征向量,由q、m、s构成,则q、m、s之间也可以两两做差(q与m,q与s,m与s分别做差),则得到多个正样本。则将从以上两组相同类别的样本特征向量集中得到的所有的正样本构成正样本的集合。

同时,在本实施例中,负样本并非仅仅由每个不同类别的样本特征向量之间做差得到的,而是在样本特征向量集之中任意两个不同类别的样本特征向量的相似度满足预设相似条件时,才将该不同类别的样本特征向量做差,得到负样本,所有的负样本构成负样本的集合。

例如,a、b、c、d为一组相同类别的样本特征向量,q、m、s为另一组相同类别的样本特征向量,即a、b、c、d分别与q、m、s之中的每一个为不同类别的样本特征向量,若a与q的相似度满足预设相似条件,则将a与q做差,确定a与q的差为负样本。同样的,若有a与m,以及b与m,c与s的相似度都满足预设相似条件,则将a与m,b与m,c与s分别做差,得到多个负样本。从以上两组样本特征向量中获取到的多个负样本组成负样本的集合。

上述预设相似条件用于确定两个不同类别的样本特征向量的相似度是否较高,具体的预设相似条件可以根据需要设定。

例如,上述预设相似条件可以是两个不同类别的样本特征向量的相似度大于某一相似度(如90%)。

则此时,负样本也是由区分难度较大的样本特征向量所构成。同时由于正样本是由相同类别的样本特征向量构成。因此本发明中进行机器学习时,用于训练的样本特征向量之间的相似度很高,有效提升了判断相似图像之间相似度的准确性。

可选地,在本发明另一实施例中,两个不同类别的样本特征向量的相似度满足预设相似条件包括:

若第一样本特征向量与第二样本特征向量为不同类别的样本特征向量,当所述第一样本特征向量与所述第二样本特征向量的相似度大于所述第一样本特征向量与第三样本特征向量的相似度时,确定两个不同类别的样本特征向量的相似度满足预设相似条件,其中,所述第三样本特征向量是与所述第一样本特征向量为相同类别的样本特征向量。

例如,若第一样本特征向量为a,第二样本特征向量q,第三样本特征向量b,其中,a与q为不同类别的样本特征向量,a与q的样本特征向量的相似度为m%,a与b为相同类别的样本特征向量,a与b的样本特征向量的相似度为n%,若m大于n,则确定,a与q的相似度满足预设条件。此时不同类别的样本特征向量之间的相似度大于相同类别样本特征向量之间的相似度,即a与q的相似度大于a与其相同类别的样本特征向量的相似度,表明a与q的相似度极高(因为相同类别样本特征向量表示的为同一人脸,其相似性已经是比较高的了)。

则通过本实施例得到的负样本的特征向量之间相似度极高,区分难度大,通过对区分难度大的正样本与负样本进行学习得到的相似度度量函数可以进一步提高判断相似图像之间相似度的准确性。

输出模块250,用于根据重新计算的相似度由高到低从所述集合中获取预设数量的人脸特征,返回所述预设数量的人脸特征表示的人脸图像。

上述预设数量的值可以根据需要设定,例如,根据第二计算模块240得到的相似度由高到低获取与待查找人脸图像相似的前15个人脸特征。

由于人脸特征是从人脸图像中提取的,因此某一人脸特征可以表示某一人脸图像。若得到了与待查找人脸特征相似的若干人脸特征,因此可以得到该若干人脸特征所表示的人脸图像。

在通过本发明提出的人脸查找装置进行人脸查找之后,可以将返回的人脸图像显示在计算机装置的显示界面上,则此时用户可以直观的了解哪张图像是与待查找人脸图像最相似的图像。

本发明提供的人脸图像查找装置通过图像获取模块获取待查找人脸图像;特征提取模块提取所述待查找人脸图像的待查找人脸特征;第一计算模块根据欧式距离或余弦距离计算所述待查找人脸特征与目标数据库中的人脸图像的人脸特征的相似度,得到与所述待查找人脸特征的相似度满足预设条件的人脸特征的候选集合;第二计算模块根据机器学习得到的相似度度量函数重新计算所述待查找人脸特征与所述待选集合中人脸特征的相似度;输出模块根据重新计算的相似度由高到低从所述集合中获取预设数量的人脸特征,返回所述预设数量的人脸特征表示的人脸图像。本方案在进行人脸查找时,先通过欧式距离或余弦距离计算相似度,得到了相似度较高的图像,再通过基于机器学习的相似度度量函数可以在相似度较高的图像之中进一步进行区分与筛选,使得若目标数据库中的相似度的图像较高,本方案也可以识别与待查找人脸图像相似的图像,并且通过两次相似度计算,逐步提高查找的准确性,由于第二次相似度计算是在第一次相似度计算的基础上进行的,第二次无需对目标数据库中的全部图像进行相似度计算,缩短了相似人脸图像查找的时间,因此本方案实现了提高人脸图像查找的准确率和效率的目的。

实施例

请参照图3,图3是本发明实施例提供的计算机装置1的示意图。所述计算机装置1包括存储器20、处理器30以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40,例如人脸图像查找程序。所述处理器30执行所述计算机程序40时实现上述人脸图像查找方法实施例中的步骤,例如图1所示的步骤s10~s50。或者,所述处理器30执行所述计算机程序40时实现上述装置实施例中各模块/单元的功能,例如模块210~250。

示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置1中的执行过程。例如,所述计算机程序40可以被分割成图2中的图像获取模块210、特征提取模块220、第一计算模块230、第二计算模块240和输出模块250,各模块具体功能参见前述实施例。

所述计算机装置1可以是桌上型计算机、笔记本电脑、掌上电脑及云端服务器等计算机设备。本领域技术人员可以理解,所述示意图3仅仅是计算机装置1的示例,并不构成对计算机装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置1还可以包括输入输出设备、网络接入设备、总线等。

所称处理器30可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器30也可以是任何常规的处理器等,所述处理器30是所述计算机装置1的控制中心,利用各种接口和线路连接整个计算机装置1的各个部分。

所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置1的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述计算机装置1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个装置也可以由同一个装置或系统通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

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