首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 一种图像搜索方法、装置、计算机可读存储介质及数据库

一种图像搜索方法、装置、计算机可读存储介质及数据库

阅读:1发布:2022-08-08

专利汇可以提供一种图像搜索方法、装置、计算机可读存储介质及数据库专利检索,专利查询,专利分析的服务。并且本 申请 属于 图像处理 技术领域,尤其涉及一种图像搜索方法、装置、计算机可读存储介质及 数据库 。所述方法获取待搜索的第一人脸图像;对所述第一人脸图像进行特征提取,得到第一图像特征数据;在预设的用户数据表中查询第一用户特征数据,所述第一用户特征数据为与所述第一图像特征数据匹配的用户特征数据,所述用户数据表中包括各个用户的用户特征数据,且任一用户的用户特征数据为根据所述任一用户在预设的数据库中的各张人脸图像的特征数据计算得到的数据;在所述用户数据表中查询第一用户标识,所述第一用户标识为与所述第一用户特征数据对应的用户标识;在所述数据库中搜索与所述第一用户标识对应的各张人脸图像。,下面是一种图像搜索方法、装置、计算机可读存储介质及数据库专利的具体信息内容。

1.一种图像搜索方法,其特征在于,包括:
获取待搜索的第一人脸图像;
对所述第一人脸图像进行特征提取,得到第一图像特征数据;
在预设的用户数据表中查询第一用户特征数据,所述第一用户特征数据为与所述第一图像特征数据匹配的用户特征数据,所述用户数据表中包括各个用户的用户特征数据,且任一用户的用户特征数据为根据所述任一用户在预设的数据库中的各张人脸图像的特征数据计算得到的数据;
在所述用户数据表中查询第一用户标识,所述第一用户标识为与所述第一用户特征数据对应的用户标识;
在所述数据库中搜索与所述第一用户标识对应的各张人脸图像。
2.根据权利要求1所述的图像搜索方法,其特征在于,在获取待搜索的第一人脸图像之前,还包括:
获取待存储的第二人脸图像;
对所述第二人脸图像进行特征提取,得到第二图像特征数据;
在所述用户数据表中查询第二用户特征数据,所述第二用户特征数据为与所述第二图像特征数据匹配的用户特征数据;
若查询不到所述第二用户特征数据,则将所述第二图像特征数据作为新增的用户特征数据添加入所述用户数据表中,并为所述新增的用户特征数据确定对应的用户标识;
为所述第二人脸图像添加确定的所述用户标识,并将所述第二人脸图像存储入所述数据库中。
3.根据权利要求2所述的图像搜索方法,其特征在于,所述在所述用户数据表中查询第二用户特征数据包括:
分别计算所述第二图像特征数据与所述用户数据表中的各个用户特征数据之间的相似度;
选取与所述第二图像特征数据的相似度最高的用户特征数据作为优选用户特征数据;
若所述第二图像特征数据与所述优选用户特征数据之间的相似度大于或等于预设的相似度阈值,则将所述优选用户特征数据确定为所述第二用户特征数据;
若所述第二图像特征数据与所述优选用户特征数据之间的相似度小于所述相似度阈值,则确定查询不到所述第二用户特征数据。
4.根据权利要求2所述的图像搜索方法,其特征在于,在所述用户数据表中查询与所述第二图像特征数据匹配的用户特征数据之后,还包括:
若查询到所述第二用户特征数据,则在所述用户数据表中查询第二用户标识,所述第二用户标识为与所述第二用户特征数据对应的用户标识;
根据所述第二图像特征数据和所述第二用户特征数据计算融合特征数据;
在所述用户数据表中使用所述融合特征数据替换所述第二用户特征数据;
为所述第二人脸图像添加所述第二用户标识,并将所述第二人脸图像存储入所述数据库中。
5.根据权利要求4所述的图像搜索方法,其特征在于,所述根据所述第二图像特征数据和所述第二用户特征数据计算融合特征数据包括:
分别计算第一加权系数和第二加权系数,所述第一加权系数为所述第二图像特征数据的加权系数,所述第二加权系数为所述第二用户特征数据的加权系数;
根据所述第一加权系数和所述第二加权系数对所述第二图像特征数据和所述第二用户特征数据进行加权平均,得到所述融合特征数据。
6.根据权利要求5所述的图像搜索方法,其特征在于,所述分别计算第一加权系数和第二加权系数包括:
获取第一时刻和第二时刻,所述第一时刻为所述第二人脸图像的拍摄时刻,所述第二时刻为各张归档图像的最晚拍摄时刻,所述归档图像为在所述数据库中与所述第二用户标识对应的人脸图像;
计算所述第一时刻和所述第二时刻之间的时间差;
根据所述时间差计算所述第一加权系数和所述第二加权系数,所述第一加权系数与所述时间差正相关,所述第二加权系数与所述时间差负相关。
7.根据权利要求1至6中任一项所述的图像搜索方法,其特征在于,所述在所述数据库中搜索与所述第一用户标识对应的各张人脸图像包括:
在所述数据库中搜索与所述第一用户标识对应的存储分区;
提取所述存储分区中的各张人脸图像。
8.一种图像搜索装置,其特征在于,包括:
第一图像获取模,用于获取待搜索的第一人脸图像;
第一特征提取模块,用于对所述第一人脸图像进行特征提取,得到第一图像特征数据;
第一特征查询模块,用于在预设的用户数据表中查询第一用户特征数据,所述第一用户特征数据为与所述第一图像特征数据匹配的用户特征数据,所述用户数据表中包括各个用户的用户特征数据,且任一用户的用户特征数据为根据所述任一用户在预设的数据库中的各张人脸图像的特征数据计算得到的数据;
第一标识查询模块,用于在所述用户数据表中查询第一用户标识,所述第一用户标识为与所述第一用户特征数据对应的用户标识;
图像搜索模块,用于在所述数据库中搜索与所述第一用户标识对应的各张人脸图像。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的图像搜索方法的步骤。
10.一种数据库,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的图像搜索方法的步骤。

