图像检索方法、检索库构建方法、装置、电子设备及介质转让专利

申请号 : CN202210465618.X

文献号 : CN114741544B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 白雪李硕

申请人 : 北京百度网讯科技有限公司

摘要 :

本公开提供了一种图像检索方法、检索库构建方法、装置、电子设备及介质,涉及图像处理、人脸识别技术领域,尤其涉及智能搜索技术领域。具体实现方案为:提取待检索图像的待检索特征向量,然后从检索库中检索与待检索特征向量相似度处于预设范围内的目标样本特征向量;其中,检索库包括多个聚类中心以及聚类中心关联的图像标识,聚类中心关联的图像标识包括聚类中心所属簇中的样本特征向量所属样本图像的图像标识。再将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识。从而实现了在保证检索准确度的基础上提高检索效率。

权利要求 :

1.一种图像检索方法,包括:

提取待检索图像的待检索特征向量;

从检索库中检索与所述待检索特征向量相似度处于预设范围内的目标样本特征向量;

其中,所述检索库包括多个聚类中心以及所述聚类中心关联的图像标识,所述聚类中心关联的图像标识包括所述聚类中心所属簇中的样本特征向量所属样本图像的图像标识;

将所述目标样本特征向量关联的图像标识作为与所述待检索图像匹配的图像标识;

其中,所述检索库中的图像标识对应的样本图像包括:从样本视频中抽取多个视频帧,并从抽取的视频帧中截取包括指定类型的对象的样本图像后,从抽取出的多个视频帧截取的包括同一对象的多个样本图像中,筛选出的一个样本图像;以及,从抽取的各视频帧截取的样本图像中,除所述包括同一对象的样本图像之外的其他样本图像;

其中,所述样本视频存在多个;所述检索库中的聚类中心对应的多个簇为:分别对从至少一个样本视频中筛选出的样本图像的样本特征向量进行聚类,得到的多个簇。

2.根据权利要求1所述的方法,在所述将所述目标样本特征向量关联的图像标识作为与所述待检索图像匹配的图像标识之前,所述方法还包括:确定所述目标样本特征向量与所述待检索特征向量之间的相似度是否大于预设阈值;

存在所述目标样本特征向量与所述待检索特征向量之间的相似度大于所述预设阈值的情况下,针对与所述待检索特征向量之间的相似度大于所述预设阈值的目标样本特征向量,执行所述将所述目标样本特征向量关联的图像标识作为与所述待检索图像匹配的图像标识的步骤;

在所述目标样本特征向量与所述待检索特征向量之间的相似度均小于或等于所述预设阈值的情况下,确定所述检索库中没有与所述待检索图像匹配的图像标识。

3.根据权利要求1或2所述的方法,其中,所述检索库还包括离散点和所述离散点关联的图像标识,所述离散点为对多个样本特征向量进行聚类后,不属于任一簇的样本特征向量,所述离散点关联的图像标识包括所述离散点所属样本图像的图像标识。

4.一种检索库构建方法,包括:

对多张样本图像进行筛选;

提取筛选出的样本图像的样本特征向量;

对多个样本特征向量进行聚类得到多个簇,以及所述簇的聚类中心;

根据多个聚类中心和所述多个聚类中心各自关联的图像标识,构建检索库,所述聚类中心关联的图像标识包括:所述聚类中心所属簇中的样本特征向量所属样本图像的图像标识,所述检索库包括的聚类中心用于与待检索图像的待检索特征向量进行相似度匹配,与所述待检索特征向量相似度处于预设范围内的聚类中心关联的图像标识为与所述待检索图像匹配的图像标识;

所述对多张样本图像进行筛选,包括:

获取样本视频,并从所述样本视频中抽取多个视频帧;

从抽取的视频帧中截取包括指定类型的对象的样本图像;

如果从抽取出的多个视频帧截取的样本图像中,存在包括同一对象的多个样本图像,则从所述包括同一对象的多个样本图像中,筛选出一个样本图像;

如果除所述包括同一对象的样本图像之外,从抽取的各视频帧中还截取到其他样本图像,则将所述其他样本图像均作为筛选出的样本图像;

其中,所述样本视频存在多个;所述对多个样本特征向量进行聚类得到多个簇,包括:分别对从至少一个样本视频中筛选出的样本图像的样本特征向量进行聚类,得到多个簇。

5.根据权利要求4所述的方法,其中,所述根据多个聚类中心和所述多个聚类中心各自关联的图像标识,构建检索库,包括:将待入库的样本特征向量和待入库的样本特征向量关联的图像标识,加入所述检索库,所述待入库的样本特征向量包括未入库的多个聚类中心;或者,串行针对待入库的多个样本特征向量,从所述检索库中检索与当前样本特征向量相似度最高的相似样本特征向量;

在当前样本特征向量和所述相似样本特征向量之间的相似度大于预设阈值的情况下,将当前样本特征向量关联的图像标识作为所述相似样本特征向量关联的图像标识,并加入所述检索库中;

在当前样本特征向量和所述相似样本特征向量之间的相似度小于或等于所述预设阈值的情况下,将当前样本特征向量以及当前样本特征向量关联的图像标识,加入所述检索库中。

6.根据权利要求5所述的方法,其中,所述待入库样本特征向量还包括未入库的离散点,所述离散点为对所述多个样本特征向量进行聚类后,不属于任一簇的样本特征向量,所述离散点关联的图像标识包括所述离散点所属样本图像的标识。

7.一种图像检索装置,包括:

第一提取模块,用于提取待检索图像的待检索特征向量;

检索模块,用于从检索库中检索与所述第一提取模块提取的所述待检索特征向量相似度处于预设范围内的目标样本特征向量;其中,所述检索库包括多个聚类中心以及所述聚类中心关联的图像标识,所述聚类中心关联的图像标识包括所述聚类中心所属簇中的样本特征向量所属样本图像的图像标识;

确定模块,用于将所述检索模块检索到的所述目标样本特征向量关联的图像标识,作为与所述待检索图像匹配的图像标识;

