一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

检索人脸图像的方法、装置、图像存储设备和存储介质与流程

2022-06-11 11:15:36 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,尤其涉及一种检索人脸图像的方法、装置、图像存储设备和存储介质。


背景技术:

2.目前,很多图像存储设备(例如网络视频录像机、视频监控管理设备和存储管理服务设备等)都具有相似人脸检索功能,当用户输入一张人脸的抓拍图后,该图像存储设备可以从已保存的所有人脸图像中检索出和该抓拍图相似的人脸图像,输出到显示界面中。
3.然而,当该图像存储设备使用的图像特征提取算法的版本变更后,后续产生的抓拍图是使用变更后的算法计算的特征值,而原有的抓拍图仍是使用未变更的算法计算的特征值,两个特征值之间不具有可比性,故此时该图像存储设备无法正常使用相似人脸检索功能。
4.针对这个问题,目前的常规方法是在该图像存储设备使用的图像特征提取算法版本变更后,对该图像存储设备保存的所有抓拍图重新使用变更后的算法计算特征值,完成特征值的更新。然而,由于该图像存储设备保存的抓拍图的数量庞大,导致完成所有图像的特征值更新操作耗时较久。


技术实现要素:

5.有鉴于此,本技术实施例提供了一种检索人脸图像的方法、装置、图像存储设备和存储介质,能够使得图像存储设备在图像特征提取算法版本变更后仍能正常提供相似人脸检索功能,且无需耗费大量时间执行图像的特征值更新操作。
6.本技术实施例的第一方面提供了一种检索人脸图像的方法,包括:
7.获取待检索人脸图像;
8.判断对所述待检索人脸图像进行图像特征提取的第一算法的版本是否与对人脸图像库中的图像进行图像特征提取的第二算法的版本匹配;
9.若所述第一算法的版本与所述第二算法的版本不匹配,则读取所述人脸图像库保存的第一最优人脸图像的特征值;其中,所述第一最优人脸图像的人脸标识与所述待检索人脸图像的人脸标识相同,对所述第一最优人脸图像进行图像特征提取的算法的版本与所述第二算法的版本匹配;
10.根据所述第一最优人脸图像的特征值,执行对所述待检索人脸图像的人脸检索输出。
11.在本技术实施例中,若检测到用户输入的待检索人脸图像对应的图像特征提取算法版本与人脸图像库中的图像对应的图像特征提取算法版本不匹配,则表示图像存储设备使用的图像特征提取算法可能已变更,而用户输入的待检索人脸图像仍然是使用原算法计算特征值,故无法直接执行特征值比较的操作。此时,图像存储设备会查找人脸标识与待检索人脸图像的人脸标识相同(人脸标识相同则表示为同一个人脸的图像)的第一最优人脸
图像,读取该第一最优人脸图像的特征值作为替代。最后,根据读取的第一最优人脸图像的特征值,执行对待检索人脸图像的人脸检索输出。在上述过程中,由于第一最优人脸图像对应的图像特征提取算法版本与人脸图像库对应的图像特征提取算法版本匹配,即第一最优人脸图像已完成特征值的更新操作,故可以正常执行图像特征值的比较操作。另外,本技术实施例只需在图像存储设备完成图像特征提取算法版本变更后,对保存的各个最优人脸图像执行特征值更新即可,基于该图像存储设备保存的最优人脸图像只是该图像存储设备保存的所有人脸图像中的一小部分,故能有效减少执行图像特征值更新操作的耗时。
12.在本技术实施例的一种实现方式中,所述第二算法为图像存储设备使用的图像特征提取算法,所述人脸图像库为所述图像存储设备具有的用于保存人脸图像的数据库,所述方法还可以包括:
13.当所述图像存储设备重启时,检测所述图像存储设备的磁盘中是否存在标志文件,所述标志文件用于指示是否执行人脸图像的特征值更新操作;
14.若所述图像存储设备的磁盘中存在所述标志文件,则使用所述第二算法分别计算并更新所述图像存储设备保存的每个最优人脸图像的特征值;其中,所述图像存储设备保存每个已知人脸标识分别对应的最优人脸图像。
15.进一步的,所述标志文件在所述第二算法的版本变更时写入所述磁盘,在所述使用所述第二算法分别计算并更新所述图像存储设备保存的每个最优人脸图像的特征值之后,还可以包括:
16.删除所述磁盘中的所述标志文件。
17.进一步的,所述图像存储设备保存的每个最优人脸图像的特征值均可以通过以下步骤完成更新:
18.使用第一线程读取所述最优人脸图像,将所述最优人脸图像转码为指定格式的图像数据,并将所述指定格式的图像数据写入第一缓存序列;
19.使用第二线程从所述第一缓存序列中读取所述指定格式的图像数据,使用所述第二算法对所述指定格式的图像数据进行计算,得到更新的特征值,并将所述更新的特征值写入第二缓存序列;
20.使用第三线程从所述第二缓存序列中读取所述更新的特征值,并将所述更新的特征值写入指定数据库。
21.进一步的,在检测所述图像存储设备的磁盘中是否存在标志文件之后,还可以包括:
22.若所述图像存储设备的磁盘中存在所述标志文件,则使用所述第二算法分别计算并更新用户人脸库中保存的每个人脸图像的特征值;其中,所述用户人脸库为所述图像存储设备保存的所有人脸图像中,由用户选取的一部分人脸图像所构成的人脸图像集合。
23.更进一步的,所述方法还可以包括:
24.获取待入库人脸图像;
25.判断对所述待入库人脸图像进行图像特征提取的第三算法的版本是否与所述第二算法的版本匹配;
26.若所述第三算法的版本与所述第二算法的版本不匹配,则使用所述第二算法计算并更新所述待入库人脸图像的特征值,然后将所述待入库人脸图像存入所述用户人脸库。
27.在本技术实施例的一种实现方式中,所述根据所述第一最优人脸图像的特征值,执行对所述待检索人脸图像的人脸检索输出,可以包括:
28.将所述第一最优人脸图像的特征值分别和所述人脸图像库保存的每个最优人脸图像的特征值进行匹配,得到特征值匹配结果;
29.根据所述特征值匹配结果,从所述人脸图像库保存的所有最优人脸图像中确定与所述第一最优人脸图像相似的第二最优人脸图像;
30.将所述人脸图像库保存的人脸标识与所述第二最优人脸图像的人脸标识相同的所有人脸图像输出,以及将所述人脸图像库保存的人脸标识与所述待检索人脸图像的人脸标识相同的所有人脸图像输出。
31.本技术实施例的第二方面提供了一种检索人脸图像的装置,包括:
32.待检索人脸图像获取模块,用于获取待检索人脸图像;
33.第一算法版本判断模块,用于判断对所述待检索人脸图像进行图像特征提取的第一算法的版本是否与对人脸图像库中的图像进行图像特征提取的第二算法的版本匹配;
34.特征值读取模块,用于若所述第一算法的版本与所述第二算法的版本不匹配,则读取所述人脸图像库保存的第一最优人脸图像的特征值;其中,所述第一最优人脸图像的人脸标识与所述待检索人脸图像的人脸标识相同,对所述第一最优人脸图像进行图像特征提取的算法的版本与所述第二算法的版本匹配;
35.人脸检索模块,用于根据所述第一最优人脸图像的特征值,执行对所述待检索人脸图像的人脸检索输出。
36.本技术实施例的第三方面提供了一种图像存储设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本技术实施例的第一方面提供的检索人脸图像的方法。
37.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本技术实施例的第一方面提供的检索人脸图像的方法。
38.本技术实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在图像存储设备上运行时,使得图像存储设备执行本技术实施例的第一方面所述的检索人脸图像的方法。
39.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
40.图1是本技术实施例提供的一种检索人脸图像的方法的流程图;
41.图2是本技术实施例提供的一种使用多线程方式更新人脸图像特征值的操作示意图;
42.图3是本技术实施例提供的一种特征值更新的流程示意图;
43.图4是本技术实施例提供的一种人脸图像入库操作的流程示意图;
44.图5是本技术实施例提供的一种检索人脸图像的装置的结构图;
45.图6是本技术实施例提供的一种图像存储设备的示意图。
具体实施方式
46.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
47.对于网络视频录像机、视频监控管理设备和存储管理服务设备等图像存储设备,其使用的图像特征提取算法会不定时变更,当算法变更(包括算法版本的升级或回退)后,后续产生的抓拍图是使用变更后的算法计算的特征值,而原有的抓拍图仍是使用未变更的算法计算的特征值,两类特征值无法直接进行比较,这会导致该图像存储设备无法正常提供相似人脸检索的功能。上述问题具体体现于:若用户选择的待检索图像是原有的抓拍图,则图像存储设备会提示算法版本不同,无法执行相似人脸检索;若用户选择的待检索图像是后续产生的抓拍图,则图像存储设备保存的原有抓拍图无法作为检索结果展示。
48.针对上述问题,本技术实施例提出一种检索人脸图像的方法,能够使得该图像存储设备在图像特征提取算法版本升级后仍能正常提供相似人脸检索功能,且无需耗费大量时间执行图像的特征值更新操作。
49.应当理解,本技术实施例提供的检索人脸图像的方法的执行主体可以是网络视频录像机、视频监控管理设备、存储管理服务设备或者其它具有相似人脸检索功能的图像存储设备,本技术实施例对该图像存储设备的具体类型不作任何限制。
50.请参阅图1,示出了本技术实施例提供的一种检索人脸图像的方法,包括:
51.101、获取待检索人脸图像;
52.首先,获取待检索人脸图像。待检索人脸图像是用户选取的待执行相似人脸检索的图像,也即需要检索出图像存储设备已保存的与待检索人脸图像相似的人脸图像。具体的,用户可以在图像存储设备上进行操作,选取一张新产生的抓拍图作为待检索人脸图像,或者选取图像存储设备已保存的一张原始抓拍图作为待检索人脸图像。
53.102、判断对所述待检索人脸图像进行图像特征提取的第一算法的版本是否与对人脸图像库中的图像进行图像特征提取的第二算法的版本匹配;
54.在获取待检索人脸图像之后,判断对待检索人脸图像进行图像特征提取的第一算法版本是否与对人脸图像库中的图像进行图像特征提取的第二算法的版本匹配。这里的人脸图像库可以是图像存储设备具有的用于保存人脸图像的数据库,因此第二算法可以是图像存储设备使用的图像特征提取算法。也即,检测计算待检索人脸图像的特征值时所采用的算法是否和图像存储设备当前使用的计算人脸图像特征值的算法相同。示例性的,若图像存储设备已经完成了图像特征提取算法的变更,而待检索人脸图像是图像存储设备完成算法变更之前拍摄到的抓拍图,则会出现算法版本不匹配的结果;若图像存储设备已经完成了图像特征提取算法的变更,而待检索人脸图像是图像存储设备完成算法变更之后拍摄到的抓拍图,则会出现算法版本匹配的结果;若图像存储设备没有变更图像特征提取算法,则会出现算法版本匹配的结果。
55.若所述第一算法版本与所述第二算法版本不匹配,则执行步骤103-104,否则执行
步骤105。
56.103、读取所述人脸图像库保存的第一最优人脸图像的特征值;
57.待检索人脸图像对应的图像特征提取算法版本与图像存储设备使用的图像特征提取算法版本不匹配,故无法直接使用待检索人脸图像的特征值进行比较,此时图像存储设备会从人脸图像库已保存的所有最优人脸图像中查找人脸标识与待检索人脸图像相同的第一最优人脸图像,并读取该第一最优人脸图像的特征值进行替换。
58.其中,该图像存储设备可以保存每个已知人脸标识分别对应的最优人脸图像,且令每个最优人脸图像对应的图像特征提取算法版本均与图像存储设备使用的图像特征提取算法版本匹配。图像存储设备保存的每个人脸图像(包含最优人脸图像)都会有一个人脸标识(face_id)与之对应,用于表示对应的人脸,同一个人脸标识下可能会有多张人脸图像,例如人脸标识“张三”的人脸图像可能有很多张,而这些人脸图像的身份都是“张三”。图像存储设备针对每个人脸标识下的所有人脸图像,都可以从中选取出一张图像质量最好,最能表示人脸特征的图像作为该人脸标识下的最优人脸图像。例如,图像存储设备保存有100张“张三”的人脸图像和200张“李四”的人脸图像,则会从100张“张三”的人脸图像中选择一张图像质量最好,最能表示张三人脸特征的图像,作为人脸标识“张三”的最优人脸图像;从200张“李四”的人脸图像中选择一张图像质量最好,最能表示李四人脸特征的图像,作为人脸标识“李四”的最优人脸图像,以此类推。
59.本技术实施例要求图像存储设备保存的所有最优人脸图像对应的图像特征提取算法版本均与图像存储设备使用的图像特征提取算法版本匹配,在实际操作中,只需在图像存储设备完成图像特征提取算法版本变更后,对保存的所有最优人脸图像执行特征值更新即可。由于图像存储设备保存的最优人脸图像只是该图像存储设备保存的所有人脸图像中的一小部分,假设平均每个人脸标识都具有100张人脸图像(其中1张为最优人脸图像),则最优人脸图像的数量只占图像存储设备保存的所有人脸图像的1%,因此更新图像存储设备保存的所有最优人脸图像的特征值无需耗费大量时间。
60.图像存储设备会从已保存的所有最优人脸图像中查找人脸标识与待检索人脸图像相同的第一最优人脸图像,例如,若待检索人脸图像的人脸标识是“李四”,则图像存储设备会查找人脸标识“李四”的最优人脸图像,这里用第一最优人脸图像表示,后续可以使用“李四”的最优人脸图像的特征值和其它人脸标识的最优人脸图像的特征值进行比较,从而找出与“李四”相似的其它最优人脸图像。
61.在本技术实施例的一种实现方式中,所述方法还可以包括:
62.(1)当所述图像存储设备重启时,检测所述图像存储设备的磁盘中是否存在标志文件,所述标志文件用于指示是否执行人脸图像的特征值更新操作;
63.(2)若所述图像存储设备的磁盘中存在所述标志文件,则使用所述第二算法分别计算并更新所述图像存储设备保存的每个最优人脸图像的特征值;其中,所述图像存储设备保存每个已知人脸标识分别对应的最优人脸图像。
64.为了确保图像存储设备保存的所有最优人脸图像对应的图像特征提取算法版本均与图像存储设备使用的图像特征提取算法版本匹配,在图像存储设备每次重启时,可以检测该图像存储设备的磁盘中知否存在一个标志文件;若存在该标志文件,则表示图像存储设备使用的图像特征提取算法(即第二算法)的版本已变更且未完成人脸图像的特征值
更新操作,故需要使用第二算法(这里指版本变更后的第二算法)分别计算并更新图像存储设备保存的每个最优人脸图像的特征值。
65.进一步的,所述标志文件在所述第二算法的版本变更时写入所述磁盘,在所述使用所述第二算法分别计算并更新所述图像存储设备保存的每个最优人脸图像的特征值之后,还可以包括:
66.删除所述磁盘中的所述标志文件。
67.图像存储设备可以在每次变更图像特征提取算法后,往磁盘写入一个标志文件,用于判断是否需要执行最优人脸图像的特征值更新操作。当图像存储设备每次开机时,会读取该磁盘中是否存在该标志文件,若存在则表示图像存储设备使用的图像特征提取算法版本已变更,需要执行最优人脸图像的特征值更新操作。若不存在则表示图像存储设备使用的图像特征提取算法版本没有变更或者最优人脸图像的特征值更新操作已完成(更新操作完成后会删除标志文件),此时无需执行最优人脸图像的特征值更新操作。
68.在实际操作中,图像存储设备的重启通常包含以下三类情况:
69.(a)图像存储设备升级完图像特征提取算法后的自动重启;
70.(b)最优人脸图像的特征值更新操作尚未完成,图像存储设备断电重启或者用户手动重启;
71.(c)图像存储设备正常情况的重启。
72.针对情况(a)和(b),图像存储设备在重启后,会检测到磁盘中存在标志文件(图像存储设备的图像特征提取算法已变更,而最优人脸图像的特征值尚未完成更新),因此进入最优人脸图像的特征值更新流程,待该更新流程结束后,再删除磁盘中的标志文件。针对情况(c),最优人脸图像的特征值更新操作已完成,磁盘中的标志文件已删除,因此图像存储设备不会进入最优人脸图像的特征值更新流程。
73.在本技术实施例的一种实现方式中,所述图像存储设备保存的每个最优人脸图像的特征值均可以通过以下步骤完成更新:
74.(1)使用第一线程读取所述最优人脸图像,将所述最优人脸图像转码为指定格式的图像数据,并将所述指定格式的图像数据写入第一缓存序列;
75.(2)使用第二线程从所述第一缓存序列中读取所述指定格式的图像数据,使用所述第二算法对所述指定格式的图像数据进行计算,得到更新的特征值,并将所述更新的特征值写入第二缓存序列;
76.(3)使用第三线程从所述第二缓存序列中读取所述更新的特征值,并将所述更新的特征值写入指定数据库。
77.更新一张人脸图像的特征值的操作可以分为3个阶段:(1)读取人脸图像,将其转换为指定格式的图像数据,例如rgb数据或者yuv数据,便于后续的图像特征提取算法进行处理;(2)使用更新的图像特征提取算法(即版本变更后的第二算法)对该指定格式的图像数据进行计算,得到更新的特征值;(3)将更新的特征值写入指定数据库,更新索引中的特征值版本。为了提高处理效率,本技术实施例将上述3个阶段拆分为3个线程进行处理。具体的,需要使用到第一线程、第二线程和第三线程共3个线程,以及第一缓存序列和第二缓存序列共2个缓存序列。首先,由第一线程(可称作读图转码线程)将待处理的人脸图像读出后进行转码,转换为yuv等指定格式的图像数据,然后将该指定格式的图像数据写入第一缓存
序列;接着,由第二线程(可称作算法线程)从该第一缓存序列中读取该指定格式的图像数据,然后使用图像存储设备变更后的图像特征提取算法进行计算,得到更新的特征值,并将该更新的特征值写入第二缓存序列;最后,由第三线程(可称作写特征值线程)从该第二缓存序列中读取该更新的特征值,并将其写入指定数据库进行保存,这个过程的操作示意图如图2所示。与传统的单线程处理方式相比,采用这种三个线程共同处理的方式,能够有效提高数据处理效率,缩短整个特征值更新操作的耗时。
78.另外,为了进一步提升数据处理效率。两个缓存序列在初始化时可以一次性申请固定大小的内存,在数据读写时采取循环读写的方式,避免重复申请释放内存造成的额外时间消耗。两个缓存序列在数据读写时都需要上锁,以保证数据的同步性。除此之外,三个线程之间也需要一些全局变量来进行信息交流(比如读图转码线程要告知其它两个线程需要更新特征值的人脸图像数量,其它两个线程才能在更新完特征值后及时退出)。除此之外,要尽量保证第一缓存序列非空,第二缓存序列非满,这样才能最大程度地让算法线程满载,以减少特征值更新操作的总耗时。
79.在本技术实施例的一种实现方式中,在检测所述图像存储设备的磁盘中是否存在标志文件之后,还可以包括:
80.若所述图像存储设备的磁盘中存在所述标志文件,则使用所述第二算法分别计算并更新用户人脸库中保存的每个人脸图像的特征值;其中,所述用户人脸库为所述图像存储设备保存的所有人脸图像中,由用户选取的一部分人脸图像所构成的人脸图像集合。
81.除了相似人脸检索功能之外,该图像存储设备通常还具备用户人脸库的实时比对功能。用户人脸库是用户手动添加的一部分人脸图像的集合,可以理解为用户关注的一部分人脸。图像存储设备在开启用户人脸库的实时比对功能时,对于新产生的抓拍图,可以从用户人脸库中检索出相似的人脸图像,实时显示在监控页面上,如果相似的人脸图像为用户加入黑名单的人脸,则图像存储设备可以执行报警操作。图像存储设备存储的所有人脸图像可以放到一个总的数据库(例如前文所述的人脸图像库)中,用户可以从这些人脸图像中挑选出一部分自己重点关注的人脸图像,转存到用户人脸库中,这个操作可以称作人脸图像的入库操作;反之,用户也可以移除用户人脸库中的人脸图像,这个操作可以称作人脸图像的出库操作。
82.当图像存储设备使用的图像特征提取算法版本变更后,为了保证用户人脸库的实时比对功能可以正常使用,还需要对该用户人脸库中保存的每个人脸图像执行特征值更新操作,具体的实现方式可以和上述最优人脸图像的特征值更新方式相同,在此不再赘述。另外,由于用户人脸库保存的人脸图像相对于图像存储设备保存的所有人脸图像来说也只是一小部分,因此对用户人脸库中的人脸图像执行特征值更新操作也无需耗费很长时间。
83.总的来说,本技术实施例的特征值更新流程可以如图3所示,当检测到图像存储设备使用的图像特征提取算法版本变更后,更新用户人脸库中保存的每个人脸图像的特征值,以及更新每个最优人脸图像的特征值。通过这样设置,图像存储设备可以正常提供用户人脸库的实时比对功能以及相似人脸检索功能。
84.另一方面,以该图像存储设备为网络视频录像机(用nvr表示)为例,为了保证特征值更新效率以及nvr各种功能的完整性,在更新用户人脸库的阶段以及更新最优人脸图像的阶段,需要关闭nvr的部分功能,具体如以下的表1所示:
85.表1
[0086][0087]
在表1中,禁止表示需要关闭相应功能,允许则表示无需关闭相应功能。当更新用户人脸库时,禁止人脸抓拍是为了将全部的ai算力用于更新用户人脸库(具体是更新用户人脸库中每张人脸图像的特征值),以尽量缩短更新用户人脸库的时间,而人脸抓拍需要消耗较大的ai算力。禁止用户人脸库实时比对是因为人脸抓拍被禁止,没有新产生的抓拍图,那么实时比对功能自然也就无法使用了。禁止人脸库入库出库功能,是为了避免数据的不同步,因为此时正在操作用户人脸库的人脸图像,如果用户此时进行入库出库操作,难以保证这些人脸图像的同步性。例如,有可能出现用户刚出库了一部分人脸图像,但更新完用户人脸库后,这些人脸图像又出现在用户人脸库中的情况。
[0088]
相似人脸检索、以图搜图,人脸库读取抓拍记录这三个功能在底层实际使用的是一套控制逻辑,可以统称为“相似检索”功能。由于“相似检索”功能需要使用到人脸图像的特征值进行比对,而在更新用户人脸库阶段以及更新最优人脸图像阶段时,各个人脸图像的特征值版本无法确保一致,此时执行“相似检索”功能很可能产生出错的问题,因此,为了保证图像检索结果的正确性与完整性,在这两个阶段需要关闭“相似检索”功能。之后,当两部分特征值更新阶段完成后,即可正常开启nvr的各个功能。
[0089]
进一步的,所述方法还可以包括:
[0090]
(1)获取待入库人脸图像;
[0091]
(2)判断对所述待入库人脸图像进行图像特征提取的第三算法的版本是否与所述第二算法的版本匹配;
[0092]
(3)若所述第三算法的版本与所述第二算法的版本不匹配,则使用所述第二算法计算并更新所述待入库人脸图像的特征值,然后将所述待入库人脸图像存入所述用户人脸库。
[0093]
在执行人脸图像的入库操作,即将待入库人脸图像保存到用户人脸库时,首先检测该待入库人脸图像对应的图像特征提取算法版本是否与图像存储设备使用的图像特征提取算法版本匹配;若版本匹配,可以直接将待入库人脸图像转存到用户人脸库,完成入库操作。若版本不匹配,则需要对待入库人脸图像执行特征值更新流程,具体是采用该图像存储设备使用的图像特征提取算法计算并更新待入库人脸图像的特征值,然后再将待入库人脸图像转存到用户人脸库,上述操作的流程示意图如图4所示。
[0094]
104、根据所述第一最优人脸图像的特征值,执行对所述待检索人脸图像的人脸检索输出;
[0095]
由于对第一最优人脸图像进行图像特征提取的算法版本与图像存储设备使用的第二算法的版本一致,故该图像存储设备基于第一最优人脸图像的特征值能够正常执行特征值比较的操作,以执行对待检索人脸图像的人脸检索输出。
[0096]
在本技术实施例的一种实现方式中,步骤104可以包括:
[0097]
(1)将所述第一最优人脸图像的特征值分别和所述人脸图像库保存的每个最优人脸图像的特征值进行匹配,得到特征值匹配结果;
[0098]
(2)根据所述特征值匹配结果,从所述人脸图像库保存的所有最优人脸图像中确定与所述第一最优人脸图像相似的第二最优人脸图像;
[0099]
(3)将所述人脸图像库保存的人脸标识与所述第二最优人脸图像的人脸标识相同的所有人脸图像输出,以及将所述人脸图像库保存的人脸标识与所述待检索人脸图像的人脸标识相同的所有人脸图像输出。
[0100]
可以将第一最优人脸图像的特征值分别和图像存储设备的人脸图像库保存的每个最优人脸图像的特征值进行匹配(所有最优人脸图像都已完成特征值的更新操作),得到特征值匹配结果。具体的,这里的特征值匹配结果可以是相似度。例如,若图像存储设备保存30个最优人脸图像,其中一个为第一最优人脸图像,则将第一最优人脸图像的特征值分别和其它29个最优人脸图像的特征值进行匹配,得到每个其它最优人脸图像和第一最优人脸图像之间的相似度。
[0101]
然后,根据该特征值匹配结果,从人脸图像库保存的所有最优人脸图像中确定与第一最优人脸图像相似的各个最优人脸图像,这里用第二最优人脸图像表示。例如,可以设置一个相似度的阈值,若某个最优人脸图像和第一最优人脸图像的相似度高于该阈值,则确定该最优人脸图像与第一最优人脸图像相似。显然,这里查找到的第二最优人脸图像的数量可能是0个、1个或者多个。
[0102]
最后,将人脸图像库保存的人脸标识与第二最优人脸图像的人脸标识相同的所有人脸图像输出,这是第一部分的检索结果。由于第二最优人脸图像是和第一最优人脸图像相似的人脸图像,且第一最优人脸图像和待检索人脸图像属于同一人脸,因此将人脸标识与第二最优人脸图像相同的所有人脸图像输出,相当于输出与待检索人脸图像相似的所有人脸图像,也即实现了相似人脸检索的功能。例如,待检索人脸图像和第一最优人脸图像的人脸标识都为“张三”,查找到的第二最优人脸图像有2个,分别是人脸标识“李四”的最优人脸图像以及人脸标识“王五”的最优人脸图像(表示“李四”和“王五”的人脸特征与“张三”相似),则图像存储设备会将已保存的所有人脸标识为“李四”的人脸图像以及人脸标识为“王五”的人脸图像输出,这些输出的人脸图像可以展示在图像存储设备的显示屏或者与图像存储设备连接的其它显示设备上。
[0103]
另一方面,还可以将该人脸图像库保存的人脸标识与待检索人脸图像的人脸标识相同的所有人脸图像输出,这是第二部分的检索结果。
[0104]
人脸标识与待检索人脸图像的人脸标识相同(也即与第一最优人脸图像的人脸标识相同)的人脸图像,表示的是同一个人脸,因此这部分人脸图像也属于与待检索人脸图像相似的范围内,故图像存储设备可以将保存的这部分人脸图像同样作为检索结果输出。
[0105]
105、根据所述待检索人脸图像的特征值,执行对所述待检索人脸图像的人脸检索输出。
[0106]
待检索人脸图像对应的图像特征提取算法版本与图像存储设备使用的图像特征提取算法版本匹配,此时可以直接使用待检索人脸图像的特征值进行比较,以执行对待检索人脸图像的相似人脸检索输出。具体的,由于图像存储设备具有的所有最优人脸图像的
图像特征提取算法版本可以确保和图像存储设备使用的图像特征提取算法版本一致,因此可以将待检索人脸图像的特征值分别和图像存储设备保存的每个最优人脸图像的特征值进行匹配,找出与待检索人脸图像相似的部分最优人脸图像。最后,图像存储设备将这部分最优人脸图像的人脸标识下的所有人脸图像输出,以及将人脸标识与待检索人脸图像的人脸标识相同的所有人脸图像输出,从而实现相似人脸检索的功能。
[0107]
在本技术实施例中,若检测到用户输入的待检索人脸图像对应的图像特征提取算法版本与图像存储设备使用的图像特征提取算法版本不匹配,则表示图像存储设备使用的图像特征提取算法可能已变更,而用户输入的待检索人脸图像仍然是使用原算法计算特征值,故无法直接执行特征值比较的操作。此时,该图像存储设备会查找人脸标识与待检索人脸图像的人脸标识相同(人脸标识相同则表示为同一个人脸的图像)的第一最优人脸图像,读取该第一最优人脸图像的特征值作为替代。最后,根据读取的第一最优人脸图像的特征值,执行对待检索人脸图像的相似人脸检索输出。在上述过程中,由于第一最优人脸图像对应的图像特征提取算法版本与图像存储设备使用的图像特征提取算法版本匹配,即第一最优人脸图像已完成特征值的更新操作,故可以正常执行图像特征值的比较操作。另外,本技术实施例只需在图像存储设备完成图像特征提取算法版本变更后,对保存的各个最优人脸图像执行特征值更新即可,基于该图像存储设备保存的最优人脸图像只是该图像存储设备保存的所有人脸图像中的一小部分,故能有效减少执行图像特征值更新操作的耗时。
[0108]
综上所述,本技术实施例的图像存储设备只需更新与ai人脸相关的一部分人脸图像(即用户人脸库中的人脸图像和最优人脸图像)的特征值,耗时相对于更新所有人脸图像大大缩短。而且,在更新特征值时,还可以采用多线程处理的方式,以进一步提高特征值更新的效率。
[0109]
应理解,上述各个实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0110]
上面主要描述了一种检索人脸图像的方法,下面将对一种检索人脸图像的装置进行描述。
[0111]
请参阅图5,示出了本技术实施例提供的一种检索人脸图像的装置,包括:
[0112]
待检索人脸图像获取模块501,用于获取待检索人脸图像;
[0113]
第一算法版本判断模块502,用于判断对所述待检索人脸图像进行图像特征提取的第一算法的版本是否与对人脸图像库中的图像进行图像特征提取的第二算法的版本匹配;
[0114]
特征值读取模块503,用于若所述第一算法的版本与所述第二算法的版本不匹配,则读取所述人脸图像库保存的第一最优人脸图像的特征值;其中,所述第一最优人脸图像的人脸标识与所述待检索人脸图像的人脸标识相同,对所述第一最优人脸图像进行图像特征提取的算法的版本与所述第二算法的版本匹配;
[0115]
人脸检索模块504,用于根据所述第一最优人脸图像的特征值,执行对所述待检索人脸图像的人脸检索输出。
[0116]
在本技术实施例的一种实现方式中,所述第二算法为图像存储设备使用的图像特征提取算法,所述人脸图像库为所述图像存储设备具有的用于保存人脸图像的数据库,所
述装置还可以包括:
[0117]
更新检测模块,用于当所述图像存储设备重启时,检测所述图像存储设备的磁盘中是否存在标志文件,所述标志文件用于指示是否执行人脸图像的特征值更新操作;
[0118]
第一特征值更新模块,用于若所述图像存储设备的磁盘中存在所述标志文件,则使用所述第二算法分别计算并更新所述图像存储设备保存的每个最优人脸图像的特征值;其中,所述图像存储设备保存每个已知人脸标识分别对应的最优人脸图像。
[0119]
进一步的,所述标志文件在所述第二算法的版本变更时写入所述磁盘,所述装置还可以包括:
[0120]
标志文件删除模块,用于删除所述磁盘中的所述标志文件。
[0121]
进一步的,所述第一特征值更新模块可以包括:
[0122]
图像转码单元,用于使用第一线程读取所述最优人脸图像,将所述最优人脸图像转码为指定格式的图像数据,并将所述指定格式的图像数据写入第一缓存序列;
[0123]
特征值计算单元,用于使用第二线程从所述第一缓存序列中读取所述指定格式的图像数据,使用所述第二算法对所述指定格式的图像数据进行计算,得到更新的特征值,并将所述更新的特征值写入第二缓存序列;
[0124]
特征值写入单元,用于使用第三线程从所述第二缓存序列中读取所述更新的特征值,并将所述更新的特征值写入指定数据库。
[0125]
在本技术实施例的一种实现方式中,所述装置还可以包括:
[0126]
第二特征值更新模块,用于若所述图像存储设备的磁盘中存在所述标志文件,则使用所述第二算法分别计算并更新用户人脸库中保存的每个人脸图像的特征值;其中,所述用户人脸库为所述图像存储设备保存的所有人脸图像中,由用户选取的一部分人脸图像所构成的人脸图像集合。
[0127]
在本技术实施例的一种实现方式中,所述装置还可以包括:
[0128]
待入库人脸图像获取模块,用于获取待入库人脸图像;
[0129]
第二算法版本判断模块,用于判断对所述待入库人脸图像进行图像特征提取的第三算法的版本是否与所述第二算法的版本匹配;
[0130]
人脸图像入库模块,用于若所述第三算法的版本与所述第二算法的版本不匹配,则使用所述第二算法计算并更新所述待入库人脸图像的特征值,然后将所述待入库人脸图像存入所述用户人脸库。
[0131]
在本技术实施例的一种实现方式中,所述人脸检索模块可以包括:
[0132]
特征值匹配单元,用于将所述第一最优人脸图像的特征值分别和所述人脸图像库保存的每个最优人脸图像的特征值进行匹配,得到特征值匹配结果;
[0133]
相似最优人脸图像确定单元,用于根据所述特征值匹配结果,从所述人脸图像库保存的所有最优人脸图像中确定与所述第一最优人脸图像相似的第二最优人脸图像;
[0134]
检索结果输出单元,用于将所述人脸图像库保存的人脸标识与所述第二最优人脸图像的人脸标识相同的所有人脸图像输出,以及将所述人脸图像库保存的人脸标识与所述待检索人脸图像的人脸标识相同的所有人脸图像输出。
[0135]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如图1表示的任意一种检索人脸图像的
方法。
[0136]
本技术实施例还提供一种计算机程序产品,当该计算机程序产品在图像存储设备上运行时,使得图像存储设备执行实现如图1表示的任意一种检索人脸图像的方法。
[0137]
图6是本技术一实施例提供的图像存储设备的示意图。如图6所示,该实施例的图像存储设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述各个检索人脸图像的方法的实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至504的功能。
[0138]
所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述图像存储设备6中的执行过程。
[0139]
所称处理器60可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0140]
所述存储器61可以是所述图像存储设备6的内部存储单元,例如图像存储设备6的硬盘或内存。所述存储器61也可以是所述图像存储设备6的外部存储设备,例如所述图像存储设备6上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器61还可以既包括所述图像存储设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述图像存储设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
[0141]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0142]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0143]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0144]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单
元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0145]
在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0146]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0147]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0148]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
[0149]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献