说明书全文

一种图像搜索方法、装置、计算机可读存储介质及数据库

技术领域

[0001] 本申请属于图像处理技术领域,尤其涉及一种图像搜索方法、装置、计算机可读存储介质及数据库。

背景技术

[0002] 在商场、购物中心、大型超市等场所往往会安装大量的摄像头对场所内部进行监控,现有技术当需要对某一用户的行为进行分析时,一般需要将该用户的人脸图像与历史累积的监控图像逐一进行比对,然后将所有该用户的图像搜索出来进行分析。当监控图像较少时,这种方式可以有效地运行,但是,一个商场每天累积的监控图像都以数十万计,一个月就会累积千万级别的监控图像,而且还会随着时间的推移累积更多的监控图像,对监控图像逐一比对的搜索方式效率极为低下,搜索耗时极长。发明内容
[0003] 有鉴于此,本申请实施例提供了一种图像搜索方法、装置、计算机可读存储介质及数据库,以解决现有的图像搜索方法效率低下,耗时极长的问题。
[0004] 本申请实施例的第一方面提供了一种图像搜索方法,可以包括:
[0005] 获取待搜索的第一人脸图像;
[0006] 对所述第一人脸图像进行特征提取,得到第一图像特征数据;
[0007] 在预设的用户数据表中查询第一用户特征数据,所述第一用户特征数据为与所述第一图像特征数据匹配的用户特征数据,所述用户数据表中包括各个用户的用户特征数据,且任一用户的用户特征数据为根据所述任一用户在预设的数据库中的各张人脸图像的特征数据计算得到的数据;
[0008] 在所述用户数据表中查询第一用户标识,所述第一用户标识为与所述第一用户特征数据对应的用户标识;
[0009] 在所述数据库中搜索与所述第一用户标识对应的各张人脸图像。
[0010] 在第一方面的一种可能的实现方式中,在获取待搜索的第一人脸图像之前,还包括:
[0011] 获取待存储的第二人脸图像;
[0012] 对所述第二人脸图像进行特征提取,得到第二图像特征数据;
[0013] 在所述用户数据表中查询第二用户特征数据,所述第二用户特征数据为与所述第二图像特征数据匹配的用户特征数据;
[0014] 若查询不到所述第二用户特征数据,则将所述第二图像特征数据作为新增的用户特征数据添加入所述用户数据表中,并为所述新增的用户特征数据确定对应的用户标识;
[0015] 为所述第二人脸图像添加确定的所述用户标识,并将所述第二人脸图像存储入所述数据库中。
[0016] 在第一方面的一种可能的实现方式中,所述在所述用户数据表中查询第二用户特征数据包括:
[0017] 分别计算所述第二图像特征数据与所述用户数据表中的各个用户特征数据之间的相似度;
[0018] 选取与所述第二图像特征数据的相似度最高的用户特征数据作为优选用户特征数据;
[0019] 若所述第二图像特征数据与所述优选用户特征数据之间的相似度大于或等于预设的相似度阈值,则将所述优选用户特征数据确定为所述第二用户特征数据;
[0020] 若所述第二图像特征数据与所述优选用户特征数据之间的相似度小于所述相似度阈值,则确定查询不到所述第二用户特征数据。
[0021] 在第一方面的一种可能的实现方式中,在所述用户数据表中查询与所述第二图像特征数据匹配的用户特征数据之后,还包括:
[0022] 若查询到所述第二用户特征数据,则在所述用户数据表中查询第二用户标识,所述第二用户标识为与所述第二用户特征数据对应的用户标识;
[0023] 根据所述第二图像特征数据和所述第二用户特征数据计算融合特征数据;
[0024] 在所述用户数据表中使用所述融合特征数据替换所述第二用户特征数据;
[0025] 为所述第二人脸图像添加所述第二用户标识,并将所述第二人脸图像存储入所述数据库中。
[0026] 在第一方面的一种可能的实现方式中,所述根据所述第二图像特征数据和所述第二用户特征数据计算融合特征数据包括:
[0027] 分别计算第一加权系数和第二加权系数,所述第一加权系数为所述第二图像特征数据的加权系数,所述第二加权系数为所述第二用户特征数据的加权系数;
[0028] 根据所述第一加权系数和所述第二加权系数对所述第二图像特征数据和所述第二用户特征数据进行加权平均,得到所述融合特征数据。
[0029] 在第一方面的一种可能的实现方式中,所述分别计算第一加权系数和第二加权系数包括:
[0030] 获取第一时刻和第二时刻,所述第一时刻为所述第二人脸图像的拍摄时刻,所述第二时刻为各张归档图像的最晚拍摄时刻,所述归档图像为在所述数据库中与所述第二用户标识对应的人脸图像;
[0031] 计算所述第一时刻和所述第二时刻之间的时间差;
[0032] 根据所述时间差计算所述第一加权系数和所述第二加权系数,所述第一加权系数与所述时间差正相关,所述第二加权系数与所述时间差负相关。
[0033] 在第一方面的一种可能的实现方式中,所述在所述数据库中搜索与所述第一用户标识对应的各张人脸图像包括:
[0034] 在所述数据库中搜索与所述第一用户标识对应的存储分区;
[0035] 提取所述存储分区中的各张人脸图像。
[0036] 本申请实施例的第二方面提供了一种图像搜索装置,可以包括:
[0037] 第一图像获取模,用于获取待搜索的第一人脸图像;
[0038] 第一特征提取模块,用于对所述第一人脸图像进行特征提取,得到第一图像特征数据;
[0039] 第一特征查询模块,用于在预设的用户数据表中查询第一用户特征数据,所述第一用户特征数据为与所述第一图像特征数据匹配的用户特征数据,所述用户数据表中包括各个用户的用户特征数据,且任一用户的用户特征数据为根据所述任一用户在预设的数据库中的各张人脸图像的特征数据计算得到的数据;
[0040] 第一标识查询模块,用于在所述用户数据表中查询第一用户标识,所述第一用户标识为与所述第一用户特征数据对应的用户标识;
[0041] 图像搜索模块,用于在所述数据库中搜索与所述第一用户标识对应的各张人脸图像。
[0042] 本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述任一种图像搜索方法的步骤。
[0043] 本申请实施例的第四方面提供了一种数据库,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述任一种图像搜索方法的步骤。
[0044] 本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在数据库上运行时,使得数据库执行上述任一种图像搜索方法的步骤。
[0045] 本申请实施例与现有技术相比存在的有益效果是:通过本发明实施例,可以预先设置一个包括各个用户的用户特征数据的用户数据表,其中,任一用户的用户特征数据为根据所述任一用户在预设的数据库中的各张人脸图像的特征数据计算得到的数据,通过这样的方式,将比对的维度从图像这一维度转换为用户这一维度,而用户的数量显然要远远小于图像的数量。在进行图像搜索时,无需将待搜索的图像(即所述第一人脸图像)与数据库中存储的所有人脸图像逐一进行比对,而只需将待搜索的图像与所述用户数据表中的用户特征数据进行匹配,然后查询与匹配的用户特征数据对应的用户标识,最后仅需在所述数据库中搜索与该用户标识对应的各张人脸图像,即可完成整个搜索过程,大大提升了搜索效率,减少了搜索时长。附图说明
[0046] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0047] 图1为本申请实施例的一种具体实施环境的示意图;
[0048] 图2为本申请实施例的另一种具体实施环境的示意图;
[0049] 图3为本申请实施例中一种图像搜索方法的一个实施例流程图
[0050] 图4为在预设的用户数据表中查询第一用户特征数据的示意流程图;
[0051] 图5为在进行图像搜索之前,各张人脸图像被存储入数据库的过程的示意流程图;
[0052] 图6为对数据库中已存在的用户特征数据进行更新的示意流程图;
[0053] 图7为本申请实施例中一种图像搜索装置的一个实施例结构图;
[0054] 图8为本申请实施例中一种数据库的示意框图