其中,所述检索库中的图像标识对应的样本图像包括:从样本视频中抽取多个视频帧,并从抽取的视频帧中截取包括指定类型的对象的样本图像后,从抽取出的多个视频帧截取的包括同一对象的多个样本图像中,筛选出的一个样本图像;以及,从抽取的各视频帧截取的样本图像中,除所述包括同一对象的样本图像之外的其他样本图像;

其中,所述样本视频存在多个;所述检索库中的聚类中心对应的多个簇为:分别对从至少一个样本视频中筛选出的样本图像的样本特征向量进行聚类,得到的多个簇。

8.根据权利要求7所述的装置,所述确定模块,还用于:

在所述将所述目标样本特征向量关联的图像标识作为与所述待检索图像匹配的图像标识之前,确定所述目标样本特征向量与所述待检索特征向量之间的相似度是否大于预设阈值;

存在所述目标样本特征向量与所述待检索特征向量之间的相似度大于所述预设阈值的情况下,针对与所述待检索特征向量之间的相似度大于所述预设阈值的目标样本特征向量,执行所述将所述目标样本特征向量关联的图像标识作为与所述待检索图像匹配的图像标识的步骤;

在所述目标样本特征向量与所述待检索特征向量之间的相似度均小于或等于所述预设阈值的情况下,确定所述检索库中没有与所述待检索图像匹配的图像标识。

9.根据权利要求7或8所述的装置,其中,所述检索库还包括离散点和所述离散点关联的图像标识,所述离散点为对多个样本特征向量进行聚类后,不属于任一簇的样本特征向量,所述离散点关联的图像标识包括所述离散点所属样本图像的图像标识。

10.一种检索库构建装置,包括:

筛选模块,用于对多张样本图像进行筛选;

第二提取模块,用于提取所述筛选模块筛选出的样本图像的样本特征向量;

聚类模块,用于对所述第二提取模块提取的多个样本特征向量进行聚类得到多个簇,以及所述簇的聚类中心;

构建模块,用于根据所述聚类模块聚类得到的多个聚类中心和所述多个聚类中心各自关联的图像标识,构建检索库,所述聚类中心关联的图像标识包括:所述聚类中心所属簇中的样本特征向量所属样本图像的图像标识,所述检索库包括的聚类中心用于与待检索图像的待检索特征向量进行相似度匹配,与所述待检索特征向量相似度处于预设范围内的聚类中心关联的图像标识为与所述待检索图像匹配的图像标识;

所述筛选模块,具体用于:

获取样本视频,并从所述样本视频中抽取多个视频帧;

从抽取的各视频帧中截取包括指定类型的对象的样本图像;

如果从抽取出的多个视频帧截取的样本图像中,存在包括同一对象的多个样本图像,则从所述包括同一对象的多个样本图像中,筛选出一个样本图像;

如果除所述包括同一对象的样本图像之外,从抽取的各视频帧中还截取到其他样本图像,则将所述其他样本图像均作为筛选出的样本图像;

其中,所述样本视频存在多个;所述聚类模块,具体用于:

分别对从至少一个样本视频中筛选出的样本图像的样本特征向量进行聚类,得到多个簇。

11.根据权利要求10所述的装置,其中,所述构建模块,具体用于:将待入库的样本特征向量和待入库的样本特征向量关联的图像标识,加入所述检索库,所述待入库的样本特征向量包括未入库的多个聚类中心;或者,串行针对待入库的多个样本特征向量,从所述检索库中检索与当前样本特征向量相似度最高的相似样本特征向量;

在当前样本特征向量和所述相似样本特征向量之间的相似度大于预设阈值的情况下,将当前样本特征向量关联的图像标识作为所述相似样本特征向量关联的图像标识,并加入所述检索库中;

在当前样本特征向量和所述相似样本特征向量之间的相似度小于或等于所述预设阈值的情况下,将当前样本特征向量以及当前样本特征向量关联的图像标识,加入所述检索库中。

12.根据权利要求11所述的装置,其中,所述待入库样本特征向量还包括未入库的离散点,所述离散点为对所述多个样本特征向量进行聚类后,不属于任一簇的样本特征向量,所述离散点关联的图像标识包括该离散点所属样本图像的标识。

13.一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑3或4‑6中任一项所述的方法。

14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1‑3或4‑6中任一项所述的方法。

说明书 :

图像检索方法、检索库构建方法、装置、电子设备及介质

技术领域

[0001] 本公开涉及图像处理、人脸识别技术领域,尤其涉及智能搜索技术领域。

背景技术

[0002] 近年来,人脸识别技术获得突飞猛进的发展,目前业界领先的人脸识别算法准确率可达99%以上,因此大量的与人脸识别相关的应用场景逐步落地。
[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] 图1是本公开实施例提供的一种图像检索方法的流程图;
[0032] 图2是本公开实施例提供的一种检索库构建方法的流程图;
[0033] 图3是本公开实施例提供的一种筛选样本图像的方法的流程图;
[0034] 图4是本公开实施例提供的一种检索库具体构建方法的流程图;
[0035] 图5是本公开实施例提供的一种检索库构建过程和图像检索过程的示例性示意图;
[0036] 图6是本公开实施例提供的一种图像检索装置的结构示意图;
[0037] 图7是本公开实施例提供的一种检索库构建装置的结构示意图;
[0038] 图8是用来实现本公开实施例的图像检索方法或者检索库构建方法的电子设备的框图。

具体实施方式

