人脸识别方法及装置
技术领域
本发明涉及人脸识别技术领域,更具体地涉及一种人脸识别方法及装置。
背景技术
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。人脸识别通常包括人脸图像采集及检测、人脸图像预处理、人脸图像特征提取以及匹配与识别。其中,人脸图像匹配与识别的过程是提取的人脸图像的特征数据与底库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。
然而,当前的技术中,当对一张图进行人脸识别时,需要将底库中所有图片一一与该图比对,而之后当同一张图(或者相似图片)再次输入进行识别时,仍会像其上次识别时一样对底库的所有图片进行搜索比对,这样的重复搜索将耗费大量的时间,尤其是在静态超大库中进行搜索比对时,这种时间耗费将更为严重。因此,需要对这种重复搜索进行优化的技术。
发明内容
考虑到上述问题而提出了本发明。根据本发明一方面,提供了一种人脸识别方法,所述人脸识别方法包括:获取待识别的人脸图像;提取所述待识别的人脸图像中的待识别人脸特征;基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别,其中所述历史底库为经创建以保存已进行过人脸识别的人脸特征的底库;以及如果基于所述历史底库未获得匹配结果,则基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别。
在本发明的一个实施例中,所述人脸识别方法还包括:将所述待识别人脸特征添加到所述历史底库中。
在本发明的一个实施例中,所述历史底库中还包括与各人脸图像相关联的标注信息,所述标注信息有助于对人脸识别结果的筛选和/或判断。
在本发明的一个实施例中,所述标注信息在用于对人脸识别结果进行筛选和/或判断之后能够被更新。
在本发明的一个实施例中,所述标注信息还作为判断历史底库中的人脸特征与所述待识别人脸特征是否匹配的附加条件。
在本发明的一个实施例中,在将所述待识别人脸特征添加到所述历史底库中时,向所述待识别人脸特征添加相关联的标注信息。
在本发明的一个实施例中,所述基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别,包括:将所述待识别人脸特征与所述历史底库中的人脸特征进行匹配;以及在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,从数据库的历史检索表中获得匹配的人脸识别信息。
在本发明的一个实施例中,所述历史底库中的每个人脸特征由一个索引标识指示,并且,所述历史检索表中的每条人脸识别信息也由指示历史底库中对应的人脸特征的索引标识指示,所述在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,从数据库的历史检索表中获得匹配的人脸识别信息的步骤包括:获得指示所述匹配的人脸特征的匹配索引标识;以及根据所述匹配索引标识,在所述历史检索表中检索所述匹配索引标识指示的人脸识别信息以作为所述匹配的人脸识别信息。
在本发明的一个实施例中,在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,所述方法还包括:将所述待识别人脸特征添加到所述历史底库;获得指示所述添加的待识别人脸特征信息的添加索引标识;以及在所述历史检索表中,将所述添加索引标识指示的人脸识别信息设置为所述匹配索引标识指示的人脸识别信息。
在本发明的一个实施例中,所述基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别的步骤包括:将所述待识别人脸特征与所述正常底库中的人脸特征进行匹配;以及在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,从所述数据库的第二数据表中获得匹配的人脸识别信息。
在本发明的一个实施例中,所述正常底库中的每个人脸特征由一个索引标识指示,并且,所述第二数据表中的每条人脸识别信息也由指示正常底库中对应的人脸特征的索引标识指示,所述在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,从数据库的第二数据表中获得匹配的人脸识别信息的步骤包括:获得指示所述匹配的人脸特征的匹配索引标识;以及根据所述匹配索引标识,在所述第二数据表中检索所述匹配索引标识指示的人脸识别信息,以作为所述匹配的人脸识别信息。
在本发明的一个实施例中,在基于所述历史底库未获得匹配结果的情况下,所述方法还包括:将所述待识别人脸特征添加到所述历史底库中;以及将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中并关联至所述添加的待识别人脸特征。
在本发明的一个实施例中,所述将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中并关联至所述添加的待识别人脸特征的步骤包括:获得指示所述添加的待识别人脸特征在所述历史底库中的添加索引标识;以及将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中,并将指示所述人脸识别信息的索引标识设置为所述指示所述添加的待识别人脸特征的添加索引标识。
根据本发明另一方面,提供了一种人脸识别装置,所述人脸识别装置包括:人脸图像获取模块,用于获取待识别的人脸图像;特征提取模块,用于提取所述待识别的人脸图像中的待识别人脸特征;历史底库识别模块,用于基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别,其中所述历史底库为经创建以保存已进行过人脸识别的人脸特征的底库;以及正常底库识别模块,用于在所述历史底库识别模块基于所述历史底库未获得匹配结果时,基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别。
在本发明的一个实施例中,所述人脸识别装置还包括人脸特征添加模块,用于将所述待识别人脸特征添加到所述历史底库中。
在本发明的一个实施例中,所述历史底库中还包括与各人脸图像相关联的标注信息,所述标注信息有助于对人脸识别结果的筛选和/或判断。
在本发明的一个实施例中,所述标注信息在用于对人脸识别结果进行筛选和/或判断之后能够被更新。
在本发明的一个实施例中,所述标注信息还作为判断历史底库中的人脸特征与所述待识别人脸特征是否匹配的附加条件。
在本发明的一个实施例中,所述人脸特征添加模块进一步用于:在将所述待识别人脸特征添加到所述历史底库中时,向所述待识别人脸特征添加相关联的标注信息。
在本发明的一个实施例中,所述人脸识别装置还包括数据库,其中,所述历史底库识别模块将所述待识别人脸特征与所述历史底库中的人脸特征进行匹配,并且,在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,从所述数据库的历史检索表中获得匹配的人脸识别信息。
在本发明的一个实施例中,所述历史底库中的每个人脸特征由一个索引标识指示,并且,所述历史检索表中的每条人脸识别信息也由指示历史底库中对应的人脸特征的索引标识指示,在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,所述历史底库识别模块获得指示所述匹配的人脸特征的匹配索引标识,并根据所述匹配索引标识,在所述历史检索表中检索所述匹配索引标识指示的人脸识别信息以作为所述匹配的人脸识别信息。
在本发明的一个实施例中,所述人脸识别装置包括人脸特征添加模块,用于在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,将所述待识别人脸特征添加到所述历史底库,获得指示所述添加的待识别人脸特征信息的添加索引标识,并且,在所述历史检索表中,将所述添加索引标识指示的人脸识别信息设置为所述匹配索引标识指示的人脸识别信息。
在本发明的一个实施例中,所述正常底库识别模块将所述待识别人脸特征与所述正常底库中的人脸特征进行匹配,并且,在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,从所述数据库的第二数据表中获得匹配的人脸识别信息。
在本发明的一个实施例中,所述正常底库中的每个人脸特征由一个索引标识指示,并且,所述第二数据表中的每条人脸识别信息也由指示正常底库中对应的人脸特征的索引标识指示,在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,所述正常底库识别模块获得指示所述匹配的人脸特征的匹配索引标识,并且,根据所述匹配索引标识,在所述第二数据表中检索所述匹配索引标识指示的人脸识别信息,以作为所述匹配的人脸识别信息。
在本发明的一个实施例中,所述人脸识别装置包括人脸特征添加模块,用于在基于所述历史底库未获得匹配结果的情况下,将所述待识别人脸特征添加到所述历史底库中,并且,将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中并关联至所述添加的待识别人脸特征。
在本发明的一个实施例中,所述人脸特征添加模块获得指示所述添加的待识别人脸特征在所述历史底库中的添加索引标识,并且,将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中,并将指示所述人脸识别信息的索引标识设置为所述指示所述添加的待识别人脸特征的添加索引标识。
根据本发明实施例的人脸识别方法及装置通过创建保存已进行过人脸识别的人脸特征的历史底库,作为人脸识别过程所优先选择的底库,可以避免已进行过人脸识别的相同或相似图片重新在超大正常底库中重复搜索比对,从而可以大幅提高人脸识别的效率。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是用于实现根据本发明实施例的人脸识别方法和装置的示例电子设备的示意性框图;
图2是根据本发明实施例的人脸识别方法的示意性流程图;
图3是根据本发明实施例的人脸识别装置的示意性框图;以及
图4是根据本发明实施例的人脸识别系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
首先,参照图1来描述用于实现本发明实施例的人脸识别方法和装置的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像传感器110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述图像传感器110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的人脸识别方法和装置的示例电子设备可以被实现为诸如智能手机、平板电脑等。
下面,将参考图2描述根据本发明实施例的人脸识别方法200。
在步骤S210,获取待识别的人脸图像。
在一个实施例中,获取的待识别的人脸图像可以是图像采集装置所采集的人脸图像,也可以来自其他源的人脸图像。人脸图像可以是人脸图片,也可以是人脸视频等。此外,应理解,人脸图像可以是包括人脸的图像,而不仅仅是只有人脸的图像。
在步骤S220,提取待识别的人脸图像中的待识别人脸特征。
在该步骤中,可以采用诸如LBP(局部二值模式)、HoG(方向梯度直方图)、PCA(主成分分析法)或者神经网络等各种适当的人脸特征提取方法来提取待识别的人脸图像中的待识别人脸特征并生成待识别人脸特征向量,以用于人脸识别。
在步骤S230,基于历史底库并根据待识别人脸特征对待识别的人脸图像进行人脸识别,其中历史底库为经创建以保存已进行过人脸识别的人脸特征的底库。
在一个实施例中,可创建与平时正常进行人脸识别的正常底库相独立的一个或多个底库,并将已进行过人脸识别的人脸特征保存在这类底库中。由于这类底库是用于保存已进行过人脸识别的人脸特征(例如与正常底库类似地,保存人脸图像的人脸特征向量等),因此可以称之为历史底库。优先基于历史底库进行人脸识别,可以避免已进行过人脸识别的相同或相似图片重新在超大正常底库中重复搜索比对,从而可以大幅提高人脸识别的效率。关于历史底库的创建及其原理稍后将进一步详细描述。
在步骤S240,如果基于历史底库未获得匹配结果,则基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对待识别的人脸图像进行人脸识别。
在一个实施例中,正常底库是与历史底库相独立的底库,是在没有创建历史底库时通常用于人脸识别的底库。与历史底库相比,正常底库通常包括大量的人脸特征,例如静态超大底库通常包括一个或多个具有大量人脸特征的超大底库。因此,如果对于每一个待识别的人脸图像都在这样的超大底库中搜索比对,将是非常耗时的。
相比之下,如果将已经进行过人脸识别的人脸特征存储起来,形成历史底库,在后续的人脸识别中先在具有较少量人脸特征的历史底库中进行搜索匹配,如果找到匹配结果,将会大大提高人脸识别的效率。即使没有找到匹配结果,再基于正常底库进行人脸识别,由于历史底库相对于正常底库人脸特征量要少得多,因此基于历史底库进行人脸识别所消耗的时间也可忽略不计。
下面详细描述历史底库的创建及详细的工作过程。
在一个示例中,可以获取一个存储区域以用于创建历史底库,并将已经过人脸识别的人脸图像的人脸特征保存在其中。在另一个示例中,也可直接将已经过人脸识别的人脸图像的人脸特征存储在某存储区域形成历史底库。
当历史底库中刚刚创建尚为空时,可基于正常底库对输入的待识别人脸图像(例如称为人脸图像A)进行人脸识别,该人脸识别过程例如包括如下步骤:首先在人脸图像A中检测出人脸区域,再对人脸区域进行特征提取形成待识别人脸特征(例如,特征向量),通过与正常底库里所有目标人脸特征做数学运算获得相似度,最后根据预设条件(预设条件可以根据具体的应用场景设定,本发明不作限制)获得匹配结果,例如获得相似度超过预定阈值的目标人脸特征对应的图片,或者,获得相似度超过预定阈值的相似度排序分数最高的前k个目标人脸特征对应的k张图片,或者,获得相似度超过预定阈值的目标人脸特征对应的图片(或获得相似度排序分数最高的前k个目标人脸特征对应的k张图片)中质量指标超过预设指标的图片,诸如此类,基于所获得图片的相关属性信息从与正常底库相关联的数据库(该数据库也可与创建的历史底库相关联)中得到最终的人脸识别结果(例如,该待识别人脸图像中的人脸对应的底库中存储的图片、该人脸对应的用户信息等)。或者,也可能基于正常底库没有获得匹配的图片,从而人脸识别结果为没有匹配结果。不管人脸识别结果如何,人脸图像A已进行过人脸识别,将人脸图像A的人脸特征添加到历史底库中,并将其对应的人脸识别的结果保存在数据库的检索历史表中,作为检索历史。
基于此,将该已进行过人脸识别的人脸图像A的人脸特征保存在历史底库中,下次进行人脸图像B的人脸识别时,可先在历史底库中进行搜索匹配,如果人脸图像B的待识别人脸特征与历史底库中的人脸图像A的人脸特征匹配,即人脸图像B与人脸图像A相同或相似,那么无需在正常底库中重新搜索匹配,而是直接可以在历史底库对应的数据库的检索历史表中获取人脸图像B的人脸识别结果(即人脸图像A的人脸识别结果)。如果人脸图像B与历史底库中的人脸图像A不匹配,再基于正常底库对人脸图像B进行识别,将人脸图像B的人脸特征添加至历史底库,并将对人脸图像B进行人脸识别的最终的识别结果保存在所述数据库中的检索历史表中。
类似地,人脸图像B已进行过人脸识别(不管是基于历史底库或者基于正常底库,且不管最终有无匹配结果),可将其人脸特征添加在历史底库中,用于下一次的人脸识别,以此类推。随着历史底库中人脸图像数量的增加,在历史底库中搜索得到匹配结果的概率增加,可越来越多地避免在正常底库中的重复搜索,从而显著提高人脸识别的效率。
在一个示例中,在历史底库中的人脸特征的数量较少时,可以将每次进行人脸识别的待识别人脸特征都添加在历史底库中,而不管在历史底库中是否有匹配结果。此外,添加的步骤可以在获得人脸识别结果之后,也可以在获得人脸识别结果之前,甚至在一获取待识别的人脸特征就将其添加到历史底库中,因为它已作为待识别人脸特征,定会进行识别。换言之,将已经进行过人脸识别的人脸特征添加到历史底库中也可理解为将每次获取的待识别人脸特征添加到历史底库中,何时添加不作限制。
在另一个示例中,在历史底库中的人脸特征的数量已经比较庞大(例如达到某阈值)时,可不再将接下来待识别人脸特征添加在其中,而基于先前添加的已经进行过人脸识别的人脸特征即可,因为历史底库中人脸特征的数量已经足够多,即使优先基于历史底库的搜索识别效率可能也无法再继续提高。当然,通常情况下,历史底库中的人脸特征的数量还是远远小于正常底库,因为正常底库通常都是包括极大数量图片的超大库。
此外,为了避免历史底库中的人脸特征的数量过大,可以有选择性地添加接下来的待识别人脸特征。例如,如果历史底库中有与待识别人脸特征匹配的结果,则可不将该待识别人脸特征添加在其中;反之,如果历史底库中没有与待识别人脸特征匹配的结果,则可以将该待识别人脸特征添加在其中。
基于上面的描述,根据本发明实施例的人脸识别方法通过创建保存已进行过人脸识别的人脸特征的历史底库,作为人脸识别过程所优先选择的底库,可以避免已进行过人脸识别的相同或相似图片重新在超大正常底库中重复搜索比对,从而可以大幅提高人脸识别的效率。
根据本发明实施例,历史底库中还可以包括与各人脸图像相关联的标注信息,所述标注信息有助于对人脸识别结果的筛选和/或判断。在一个示例中,当将已进行过人脸识别的人脸特征添加到历史底库中时,可同时添加该人脸特征的标注信息。在一个示例中,标注信息诸如人脸图像所对应的人员的基本信息等。在其他示例中,标注信息还可以包括任何其他有助于对人脸识别结果的筛选和/或判断的信息。例如,当基于历史底库进行人脸识别并返回人脸识别结果后,用户可基于与人脸识别结果相对应的人脸图像的标注信息判断该人脸识别结果是否正确,或者从多个人脸识别结果中筛选出正确的结果。
进一步地,所述标注信息在用于对人脸识别结果进行筛选和/或判断之后能够被更新。例如,当用户基于标注信息对人脸识别结果进行筛选和/或判断之后,发现原标注信息不够准确或错误,可以通过用户输入(或发出用户指令)对标注信息进行更新,例如添加更多的标注信息,或者替换之前的标注信息等。此外,如果是基于正常底库进行人脸识别得到人脸识别结果,用户通过筛选和/或判断后也可以对本次进行人脸识别的人脸特征添加标注信息,使该人脸特征连同其标注信息一起添加到历史底库。将本次进行人脸识别的人脸特征(或连同其标注信息)添加到历史底库的操作可以自动进行,也可以基于用户指令进行。
根据本发明实施例,所述标注信息还作为判断历史底库中的人脸图像与待识别的人脸图像是否匹配的附加条件。如前所述,当进行人脸识别时,根据预设条件来获得最终的匹配结果。预设条件可以根据具体的应用场景设定,例如对于人脸识别结构要求较高的场景(例如涉及信息安全方面),则需要设置较高的相似度阈值。除此以外,还可以设置其他预设条件,例如质量和/或数量限制。例如,设置匹配结果不超过预定数量k,则可在超过相似度阈值的图片中选择k张图片作为匹配结果,当然,如果超过相似度阈值的图片一共不超过k张,则可直接将所有超过相似度阈值的图片作为匹配结果。又如,设置匹配结果的图片质量需达到预定标准(例如达到预定分辨率),则可在超过相似度阈值的图片中选择达到预定分辨率的图片作为匹配结果。根据不同的应用场景,还可设置其他预设条件。这些预设条件可以单独或组合应用。其中,上述标注信息也可作为其中附加的预设条件。例如,设置匹配结果的图片中的人员需为男性(或女性),则可在超过相似度阈值的图片中选择标注信息为男性(或女性)的图片作为匹配结果。当然,这仅是一个示例,还可以基于标注信息设置其他条件。
基于上面的描述,根据本发明实施例的人脸识别方法通过创建保存已进行过人脸识别的人脸特征的历史底库,作为人脸识别过程所优先选择的底库,可以避免已进行过人脸识别的相同或相似图片重新在超大正常底库中重复搜索比对,从而可以大幅提高人脸识别的效率,此外,添加标注信息可以进一步提高人脸识别的准确率。
在一个实施例中,步骤S230中的基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别的步骤可以进一步包括:步骤S231(未在图2中示出),将所述待识别人脸特征与所述历史底库中的人脸特征进行匹配;以及步骤S232(未在图2中示出),在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,从数据库的历史检索表中获得匹配的人脸识别信息。
在步骤S231中,可以使用与上文类似的比对方法将待识别人脸特征与历史底库中的人脸进行匹配。在步骤S232中,当根据预设条件,在历史底库中获得了匹配的人脸特征的情况下,可以从所述数据库的历史检索表中获得匹配的人脸识别信息。
在历史底库中,每个存储在历史底库中的人脸特征都由一个索引标识指示,并且,数据库中的历史检索表中的每条人脸识别信息也由指示历史底库中对应的人脸特征的索引标识指示,所述步骤S232可以进一步包括:获得指示所述匹配的人脸特征的匹配索引标识;以及根据所述匹配索引标识,在所述历史检索表中检索所述匹配索引标识指示的人脸识别信息以作为所述匹配的人脸识别信息。
例如,在历史底库中存储的人脸特征F1,F2……Fn,每个人脸特征分别由一个索引标识指示,例如,IN1,IN2,……INn,并且,数据库中的历史检索表中的每条人脸识别信息也由指示历史底库中对应的人脸特征的索引标识指示,例如人脸识别信息R1,R2,……Rn分别由对应的索引标识指示IN1,IN2,……INn所指示。当在步骤S231中获得了匹配的人脸特征Fi的情况下,可以获得在历史底库中指示Fi的匹配索引标识INi,根据获得的匹配索引标识INi,在历史检索表中检索该匹配索引标识INi所指示的人脸识别信息Ri,并将人脸识别信息Ri作为匹配的人脸识别信息。
在一个实施例中,在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,还可以将所述待识别人脸特征添加到所述历史底库;获得指示所述添加的待识别人脸特征信息的添加索引标识;以及在所述历史检索表中,将所述添加索引标识指示的人脸识别信息设置为所述匹配索引标识指示的人脸识别信息。
例如,在步骤S231获得了匹配的人脸特征Fi和对应的人脸识别信息Ri的情况下,可以将所述待识别人脸特征Fadd添加到所述历史底库,并在历史底库中为该添加的述待识别人脸特征Fadd设置添加索引标识INadd。在历史检索表中,为该新添加的待识别人脸特征Fadd添加对应的人脸识别信息。具体地,可以将对应的人脸识别信息在历史检索表中的索引标识设置为添加索引标识INadd,并将该添加索引标识INadd指示的人脸识别信息设置为所述匹配索引标识指示的人脸识别信息Ri,从而,下一次如果对人脸特征Fadd进行人脸识别,可以得到对应的人脸识别信息Ri。
在一个实施例中,所述数据库中除了包括与历史底库对应的历史检索表之外,还包括与正常底库对应的第二数据表。该第二数据表中存储的是正常底库中的人脸特征对应的人脸识别信息。
步骤S240中,基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别的步骤还可以包括:步骤S241(未在图2中示出),将所述待识别人脸特征与所述正常底库中的人脸特征进行匹配;以及步骤S242(未在图2中示出),在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,从所述数据库的第二数据表中获得匹配的人脸识别信息。
在步骤S241中,可以使用与上文类似的比对方法将待识别人脸特征与正常底库中的人脸进行匹配。在步骤S242中,当根据预设条件,在正常底库中获得了匹配的人脸特征的情况下,可以从所述数据库的第二数据表中获得匹配的人脸识别信息。
在正常底库中,每个存储在正常底库中的人脸特征都由一个索引标识指示,并且,数据库中的第二数据表中的每条人脸识别信息也由指示正常底库中对应的人脸特征的索引标识指示,所述步骤S242可以进一步包括:获得指示所述匹配的人脸特征的匹配索引标识;根据所述匹配索引标识,在所述第二数据表中检索所述匹配索引标识指示的人脸识别信息,以作为所述匹配的人脸识别信息。
例如,在正常底库中存储的人脸特征f1,f2……fn,每个人脸特征分别由一个索引标识指示,例如,INDEX1,INDEX2,……INDEXn,并且,数据库中的第二数据表中的每条人脸识别信息也由指示正常底库中对应的人脸特征的索引标识指示,例如人脸识别信息r1,r2,……rn分别由对应的索引标识指示INDEX1,INDEX2,……INDEXn所指示。当在步骤S241中获得了匹配的人脸特征fi的情况下,可以获得在正常底库中指示匹配的人脸特征fi的匹配索引标识INDEXi,根据获得的匹配索引标识INDEXi,在第二数据表中检索该匹配索引标识INDEXi所指示的人脸识别信息ri,并将人脸识别信息ri作为匹配的人脸识别信息。
在一个实施例中,在基于所述历史底库未获得匹配结果的情况下,还可以将所述待识别人脸特征添加到所述历史底库中;以及将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中并关联至所述添加的待识别人脸特征。例如,可以获得指示所述添加的待识别人脸特征在所述历史底库中的添加索引标识;以及将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中,并将指示所述人脸识别信息的索引标识设置为所述指示所述添加的待识别人脸特征的添加索引标识。
例如,当在步骤S241中获得了匹配的人脸特征fi和对应的人脸识别信息ri的情况下,可以将所述待识别人脸特征Fnew添加到所述历史底库,并在历史底库中为该添加的述待识别人脸特征Fnew设置添加索引标识INnew。在历史检索表中,将所述第二数据表中获得的匹配的人脸识别信息ri存储在所述历史检索表中并关联至所述添加的待识别人脸特征Fnew。具体地,可以获得指示所述添加的待识别人脸特征Fnew在所述历史底库中的添加索引标识INnew,在历史检索表中,将指示所述人脸识别信息ri的索引标识设置为所述指示所述添加索引标识INnew,从而,下一次如果对人脸特征Fnew进行人脸识别,可以得到对应的人脸识别信息ri。
示例性地,根据本发明实施例的人脸识别方法可以在具有存储器和处理器的设备、装置或者系统中实现。
根据本发明实施例的人脸识别方法可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。替代地,根据本发明实施例的人脸识别方法还可以部署在服务器端(或云端)。替代地,根据本发明实施例的人脸识别方法还可以分布地部署在服务器端(或云端)和个人终端处。
下面结合图3描述本发明另一方面提供的人脸识别装置。图3示出了根据本发明实施例的人脸识别装置300的示意性框图。
如图3所示,根据本发明实施例的人脸识别装置300包括人脸图像获取模块310、特征提取模块320、历史底库识别模块330和正常底库识别模块340。述各个模块可分别执行上文中结合图2描述的人脸识别的方法的各个步骤/功能。以下仅对该人脸识别装置300的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
人脸图像获取模块310用于获取待识别的人脸图像。特征提取模块320用于提取所述待识别的人脸图像中的待识别人脸特征。历史底库识别模块330用于基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别,其中历史底库(未在图3中示出)可以包括在历史底库识别模块330中,历史底库为经创建以保存已进行过人脸识别的人脸特征的底库。正常底库识别模块340用于在所述历史底库识别模块330基于所述历史底库未获得匹配结果时基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别。其中,正常底库(未在图3中示出)可以包括在正常底库识别模块340中。人脸图像获取模块310、特征提取模块320、历史底库识别模块330和正常底库识别模块340均可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
根据本发明实施例,人脸图像获取模块310获取的待识别的人脸图像可以是图像采集装置所采集的人脸图像,也可以来自其他源的人脸图像。人脸图像可以是人脸图片,也可以是人脸视频等。此外,应理解,人脸图像可以是包括人脸的图像,而不仅仅是只有人脸的图像。
根据本发明实施例,可创建与平时正常进行人脸识别的正常底库相独立的一个或多个底库,并将已进行过人脸识别的人脸特征保存在这类底库中。由于这类底库是用于保存已进行过人脸识别的人脸特征(例如与正常底库类似地,保存图像的特征向量等),因此可以称之为历史底库。优先采用历史底库识别模块330基于历史底库进行人脸识别,可以避免已进行过人脸识别的相同或相似图片重新在超大正常底库中重复搜索比对,从而可以大幅提高人脸识别的效率。关于历史底库的创建及其原理请参见上述关于图2所描述的人脸识别方法的描述,为了简洁,此处不再赘述。
根据本发明实施例,正常底库是与历史底库相独立的底库,是在没有创建历史底库时通常用于人脸识别的底库。与历史底库相比,正常底库通常包括大量的人脸特征,例如静态超大底库通常包括一个或多个具有大量人脸特征的超大底库。因此,如果对于每一个待识别的人脸特征都在这样的超大底库中搜索比对,将是非常耗时的。
相比之下,如果将已经进行过人脸识别的人脸特征存储起来,形成历史底库,在后续的人脸识别中先采用历史底库识别模块330在具有较少量人脸特征的历史底库中进行搜索匹配,如果找到匹配结果,将会大大提高人脸识别的效率。即使没有找到匹配结果,再采用正常底库识别模块340基于正常底库进行人脸识别,由于历史底库相对于正常底库的人脸特征量要少得多,因此基于历史底库进行人脸识别所消耗的时间也可忽略不计。
根据本发明实施例,历史底库中还可以包括与各人脸图像相关联的标注信息,所述标注信息有助于对人脸识别结果的筛选和/或判断。在一个示例中,当将已进行过人脸识别的人脸特征添加到历史底库中时,可同时添加该人脸特征的标注信息。在一个示例中,标注信息诸如人脸图像所对应的人员的基本信息等。在其他示例中,标注信息还可以包括任何其他有助于对人脸识别结果的筛选和/或判断的信息。例如,当历史底库识别模块330基于历史底库进行人脸识别并返回人脸识别结果后,用户可基于与人脸识别结果相对应的人脸图像的标注信息判断该人脸识别结果是否正确,或者从多个人脸识别结果中筛选出正确的结果。
进一步地,所述标注信息在用于对人脸识别结果进行筛选和/或判断之后能够被更新。例如,当用户基于标注信息对人脸识别结果进行筛选和/或判断之后,发现原标注信息不够准确或错误,可以基于通过用户输入(或发出用户指令)对标注信息进行更新,例如添加更多的标注信息,或者替换之前的标注信息等。此外,如果是基于正常底库进行人脸识别得到人脸识别结果,用户通过筛选和/或判断后也可以对本次进行人脸识别的人脸特征添加标注信息,使该人脸特征连同其标注信息一起添加到历史底库。将本次进行人脸识别的人脸特征(或连同其标注信息)添加到历史底库的操作可以自动进行,也可以基于用户指令进行。在一个实施例中,人脸识别装置300可包括人脸特征添加模块(未在图3中示出),其可基于用户指令和/或自动将待识别人脸特征(或者称为本次进行人脸识别的人脸特征)和/或连同其相关联的标注信息一起添加到历史底库。
在一个示例中,在历史底库中图片的数量较少时,人脸特征添加模块可以将每次进行人脸识别的待识别人脸特征都添加在历史底库中,而不管在历史底库中是否有匹配结果。
在另一个示例中,在历史底库中人脸特征的数量已经比较庞大(例如达到某阈值)时,人脸特征添加模块可不再将接下来待识别的人脸特征添加在其中,而基于先前添加的已经进行过人脸识别的人脸特征即可,因为历史底库中人脸特征的数量已经足够多,即使优先基于历史底库的搜索识别效率可能也无法再继续提高。
此外,为了避免历史底库中人脸特征的数量过大,人脸特征添加模块可以有选择性地添加接下来待识别的人脸特征。例如,如果历史底库中有与待识别人脸特征匹配的结果,则人脸特征添加模块可不将该待识别的人脸特征添加在其中;反之,如果历史底库中没有与待识别人脸特征匹配的结果,则人脸特征添加模块可以将该待识别人脸特征添加在其中。在下文中,将结合具体实施例,详细描述人脸特征添加模块的操作。
根据本发明实施例,所述标注信息还作为判断历史底库中的人脸图像与待识别的人脸图像是否匹配的附加条件。如前所述,当历史底库识别模块330进行人脸识别时,根据预设条件来获得最终的匹配结果。预设条件可以根据具体的应用场景设定,例如对于人脸识别结构要求较高的场景(例如涉及信息安全方面),则需要设置较高的相似度阈值。除此以外,还可以设置其他预设条件,例如质量和/或数量限制。例如,设置匹配结果不超过预定数量k,则可在超过相似度阈值的图片中选择k张图片作为匹配结果,当然,如果超过相似度阈值的图片一共不超过k张,则可直接将所有超过相似度阈值的图片作为匹配结果。又如,设置匹配结果的图片质量需达到预定标准(例如达到预定分辨率),则可在超过相似度阈值的图片中选择达到预定分辨率的图片作为匹配结果。根据不同的应用场景,还可设置其他预设条件。这些预设条件可以单独或组合应用。其中,上述标注信息也可作为其中附加的预设条件。例如,设置匹配结果的图片中的人员需为男性(或女性),则历史底库识别模块330可在超过相似度阈值的图片中选择标注信息为男性(或女性)的图片作为匹配结果。当然,这仅是一个示例,还可以基于标注信息设置其他条件。
基于上面的描述,根据本发明实施例的人脸识别装置通过创建保存已进行过人脸识别的人脸特征的历史底库,作为人脸识别过程所优先选择的底库,可以避免已进行过人脸识别的相同或相似图片重新在超大正常底库中重复搜索比对,从而可以大幅提高人脸识别的效率,此外,添加标注信息可以进一步提高人脸识别的准确率。
在一个实施例中,所述人脸识别装置300还包括数据库(未在图3中示出),所述数据库包括与历史底库对应的历史检索表和与正常底库对应的第二数据表。其中,所述历史底库识别模块330将所述待识别人脸特征与所述历史底库中的人脸特征进行匹配,并且,在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,从所述数据库的历史检索表中获得匹配的人脸识别信息。
在历史底库中,每个人脸特征由一个索引标识指示,并且,数据库中的历史检索表中的每条人脸识别信息也由指示历史底库中对应的人脸特征的索引标识指示。在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,所述历史底库识别模块330获得指示所述匹配的人脸特征的匹配索引标识,并根据所述匹配索引标识,在所述历史检索表中检索所述匹配索引标识指示的人脸识别信息以作为所述匹配的人脸识别信息。
如上文所述,所述人脸识别装置300还包括人脸特征添加模块(未在图3中示出)。在一个实施例中,所述人脸特征添加模块用于在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,将所述待识别人脸特征添加到所述历史底库,获得指示所述添加的待识别人脸特征信息的添加索引标识,并且,在所述历史检索表中,将所述添加索引标识指示的人脸识别信息设置为所述匹配索引标识指示的人脸识别信息。
在一个实施例中,所述正常底库识别模块340将所述待识别人脸特征与所述正常底库中的人脸特征进行匹配,并且,在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,从所述数据库的第二数据表中获得匹配的人脸识别信息。
在正常底库中,每个存储在正常底库中的人脸特征由一个索引标识指示,并且,数据库中的第二数据表中的每条人脸识别信息也由指示正常底库中对应的人脸特征的索引标识指示,所述在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,所述正常底库识别模块340获得指示所述匹配的人脸特征的匹配索引标识,并且,根据所述匹配索引标识,在所述第二数据表中检索所述匹配索引标识指示的人脸识别信息,以作为所述匹配的人脸识别信息。
在基于所述历史底库未获得匹配结果的情况下,所述人脸特征添加模块可以将所述待识别人脸特征添加到所述历史底库中,并且,将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中并关联至所述添加的待识别人脸特征。例如,所述人脸特征添加模块获得指示所述添加的待识别人脸特征在所述历史底库中的添加索引标识,并且,将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中,并将指示所述人脸识别信息的索引标识设置为所述指示所述添加的待识别人脸特征的添加索引标识。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
图4示出了根据本发明实施例的人脸识别系统400的示意性框图。人脸识别系统400包括存储装置410以及处理器420。
其中,存储装置410存储用于实现根据本发明实施例的人脸识别方法中的相应步骤的程序代码。处理器420用于运行存储装置410中存储的程序代码,以执行根据本发明实施例的人脸识别方法的相应步骤,并且用于实现根据本发明实施例的人脸识别装置中的相应模块。此外,人脸识别系统400还可以包括图像采集装置(未在图4中示出),其可以用于采集人脸图像。当然,图像采集装置不是必需的,可直接接收来自其他源的人脸图像的输入。
在一个实施例中,在所述程序代码被处理器420运行时使得人脸识别系统400执行以下步骤:获取待识别的人脸图像;提取所述待识别的人脸图像中的待识别人脸特征;基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别,其中所述历史底库为经创建以保存已进行过人脸识别的人脸特征的底库;以及如果基于所述历史底库未获得匹配结果,则基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别。
在一个实施例中,在所述程序代码被处理器420运行时还使得人脸识别系统400执行以下步骤:将所述待识别人脸特征添加到所述历史底库中。
在一个实施例中,所述历史底库中还包括与各人脸图像相关联的标注信息,所述标注信息有助于对人脸识别结果的筛选和/或判断。
在一个实施例中,所述标注信息在用于对人脸识别结果进行筛选和/或判断之后能够被更新。
在一个实施例中,所述标注信息还作为判断历史底库中的人脸特征与所述待识别人脸特征是否匹配的附加条件。
在一个实施例中,在将所述待识别人脸特征添加到所述历史底库中时,向所述待识别人脸特征添加相关联的标注信息。
在一个实施例中,所述程序代码被处理器420运行时使得人脸识别系统400执行的基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别的步骤包括:将所述待识别人脸特征与所述历史底库中的人脸特征进行匹配;以及在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,从数据库的历史检索表中获得匹配的人脸识别信息。
在一个实施例中,所述历史底库中的每个人脸特征由一个索引标识指示,并且,所述历史检索表中的每条人脸识别信息也由指示历史底库中对应的人脸特征的索引标识指示,所述在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,所述程序代码被处理器420运行时使得人脸识别系统400执行的从数据库的历史检索表中获得匹配的人脸识别信息的步骤包括:获得指示所述匹配的人脸特征的匹配索引标识;以及根据所述匹配索引标识,在所述历史检索表中检索所述匹配索引标识指示的人脸识别信息以作为所述匹配的人脸识别信息。
在一个实施例中,在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,所述程序代码被处理器420运行时还使得人脸识别系统400执行步骤:将所述待识别人脸特征添加到所述历史底库;获得指示所述添加的待识别人脸特征信息的添加索引标识;以及在所述历史检索表中,将所述添加索引标识指示的人脸识别信息设置为所述匹配索引标识指示的人脸识别信息。
在一个实施例中,所述程序代码被处理器420运行时使得人脸识别系统400执行的基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别的步骤包括:将所述待识别人脸特征与所述正常底库中的人脸特征进行匹配;以及在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,从所述数据库的第二数据表中获得匹配的人脸识别信息。
在一个实施例中,所述正常底库中的每个人脸特征由一个索引标识指示,并且,所述第二数据表中的每条人脸识别信息也由指示正常底库中对应的人脸特征的索引标识指示,在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,所述程序代码被处理器420运行时使得人脸识别系统400执行的从数据库的第二数据表中获得匹配的人脸识别信息的步骤包括:获得指示所述匹配的人脸特征的匹配索引标识;根据所述匹配索引标识,在所述第二数据表中检索所述匹配索引标识指示的人脸识别信息,以作为所述匹配的人脸识别信息。
在一个实施例中,在基于所述历史底库未获得匹配结果的情况下,所述程序代码被处理器420运行时还使得人脸识别系统400执行步骤:将所述待识别人脸特征添加到所述历史底库中;以及将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中并关联至所述添加的待识别人脸特征。
在一个实施例中,所述程序代码被处理器420运行时使得人脸识别系统400执行的所述将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中并关联至所述添加的待识别人脸特征的步骤包括:获得指示所述添加的待识别人脸特征在所述历史底库中的添加索引标识;以及将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中,并将指示所述人脸识别信息的索引标识设置为所述指示所述添加的待识别人脸特征的添加索引标识。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的人脸识别方法的相应步骤,并且用于实现根据本发明实施例的人脸识别装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含获取待识别的人脸图像的计算机可读的程序代码,另一个计算机可读存储介质包含提取所述待识别的人脸图像中的待识别人脸特征的计算机可读的程序代码,又一个计算机可读存储介质包含基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别的计算机可读的程序代码,再一个计算机可读存储介质包含基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别的计算机可读的程序代码。
在一个实施例中,所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的人脸识别装置的各个功能模块,并且/或者可以执行根据本发明实施例的人脸识别方法。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行以下步骤:获取待识别的人脸图像;提取所述待识别的人脸图像中的待识别人脸特征;基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别,其中所述历史底库为经创建以保存已进行过人脸识别的人脸特征的底库;以及如果基于所述历史底库未获得匹配结果,则基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行以下步骤:将所述待识别人脸特征添加到所述历史底库中。
在一个实施例中,所述历史底库中还包括与各人脸图像相关联的标注信息,所述标注信息有助于对人脸识别结果的筛选和/或判断。
在一个实施例中,所述标注信息在用于对人脸识别结果进行筛选和/或判断之后能够被更新。
在一个实施例中,所述标注信息还作为判断历史底库中的人脸特征与所述待识别人脸特征是否匹配的附加条件。
在一个实施例中,在将所述待识别人脸特征添加到所述历史底库中时,向所述待识别人脸特征添加相关联的标注信息。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的基于历史底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别的步骤包括:将所述待识别人脸特征与所述历史底库中的人脸特征进行匹配;以及在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,从数据库的历史检索表中获得匹配的人脸识别信息。
在一个实施例中,所述历史底库中的每个人脸特征由一个索引标识指示,并且,所述历史检索表中的每条人脸识别信息也由指示历史底库中对应的人脸特征的索引标识指示,所述在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的从数据库的历史检索表中获得匹配的人脸识别信息的步骤包括:获得指示所述匹配的人脸特征的匹配索引标识;以及根据所述匹配索引标识,在所述历史检索表中检索所述匹配索引标识指示的人脸识别信息以作为所述匹配的人脸识别信息。
在一个实施例中,在所述待识别人脸特征与所述历史底库中的人脸特征匹配的情况下,所述计算机程序指令在被计算机或处理器运行时还使计算机或处理器执行步骤:将所述待识别人脸特征添加到所述历史底库;获得指示所述添加的待识别人脸特征信息的添加索引标识;以及在所述历史检索表中,将所述添加索引标识指示的人脸识别信息设置为所述匹配索引标识指示的人脸识别信息。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的基于用于进行人脸识别的正常底库并根据所述待识别人脸特征对所述待识别的人脸图像进行人脸识别的步骤包括:将所述待识别人脸特征与所述正常底库中的人脸特征进行匹配;以及在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,从所述数据库的第二数据表中获得匹配的人脸识别信息。
在一个实施例中,所述正常底库中的每个人脸特征由一个索引标识指示,并且,所述第二数据表中的每条人脸识别信息也由指示正常底库中对应的人脸特征的索引标识指示,在所述待识别人脸特征与所述正常底库中的人脸特征匹配的情况下,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的从数据库的第二数据表中获得匹配的人脸识别信息的步骤包括:获得指示所述匹配的人脸特征的匹配索引标识;根据所述匹配索引标识,在所述第二数据表中检索所述匹配索引标识指示的人脸识别信息,以作为所述匹配的人脸识别信息。
在一个实施例中,在基于所述历史底库未获得匹配结果的情况下,所述计算机程序指令在被计算机或处理器运行时还使计算机或处理器执行步骤:将所述待识别人脸特征添加到所述历史底库中;以及将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中并关联至所述添加的待识别人脸特征。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中并关联至所述添加的待识别人脸特征的步骤包括:获得指示所述添加的待识别人脸特征在所述历史底库中的添加索引标识;以及将所述第二数据表中获得的匹配的人脸识别信息存储在所述历史检索表中,并将指示所述人脸识别信息的索引标识设置为所述指示所述添加的待识别人脸特征的添加索引标识。
根据本发明实施例的人脸识别装置中的各模块可以通过根据本发明实施例的人脸识别电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
根据本发明实施例的人脸识别方法、装置、系统以及存储介质通过创建保存已进行过人脸识别的人脸图像的历史底库,作为人脸识别过程所优先选择的底库,可以避免已进行过人脸识别的相同或相似图片重新在超大正常底库中重复搜索比对,从而可以大幅提高人脸识别的效率,此外,添加标注信息可以进一步提高人脸识别的准确率。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的物品分析设备中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。