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

数据查询的方法、存储介质和计算机程序产品与流程

2021-10-24 07:58:00 来源:中国专利 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.可选地,所述第一聚类的方法为dbscan密度聚类方法,所述第二聚类的方案为k‑means聚类方法。27.在本发明的另一个实施例中,提供了一种数据查询的装置,该装置包括:28.第一获取模块,用于获取至少一个待检索图像;29.第一筛选模块,用于提取所述待检索图像中的第一特征信息,并基于所述第一特征信息在已完成第一聚类的存储图像中筛选出至少一个第一聚类簇,其中每个所述第一聚类簇的第一类中心与所述待检索图像的第一距离小于预设阈值;30.第二获取模块,用于获取筛选出的所述第一聚类簇中所述存储图像对应的编码信息,其中,所述编码信息包含各所述存储图像的第二特征信息与该存储图像所在的所述第一聚类簇的所述第一类中心之间生成的至少一个残差向量,在完成第二聚类后所在的至少一个第二聚类簇对应的第二类中心的第一簇标识;31.第二筛选模块,用于基于所述编码信息获取至少一个第二距离,其中,所述第二距离为所述第一特征信息与各个所述第二类中心之间的距离信息;32.输出模块,用于对同属于同一所述编码信息的所述第二距离求和并排序,按照排序顺序输出所述编码信息对应的所述存储图像。33.可选地,所述装置还包括第一聚类模块,所述第一聚类模块用于:34.获取至少一个所述存储图像对应的所述第二特征信息;35.对所述第二特征信息进行所述第一聚类,生成至少一个第一聚类簇,其中,所述第一聚类簇中包含与相应的所述第一类中心距离最近的包含所述第二特征信息的所述存储图像。36.可选地,所述装置还包括编码模块,所述编码模块用于:37.计算至少一个所述存储图像对应的第二特征信息与该第二特征信息所在的所述第一聚类簇的所述第一类中心之间的第三距离信息作为该所述存储图像对应的所述残差向量;38.将至少一个所述残差向量划分为预设数量段子残差向量,并依次标记所述预设数量段所述子残差向量的划分序号;39.对标记有同一所述划分序号的所述子残差向量进行所述第二聚类,并将生成的所述第二聚类簇对应的第二类中心的第一簇标识作为所述子残差向量的子编码信息;40.将所述残差向量包含的所述预设数量段所述子残差向量对应的所述子编码信息的集合作为与该所述残差向量对应的所述存储图像的所述编码信息,并将所述编码信息与所述存储图像对应存储。41.可选地,所述装置还包括计算模块,所述计算模块用于:42.将所述第一特征信息划分为所述预设数量段子特征信息,并按照所述划分序号依次对所述预设数量段所述子特征信息进行标记;43.计算各个所述子特征信息与同属于同一所述划分序号的所述第二聚类中的所述第二类中心之间的所述第二距离。44.可选地,所述计算模块还用于:45.基于至少一个存储图像的编码信息,在与各所述子特征信息同属于同一所述划分序号的所述第二聚类中,筛选出与各所述子编码信息对应的第二类中心,并计算所述子特征信息和所述第二类中心之间的所述第二距离。46.可选地,所述第二筛选模块还用于:47.将各个所述子特征信息对应的所述第二距离与所述子特征信息所在的所述待检索图像对应存储,以及,将各个所述子特征信息与对应的所述第一簇标识对应存储,建立所述第二距离和所述第一簇标识之间的所述映射关系;48.在所述映射关系中查找与所述存储图像对应的所述编码信息中的至少一个所述子编码信息对应的所述第一簇标识,并提取与查找到的所述第一簇标识对应的所述第二距离。49.可选地,所述输出模块还用于:50.对至少一个同一所述编码信息对应的各个所述第二距离进行求和,并将各个所述编码信息按照求和后的数值大小进行排序。51.可选地,所述装置中的所述第一聚类的方法为dbscan密度聚类方法,所述第二聚类的方法为k‑means聚类方法。52.在本发明的另一个实施例中,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行上述一种数据查询的方法中的各个步骤。53.在本发明的另一个实施例中,提供了一种终端设备,包括处理器,所述处理器用于执行上述一种数据查询的方法中的各个步骤。54.在本发明的另一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述一种数据查询的方法中的各个步骤。55.基于上述实施例,首先获取至少一个待检索图像,其次,提取待检索图像中的第一特征信息,并基于第一特征信息在已完成第一聚类的存储图像中筛选出与待检索图像的第一距离小于预设阈值的至少一个第一类中心所在的第一聚类簇,进一步地,遍历筛选出的第一聚类簇中的存储图像,并获取存储图像对应的编码信息,其中,编码信息包含存储图像对应的第二特征信息与第一类中心之间的残差向量在完成第二聚类后所在的至少一个第二聚类簇对应的第二类中心的第一簇标识,然后,基于编码信息在预先建立的映射关系中筛选出至少一个第二距离,其中,在第二距离和第二类中心对应的第一簇标识之间建立映射关系,第二距离为第一特征信息与各个第二类中心之间的距离信息,最后,对同属于同一编码信息的第二距离求和并排序,按照排序顺序输出编码信息对应的存储图像。本技术实施例通过对待检索数据进行聚类和量化编码的方式实现图像检索,提升检索的效率和准确率。附图说明56.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。57.图1示出了为本技术实施例100所提供的一种数据查询的方法的流程示意图;58.图2示出了本技术实施例200提供的对数据库中的存储图像进行编码并生成对应的编码信息的示意图;59.图3示出了本技术实施例300提供的生成存储图像的编码信息的示意图;60.图4示出了本技术实施例400提供的在第二距离和第一簇标识之间建立映射关系的示意图;61.图5示出了本技术实施例500提供为存储图像查询存储图像的示意图;62.图6示出了本技术实施例600还提供一种数据查询的装置的示意图;63.图7示出了本技术实施例700所提供的一种终端设备的示意图。具体实施方式64.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。65.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。66.本技术实施例提供了一种数据查询的方法,主要适用于计算机
技术领域
:。通过对数据库中的待检索数据进行两次聚类并量化编码,使得在后续的检索中缩小检索范围,在保证检索精确度的条件下提升了检索速度。以下几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。如图1所示,为本技术实施例100提供的一种数据查询的方法的流程示意图。其中,详细步骤如下:67.步骤s11,获取至少一个待检索图像。68.本步骤中,本技术实施例中获取的待检索图像可以为人脸图像等。69.步骤s12,提取待检索图像中的第一特征信息,并基于第一特征信息在已完成第一聚类的存储图像中筛选出至少一个第一聚类簇,其中每个第一聚类簇的第一类中心与待检索图像的第一距离小于预设阈值。70.本步骤中,第一特征信息为待检索图像对应的图像特征,可利用预先训练的卷积神经网络进行特征提取,获取各个待检索图像中的第一特征信息。71.存储图像为已存储在数据库中以被后续检索的图像。这里,存储图像在数据库中完成第一聚类,在不提供聚类类别参数的情况下,实现相似的存储图像聚类。其中,第一聚类的结果是生成至少一个第一聚类簇,每个第一聚类簇中包含至少一个基于第二特征信息表征的存储图像,以及每个第一聚类簇对应一个第一类中心。72.进一步地,计算待检索图像对应的第一特征信息与各个第一聚类簇对应的第一类中心之间的第一距离,第一距离表示第一特征信息与第一聚类簇的相似度。基于预设阈值与第一距离进行筛选,选取与第一特征信息相似度较高的至少一个第一聚类簇。73.步骤s13,获取筛选出的第一聚类簇中存储图像对应的编码信息,其中,编码信息包含各存储图像的第二特征信息与该存储图像所在的第一聚类簇的第一类中心之间生成的至少一个残差向量,在完成第二聚类后所在的至少一个第二聚类簇对应的第二类中心的第一簇标识。74.本步骤中,在对筛选出的第一聚类簇中的各个存储图像进行遍历之前,先对各个存储图像进行编码生成各个存储图像对应的编码信息。具体地,对存储图像进行编码的方式主要基于第二聚类的方式。其中,在第一聚类的基础上,计算各个第二特征信息与其所在的第一聚类簇中的第一类中心之间的残差向量。将每个第二特征信息对应的残差向量分成预设数量段子残差向量,将每个残差向量的在同一划分序号的子残差向量作为一个子空间,在每个子空间内进行第二聚类,生成至少一个第二聚类簇。其中,为每个第二聚类簇对应的第二类中心设置第一簇标识。75.进一步地,用第一簇标识作为子编码信息对子残差向量进行标记,则每个残差向量对应预设数量个子编码信息。因此,由预设数量个子编码信息的集合作为存储图像对应的编码信息并存储。76.这里,在遍历筛选出的存储图像时,获取每个存储图像对应的编码信息。77.步骤s14,基于编码信息获取至少一个第二距离,其中,第二距离为第一特征信息与各个第二类中心之间的距离信息。78.本步骤中,在获取到待检索图像时,计算待检索图像与前述第二聚类后的各个第二类中心之间的第二距离。具体地,第二距离的计算方式为将待检索图像的第一特征信息划分为预设数量段子特征信息,计算每段子特征信息与同一划分序号的子空间中的各个第二聚类簇的第二类中心之间的第二距离。79.进一步地,将第二距离与对应的第二类中心的第一簇标识对应存储,并建立对应的映射关系。存储图像的编码信息由相关的第一簇标识组成,因此可以通过存储图像的编码信息获取映射关系中相应的第二距离。80.步骤s15,对同属于同一编码信息的第二距离求和并排序,按照排序顺序输出编码信息对应的存储图像。81.本步骤中,在映射关系中通过编码信息作为索引,获取与编码信息对应的至少一个第二距离,将每个存储图像对应的至少一个第二距离相加求和,作为存储图像与待检索图像之间的非对称距离。进一步地,通过对遍历的各个存储图像与待检索图像之间的非对称距离进行排序,按照排序顺序输出编码信息对应的存储图像。82.如上所述,基于上述实施例,首先获取至少一个待检索图像,其次,提取待检索图像中的第一特征信息,并基于第一特征信息在已完成第一聚类的存储图像中筛选出与待检索图像的第一距离小于预设阈值的至少一个第一类中心所在的第一聚类簇,进一步地,遍历筛选出的第一聚类簇中的存储图像,并获取存储图像对应的编码信息,其中,编码信息包含存储图像对应的第二特征信息与第一类中心之间的残差向量在完成第二聚类后所在的至少一个第二聚类簇对应的第二类中心的第一簇标识,然后,基于编码信息在预先建立的映射关系中筛选出至少一个第二距离,其中,在第二距离和第二类中心对应的第一簇标识之间建立映射关系,第二距离为第一特征信息与各个第二类中心之间的距离信息,最后,对同属于同一编码信息的第二距离求和并排序,按照排序顺序输出编码信息对应的存储图像。本技术实施例通过对待检索数据进行聚类和量化编码的方式实现图像检索,提升检索的效率和准确率。83.如图2所示,为本技术实施例200示出的对数据库中的存储图像进行编码并生成对应的编码信息的示意图。其中,该具体流程的详细过程如下:84.s201,获取至少一个存储图像对应的第二特征信息。85.这里,本技术实施例主要通过利用预先训练的卷积神经网络对存储图像进行特征提取。其中,基于不同特征的存储图像可以训练不同的卷积神经网络。如当存储图像为人脸图像时,可以使用卷积神经网络facenet对n张人脸图像进行第二特征信息的提取。进一步地,如图3所示,为本技术实施例300示出的生成存储图像的编码信息的示意图。其中,获取各个存储图像对应的第二特征信息的集合v={(pi,vi)|i=1,2,...,n},其中pi表示第i张存储图像的身份对应的图像标识,vi表示第i张存储图像的第二特征信息;vi={vij|j=1,2,...,d},其中vij表示vi中第j个特征值。d为第二特征信息的维度数量。86.如对100张存储图像进行8维特征提取,获得第二特征信息的集合v={(pi,vi)|i=1,2,...,100},其中p1表示第1张存储图像的图像标识,如‘张三’,v1表示第1张存储图像的第二特征信息;v1={v1j|j=1,2,...,8},其中v1j表示第二特征信息v1中第j个特征值,(‘张三’,v1)=(‘张三’,{0.23,0.34,0.56,0.89,0.11,0.1,0.67,0.98}),v12=0.34。87.s202,对第二特征信息进行第一聚类,生成至少一个第一聚类簇。88.本步骤中,针对第二特征信息进行的第一聚类主要为dbscan密度聚类,该聚类方法和其他的聚类方式相比不需要提供合适的聚类类别参数,可以发现任意形状的聚类簇,不仅仅适用于凸的样本集聚类,同时它在聚类的同时还可以找出异常点,便于数据集的优化更新。同时,聚类结果没有偏倚,不会受初始点的影响。89.通过第一聚类的方式对检索数据库进行空间划分,在划分后的空间内进行检索,缩小检索范围,提升检索效率。具体地,如图3所示,对第二特征信息的集合v进行dbscan密度聚类,把每一个第二特征信息归类到距离它最近的第一类中心所属的第一聚类簇中,并令所有的第一类中心的集合为hcluster={hi|i=1,2,...,k},其中hi是第i个第一类中心的特征向量,hi={hij|j=1,2,...,d},hij是第一类中心i的第j个特征值。本技术实施例将hi作为每个第一聚类簇的第一类中心的第二簇标识。90.在对第二特征信息进行第一聚类后,聚类为至少一个第一聚类簇,每个第一聚类簇中包含与相应的第一类中心距离最近的包含第二特征信息的存储图像。91.s203,将各个第二簇标识与包含于第二簇标识对应的第一聚类簇中的存储图像对应存储。92.这里,将所有第二特征信息的聚类结果保存为集合c={ci|i=1,2,...,k},其中ci={(pj,j)|j∈[1,n]},表示第j张存储图像属于第i个第一聚类簇,记录下属于每个第一聚类簇的存储图像的图片信息。将第二簇标识hi与对应的第一聚类簇ci对应存储。[0093]如对集合v进行第一聚类的密度聚类后,将100张存储图像聚类为两类,则有两个第一类中心,如第10张存储图像和第77张存储图像,则第一类中心的集合为hcluster={h1,h2}={v10,v77},c={c1,c2}为分类结果,其中c1={(pj,j)|j=1,4,6,7}表示第一个第一聚类簇中包含第1,4,6,7张存储图像,剩余的存储图像属于第二个第一聚类簇。[0094]s204,获取残差向量。[0095]这里,计算至少一个存储图像对应的第二特征信息与该第二特征信息所在的第一聚类簇的第一类中心之间的第三距离信息作为该存储图像对应的残差向量。具体的,如图3所示,残差向量是每个第二特征信息与所在的第一聚类簇的第一类中心的差值。利用所有的核心hcluster计算人脸特征向量集合v的残差向量集合r={(pi,ri)|i=1,2,...,n},其中pi表示第i张存储图像的图像标识。ri=vi‑hi,表示第i张存储图像的残差向量ri等于第i张人脸图片的第二特征信息vi和所属的第一聚类簇的第一类中心hi的差值。[0096]s205,对残差向量进行第二聚类。[0097]本步骤中,将至少一个残差向量划分为预设数量段子残差向量,并依次标记预设数量段子残差向量的划分序号。对为同一划分序号的子残差向量进行第二聚类,并将生成的第二聚类簇对应的第二类中心的第一簇标识作为子残差向量的子编码信息。具体地,如图3所示,将n个d维残差向量划分为预设数量段子残差向量,即将其切分为m个子残差向量,则每个子残差向量的维度为d/m。预设数量m可基于业务需要进行设置,且m必须整除d。[0098]进一步地,将同一划分序号的子残差向量置于同一子空间内,并在每个子空间中,对n个d/m维子残差向量进行第二聚类,聚成w类。本技术实施例中的第二聚类主要为k‑means聚类。如图3所示,对每个残差向量的每个子残差向量,在各个子空间里逐一找到距离它们最近的第二聚类簇的第二类中心,然后用第二类中心的第一簇标识作为子残差向量的子编码信息。通过这样的编码方式,d维残差向量可以通过m个编码表示,得到存储图像的量化编码集合e={(pi,ei)|i=1,2,...,n},其中pi表示第i张存储图像的图像标识,ei表示第i张存储图像的编码信息;ei={eij|j=1,2,...,m},其中eij表示存储图像的量化编码信息ei中第j个子编码信息,从而达到量化的目的。[0099]如计算100张存储头像的残差向量的集合r={(pi,ri)|i=1,2,3,...100},其中对第一张存储图像属于某个第一聚类簇,对应的第一类中心hi为v10,则(pi,ri)=(‘张三’,v1‑v10)=(‘张三’,(v1,1‑v10,1,v1,2‑v10,2,...v1,8‑v10,8)),若v10=(0.1,0.2,0.2,0.1,0,0.1,0.2,0.1),则r1=(0.13,0.14,0.36,0.79,0.11,0,0.47,0.88)。进一步地,对100个8维残差向量r1,r2,...,r100,将其切分为4个子空间,即将每个残差向量切分为四个子残差向量,每个子残差向量的维度为2维。同时,同一划分序号的子残差向量形成一个子空间,共形成四个子空间。如r1在第一个子空间的子残差向量为(0.13,0.14),第二个子空间的子残差向量为(0.36,0.79),第三个子空间的子残差向量为(0.11,0),第四个子空间的子残差向量为(0.47,0.88)。进一步地,对每个子空间中的100个二维的子残差向量进行第二聚类如k‑means聚类,聚成8类,则有8个第二类中心。对第一个子空间来说,是对进行聚类,聚成8类,第二类中心为等8个中心,可编码为1,2,3,4,5,6,7,8,1代表2代表等。[0100]s206,生成存储图像的编码信息并存储。[0101]这里,将残差向量包含的预设数量段子残差向量对应的子编码信息的集合作为与该残差向量对应的存储图像的编码信息,并将编码信息与存储图像对应存储。[0102]对每个残差向量的每个子残差向量,在各个子空间里逐一找到距离它们最近的第二类中心,然后用第二类中心的第一簇标识作为子残差向量的子编码信息并形成残差向量的编码信息,如对残差向量r1的编码信息为e1=(2,2,5,7)。[0103]上述步骤为对存储图像进行编码的过程。[0104]如图4所示,为本技术实施例400示出的在第二距离和第一簇标识之间建立映射关系的示意图。其中,该具体流程的详细过程如下:[0105]s401,获取至少一个待检索图像并提取待检索图像中的第一特征信息。[0106]这里,利用预先训练的卷积神经网络对待检索图像进行第一特征信息的提取。如利用训练好的卷积神经网络facenet对m张人脸图像进行d维特征提取。获得第一特征信息的集合q={(p′i,qi)|i=1,2,...,m},其中p′i表示第i张待检索图像的图像标识,qi表示第i张待检索图像的第一特征信息:qi={qij|j=1,2,...,d},其中qij表示人脸图片特征向量qi中第j个特征值。如对第三张待检索图像(p′3,q3)=(‘李四’,(0.1,0.11,0.2,0.22,0.3,0.31,0.34,0.5))。[0107]s402,计算第二距离。[0108]本步骤中,将第一特征信息划分为预设数量段子特征信息,并按照划分序号依次对预设数量段子特征信息进行标记;计算各个子特征信息与同属于同一划分序号的第二聚类中的第二类中心之间的第二距离。[0109]具体地,第二距离为各个待检索图像中包含的各个子特征信息与同属于同一划分序号的第二聚类中的第二类中心的距离。其中,把待检索图像的第一特征信息划分为预设数量如m段子特征信息并按照划分序号依次进行标记。计算各个子特征信息到同属于同一划分序号的子空间中的所有第二聚类中对应的第二类中心的距离,则可以得到w*m个第二距离。保存为集合d={(p′i,di)|i=1,2,...,m},其中di={dimn|m=1,2,...m,n=1,2,...,w}表示第i张待检索图像的距离集合,dimn为第i张待检索图像的第m个子特征信息到对应的子空间中第n个第二类中心的第二距离。第二距离为相似度信息,可以使用欧氏距离或余弦距离等相似度计算方式进行计算。[0110]s403,建立待检索图像与第二距离之间的映射关系。[0111]这里,将各个子特征信息对应的第二距离与子特征信息所在的待检索图像对应存储,以及,将各个子特征信息与对应的第一簇标识对应存储,建立第二距离和第一簇标识之间的映射关系。具体地,如对第三张待检索图像的第一特征信息q3,首先将q3划分为四个子特征信息特征信息其次在对应的子空间中,计算每个子特征信息到该子空间中每个第二类中心的欧式距离,建立第二距离和第一簇标识之间的映射关系。如dist11是到对应的第一个子空间的第二类中心的第二距离,dist12是到第一个子空间的第二类中心的第二距离,以此类推。如d集合为(‘李四’,d3),d3={d3mn|m=1,2,3,4,n=1,2,3,4,5,6,7,8},如d3,1,2=dist12。[0112]通过上述步骤建立待检索图像与第二距离之间的映射关系。[0113]如图5所示,为本技术实施例500示出的为存储图像查询存储图像的示意图。其中,该具体流程的详细过程如下:[0114]s501,获取至少一个待检索图像并提取待检索图像中的第一特征信息。[0115]s502,筛选出需要遍历的存储图像。[0116]这里,基于第一特征信息在已完成第一聚类的存储图像中筛选出与待检索图像的第一距离小于预设阈值的至少一个第一类中心所在的第一聚类簇。具体地,对每一张待检索的待检索图像的第一特征信息qi,在第一聚类后的集合c中找到第一距离小于预设阈值即与第一特征信息距离较近的至少一个第一类中心,并获取第一类中心对应的第一聚类簇中的存储图像。如对待检索图像的第一特征信息q3,如有两个第一聚类簇,其第一类中心分别为v10,v77。则首先计算q3和两个第一类中心的第一距离,若与v10的第一距离小于预设阈值,则在v10对应的第一聚类簇c1中进行检索,即在c1包含的图像标识为1,4,6,7的存储图像中进行筛选。[0117]s503,遍历筛选出的第一聚类簇中的存储图像,并获取存储图像对应的编码信息。[0118]这里,基于前述实施例200中的编码信息,获取需要遍历的存储图像的编码信息。如获取存储图像对应的编码信息为e1=(2,2,5,7)。[0119]s504,筛选出至少一个第二距离。[0120]这里,在映射关系中查找与存储图像对应的编码信息中的至少一个子编码信息对应的第一簇标识,并提取与查找到的第一簇标识对应的第二距离。这里,基于映射关系,计算待检索图像与编码信息为e1=(2,2,5,7)的存储图像之间的第二距离,则筛选出的第二距离为dist12、dist22、dist35和dist47。[0121]另外,在获取到第一聚类簇中的存储图像的编码信息后,基于存储图像的编码信息和待检索图像,计算各个存储图像与待检索图像之间的距离。具体地,将第一特征信息划分为预设数量段子特征信息,并按照划分序号依次对预设数量段所述子特征信息进行标记。如对第三张待检索图像的第一特征信息q3,首先将q3划分为四个子特征信息[0122]进一步地,基于至少一个存储图像的编码信息,在与各子特征信息同属于同一划分序号的第二聚类中,筛选出与各子编码信息对应的第二类中心,并计算子特征信息和第二类中心之间的第二距离。可选地,基于各存储图像的编码信息中包含的各子编码信息,获取与子编码信息对应的同一划分序号的第二类中心。如获取存储图像对应的编码信息为e1=(2,2,5,7),则其中子编码信息2与子特征信息对应,则子编码信息2对应在与子编码信息对应的同一划分序号的第二类中心与子特征信息计算两个向量之间的第二距离。相似地,计算每个子特征信息到该子空间中每个第二类中心的欧式距离,作为第二距离。[0123]s505,计算非对称距离作为相似度。[0124]这里,对至少一个同一所述编码信息对应的各个第二距离进行求和,并将各个编码信息按照求和后的数值大小进行排序。具体地,将各个第二距离相加的和作为该存储图像与待检索图像之间的相似度。如相似度d=dist12 dist22 dist35 dist47。[0125]s506,按照排序顺序输出编码信息对应的存储图像。[0126]这里,按照相似度的大小排序,并输出相似度最大的或者前几个存储图像输出,作为待检图像的查询结果。[0127]通过上述步骤进行一种数据查询的方法。[0128]本技术实施例通过两次不同的聚类方法对待检索的数据进行压缩,在保证检索准确率的同时缩小检索时的范围。首先计算查询向量x即待检索图像的第一特征信息到第一聚类各个类第一中心的第一距离,筛选出距离最近的至少一个第一聚类簇,后续只计算这些第一聚类簇中的数据库向量y即存储图像和x之间的距离,可大幅度减少计算量。进一步地,计算残差向量:计算x的残差r(x)=x‑q(x)(最近第一类中心),并在后续的距离计算中使用查询向量的残差r(x)。对r(x)进行m分组,在计算查询向量的残差到数据库数据残差的距离时,提前计算好r(x)的每个小组到第二个阶段所有子空间聚类中心的距离(欧式距离),保存为表格dist_table。进一步地,计算x和y之间的距离时,只需要计算r(x)和y的量化编码后的量化中心的距离,通过量化编码,在dist_table中查找具体的距离,然后把距离相加即可。[0129]其中,暴力搜索的方式是在全空间进行搜索,为了加快查找的速度,通过密度聚类方法实现对全空间的分割,将其分割成很多小的子空间。在搜索的时候,通过计算待检索图像和类中心的距离,快速锁定在某一(几)个子空间,然后只在该一(几)个子空间里做数据遍历检索。这样可以有效提高检索的效率,特别地,当检索子空间数量越少,检索速度越快。优选地,第一聚类采用dbscan密度聚类的方式,和k‑means聚类相比表现更好,一方面不需要聚类类别参数,可以发现任意形状的聚类簇,不仅仅使用于凸的样本集聚类,同时它在聚类的同时还可以找出异常点,便于数据集的优化更新。另一方面,聚类结果没有偏倚,不会受初始点的影响。[0130]另外,一般地欧式距离计算需要计算待检索图像和数据库中所有图像的距离,假设有n个d维数据库图像特征向量,则需要进行n*d次计算。对数据库中图像特征向量进行量化编码后为n个m维向量。采用近似的计算距离方法,只需要进行(w*m n*m)次计算,其中n>>(w,m),相比传统方法,计算大幅度降低,而且特征向量进行编码后维度降低,减少了所占的存储空间。其中,多次通过与类中心的距离计算,不在特征向量之间直接进行计算,减少计算量。[0131]基于同一发明构思,本技术实施例600还提供一种数据查询的装置,其中,如图6所示,该装置包括:[0132]第一获取模块61,用于获取至少一个待检索图像;[0133]第一筛选模块62,用于提取待检索图像中的第一特征信息,并基于第一特征信息在已完成第一聚类的存储图像中筛选出至少一个第一聚类簇,其中每个第一聚类簇的第一类中心与待检索图像的第一距离小于预设阈值;[0134]第二获取模块63,用于获取筛选出的所述第一聚类簇中存储图像对应的编码信息,其中,编码信息包含各存储图像的第二特征信息与该存储图像所在的所述第一聚类簇的第一类中心之间生成的至少一个残差向量,在完成第二聚类后所在的至少一个第二聚类簇对应的第二类中心的第一簇标识;[0135]第二筛选模块64,用于基于编码信息获取至少一个第二距离,其中,第二距离为第一特征信息与各个第二类中心之间的距离信息;[0136]输出模块65,用于对同属于同一编码信息的第二距离求和并排序,按照排序顺序输出编码信息对应的所述存储图像。[0137]本实施例中,第一获取模块61、第一筛选模块62、第二获取模块63、第二筛选模块64和输出模块65的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。[0138]可选地,装置还包括第一聚类模块66,所述第一聚类模块用于:[0139]获取至少一个所述存储图像对应的所述第二特征信息;[0140]对第二特征信息进行第一聚类,生成至少一个第一聚类簇,其中,第一聚类簇中包含与相应的第一类中心距离最近的包含第二特征信息的存储图像。[0141]可选地,装置还包括编码模块67,编码模块67用于:[0142]计算至少一个存储图像对应的第二特征信息与该第二特征信息所在的第一聚类簇的所述第一类中心之间的第三距离信息作为该存储图像对应的残差向量;[0143]将至少一个残差向量划分为预设数量段子残差向量,并依次标记预设数量段子残差向量的划分序号;[0144]对标记有同一划分序号的子残差向量进行所述第二聚类,并将生成的第二聚类簇对应的第二类中心的第一簇标识作为子残差向量的子编码信息;[0145]将残差向量包含的预设数量段所述子残差向量对应的子编码信息的集合作为与该残差向量对应的存储图像的所述编码信息,并将编码信息与存储图像对应存储。[0146]可选地,装置还包括计算模块68,计算模块68用于:[0147]将第一特征信息划分为预设数量段子特征信息,并按照划分序号依次对预设数量段所述子特征信息进行标记;[0148]计算各个子特征信息与同属于同一划分序号的第二聚类中的第二类中心之间的第二距离。[0149]可选地,计算模块68还用于:[0150]基于至少一个存储图像的编码信息,在与各子特征信息同属于同一划分序号的第二聚类中,筛选出与各子编码信息对应的第二类中心,并计算子特征信息和第二类中心之间的所述第二距离。[0151]可选地,第二筛选模块64还用于:[0152]将各个子特征信息对应的所述第二距离与子特征信息所在的待检索图像对应存储,以及,将各个子特征信息与对应的第一簇标识对应存储,建立第二距离和第一簇标识之间的映射关系;[0153]在映射关系中查找与存储图像对应的编码信息中的至少一个子编码信息对应的第一簇标识,并提取与查找到的第一簇标识对应的第二距离。[0154]可选地,输出模块65还用于:[0155]对至少一个同一所述编码信息对应的各个第二距离进行求和,并将各个编码信息按照求和后的数值大小进行排序。[0156]可选地,该装置中的第一聚类的方法为dbscan密度聚类方法,第二聚类的方法为k‑means聚类方法。[0157]在本发明的另一个实施例中,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行上述一种数据查询的方法中的各个步骤。[0158]如图7所示,本技术的又一实施例700还提供一种终端设备,包括处理器701,其中,处理器701用于执行上述一种数据查询的方法的步骤。从图7中还可以看出,上述实施例提供的终端设备还包括非瞬时计算机可读存储介质702,该非瞬时计算机可读存储介质702上存储有计算机程序,该计算机程序被处理器701运行时执行上述一种数据查询的方法的步骤。实际应用中,该终端设备可以是一台或多台计算机,只要包括上述计算机可读介质和处理器即可。[0159]具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘和flash等,该存储介质上的计算机程序被运行时,能够执行上述的一种数据查询的方法中的各个步骤。实际应用中,所述的计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或多个程序被执行时,能够执行上述的一种数据查询的方法中的各个步骤。[0160]根据本技术公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd‑rom)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本技术保护的范围。在本技术公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。[0161]本技术附图中的流程图和框图,示出了按照本技术公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标注的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。[0162]本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本技术中。特别地,在不脱离本技术精神和教导的情况下,本技术的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本技术公开的范围。[0163]最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本
技术领域
:的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行变更或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些变更、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。当前第1页12当前第1页12
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