具体实施方式

[0055] 为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0056] 应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0057] 还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0058] 还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0059] 如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0060] 另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0061] 图1所示为本申请实施例提供的一种图像搜索方法的一种具体实施环境的示意图,该实施环境可以包括图像采集系统101、终端设备102和数据库103。
[0062] 所述图像采集系统101可以包括一个以上的图像采集装置1011,所述图像采集装置1011可以是单个的摄像头,也可以是由若干个摄像头组成的摄像头阵列,各个图像采集装置1011分别与所述终端设备102通过有线和/或无线网络进行通信和数据传输,将采集到的图像实时或非实时地传输至所述终端设备102。所述终端设备102与所述数据库103通过有线和/或无线网络进行通信和数据传输,所述终端设备102对从所述图像采集系统101接收到的每一图像均进行特征提取,并根据提取到的图像特征数据将该图像存储入所述数据库103中。
[0063] 在图1所示的这一实施环境中,所述终端设备102为本申请实施例的执行主体,当需要进行图像搜索时,所述终端设备102获取工作人员输入的待搜索的人脸图像,提取其图像特征数据,并从所述数据库103中读取所需的各种数据进行匹配计算,得到最后的搜索结果。在这一实施环境中,每一次的图像搜索过程都会涉及大量的数据读取过程。
[0064] 图2所示为本申请实施例提供的一种图像搜索方法的一种具体实施环境的示意图,该实施环境可以包括图像采集系统101和数据库103,与图1所示的实施环境相比,图像搜索过程不再需要终端设备102的参与。
[0065] 所述图像采集系统101可以包括一个以上的图像采集装置1011,各个图像采集装置1011分别与所述数据库103通过有线和/或无线网络进行通信和数据传输,将采集到的图像实时或非实时地传输至所述数据库103,所述数据库103对从所述图像采集系统101接收到的每一图像均进行特征提取,并根据提取到的图像特征数据对该图像进行存储。
[0066] 在图2所示的这一实施环境中,所述数据库103为本申请实施例的执行主体。所述数据库103为任意一种支持用户定义函数及语言扩展的数据库,在使用时,工作人员可以将图像搜索的程序直接写入所述数据库103中,当需要进行图像搜索时,所述数据库103获取工作人员输入的待搜索的人脸图像,提取其图像特征数据,并直接调用所述数据库103自身存储的各种数据进行匹配计算,得到最后的搜索结果。在这一实施环境中,每一次的图像搜索过程都省去了大量的数据读取过程,大幅度提升了图像搜索的效率。进一步地,所述数据库103还可以为分布式的数据库,充分利用多台机器的性能进行并行计算,在无需对图像搜索的程序进行更改的前提下,进一步提升了图像搜索的效率。具体地,所述数据库103可以为Greenplum,Greenplum采用了大规模并行处理(Massively Parallel Processing,MPP)架构,具有对于非结构化和半结构化数据的存储分析能,还提供包括python,Java,R等多种语言的函数扩展。
[0067] 需要注意的是,为了叙述方便,本申请各个实施例中的图像搜索方法均以图2所示的实施环境为例进行说明。
[0068] 请参阅图3,本申请实施例中一种图像搜索方法的一个实施例可以包括:
[0069] 步骤S301、获取待搜索的第一人脸图像。
[0070] 一般地,当需要进行图像搜索时,工作人员可以向所述数据库下发进行图像搜索的指令,并将待搜索的人脸图像(也即所述第一人脸图像)通过指定的I/O接口输入到所述数据库中。所述数据库在接收到该指令后,即可从所述I/O接口获取所述第一人脸图像,并执行后续的图像搜索过程。
[0071] 步骤S302、对所述第一人脸图像进行特征提取,得到第一图像特征数据。
[0072] 在本实施例中,可以使用预设的特征提取算法进行图像特征数据的提取,所述特征提取算法包括但不限于方向梯度直方图(Histogram of Oriented Gradient,HOG)、局部二值模式(Local Binary Pattern,LBP)等现有技术中常用的特征提取算法。
[0073] 此处将第一图像特征数据记为如下所示的向量形式:
[0074] FstVec=(FstElm1,FstElm2,...,FstElmg,...,FstElmG)
[0075] 其中,g为特征数据的维度序号,1≤g≤G,G为特征数据的维度总数,FstElmg为所述第一图像特征数据在第g个维度上的取值,FstVec为所述第一图像特征数据。
[0076] 步骤S303、在预设的用户数据表中查询第一用户特征数据。
[0077] 所述第一用户特征数据为与所述第一图像特征数据匹配的用户特征数据,所述用户数据表中包括各个用户的用户特征数据,且任一用户的用户特征数据为根据所述任一用户在所述数据库中的各张人脸图像的特征数据计算得到的数据。所述用户数据表的具体构建过程将在后续进行详细叙述,此处对其不再赘述。
[0078] 如图4所示,步骤S303具体可以包括如下过程:
[0079] 步骤S3031、分别计算所述第一图像特征数据与所述用户数据表中的各个用户特征数据之间的相似度。
[0080] 此处将所述用户数据表中的各个用户特征数据记为:
[0081] UserVecm=(UserElmm,1,UserElmm,2,...,UserElmm,g,...,UserElmm,G)
[0082] m为各个用户特征数据的序号,1≤m≤M,M为所述用户数据表中的用户特征数据总数,UserElmm,g为第m个用户特征数据在第g个维度上的取值,UserVecm为第m个用户特征数据。
[0083] 则可以根据下式分别计算所述第一图像特征数据与所述用户数据表中的各个用户特征数据之间的相似度:
[0084]
[0085] 其中,abs为求绝对值函数,SimDegm为所述第一图像特征数据与所述用户数据表中的第m个用户特征数据之间的相似度。
[0086] 步骤S3032、选取与所述第一图像特征数据的相似度最高的用户特征数据作为优选用户特征数据。
[0087] 具体地,可以根据下式选取所述优选用户特征数据:
[0088] SelSeq=arg max(SimDeg1,SimDeg2,...,SimDegm,...,SimDegM)
[0089] 其中,argmax为最大自变量函数,SelSeq为所述优选用户特征数据在所述用户数据表中的序号。
[0090] 步骤S3033、判断所述第一图像特征数据与所述优选用户特征数据之间的相似度是否小于预设的相似度阈值。
[0091] 所述相似度阈值可以根据实际情况进行设置,例如,可以将其设置为80%、90%、95%或者其它取值,本实施例对其不做具体限定。
[0092] 若所述第一图像特征数据与所述优选用户特征数据之间的相似度小于所述相似度阈值,则执行步骤S3034,若所述第一图像特征数据与所述优选用户特征数据之间的相似度大于或等于所示相似度阈值,则执行步骤S3035。
[0093] 步骤S3034、确定查询不到所述第一用户特征数据。
[0094] 若查询不到所述第一用户特征数据,则说明图像搜索结果为空,无需执行后续步骤。
[0095] 步骤S3035、将所述优选用户特征数据确定为所述第一用户特征数据。
[0096] 通过图4所示的过程,将所述第一图像特征数据与所述用户数据表中的各个用户特征数据逐一进行比对,经过相似度的计算及阈值判断,可以准确地确定出与所述第一图像特征数据匹配的用户特征数据。
[0097] 步骤S304、在所述用户数据表中查询第一用户标识。
[0098] 所述第一用户标识为与所述第一用户特征数据对应的用户标识。在本实施例中,每个用户有且仅有一个用户标识来对该用户进行区分,所述用户标识可以为数字、字母、符号以及其各种组合。在所述用户数据表中记录了各个用户的用户特征数据以及对应的用户标识,如下表所示:
[0099] 用户标识 用户特征数据#00001 UserVec1
#00002 UserVec2
#00003 UserVec3
…… ……
[0100] 在确定出所述第一用户特征数据之后,即可通过查询所述用户数据表,确定与所述第一用户特征数据对应的用户标识,也即所述第一用户标识。
[0101] 步骤S305、在所述数据库中搜索与所述第一用户标识对应的各张人脸图像。
[0102] 每张人脸图像在存储入所述数据库时,均被配置了对应的用户标识,容易理解地,同一用户的多张人脸图像配置的是同一用户标识。在确定出所述第一用户标识之后,即可直接在所述数据库中搜索与所述第一用户标识对应的各张人脸图像,而无需再进行特征数据的计算匹配,在极短的时间内即可完成图像的搜索。
[0103] 优选地,每张人脸图像在存储入所述数据库时,可以进行分区存储。整个数据库的存储空间被划分为若干个存储分区,每个存储分区对应于一个用户标识,仅用于存储与该用户标识对应的人脸图像。在确定出所述第一用户标识之后,可以在所述数据库中搜索与所述第一用户标识对应的存储分区,并提取搜索到的所述存储分区中的各张人脸图像。通过这样的方式,可以批量提取到所要搜索的人脸图像,进一步缩短了搜索时间。
[0104] 综上所述,通过本发明实施例,可以预先设置一个包括各个用户的用户特征数据的用户数据表,其中,任一用户的用户特征数据为根据所述任一用户在预设的数据库中的各张人脸图像的特征数据计算得到的数据,通过这样的方式,将比对的维度从图像这一维度转换为用户这一维度,而用户的数量显然要远远小于图像的数量。在进行图像搜索时,无需将待搜索的图像(即所述第一人脸图像)与数据库中存储的所有人脸图像逐一进行比对,而只需将待搜索的图像与所述用户数据表中的用户特征数据进行匹配,然后查询与匹配的用户特征数据对应的用户标识,最后仅需在所述数据库中搜索与该用户标识对应的各张人脸图像,即可完成整个搜索过程,大大提升了搜索效率,减少了搜索时长。
[0105] 容易理解地,图3所示的过程为在所述数据库中已经存储了大量人脸图像的前提下,在所述数据库中进行图像搜索的过程。在进行图像搜索之前,各张人脸图像被存储入所述数据库的过程如图5所示:
[0106] 步骤S501、获取待存储的第二人脸图像。
[0107] 所述图像采集系统中的各个图像采集装置在进行一次图像采集后,会将采集到的图像(也即所述第二人脸图像)实时或非实时地传输至所述数据库指定的I/O接口,所述数据库可以从所述I/O接口获取所述第二人脸图像,并执行后续的图像存储过程。
[0108] 步骤S502、对所述第二人脸图像进行特征提取,得到第二图像特征数据。
[0109] 在本实施例中,可以使用预设的特征提取算法进行图像特征数据的提取,所述特征提取算法包括但不限于方向梯度直方图(Histogram of Oriented Gradient,HOG)、局部二值模式(Local Binary Pattern,LBP)等现有技术中常用的特征提取算法。
[0110] 步骤S503、在所述用户数据表中查询第二用户特征数据。
[0111] 所述第二用户特征数据为与所述第二图像特征数据匹配的用户特征数据。步骤S503中的查询过程与步骤S303中的查询过程类似,首先,分别计算所述第二图像特征数据与所述用户数据表中的各个用户特征数据之间的相似度。然后,选取与所述第二图像特征数据的相似度最高的用户特征数据作为优选用户特征数据。若所述第二图像特征数据与所述优选用户特征数据之间的相似度大于或等于预设的相似度阈值,则将所述优选用户特征数据确定为所述第二用户特征数据;若所述第二图像特征数据与所述优选用户特征数据之间的相似度小于所述相似度阈值,则确定查询不到所述第二用户特征数据。具体内容可参照步骤S303中的详细叙述,本实施例对此不再赘述。
[0112] 步骤S504、若查询不到所述第二用户特征数据,则将所述第二图像特征数据作为新增的用户特征数据添加入所述用户数据表中,并为所述新增的用户特征数据确定对应的用户标识。
[0113] 步骤S505、为所述第二人脸图像添加确定的所述用户标识,并将所述第二人脸图像存储入所述数据库中。
[0114] 需要注意的是,以上过程针对的是某一用户的人脸图像第一次被存储入所述数据库中的情况,在这种情况下,在所述用户数据表中并不存在与其对应的用户特征数据,通过上述过程,可以在所述用户数据表中为其新增一条对应的用户特征数据,以便于后续进行搜索。
[0115] 容易理解地,所述用户数据表在初始状态下为空,即不存在任何的用户特征数据,每当一个新用户的人脸图像被存储入所述数据库中时,即在所述用户数据表中为其新增一条对应的用户特征数据,随着用户的不断累积,所述用户数据表中会包括所述数据库中所有用户的用户特征数据。
[0116] 若在步骤S503中查询到所述第二用户特征数据,则说明所述第二人脸图像并不是一个新用户的人脸图像,在所述数据库中已存在与所述第二人脸图像属于同一用户的其它人脸图像。在这种情况下,可以按照图6所示的过程进行图像存储并对其用户特征数据进行更新:
[0117] 步骤S601、在所述用户数据表中查询第二用户标识。
[0118] 所述第二用户标识为与所述第二用户特征数据对应的用户标识,其具体查询过程与步骤S304中查询所述第一用户标识的过程类似,具体内容可参照步骤S304中的详细叙述,本实施例对此不再赘述。
[0119] 步骤S602、根据所述第二图像特征数据和所述第二用户特征数据计算融合特征数据。
[0120] 具体地,步骤S602可以包括如下步骤:
[0121] 步骤S6021、分别计算第一加权系数和第二加权系数。
[0122] 所述第一加权系数为所述第二图像特征数据的加权系数,所述第二加权系数为所述第二用户特征数据的加权系数。
[0123] 在本实施例的一种具体实现中,可以首先获取第一时刻和第二时刻。所述第一时刻为所述第二人脸图像的拍摄时刻,所述第二时刻为各张归档图像的最晚拍摄时刻,所述归档图像为在所述数据库中与所述第二用户标识对应的人脸图像。然后,计算所述第一时刻和所述第二时刻之间的时间差,再根据所述时间差计算所述第一加权系数和所述第二加权系数。所述第一加权系数与所述时间差正相关,所述第二加权系数与所述时间差负相关。即所述时间差越大,则说明在这段时间内用户的相貌可能发生的变化也越大,原始的用户特征数据的参考价值会随之降低,反之,所述时间差越小,则说明在这段时间内用户的相貌可能发生的变化也越小,原始的用户特征数据的参考价值会随之增高。通过这样的系数设置方式,系数会随着实际情况的变化进行动态的调整,根据数据的参考价值设置出合理的系数,进一步提高了最终计算得到的融合特征数据的准确性。
[0124] 步骤S6022、根据所述第一加权系数和所述第二加权系数对所述第二图像特征数据和所述第二用户特征数据进行加权平均,得到所述融合特征数据。
[0125] 在本实施例的一种具体实现中,可以根据下式计算所述融合特征数据:
[0126] NewVec=Coef1×SndVec+Coef2×OriginVec
[0127] 其中,Coef1为所述第一加权系数,Coef2为所述第二加权系数,且Coef1>0,Coef2>0,Coef1+Coef2=1,SndVec为所述第二图像特征数据,OriginVec为所述第二用户特征数据,NewVec为所述融合特征数据。
[0128] 步骤S603、在所述用户数据表中使用所述融合特征数据替换所述第二用户特征数据。
[0129] 所述融合特征数据在原有的人脸图像的特征的基础上,进一步又融合入了新增的人脸图像的特征,相比于原有的用户特征数据更加准确,将其替换原有的用户特征数据,可以在后续的图像搜索过程中,进一步提高搜索结果的准确率。
[0130] 步骤S604、为所述第二人脸图像添加所述第二用户标识,并将所述第二人脸图像存储入所述数据库中。
[0131] 通过上述过程,将所述图像采集系统采集到的人脸图像依次存储入所述数据库中,当一个新用户的人脸图像被存储入所述数据库中时,即在所述用户数据表中为其新增一条对应的用户特征数据,当一个已有用户的人脸图像被存储入所述数据库中时,即在所述用户数据表中对其用户特征数据进行更新,使其在最大程度上体现出用户特征,从而保证了后续搜索结果的准确性。
[0132] 需要注意的是,以上过程均是以图2所示的实施环境为例进行说明,在图1所示的实施环境中,执行主体将变为所述终端设备,但具体的执行过程仍与以上过程类似,详细内容可以参照上述过程,此处不再赘述。
[0133] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0134] 对应于上文实施例所述的一种图像搜索方法,图7示出了本申请实施例提供的一种图像搜索装置的一个实施例结构图。
[0135] 本实施例中,一种图像搜索装置可以包括:
[0136] 第一图像获取模块701,用于获取待搜索的第一人脸图像;
[0137] 第一特征提取模块702,用于对所述第一人脸图像进行特征提取,得到第一图像特征数据;
[0138] 第一特征查询模块703,用于在预设的用户数据表中查询第一用户特征数据,所述第一用户特征数据为与所述第一图像特征数据匹配的用户特征数据,所述用户数据表中包括各个用户的用户特征数据,且任一用户的用户特征数据为根据所述任一用户在预设的数据库中的各张人脸图像的特征数据计算得到的数据;
[0139] 第一标识查询模块704,用于在所述用户数据表中查询第一用户标识,所述第一用户标识为与所述第一用户特征数据对应的用户标识;
[0140] 图像搜索模块705,用于在所述数据库中搜索与所述第一用户标识对应的各张人脸图像。
[0141] 进一步地,所述图像搜索装置还可以包括:
[0142] 第二图像获取模块,用于获取待存储的第二人脸图像;
[0143] 第二特征提取模块,用于对所述第二人脸图像进行特征提取,得到第二图像特征数据;
[0144] 第二特征查询模块,用于在所述用户数据表中查询第二用户特征数据,所述第二用户特征数据为与所述第二图像特征数据匹配的用户特征数据;
[0145] 用户特征数据添加模块,用于若查询不到所述第二用户特征数据,则将所述第二图像特征数据作为新增的用户特征数据添加入所述用户数据表中,并为所述新增的用户特征数据确定对应的用户标识;
[0146] 第一存储模块,用于为所述第二人脸图像添加确定的所述用户标识,并将所述第二人脸图像存储入所述数据库中。
[0147] 进一步地,所述第二特征查询模块可以包括:
[0148] 相似度计算单元,用于分别计算所述第二图像特征数据与所述用户数据表中的各个用户特征数据之间的相似度;
[0149] 优选特征选取单元,用于选取与所述第二图像特征数据的相似度最高的用户特征数据作为优选用户特征数据;
[0150] 第一确定单元,用于若所述第二图像特征数据与所述优选用户特征数据之间的相似度大于或等于预设的相似度阈值,则将所述优选用户特征数据确定为所述第二用户特征数据;
[0151] 第二确定单元,用于若所述第二图像特征数据与所述优选用户特征数据之间的相似度小于所述相似度阈值,则确定查询不到所述第二用户特征数据。
[0152] 进一步地,所述图像搜索装置还可以包括:
[0153] 第二标识查询模块,用于若查询到所述第二用户特征数据,则在所述用户数据表中查询第二用户标识,所述第二用户标识为与所述第二用户特征数据对应的用户标识;
[0154] 融合特征计算模块,用于根据所述第二图像特征数据和所述第二用户特征数据计算融合特征数据;
[0155] 用户特征替换模块,用于在所述用户数据表中使用所述融合特征数据替换所述第二用户特征数据;
[0156] 第二存储模块,用于为所述第二人脸图像添加所述第二用户标识,并将所述第二人脸图像存储入所述数据库中。
[0157] 进一步地,所述融合特征计算模块可以包括:
[0158] 系数计算单元,用于分别计算第一加权系数和第二加权系数,所述第一加权系数为所述第二图像特征数据的加权系数,所述第二加权系数为所述第二用户特征数据的加权系数;
[0159] 融合特征计算单元,用于根据所述第一加权系数和所述第二加权系数对所述第二图像特征数据和所述第二用户特征数据进行加权平均,得到所述融合特征数据。
[0160] 进一步地,所述系数计算单元可以包括:
[0161] 时刻获取子单元,用于获取第一时刻和第二时刻,所述第一时刻为所述第二人脸图像的拍摄时刻,所述第二时刻为各张归档图像的最晚拍摄时刻,所述归档图像为在所述数据库中与所述第二用户标识对应的人脸图像;
[0162] 时间差计算子单元,用于计算所述第一时刻和所述第二时刻之间的时间差;
[0163] 系数计算子单元,用于根据所述时间差计算所述第一加权系数和所述第二加权系数,所述第一加权系数与所述时间差正相关,所述第二加权系数与所述时间差负相关。
[0164] 进一步地,所述图像搜索模块可以包括:
[0165] 存储分区搜索单元,用于在所述数据库中搜索与所述第一用户标识对应的存储分区;
[0166] 图像提取单元,用于提取所述存储分区中的各张人脸图像。
[0167] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0168] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0169] 图8示出了本申请实施例提供的一种数据库的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
[0170] 如图8所示,该实施例的数据库8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82。所述处理器80执行所述计算机程序82时实现上述各个图像搜索方法实施例中的步骤,例如图3所示的步骤S301至步骤S305。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块701至模块705的功能。
[0171] 示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述数据库8中的执行过程。
[0172] 本领域技术人员可以理解,图8仅仅是数据库8的示例,并不构成对数据库8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述数据库8还可以包括输入输出设备、网络接入设备、总线等。
[0173] 所述处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0174] 所述存储器81可以是所述数据库8的内部存储单元,例如数据库8的硬盘或内存。所述存储器81也可以是所述数据库8的外部存储设备,例如所述数据库8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述数据库8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述数据库8所需的其它程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
[0175] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0176] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0177] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0178] 在本申请所提供的实施例中,应该理解到,所揭露的装置/数据库和方法,可以通过其它的方式实现。例如,以上所描述的装置/数据库实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0179] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0180] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0181] 本申请实施例提供了一种计算机程序产品,当计算机程序产品在所述数据库上运行时,使得所述数据库可实现上述各个方法实施例中的步骤。
[0182] 所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0183] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