[0039] 以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0040] 在人脸检索场景中,常规的方式是在进行人脸检索之前,首先需要获取海量的人脸图像,对每张人脸图像建立索引并构建为检索库。之后在进行人脸检索时,将待检索人脸图像与检索库中的每张人脸图像进行一一对比,将与待检索人脸图像匹配的前N个人脸图像作为检索结果。
[0041] 这种方法构建的检索库的数据量巨大,需要占用大量的存储空间,对存储资源要求极高。而且由于检索时需要将待检索图像与检索库中的每张图像进行一一对比,导致检索耗时较长,对计算资源的要求极高,而且检索效率较低。另外在检索时,除了正确的检索结果以外,检索库中还包含了大量的除正确的检索结果以外的其他图像,这些图像是正确的检索结果的干扰项,而干扰项也有可能被错误的认定为检索结果,导致检索精度下降,即检索准确度降低。
[0042] 为了在保证检索准确度的基础上提高检索效率,本公开实施例提供了一种图像检索方法,该方法应用于电子设备。例如,电子设备可以为台式计算机或者平板电脑等具备图像处理能力的设备。如图1所示,本公开实施例提供的图像检索方法包括如下步骤:
[0043] S101、提取待检索图像的待检索特征向量。
[0044] 待检索图像可以是用户指定的图像或者视频帧,例如用户上传的图像或者用户打开电子设备的摄像头拍摄的图像,或者用户从视频中选择的视频帧等。其中,待检索图像中包括指定类型的对象。指定类型的对象可以根据实际需要设置,本公开实施例对此不作具体限定。例如,指定类型的对象可以是人脸、人体或者车辆等。
[0045] 在本公开实施例中,可以检测待检索图像中包括指定类型对象的区域,并采用预设的特征提取算法,提取该区域的待检索特征向量。特征提取算法可以根据实际需求设置,本公开实施例对此不作具体限定。例如,在指定类型的对象是人脸的情况下,预设的特征提取算法可以是基于方向梯度直方图(Histogram of Oriented Gradient,HOG)的人脸特征提取算法。
[0046] S102、从检索库中检索与待检索特征向量相似度处于预设范围内的目标样本特征向量。
[0047] 其中,检索库包括多个聚类中心以及聚类中心关联的图像标识,聚类中心为对多个样本特征向量进行聚类后,位于簇中心的样本特征向量,聚类中心关联的图像标识包括聚类中心所属簇中的样本特征向量所属样本图像的图像标识。本公开实施例中,各样本图像中包括具有指定类型的对象的图像。除此之外,各样本图像中还可以包括其他图像。以指定类型的对象为人脸为例,各样本图像中可以包括人脸图像以及人体图像。
[0048] 在本公开实施例中,预先对多个样本图像的样本特征向量进行聚类,得到多个簇,并将每个簇中位于簇中心的样本特征向量作为该簇的聚类中心。并基于多个聚类中心及其关联的图像标识构建检索库。
[0049] 可以理解的,本公开实施例对样本特征向量进行聚类,得到多个簇,同一个簇包括的各样本特征向量之间相似度较高,也就是说,同一个簇包括的各样本特征向量所属样本图像中包括同一个对象的可能性较高。而且聚类中心是处于簇中心的样本特征向量,那么聚类中心与所属簇中其他样本特征向量之间的相似度的均值较高,因此聚类中心更能代表所属簇包括的所有样本特征向量,而且聚类中心包括的指定类型对象的特征更丰富且更完整。
[0050] 例如,以指定类型的对象为人脸为例,对样本图像的样本特征向量进行聚类,得到样本图像1‑样本图像5各自的样本特征向量组成一个簇,且聚类中心为样本图像3的样本特征向量。那么样本图像1‑样本图像5包括的人脸相同的可能性较高,也就是说,样本图像1‑样本图像5可能是从不同角度拍摄同一张人脸得到的图像,且样本图像3更接近从正面拍摄该人脸得到的图像。
[0051] 本公开实施例可以采用预设的检索方法,从检索库中检索目标样本特征向量。例如,预设的检索方法可以是IVFFLAT或者分层可导航小世界 (Hierarchical Navigable Small World,HNSW)等。其中,IVFFLAT是一种倒序索引方法。采用的具体检索方法可以根据实际情况设置,例如,需要保证检索准确性时,可以采用IVFFLAT;需要保证检索速度时,可以采用HNSW。
[0052] 可选的,图像标识可以是样本图像的图像名,每个样本图像的图像标识不同。
[0053] S103、将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识。
[0054] 目标样本特征向量为一个聚类中心时,目标样本特征向量关联的图像标识为:该聚类中心所属簇中的样本特征向量所属样本图像的图像标识。由于该聚类中心与所属簇中各样本特征向量相似度较高,因此待检索特征向量与该聚类中心与所属簇中各样本特征向量的相似度也较高,所以可以将这些样本特征向量所属的样本图像的图像标识,均作为与待检索图像匹配的图像标识,保证了检索结果的准确性。
[0055] 可选的,将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识之后,电子设备可以显示与待检索图像匹配的图像标识对应的样本图像。
[0056] 本公开实施例的检索库包括多个聚类中心以及聚类中心所属簇中每个样本特征向量所属样本图像的图像标识,与将所有的样本特征向量存入检索库的方式相比,本公开实施例减少了存入检索库的特征向量数量,因此减小了检索库的数据量。由于聚类中心与同一个簇的其他样本特征向量相似度较高,因此待检索特征向量与目标聚类中心所属簇中各样本特征向量之间的相似度均较高,所以将这些样本特征向量所属样本图像的图像标识作为与待检索图像匹配的图像标识,能够提高检索结果的准确度。而且利用数据量更小的检索库进行检索,能够减少检索的计算量,从而提高检索效率。因此,本公开实施例实现了在保证检索准确度的基础上提高检索效率。
[0057] 在本公开实施例中,上述检索库中可以仅包括多个聚类中心以及多个聚类中心各自关联的图像标识。
[0058] 或者,除聚类中心以及聚类中心关联的图像标识之外,上述检索库还可以包括离散点和离散点关联的图像标识。其中,离散点为对多个样本特征向量进行聚类后,不属于任一簇的样本特征向量,离散点关联的图像标识包括离散点所属样本图像的图像标识。
[0059] 对样本特征向量进行聚类后,将相似的样本特征向量分为一个簇,如果某个样本特征向量与其他样本特征向量均不相似,那么这个样本特征向量是离散点。
[0060] 以指定类型的对象为人脸为例,假设对所有的人脸图像的人脸特征向量进行聚类后,人脸特征向量A与其他的人脸特征向量均不相似,即人脸特征向量A为离散点。那么人脸特征向量A所属人脸图像中包括的人脸可能与其他人脸图像包括的人脸均不相同,即不属于同一个人。
[0061] 本公开实施例将离散点以及离散点关联的图像标识也存入检索库中,扩大检索库对于样本特征向量的覆盖,从而减少未从检索库中检索到样本特征向量的情况,增大召回率。
[0062] 在本公开实施例中,S102中的预设范围可以是相似度范围,在检索目标样本特征向量时,可以计算待检索特征向量与检索库中的样本特征向量之间的相似度,并将与待检索特征向量之间的相似度处于相似度范围的样本特征向量,作为目标样本特征向量。例如,相似度范围为[90%,100%]。
[0063] 或者,S102中的预设范围可以是相似度的排名范围,在检索目标样本特征向量时,可以计算待检索特征向量与检索库中的样本特征向量之间的相似度,然后将相似度按照从高到低的顺序进行排序,将排名处于排名范围内的样本特征向量,作为目标样本特征向量。例如排名范围为[1,3]。
[0064] 在S102之后,可以直接执行S103将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识。
[0065] 或者,在S102之后,在上述S103将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识之前,电子设备还可以确定目标样本特征向量与待检索特征向量之间的相似度是否大于预设阈值。
[0066] 存在目标样本特征向量与待检索特征向量之间的相似度大于预设阈值的情况下,针对与待检索特征向量之间的相似度大于预设阈值的目标样本特征向量,执行上述S103将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识的步骤。即,将与待检索特征向量之间的相似度大于预设阈值的目标样本特征向量关联的图像标识,作为与待检索图像匹配的图像标识。
[0067] 在目标样本特征向量与待检索特征向量之间的相似度均小于或等于预设阈值的情况下,确定检索库中没有与待检索图像匹配的图像标识。
[0068] 可选的,计算特征向量之间的相似度可采用欧氏距离或者余弦距离等度量方式。以欧式距离为例,假设检索到的目标样本特征向量仅有一个,可以确定目标样本特征向量与待检索特征向量之间的欧式距离是否小于预设阈值。若小于预设阈值,则执行S103;若大于或等于预设阈值,则确定检索库中没有与待检索图像匹配的图像标识。
[0069] 具体的对于特征向量之间的相似度度量方式,可以根据实际情况设置。例如,若对样本特征向量进行聚类时,基于欧式距离度量样本特征向量之间的相似度,那么在检索时,仍采用欧式距离度量待检索特征向量与目标样本特征向量之间的相似度。
[0070] 在本公开实施例中,确定检索库中没有与待检索图像匹配的图像标识时,可以提示用户未检索到相关图像。例如,在电子设备中显示“未检索到相关图像”。
[0071] 采用上述方法,本公开实施例可以对于待检索特征向量与目标样本特征向量之间的相似度进行进一步判断,当相似度大于预设阈值时,才将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识,从而进一步提高检索结果的准确性。
[0072] 另外,在常规的检索方法中,由于检索库包括的数据量巨大,因此难以为数据库中的每个数据添加标签,例如标签可以是指定类型的对象的名称。而在本公开实施例中,由于大量地减少了检索库包括的样本特征向量数量,因此能够为检索库中的样本特征向量添加标签,从而在检索到样本特征向量时,可以输出样本特征向量的标签。
[0073] 基于相同的发明构思,本公开实施例还提供了一种检索库构建方法,该方法可应用于电子设备,例如,电子设备可以为台式计算机或者平板电脑等具备图像处理能力的设备。执行图像检索方法的电子设备与执行检索库构建方法的电子设备可以是相同的电子设备,或者可以是不同的电子设备,本公开实施例对此不作具体限定。
[0074] 如图2所示,本公开实施例提供的检索库构建方法包括如下步骤:
[0075] S201、对多张样本图像进行筛选。
[0076] 其中,多张样本图像中包括具有指定类型的对象的图像。指定类型的对象可以根据实际需要设置,例如,指定类型的对象可以是人脸、人体或者车辆等。
[0077] 本公开实施例中,可以从数据源中获取多张样本图像,或者从视频中截取多张样本图像等。由于获取到的多张样本图像中可能包含重复的图像,因此本公开实施例对多张样本图像进行筛选,从而减少重复的样本图像。例如,对获取到的多张样本图像进行去重。
[0078] S202、提取筛选出的样本图像的样本特征向量。
[0079] 在本公开实施例中,可以采用预设的特征提取算法,提取筛选出的每张样本图像的样本特征向量,或者提取筛选出的部分样本图像的样本特征向量。其中,每个样本特征向量均从一张样本图像中提取得到。
[0080] 其中,提取待检索特征向量的所采用的特征提取算法,与提取样本特征向量所采用的特征提取算法相同。
[0081] S203、对多个样本特征向量进行聚类得到多个簇,以及簇的聚类中心。
[0082] 在本公开实施例中,可以采用预设的聚类方法,对多个样本特征向量进行聚类得到多个簇,将簇中位于簇中心的样本特征向量作为该簇的聚类中心。例如,预设的聚类方法可以是基于密度的噪声应用空间聚类  (Density‑Based Spatial Clustering of Applications with Noise,DBSCAN) 或者K均值(K‑means)等,本公开实施例对此不作具体限定。
[0083] S204、根据多个聚类中心和多个聚类中心各自关联的图像标识,构建检索库。
[0084] 其中,聚类中心关联的图像标识包括:聚类中心所属簇中每个样本特征向量所属样本图像的图像标识。检索库包括的聚类中心用于与待检索图像的待检索特征向量进行相似度匹配,与待检索特征向量相似度处于预设范围内的聚类中心关联的图像标识为与待检索图像匹配的图像标识。
[0085] 采用上述方法,本公开实施例可以对多张样本图像进行筛选,并分别提取筛选后的样本图像的样本特征向量,从而减少样本特征向量的数量。而且,本公开实施例还对多个样本特征向量进行聚类得到多个簇以及多个簇的聚类中心,并基于多个聚类中心和多个聚类中心所属簇中各样本特征向量所属样本图像的图像标识,构建检索库。也就是说,本公开实施例构建的检索库中包括聚类得到的簇的聚类中心,而不是包括簇中所有的样本特征向量,因此减少了构建检索库的样本特征向量数量。本公开实施例减小了检索库的数据量,因此检索库中包括的干扰项减少,能够提高检索精度;而且利用数据量更小的检索库进行检索时,能够减少检索耗时,提高检索效率。另外,聚类中心与所属簇中各样本特征向量的相似度较高,因此当检索到聚类中心时,也就相当于检索到聚类中心所在簇中所有样本特征向量,因此能够提高检索结果的准确度。所以本公开实施例能够在保证检索准确度的基础上,提高检索效率。
[0086] 在本公开的一个实施例中,如图3所示,上述S201对多张样本图像进行筛选的方式,可以包括如下步骤:
[0087] S301、获取样本视频,并从样本视频中抽取多个视频帧。
[0088] 在本公开实施例中,可以按照固定的采样频率从样本视频帧中抽取多个视频帧。例如,每间隔5帧抽取一帧。
[0089] 或者,采用频率可以不是固定的。例如,对于样本视频中前20秒的片段按照每间隔5帧抽取一帧,样本视频的其余片段按照每隔10帧抽取一帧。又例如,对于样本视频,按照连续抽取5帧,间隔60帧,再连续抽取2帧的规律依次抽取视频帧。本公开实施例对抽取视频帧的具体方式不作限定。
[0090] S302、从抽取的视频帧中截取包括指定类型的对象的样本图像。
[0091] 在本公开实施例中,可以对抽取的各视频帧进行目标检测,从而检测视频帧中是否存在指定类型的对象。例如,在指定类型的对象为人脸的情况,目标检测方法可以是人脸检测方法。如果检测出视频帧中存在指定类型的对象,则从该视频帧中截取包括指定类型对象的样本图像。例如,在视频帧中按照指定类型的对象的最小外接矩形范围截取,得到样本图像。
[0092] S303、如果从抽取出的多个视频帧截取的样本图像中,存在包括同一对象的多个样本图像,则从包括同一对象的多个样本图像中,筛选出一个样本图像。
[0093] 在本公开实施例中,可以按照抽取的各视频帧在样本视频中的排列顺序,采用目标追踪方法,判断从抽取出的视频帧中截取的各样本图像,包括的对象是否相同,即判断指定类型的对象在抽取的视频帧中是否持续出现。例如,在指定类型的对象为人脸的情况下,目标追踪方法可以是人脸追踪方法。如果存在包括相同对象的多个样本图像,那么从这多个样本图像中,保留一张样本图像即可,减少样本图像中包括相同对象的情况。
[0094] 可选的,保留样本图像时,对于从抽取的视频帧中截取的包括相同对象的多个样本图像,可以按照样本图像所属视频帧的时间戳顺序,保留第一张样本图像,或者,保留位于中间的一张样本图像,或者随机保留一张样本图像,本公开实施例对此不作具体限定。
[0095] S304、如果除包括同一对象的样本图像之外,从抽取的各视频帧中还截取到其他样本图像,则将其他样本图像均作为筛选出的样本图像。
[0096] 可以理解的,可能存在样本视频中指定类型的某个对象出现的时长较短,导致仅抽取到一帧包括该对象的样本视频帧,因此从样本视频帧中仅截取到一张包括该对象的样本图像。此时,可以保留包括该对象的样本图像。
[0097] 在本公开实施例中,由于一个视频帧中可能存在多个指定类型的对象,例如一个视频帧中可能存在多张人脸,因此从同一个视频帧中可能截取到多个样本图像。可采用多目标追踪方法,针对视频帧中的每张样本图像,判断从抽取的上一个视频帧截取的样本图像中,是否存在与该样本图像包括同一对象的样本图像,如果存在则删除该样本图像。如果不存在,则保留该样本图像。也就是说,在抽取的视频帧中,指定类型的对象每次出现时,仅保留出现的第一帧中截取的样本图像。
[0098] 由于在视频中,同一个对象一般会出现多帧,如果直接基于每一帧中包括指定类型对象的样本图像进行聚类,则导致从一个视频中截取的样本图像数量过多,而且其中包括了大量的同一对象的样本图像,即包括大量重复的样本图像,重复的样本图像增大了聚类过程的计算量,大量的重复图像也不会给检索结果带来收益。因此本公开实施例在抽取的视频帧之间进行目标追踪,对于样本视频中持续出现的指定类型对象,筛选出一张包括该对象的样本图像,从而在减少从样本视频中提取的样本图像数量,减少重复的样本图像,提高聚类效率,减少检索结果中包括的重复的图像。
[0099] 在本公开的一个实施例中,S301获取的样本视频可以为一个或多个,电子设备可以直接对从所有样本视频中筛选出的样本图像的样本特征向量进行聚类,得到多个簇。
[0100] 或者,在本公开的另一个实施例中,S301获取的样本视频存在多个的情况下,此时上述S202中对各样本特征向量进行聚类得到多个簇的方式,可以实现为:分别对从至少一个样本视频中筛选出的样本图像的样本特征向量进行聚类,得到多个簇。
[0101] 本公开实施例中,以样本视频为单位,对样本特征向量进行分组聚类,即,将从同一个样本视频中提取的多个样本特征向量进行聚类,得到该样本视频对应的多个簇。
[0102] 上述图3的过程中,虽然使用目标跟踪方法对样本视频中的同一个对象的样本图像做了一定程度的去重,但是在目标跟踪方法中,不同时间段内出现的对象会被认定为不同的对象。例如,一个人脸在视频的前5秒出现后消失,又在视频的第10秒‑12秒出现,那么从视频的前5秒内抽取的视频帧中提取的包括该人脸的样本图像会被筛选出一张,且从第10秒‑12 秒抽取的视频帧中提取的包括该人脸的样本图像会被筛选出一张。也就是说,即使采用目标跟踪的方式对样本图像进行了筛选,从同一个样本视频提取的样本图像中,仍可能存在多张包括同一个对象的样本图像。因此本公开实施例可以对从至少一个样本视频中筛选出的样本图像的样本特征向量进行聚类,得到多个簇。
[0103] 采用上述方法,本公开实施例可以对从同一个样本视频中筛选出的样本图像的样本特征向量进行聚类,从而将相似的样本特征向量作为一个簇,方便后续根据簇的聚类中心构建检索库。也就相当于对从同一个样本视频中筛选出的样本图像进行进一步去重,进一步减少基于同一个对象的样本图像构建检索库的可能。
[0104] 而且,由于样本图像中包括的指定类型对象的特征完整性和准确性不同,例如侧面拍摄的人脸图像包括的人脸特征较少,被口罩遮挡的人脸图像包括的特征不准确等。本公开实施例利用聚类中心代替簇中所有的样本特征向量,由于聚类中心与所属簇中每个样本特征向量均相似度较高,因此包括完整且正确的特征的可能性较高,因此在数据库中存储每个簇的聚类中心,能够保证数据库中存储的指定类型对象的特征的稳定性和鲁棒性。
[0105] 在本公开的一个实施例中,参见图4,上述S204根据多个聚类中心和多个聚类中心各自关联的图像标识,构建检索库的方式,包括以下两种:
[0106] 一种实现方式中,电子设备可以将待入库的样本特征向量和待入库的样本特征向量关联的图像标识,加入检索库。其中,待入库的样本特征向量包括未入库的聚类中心。
[0107] 电子设备可以在通过S203对样本特征向量进行聚类后,将聚类得到的各聚类中心与各聚类中心各自关联的图像标识,加入检索库。其中,在加入检索库之前,检索库可以是空的,或者也可以已包括其他样本特征向量以及其他样本特征向量关联的图像标识。
[0108] 通过该方法,本公开实施例可以将待入库样本特征向量及其关联的图像标识加入检索库,从而避免将所有的样本特征向量均加入检索库,因此减少了检索库包括的样本特征向量数量,减少了检索库占用的存储资源,降低了检索成本。
[0109] 参见图4,上述S204构建检索库的另一种方式,可称为增量入库方式,包括如下步骤:
[0110] S401、串行针对待入库的多个样本特征向量,从检索库中检索与当前样本特征向量相似度最高的相似样本特征向量。其中,待入库的样本特征向量包括未入库的多个聚类中心。
[0111] 在本公开实施例中,串行针对待入库的多个样本特征向量分别执行 S401‑S404,因此每次执行S401‑S404时所针对的样本特征向量为当前样本特征向量。
[0112] 本公开实施例可以采用预设的检索方法,从检索库中检索与该待入库样本特征向量相似度最高的相似样本特征向量。例如,预设的检索方法可以是IVFFLAT或者HNSW等。
[0113] S402、确定当前样本特征向量和相似样本特征向量之间的相似度是否大于预设阈值。在当前样本特征向量和相似样本特征向量之间的相似度大于预设阈值的情况下,执行S403;在当前样本特征向量和相似样本特征向量之间的相似度小于或等于预设阈值的情况下,执行S404。
[0114] 在本公开实施例中,计算当前样本特征向量和相似样本特征向量之间的相似度,可采用欧氏距离或者余弦距离等度量方式,本公开实施例对此不作具体限定。以欧式距离为例,可以确定当前样本特征向量和相似样本特征向量之间的欧式距离是否小于预设阈值。若小于预设阈值,则执行 S403;若大于或等于阈值阈值,则执行S404。
[0115] S403、将当前样本特征向量关联的图像标识作为相似样本特征向量关联的图像标识,并加入检索库中。
[0116] 在本公开实施例中,如果当前样本特征向量和相似样本特征向量之间的相似度大于预设阈值,说明当前样本特征向量和相似样本特征向量之间的相似度较高,二者对应的样本图像包括的对象是同一个对象的可能性较高,因此不需要对当前样本特征向量进行重复入库,可以直接在检索库中添加当前样本特征向量关联的图像标识,并与相似样本特征向量关联。即对于相似样本特征向量而言,其原本关联的图像标识仍保留,并在此基础上,增加关联当前样本特征向量关联的图像标识。
[0117] 例如,未入库的聚类中心1与检索库中聚类中心2相似度大于阈值,且聚类中心1关联的图像标识包括:A、B、C;聚类中心2关联的图像标识包括:D、E、F。将聚类中心1关联的图像标识作为聚类中心2关联的图像标识并加入检索库之后,检索库中聚类中心2关联的图像标识包括: A、B、C、D、E、F。
[0118] 其中,在加入检索库之前,检索库可以是空的,或者也可以已包括其他样本特征向量及其关联的图像标识。
[0119] S404、将当前样本特征向量以及当前样本特征向量关联的图像标识,加入检索库中。
[0120] 在本公开实施例中,如果当前样本特征向量和相似样本特征向量之间的相似度小于或等于预设阈值,说明当前样本特征向量和相似样本特征向量之间的相似度较低,二者对应的样本图像包括的对象是同一个对象的可能性较低。因此需要将当前样本特征向量及其关联的图像标识加入检索库,扩大检索库的覆盖范围。
[0121] 由于从不同的样本视频中可能提取出包括同一个对象的样本图像,因此在对从单个样本视频中筛选出的样本图像的样本特征向量进行聚类的情况下,不同的样本视频对应的各聚类中心之间也可能存在相似度较高的情况。而相似度较高的聚类中心所属样本图像包括的对象是同一个对象的可能性较高,因此不需要在检索库中对该对象的样本特征向量进行重复记录。所以本公开实施例串行地针对待入库的多个样本特征向量,通过图4 的方式可以依次判断待入库的样本特征向量是否需要入库,减少入库的样本特征向量数量。同时本公开实施例也没有减少检索库对于指定类型对象的样本特征向量的覆盖。
[0122] 可选的,上述两种构建检索库的方式可以根据实际需要选择。例如,在检索库为空且样本视频只有一个,或者在检索库为空且聚类时直接对从所有样本视频中筛选的样本图像的样本特征向量进行统一聚类的情况下,可以用方式一向检索库中添加样本特征向量及其关联的图像标识。在检索库已包括了样本特征向量及其关联的图像标识,或者对单个样本视频中筛选的样本图像的样本特征向量进行分别聚类的情况下,可以利用方式二向检索库中添加样本特征向量及其关联的图像标识。
[0123] 本公开实施例在检索库中加入当前样本特征向量时,还可以为当前样本特征向量建立索引,方便后续基于索引快速检索到检索库中的样本特征向量。
[0124] 在本公开的一个实施例中,上述待入库的样本特征向量还可以包括未入库的离散点。其中,离散点为对多个样本特征向量进行聚类后,不属于任一簇的样本特征向量,离散点关联的图像标识包括离散点所属样本图像的标识。
[0125] 本公开实施例中,在聚类之后,可以对每个聚类中心以及每个离散点,按照图4的方式判断是否需要入库。
[0126] 也就是说,检索库中还可以包括离散点,检索库包括的离散点用于与待检索图像的待检索特征向量进行相似度匹配,与待检索特征向量相似度处于预设范围内的离散点关联的图像标识为与待检索图像匹配的图像标识。
[0127] 由于离散点与聚类得到的每个簇中样本特征向量均不相似,也就是说,离散点所属样本图像包括的对象与其他样本图像包括的对象均不相同的可能性较高,因此也需要对离散点进行是否需要入库的判断。从而扩大检索库对于样本特征向量的覆盖,减少未从检索库中检索到样本特征向量的情况,增大召回率。
[0128] 此外,常规的检索方法将待检索人脸图像与检索库中的每个人脸图像进行一一对比,得到与待检索人脸图像匹配的人脸图像。由于检索结果包括的人脸图像越多,即召回数量越多,检索准确度越低;检索结果包括的人脸图像越少,即召回数量越少,检索准确度越高。因此目前为了平衡准确率和召回数量,按照匹配度从高到低 的顺序,将检索到的前N个人脸图像作为检索结果。该方式对与待检索人脸图像匹配的人脸图像按照匹配度进行截断,仅能够检索到N个人脸图像,丢失了部分正确的检索结果,对人脸图像的召回数量有限。
[0129] 而本公开实施例提供的图像检索方法中,由于同一个簇的样本特征向量之间相似度高,因此与待检索样本特征向量匹配的聚类中心关联的各图像标识对应的样本图像均与待检索图像的相似度高。所以本公开实施例可以在检索库中为聚类中心记录所属簇中各样本特征向量关联的图像标识,方便后续检索到聚类中心时,可以得到聚类中心关联的所有图像标识,从而向用户展示这些图像标识各自对应的样本图像。因此本公开实施例不但能够保证检索结果的准确性,还解除了对检索结果数量的限制,减少了丢失正确检索结果的情况。理论上本公开实施例可以检索到所有正确的样本图像。经实验结果表明,在亿级规模检索库中,本公开实施例的检索正确率超过99.5%。
[0130] 可选的,在本公开的一个实施例中,聚类得到各聚类中心和各离散点之后,还可以判断聚类中心和离散点是否为噪声。其中,噪声所属的图像中不包括指定类型的对象。若聚类中心为噪声,则删除该聚类中心所属的簇。若离散点为噪声,则删除该离散点。从而减少检索库中包括噪声的情况,提高检索结果的准确性。
[0131] 例如,可以判断聚类中心或离散点的模长,是否处于预设的模长范围内。若是,则确定不是噪声。若否,则确定是噪声。
[0132] 参见图5,以下以指定类型的对象为人脸为例,对本公开实施例提供的图像检索方法和检索库构建方法的整体流程进行说明:
[0133] 获取多个样本视频。
[0134] 针对每个样本视频,从样本视频中按照一定采用频率抽取视频帧,得到多个视频帧。从抽取的各视频帧中进行人脸检测并截取人脸图像。通过人脸追踪确定出抽取出的多个视频帧截取的人脸图像中,存在包括同一人脸的多个人脸图像的情况下,从这些包括同一人脸的多个人脸图像中,筛选出一个人脸图像。如果除这些包括同一人脸的人脸图像之外,从抽取的各视频帧中还截取到其他人脸图像,则将其他人脸图像均作为筛选出的人脸图像。通过人脸特征提取方法提取筛选出的每张人脸图像的人脸特征向量。通过聚类服务对从该样本视频中筛选出的各人脸图像的人脸特征向量进行聚类,得到该样本视频对应的多个簇以及每个簇的聚类中心,存在人脸特征向量不属于任一簇时,将该人脸特征向量作为离散点。并通过聚类服务对各聚类中心和各离散点中的噪声进行过滤。
[0135] 通过增量入库服务,串行针对每个待入库人脸特征向量,从检索库中检索与该待入库人脸特征向量相似度最高的相似人脸特征向量。其中,待入库人脸特征向量包括聚类得到的各聚类中心和各离散点。
[0136] 确定该待入库人脸特征向量和相似人脸特征向量之间的相似度是否大于预设阈值,从而判断出该待入库人脸特征向量是否需要加入检索库。
[0137] 在该待入库人脸特征向量和相似人脸特征向量之间的相似度大于预设阈值的情况下,该待入库人脸特征向量不需要加入检索库,因此将该待入库人脸特征向量关联的图像标识作为相似人脸特征向量关联的图像标识,并加入检索库中,相当于将该待入库人脸特征向量关联的图像标识与相似人脸特征向量关联的图像标识合并后,均作为相似人脸特征向量关联的图像标识。
[0138] 在该待入库人脸特征向量和相似人脸特征向量之间的相似度小于或等于预设阈值的情况下,该待入库人脸特征向量需要加入检索库,因此将该待入库人脸特征向量以及该待入库人脸特征向量关联的图像标识,加入检索库中。
[0139] 在进行检索时,获取用户提交的待检索人脸图像,通过人脸检测方法检测待检索人脸图像中的人脸区域,并通过人脸特征提取方法提取人脸区域的待检索特征向量。通过检索服务从检索库中检索与待检索特征向量相似度最高的目标样本特征向量。在目标样本特征向量与待检索特征向量之间的相似度大于预设阈值的情况下,将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识,并向用户展示与待检索图像匹配的图像标识对应的图像。
[0140] 图5中各步骤的具体实现方式可参考上述相关描述,此处不再赘述。
[0141] 可以看出,本公开实施例能够实现从数据的聚类到入库再到检索的全流程,而且应用范围广泛,能够适用于对各种对象的检索场景,能够以较小的成本迁移到各种大规模数据检索场景。
[0142] 经实验结果表明,与常规的图像检索的方式相比,本公开实施例提供的检索库构建方法减少了90%以上的入库数据量。其中目标追踪对数据量减少了75%,聚类对数据量减少了70%,增量入库在不影响召回率的情况下对数据量减少了至少20%。
[0143] 基于相同的发明构思,对应于上述方法实施例,如图6所示,本公开实施例还提供了一种图像检索装置,包括:第一提取模块601、检索模块 602和确定模块603;
[0144] 第一提取模块601,用于提取待检索图像的待检索特征向量;
[0145] 检索模块602,用于从检索库中检索与第一提取模块601提取的待检索特征向量相似度处于预设范围内的目标样本特征向量;其中,检索库包括多个聚类中心以及聚类中心关联的图像标识,聚类中心关联的图像标识包括聚类中心所属簇中的样本特征向量所属样本图像的图像标识;
[0146] 确定模块603,用于将所述检索模块602检索到的所述目标样本特征向量关联的图像标识,作为与待检索图像匹配的图像标识。
[0147] 在本公开的一个实施例中,确定模块603,还用于:
[0148] 在将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识之前,确定目标样本特征向量与待检索特征向量之间的相似度是否大于预设阈值;
[0149] 存在目标样本特征向量与待检索特征向量之间的相似度大于预设阈值的情况下,针对与待检索特征向量之间的相似度大于预设阈值的目标样本特征向量,执行将目标样本特征向量关联的图像标识作为与待检索图像匹配的图像标识的步骤;
[0150] 在目标样本特征向量与待检索特征向量之间的相似度均小于或等于预设阈值的情况下,确定检索库中没有与待检索图像匹配的图像标识。
[0151] 在本公开的一个实施例中,其中,检索库还包括离散点和离散点关联的图像标识,离散点为对多个样本特征向量进行聚类后,不属于任一簇的样本特征向量,离散点关联的图像标识包括离散点所属样本图像的图像标识。
[0152] 基于相同的发明构思,对应于上述方法实施例,如图7所示,本公开实施例还提供了一种检索库构建装置,包括:筛选模块701、第二提取模块702、聚类模块703和构建模块704;
[0153] 筛选模块701,用于对多张样本图像进行筛选;
[0154] 第二提取模块702,用于提取筛选模块701筛选出的样本图像的样本特征向量;
[0155] 聚类模块703,用于对第二提取模块702提取的多个样本特征向量进行聚类得到多个簇,以及簇的聚类中心;
[0156] 构建模块704,用于根据聚类模块703聚类得到的多个聚类中心和多个聚类中心各自关联的图像标识,构建检索库,聚类中心关联的图像标识包括:聚类中心所属簇中的样本特征向量所属样本图像的图像标识,检索库包括的聚类中心用于与待检索图像的待检索特征向量进行相似度匹配,与待检索特征向量相似度处于预设范围内的聚类中心关联的图像标识为与待检索图像匹配的图像标识。
[0157] 在本公开的一个实施例中,其中,筛选模块701,具体用于:
[0158] 获取样本视频,并从样本视频中抽取多个视频帧;
[0159] 从抽取的各视频帧中截取包括指定类型的对象的样本图像;
[0160] 如果从抽取出的多个视频帧截取的样本图像中,存在包括同一对象的多个样本图像,则从包括同一对象的多个样本图像中,筛选出一个样本图像;
[0161] 如果除包括同一对象的样本图像之外,从抽取的各视频帧中还截取到其他样本图像,则将其他样本图像均作为筛选出的样本图像。
[0162] 在本公开的一个实施例中,其中,样本视频存在多个;聚类模块703,具体用于:
[0163] 分别对从至少一个样本视频中筛选出的样本图像的样本特征向量进行聚类,得到多个簇。
[0164] 在本公开的一个实施例中,其中,构建模块704,具体用于:
[0165] 将待入库的样本特征向量和待入库的样本特征向量关联的图像标识,加入检索库,待入库的样本特征向量包括未入库的多个聚类中心;或者,
[0166] 串行针对待入库的多个样本特征向量,从检索库中检索与当前样本特征向量相似度最高的相似样本特征向量;
[0167] 在当前样本特征向量和相似样本特征向量之间的相似度大于预设阈值的情况下,将当前样本特征向量关联的图像标识作为相似样本特征向量关联的图像标识,并加入检索库中;
[0168] 在当前样本特征向量和相似样本特征向量之间的相似度小于或等于预设阈值的情况下,将当前样本特征向量以及当前样本特征向量关联的图像标识,加入检索库中。
[0169] 在本公开的一个实施例中,其中,待入库样本特征向量还包括未入库的离散点,离散点为对多个样本特征向量进行聚类后,不属于任一簇的样本特征向量,离散点关联的图像标识包括离散点所属样本图像的标识。
[0170] 本公开的技术方案中,所涉及的图像的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0171] 需要说明的是,本实施例中的图像并不是针对某一特定用户的图像,并不能反映出某一特定用户的个人信息。
[0172] 需要说明的是,本实施例中的样本图像可以来自于公开数据集。
[0173] 根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0174] 图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0175] 如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出 (I/O)接口
805也连接至总线804。
[0176] 电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0177] 计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如图像检索方法或者检索库构建方法。例如,在一些实施例中,图像检索方法或者检索库构建方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801 执行时,可以执行上文描述的图像检索方法或者检索库构建方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像检索方法或者检索库构建方法。
[0178] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/ 或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0179] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0180] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0181] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入) 来接收来自用户的输入。
[0182] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0183] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0184] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0185] 上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。