一种图像检索方法及装置与流程

未命名 08-29 阅读:95 评论:0
1.本技术涉及信息处理
技术领域
:,尤其涉及一种图像检索方法及装置。
背景技术
::2.人脸检索是视频拍摄领域的常用技术,其目的在于根据输入的目标人脸图像从海量的人脸图像中检索到对应的人脸图像,即检索到包含目标人脸的人脸图像。解决人脸检索问题最常见的方法是暴力比对,即将目标人脸图像的高维特征与海量的人脸图像的高维特征逐个计算相似度,选取最相似的人脸图像作为最终的检索结果。但是,暴力比对的检索效率很低,且对于计算能力和存储能力的需求较大,无法应用在计算资源和存储资源非常有限的边缘拍摄设备(比如,摄像头)中。3.现有技术中提供了一种由粗到细的两阶段的快速人脸检索方法。具体的,如图1所示,在检索之前,从海量的人脸图像中提取浮点特征向量并转化为二进制特征向量,对海量的二进制特征向量进行聚类得到多个特征向量簇c1-ck。当输入目标人脸图像时,在第一阶段的检索中,提取目标人脸图像的浮点特征向量vec0’并转化为二进制特征向量vec0,分别计算vec0与上述c1-ck对应的中心向量的汉明距离以确定最近的特征向量簇ci,分别计算vec0与ci内的所有二进制特征向量的汉明距离以确定最近的n个二进制特征向量vec1-vecn。在第二阶段的检索中,获取vec1-vecn的浮点特征向量vec1’‑vecn’,分别计算vec0’与vec1’‑vecn’的汉明距离,以从vec1’‑vecn’中确定出最相似的m个浮点特征向量,m个浮点特征向量对应的m个人脸图像即为检索的最相似的人脸图像。4.上述方法中,将浮点特征向量转化为二进制特征向量会丢失很多信息,从而基于二进制特征向量进行检索时存在准确性低和漏检的问题;此外,该方法需要设备支持将浮点特征向量转化为二进制特征向量的能力,从而适用范围有限。技术实现要素:5.本技术实施例提供一种检索方法及检索装置,用于在安防设备实现检索,并提升检索效率。6.为达到上述目的,本技术采用如下技术方案:7.第一方面,提供一种检索方法,该方法包括:安防设备接收来自服务器的配置信息,该配置信息包括t个中心向量、特征字典和候选图像信息,该特征字典用于指示多个图像子特征,该候选图像信息包括多个候选图像的图像信息,该多个候选图像与t个中心向量对应;获取目标图像的目标特征向量;根据t个中心向量、目标特征向量和特征字典,从该候选图像信息中确定至少一个匹配图像信息。8.上述技术方案中,该安防设备可以获取配置信息和目标图像的目标特征向量,根据该t个中心向量、目标特征向量和特征字典,从该候选图像信息中确定至少一个匹配图像信息,进而使得安防设备能够在本地实现检索,且简化了检索流程、提升了检索效率。9.在第一方面的一种可能的实现方式中,根据目标特征向量和特征字典,从该候选图像信息中确定至少一个匹配图像信息,包括:根据该目标特征向量和t个中心向量中对应最近的w个中心向量,确定w个目标残差特征向量,该t和w均为正整数;根据特征字典和该w个目标残差特征向量确定w个检索信息,该特征字典是根据多个训练图像的特征向量与该t个中心向量之间的多个训练残差特征向量确定的;根据该w个检索信息查询候选图像信息,得到至少一个匹配图像信息。可选的,该候选图像信息包括多个候选图像的特征向量的编码信息和向量索引。上述可能的实现方式中,该安防设备可以根据该目标特征向量和对应最近的w个中心向量确定w个目标残差特征向量,并根据特征字典和该w个残差特征向量确定w个检索信息,从而根据该w个检索信息查询候选图像信息得到至少一个匹配图像信息,进而使得安防设备能够在本地实现检索,且简化了检索流程、提升了检索效率。另外,该候选图像信息是编码信息和向量索引,在检索过程中能够保证检索图像的安全性;同时与“暴力对比”的检索方式相比,能够在极小召回率损失的前提下降低计算复杂度和存储开销。10.在第一方面的一种可能的实现方式中,该w个中心向量是该t个中心向量中与该目标特征向量之间的相似度较高的前w个中心向量。上述可能的实现方式中,根据该目标特征向量和相似度较高的前w个中心向量确定能够提高确定w个目标残差特征向量时,能够提高确定w个目标残差特征向量的准确性。11.在第一方面的一种可能的实现方式中,该特征字典包括多个子特征字典,根据特征字典和该w个残差特征向量确定w个检索信息,包括:对于该w个目标残差特征向量中的每个目标残差特征向量,分别确定该目标残差特征向量与该多个子特征字典之间的相似度,该目标残差特征向量对应的多个该相似度作为一个检索信息;该w个目标残差特征向量对应得到w个检索信息。上述可能的实现方式中,由于该多个子特征字典是预先训练得到的,从而根据多个子特征字典和该w个残差特征向量确定w个检索信息时,能够在保证召回率的前提下,降低计算复杂度。12.在第一方面的一种可能的实现方式中,确定该目标残差特征向量与该多个子特征字典之间的相似度,包括:将该目标残差特征向量划分为多个目标子特征,该多个目标子特征与该多个子特征字典一一对应;对于该多个目标子特征中的每个目标子特征,确定该目标子特征与对应的子特征字典之间的相似度。上述可能的实现方式中,提供了一种简单有效的确定该目标残差特征向量与该多个子特征字典之间的相似度的方式,该方式能够保证计算的准确性。13.在第一方面的一种可能的实现方式中,该图像候选信息包括与该t个中心向量对应的t个节点,该多个候选图像的特征向量的编码信息和向量索引分散存储在该t个节点中;则根据该w个检索信息查询候选图像信息,得到至少一个匹配图像信息,包括:确定该t个节点中与该w个中心向量对应的w个节点;根据该w个检索信息查询该w个节点,得到至少一个匹配图像信息。上述可能的实现方式中,该候选图像信息是一种倒排文件,且包括的是候选图像的编码信息和向量索引,从而能够简化了检索流程、提升了检索效率,同时保证候选图像的安全性。14.第二方面,提供一种检索方法,该方法包括:服务器确定特征字典和候选图像信息,该特征字典用于指示多个图像子特征,该候选图像信息包括多个候选图像的图像信息,该多个候选图像与t个中心向量对应;该服务器向安防设备发送配置信息,该配置信息包括t个中心向量、该特征字典和该候选图像信息,该配置信息用于该安防设备实现图像检索。15.上述技术方案中,该服务器可以确定特征字典和候选图像信息,该特征字典用于指示多个图像子特征,该候选图像信息包括多个候选图像的图像信息,并通过配置信息发送给安防设备,以使安防设备根据该配置信息在本地实现图像检索,从而能够简化了检索流程、提升了检索效率。16.在第二方面的一种可能的实现方式中,确定特征字典和候选图像信息,包括:根据多个训练图像确定t个中心向量和特征字典,该特征字典包括多个训练残差特征向量,该多个训练残差特征向量包括该多个训练图像的训练特征向量与该t个中心向量之间的训练残差特征向量,该t为正整数;根据该t个中心向量和该特征字典处理多个候选图像,得到候选图像信息,该候选图像信息包括该多个候选图像的特征向量的编码信息和向量索引。上述可能的实现方式中,根据多个训练图像训练得到t个中心向量和特征字典,同时利用t个中心向量和特征字典对多个候选图像进行处理得到候选图像信息,该候选图像信息是多个候选图像的编码信息和向量索引,从而能够保证候选图像的安全性;同时,安防设备在利用该候选图像信息进行检索时,能够在极小召回率损失的前提下降低计算复杂度和存储开销。17.在第二方面的一种可能的实现方式中,根据多个训练图像确定t个中心向量和特征字典,包括:提取多个训练图像中每个训练图像的训练特征向量,得到多个训练特征向量;对该多个训练特征向量进行聚类得到t个中心向量;根据该多个训练特征向量中的每个训练特征向量、以及该训练特征向量对应的中心向量确定训练残差特征向量,该多个训练特征向量对应得到多个训练残差特征向量;根据该多个训练残差特征向量,确定特征字典。上述可能的实现方式中,提供了一种根据多个训练图像训练得到t个中心向量和特征字典的方式,该方式能够保证得到的t个中心向量和特征字典的有效性和准确性。18.在第二方面的一种可能的实现方式中,根据该多个训练残差特征向量,确定特征字典,包括:旋转并切分训练残差矩阵得到m个训练残差子矩阵,该训练残差矩阵包括该多个训练残差特征向量,m为正整数;对该m个训练残差子矩阵中每个训练残差子矩阵进行聚类得到m个子特征字典,该特征字典包括该m个子特征字典。上述可能的实现方式中,在训练残差矩阵切分时充分考虑了训练残差子矩阵(即特征子空间)之间的相关性,有效解决了传统暴力切分特征空间时所带来的特征特性被破坏的问题,从而可以确保学习到更准确的特征字典。19.在第二方面的一种可能的实现方式中,该m个训练残差子矩阵是非均匀切分得到的。上述可能的实现方式,能够实现训练残差子矩阵(即特征子空间)的自适应切分,以解决按顺序均匀切分时所导致的局部特征(比如,人脸面部特征)表达不完整问题。20.在第二方面的一种可能的实现方式中,根据该t个中心向量和该特征字典处理多个候选图像,得到候选图像信息,包括:提取多个候选图像中的每个候选图像的特征向量,得到多个候选特征向量;根据该t个中心向量确定该多个候选特征向量中每个候选特征向量对应的中心向量;根据每个候选特征向量对应的中心向量确定该候选特征向量对应的m个候选残差子特征;根据该特征字典压缩编码每个候选特征向量的该m个候选残差子特征,得到该多个候选特征向量的编码信息,该候选图像信息包括该编码信息。上述可能的实现方式中,该候选图像信息包括编码信息,从而在利用该候选图像信息进行检索时保证检索图像的安全性;同时与“暴力对比”的检索方式相比,能够在极小召回率损失的前提下降低计算复杂度和存储开销。21.在第二方面的一种可能的实现方式中,该特征字典包括m个子特征字典,根据该特征字典压缩编码每个候选特征向量的该m个候选残差子特征,包括:确定每个候选特征向量的该m个候选残差子特征与该m个子特征字典的相似度;将每个候选残差特征对应的多个相似度中,相似度最高的相似度对应的子特征字典的索引确定为该候选残差特征的特征索引,每个候选特征向量的编码信息包括对应的m个该特征索引。上述可能的实现方式中,在利用该候选图像信息进行检索时保证检索图像的安全性;同时与“暴力对比”的检索方式相比,能够在极小召回率损失的前提下降低计算复杂度和存储开销。22.在第二方面的一种可能的实现方式中,该方法还包括:根据该t个中心向量和该多个候选特征向量的向量索引,确定向量索引序列;根据该向量索引序列和该多个候选特征向量的编码信息,确定该图像候选信息。上述可能的实现方式中,该候选图像信息是一种倒排文件,且包括的是候选图像的编码信息和向量索引,从而能够简化了检索流程、提升了检索效率,同时保证候选图像的安全性;进而安防设备在利用该候选图像信息进行检索时,能够在极小召回率损失的前提下降低计算复杂度和存储开销。23.在第二方面的一种可能的实现方式中,根据该t个中心向量和该多个候选特征向量的向量索引,确定向量索引序列,包括:根据该t个中心向量确定每个候选特征向量对应的中心向量的中心索引;按照大小关系排序该多个候选特征向量对应的中心索引,得到中心索引序列;按照该中心索引序列调整该多个候选特征向量的向量索引,得到向量索引序列。上述可能的实现方式,提供了一种简单有效的确定向量索引序列的方式。24.在第二方面的一种可能的实现方式中,根据该向量索引序列和该多个候选特征向量的编码信息,确定该图像候选信息,包括:根据该向量索引序列中该多个候选特征向量的向量索引的顺序,对应排列该多个候选特征向量的编码信息;根据该t个中心向量,将排列后的该多个候选特征向量的编码信息划分为t个编码块,并将该t个编码块依次存储在编码信息链表的t个节点中,以及将该向量索引序列划分为t个索引块,并将该t个索引块依次存储在向量索引链表的t个节点中;确定每个候选特征向量的编码信息和向量索引在对应链表的节点中的偏移地址,得到地址指示信息;该图像候选信息包括该地址指示信息、该向量索引链表和该编码信息链表。上述可能的实现方式中,通过将向量索引序列和多个候选特征向量的编码信息对应存放在链表中,以形成倒排文件,这样在利用该候选图像信息进行检索时,能够简化检索流程、提升检索效率。25.第三方面,提供一种安防设备中,该安防设备包括:接收单元,用于接收来自服务器的配置信息,该配置信息包括特征字典和候选图像信息,该特征字典用于指示多个图像子特征,该候选图像信息包括多个候选图像的图像信息;处理单元,用于获取目标图像的目标特征向量,该目标特征向量用于表征该目标图像的图像特征;处理单元,还用于根据该目标特征向量和该特征字典,从该候选图像信息中确定至少一个匹配图像信息。26.在第三方面的一种可能的实现方式中,该配置信息还包括t个中心向量,该t个中心向量是多个训练图像聚类得到的,该处理单元还用于:根据该目标特征向量和t个中心向量中的w个中心向量,确定w个目标残差特征向量,该t和w均为正整数;根据特征字典和该w个目标残差特征向量确定w个检索信息,该w个检索信息用于确定该目标图像与候选图像的匹配度;根据该w个检索信息和该候选图像信息,确定匹配度较高的至少一个匹配图像信息。可选的,该候选图像信息包括多个候选图像的特征向量的编码信息和向量索引。27.在第三方面的一种可能的实现方式中,该w个中心向量是该t个中心向量中与该目标特征向量之间的相似度较高的前w个中心向量。28.在第三方面的一种可能的实现方式中,该处理单元还用于:对于该w个目标残差特征向量中的每个目标残差特征向量,分别确定该目标残差特征向量与该多个子特征字典之间的相似度,该目标残差特征向量对应的多个该相似度作为一个检索信息;该w个目标残差特征向量对应得到w个检索信息。29.在第三方面的一种可能的实现方式中,该处理单元还用于:将该目标残差特征向量划分为多个目标子特征,该多个目标子特征与该多个子特征字典一一对应;对于该多个目标子特征中的每个目标子特征,确定该目标子特征与对应的子特征字典之间的相似度。30.在第三方面的一种可能的实现方式中,该图像候选信息包括与该t个中心向量对应的t个节点,该多个候选图像的特征向量的编码信息和向量索引分散存储在该t个节点中;该处理单元还用于:确定该t个节点中与该w个中心向量对应的w个节点;根据该w个检索信息查询该w个节点,得到至少一个匹配图像信息。31.第四方面,提供一种服务器,该服务器包括:处理单元,用于确定特征字典和候选图像信息,该特征字典用于指示多个图像子特征,该候选图像信息包括多个候选图像的图像信息;发送单元,用于向安防设备发送配置信息,该配置信息包括该特征字典和该候选图像信息,该配置信息用于该安防设备实现图像检索。32.在第四方面的一种可能的实现方式中,该处理单元还用于:根据多个训练图像确定t个中心向量和特征字典,该特征字典包括多个训练残差特征向量,该多个训练残差特征向量包括该多个训练图像的训练特征向量与该t个中心向量之间的训练残差特征向量,该t为正整数;根据该t个中心向量和该特征字典处理该多个候选图像,得到该候选图像信息,该候选图像信息包括该多个候选图像的特征向量的编码信息和向量索引。33.在第四方面的一种可能的实现方式中,该处理单元还用于:提取多个训练图像中每个训练图像的训练特征向量,得到多个训练特征向量;对该多个训练特征向量进行聚类得到t个中心向量;根据该多个训练特征向量中的每个训练特征向量、以及该训练特征向量对应的中心向量确定训练残差特征向量,该多个训练特征向量对应得到多个训练残差特征向量;根据该多个训练残差特征向量,确定特征字典。34.在第四方面的一种可能的实现方式中,该处理单元还用于:旋转并切分训练残差矩阵得到m个训练残差子矩阵,该训练残差矩阵包括该多个训练残差特征向量,m为正整数;对该m个训练残差子矩阵中每个训练残差子矩阵进行聚类得到m个子特征字典,该特征字典包括该m个子特征字典。35.在第四方面的一种可能的实现方式中,该m个训练残差子矩阵是非均匀切分得到的。36.在第四方面的一种可能的实现方式中,该处理单元还用于:提取多个候选图像中的每个候选图像的特征向量,得到多个候选特征向量;根据该t个中心向量确定该多个候选特征向量中每个候选特征向量对应的中心向量;根据每个候选特征向量对应的中心向量确定该候选特征向量对应的m个候选残差子特征;根据该特征字典压缩编码每个候选特征向量的该m个候选残差子特征,得到该多个候选特征向量的编码信息,该候选图像信息包括该编码信息。37.在第四方面的一种可能的实现方式中,该特征字典包括m个子特征字典,该处理单元还用于:确定每个候选特征向量的该m个候选残差子特征与该m个子特征字典的相似度;将每个候选残差特征对应的多个相似度中,相似度最高的相似度对应的子特征字典的索引确定为该候选残差特征的特征索引,每个候选特征向量的编码信息包括对应的m个该特征索引。38.在第四方面的一种可能的实现方式中,该处理单元还用于:根据该t个中心向量和该多个候选特征向量的向量索引,确定向量索引序列;根据该向量索引序列和该多个候选特征向量的编码信息,确定该图像候选信息。39.在第四方面的一种可能的实现方式中,该处理单元还用于:根据该t个中心向量确定每个候选特征向量对应的中心向量的中心索引;按照大小关系排序该多个候选特征向量对应的中心索引,得到中心索引序列;按照该中心索引序列调整该多个候选特征向量的向量索引,得到向量索引序列。40.在第四方面的一种可能的实现方式中,该处理单元还用于:根据该向量索引序列中该多个候选特征向量的向量索引的顺序,对应排列该多个候选特征向量的编码信息;根据该t个中心向量,将排列后的该多个候选特征向量的编码信息划分为t个编码块,并将该t个编码块依次存储在编码信息链表的t个节点中,以及将该向量索引序列划分为t个索引块,并将该t个索引块依次存储在向量索引链表的t个节点中;确定每个候选特征向量的编码信息和向量索引在对应链表的节点中的偏移地址,得到地址指示信息;该图像候选信息包括该地址指示信息、该向量索引链表和该编码信息链表。41.第五方面,提供一种安防设备,包括:处理器和用于存储该处理器的可执行指令的存储器;其中,该处理器被配置为支持该安防设备执行如第一方面或第一方面的任一种可能的实现方式所提供的检索方法。42.第六方面,提供一种服务器,包括:处理器和用于存储该处理器的可执行指令的存储器;其中,该处理器被配置为支持该服务器执行如第二方面或第二方面的任一种可能的实现方式所提供的检索方法。43.在本技术的另一方面,提供一种检索系统,该检索系统包括安防设备和服务器,该安防设备包括第三方面及任一种可能的实现方式、或者第五方面所提供的安防设备,该服务器包括第四方面及任一种可能的实现方式、或者第六方面所提供的服务器。44.在本技术的另一方面,提供一种计算机可读存储介质,当该计算机可读存储介质中的指令由计算机中的处理器执行时,使得该计算机能够执行第一方面或第一方面的任一种可能的实现方式所提供的检索方法。45.在本技术的另一方面,提供一种计算机可读存储介质,当该计算机可读存储介质中的指令由计算机中的处理器执行时,使得该计算机能够执行第二方面或第二方面的任一种可能的实现方式所提供的检索方法。46.在本技术的又一方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序(也可以称为代码,或指令),当该计算机程序被运行时,使得计算机执行如第一方面或者第一方面的任一种可能的实现方式所提供的检索方法。47.在本技术的又一方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序(也可以称为代码,或指令),当该计算机程序被运行时,使得计算机执行如第二方面或者第二方面的任一种可能的实现方式所提供的检索方法。48.本技术提供的任意一种检索装置、检索系统、计算机可读存储介质及计算机程序产品,其所能达到的有益效果可对应参考上文所提供的检索方法中的有益效果,此处不再赘述。附图说明49.图1为一种快速人脸检索的示意图;50.图2为本技术实施例提供的一种视频拍摄系统的结构示意图;51.图3为本技术实施例提供的一种检索方法的流程示意图;52.图4为本技术实施例提供的一种根据训练人脸图像确定特征字典的示意图;53.图5为本技术实施例提供的另一种根据训练人脸图像确定特征字典的示意图;54.图6为本技术实施例提供的一种fsrpq和afsrpq的示意图;55.图7为本技术实施例提供的一种确定编码信息的示意图;56.图8为本技术实施例提供的一种形成倒排文件的候选图像信息的示意图;57.图9为本技术实施例提供的另一种检索方法的流程示意图;58.图10为本技术实施例提供的一种人脸图像的检索示意图;59.图11为本技术实施例提供的一种在视频拍摄系统中进行人脸图像检索的示意图;60.图12为本技术实施例提供的一种安防设备的结构示意图;61.图13为本技术实施例提供的另一种安防设备的结构示意图;62.图14为本技术实施例提供的一种服务器的结构示意图;63.图15为本技术实施例提供的另一种服务器的结构示意图。具体实施方式64.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。在本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联图像的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联图像是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c或a、b和c,其中a、b和c可以是单个,也可以是多个。另外,在本技术的实施例中,“第一”、“第二”等字样并不对数量和次序进行限定。65.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。66.本技术实施例提供的技术方案可以应用于利用特征向量进行信息检索和信息分类的各种系统中。在一种示例中,该技术方案可以应用在图像检索系统中,比如,用于在视频拍摄系统的海量图像中基于图像的特征向量实现人脸检索、车辆检索和行人追踪等。在另一种示例中,该技术方案还可以应用在音频检索系统中,比如,用于在音频数据库中基于音频数据的特征向量实现特定音频数据的检索等。在又一种示例中,该技术方案还可以应用在信息分类系统中,比如,用于对图像、音频数据、文本数据等不同形式的信息进行分类。下面以视频拍摄系统(也可以称为视频安防系统)为例,对本技术实施例所涉及的系统架构进行介绍说明。67.图2为本技术实施例所提供的一种视频拍摄系统的结构示意图,该视频拍摄系统包括多个安防设备(也可以称为边缘设备)201和服务器202,该多个安防设备201与服务器202之间可以通过有线或无线的方式连接。68.其中,该多个安防设备201可以为多个视频摄像设备,用于拍摄和处理视频数据,并该视频数据传输至服务器202。比如,该多个安防设备201可以对拍摄得到的视频数据进行编解码、特征提取、特征处理、特征比对等处理。在实际应用中,该多个安防设备201可以包括诸如针孔摄像头、半球型摄像头、红外摄像头等各种各样的摄像头、手机、平板电脑、或者其他具有视频拍摄功能的设备等。69.服务器202可用于接收并存储该多个安防设备201传输的视频数据,以及对该视频数据进行处理等功能。比如,服务器202可用于对该视频数据进行编解码、特征提取、特征处理、特征比对、特征训练、识别和检索等处理。进一步的,服务器202还可以用于对该多个安防设备201进行统一管理和配置。比如,服务器202可用于对该多个安防设备201进行身份认证,向该多个安防设备201传输视频数据的部分处理结果等。在一种可能的实施例中,服务器202可以是云数据中心内的云服务器,且该云数据中心内可以包括一个或者多个云服务器。云数据中心可用于为用户提供视频共享、视频解析和大数据应用等服务。70.图3为本技术实施例提供的一种检索方法的流程示意图,该方法可以应用于服务器中,该方法包括以下几个步骤。71.s301:根据多个训练图像确定t个中心向量和特征字典,该特征字典包括多个训练残差特征向量,该多个训练残差特征向量包括该多个训练图像的训练特征向量与该t个中心向量的残差特征向量,t为正整数。72.其中,本技术中的图像可以包括人物图像、音频图像、视频图像、车辆图像和动植物图像等不同类型的图像,本技术实施例对此不作具体限制。该训练图像可以是指用于训练得到t个中心向量和特征字典的图像。在一种示例中,该多个训练图像可以包括多个人脸图像。73.另外,图像的特征向量可以是指用于表征该图像的特征(比如,轮廓特征、纹理特征、颜色特征、形状特征或者空间特征等)的向量,从而训练图像的特征向量可以称为训练特征向量,用于表征该训练图像的特征。该特征向量可以是以浮点型数据表示的多维特征的向量,从而一个图像的特征向量也可以称为该图像的多维浮点特征,该多维是指多个维度(dimensions,d)。比如,该多维可以为128d、256d或512d等。74.在一种可能的实施例中,该多个训练图像可以包括多个训练人脸图像。下面以多个训练人脸图像为例,分别通过步骤s11-s14对根据多个训练人脸图像确定t个中心向量和特征字典的过程进行详细介绍。75.s11:对该多个训练人脸图像进行特征提取得到多个训练特征向量,一个训练人脸图像对应得到一个训练特征向量,该多个训练特征向量可以构成一个训练特征矩阵。该多个训练特征向量中的每个训练特征向量都可以是一个浮点型数据表示的多维特征的向量。示例性的,如图4和图5所示,该服务器可以借助神经网络将该多个训练人脸图像转换为多个训练特征向量,该多个训练特征向量的数量可以表示为n,每个训练特征向量的特征维度可以表示为d,从而该多个训练特征向量构成的训练特征矩阵可以表示为{x∈rn×d},参见图中的a11。76.s12:对该多个训练特征向量进行聚类得到t个分桶矩阵和t个中心向量,该t个分桶矩阵和该t个中心向量一一对应,该t个中心向量可以构成一个中心矩阵,t为正整数。示例性的,如图4和图5所示,该服务器可以利用诸如k-means的聚类算法在d维特征空间内对训练特征矩阵{x∈rn×d}中的训练特征向量进行聚类得到t个中心向量,该t个中心向量构成的中心矩阵可以表示为{b∈rt×d},参见图中的a15。77.s13:根据该多个训练特征向量和该t个中心向量,确定多个训练残差特征向量。具体的,根据该多个训练特征向量中的每个训练特征向量、以及该训练特征向量所在的分桶矩阵对应的中心向量(即该t个中心向量内最近的中心向量)确定训练残差特征向量,该多个训练特征向量对应得到多个训练残差特征向量。该多个训练残差特征向量可以构成一个训练残差特征矩阵,该训练残差特征矩阵也可以称为训练残差特征空间。示例性的,如图4和图5所示,对于该多个训练特征向量中的每个训练特征向量,将该训练特征向量与对应的中心向量做残差运算,得到一个训练残差特征向量,从而该多个训练特征向量对应得到的多个训练残差特征向量构成的训练残差特征矩阵可以表示为{xr∈rn×d},该多个训练特征向量中与该t个中心向量对应的训练特征向量在图中分别表示为c_1至c_t,参见图中的a11。78.s14:根据该多个训练残差特征向量,确定特征字典。在一种实现方式中,旋转并切分训练残差特征矩阵得到m个残差特征子矩阵(也可以称为残差特征子空间),m为正整数,每个残差特征子矩阵可以包括多个残差子特征,该残差子特征也可以称为图像子特征;利用诸如k-means的聚类算法对该m个残差特征子矩阵中的每个残差特征子矩阵进行聚类得到多个子特征字典,即对每个残差特征子矩阵中的多个残差子特征进行聚类。该特征字典包括聚类后得到的多个子特征字典。79.示例性的,如图4和图5所示,使用一个正交矩阵r对残差特征矩阵xr做一定程度旋转得到旋转矩阵{rxr∈rn×d}。按照从前往后的顺序将该旋转矩阵rxr切分为m份,得到m个残差特征子矩阵,每个残差特征子矩阵可以表示为{rxr(m)∈rn×d/m},m的取值范围为0至m-1,参见图中的a12。利用k-means算法对该m个残差特征子矩阵中的每个残差特征子矩阵进行聚类,得到m个子特征字典,每个子特征字典可以包括k个残差特征子特征(也可以称为包括k个图像子特征),k为正整数。计算该m个残差特征子矩阵的聚类失真,并通过奇异值分解(singularvaluedecomposition,svd)算法交替迭代更新旋转矩阵r(即每次更新正交矩阵r后重复上述步骤),使得最终得到的m个残差特征子矩阵的聚类失真最小,参见图中的a13,u表示聚类失真。其中第一次使用的正交矩阵r可以为单位矩阵。上述特征字典可以表示为{c∈rk×d},具体包括最终得到的多个子特征字典,该多个子特征字典的数量表示为m且可以分别表示为{c0,…,cm,…,cm-1},参见图中的a14,属于同一行的d/m个小矩形表示一个子特征字典,k表示每个子特征字典中的聚类中心的数量。80.可选的,在将该旋转矩阵rxr切分为m个残差特征子矩阵时,可以对该旋转矩阵rxr进行均匀切分,也可以对该旋转矩阵rxr进行非均匀切分。示例性的,如图4所示,通过特征空间旋转乘积量化(featurespacerotationproductquantization,fsrpq)算法该旋转矩阵rxr均匀地切分为m个残差特征子矩阵,参见图中的a12。或者,如图5所示,通过自适应特征空间旋转乘积量化(adaptivefeaturespacerotationproductquantization,afsrpq)算法将该旋转矩阵rxr非均匀地切分为m个残差特征子矩阵,参见图中的a12。其中,在对该旋转矩阵rxr进行非均匀地切分时,可以使用随机数组d={d0~dm-1}进行切分,d0+…+dm-1=d,在多次切分过程中可以遍历d0~dm-1。图6中的(a)和(b)分别示出了采用fsrpq算法和afsrpq算法的训练流程图。81.上述用于根据多个训练人脸图像训练得到t个中心向量和特征字典的工具可以称为人脸特征字典训练工具(facefeaturedictionarytrainer,ffdt),具体可以通过软件方式实现,也可以通过硬件方式实现,本技术实施例对此不作具体限制。上述训练过程中,在特征空间切分时使用fsrpq算法充分考虑了特征子空间之间的相关性,有效解决了传统pq算法在暴力切分特征空间时所带来的特征特性被破坏的问题,从而可以确保ffdt能学习到更准确的特征字典。在特征空间切分时使用afsrpq算法不仅考虑了特征子空间之间的相关性,而且还将特征子空间的维度作为超参数进行学习,最终各个特征子空间的维度就会产生差异,从而实现特征空间的自适应切分,这样就可以解决pq算法和fsrpq算法在顺序均匀切分时所导致的局部特征(比如,人脸面部特征)表达不完整问题。82.s302:根据该t个中心向量和该特征字典处理多个候选图像,得到候选图像信息。83.其中,该多个候选图像和上述多个训练图像包括相同的图像。比如,该多个训练图像是多个人脸图像,则该多个候选图像也是多个人脸图像;或者,该多个训练图像是多个音频图像,则该多个候选图像也是多个音频图像。该多个候选图像也可以是底库中的多个图像,比如,该底库可以为视频拍摄系统中的视频资源的底库,该多个候选图像可以包括多个人脸图像。84.另外,该多个训练图像可以是该多个候选图像的一部分,即该多个训练图像可以来自该多个候选图像,这样可以保证训练图像和候选图像为同一来源。或者,该多个训练图像也可以来自该多个候选图像之外的其他数据库,即训练图像和候选图像可以是不同的来源。85.在一种可能的实施例中,该多个候选图像可以包括多个候选人脸图像。下面以多个候选人脸图像为例,分别通过步骤s21-s23对根据多个候选人脸图像、该t个中心向量和该特征字典,确定候选图像信息(即候选人脸图像信息)的过程进行详细介绍。86.s21:对该多个候选人脸图像进行特征提取得到多个候选特征向量,一个候选人脸图像对应得到一个候选特征向量,该多个候选特征向量可以构成一个候选特征矩阵。该多个候选特征向量中的每个候选特征向量都可以是一个浮点型数据表示的多维特征的向量。示例性的,如图7所示,该服务器可以借助神经网络将该多个候选人脸图像(图中表示为底库人脸图像)转换为多个候选特征向量,该多个候选特征向量的数量可以表示为n,每个候选特征向量的特征维度可以表示为d,从而该多个候选特征向量构成的候选特征矩阵可以表示为{y∈rn×d},参见图中的a21。87.s22:根据该t个中心向量确定该多个候选特征向量中每个候选特征向量对应的中心向量,并根据每个候选特征向量对应的中心向量确定该候选特征向量对应的m个候选残差子特征。其中,每个候选特征向量对应的中心向量可以是该t个中心向量中与该候选特征向量最相似的一个中心向量,从而通过计算每个候选特征向量与该t个中心向量之间的相似度(比如,欧式距离或余弦距离等),选择最相似的中心向量确定为该候选特征向量对应的中心向量。之后,将每个候选特征向量与对应的中心向量做残差运算,以得到该候选特征向量对应的候选残差特征向量;将该候选残差特征向量切分为m份,即得到该候选特征向量对应的m个候选残差子特征。示例性的,如图7所示,假设n个候选特征向量中的某一候选特征向量为yi,该候选特征向量yi与对应的中心向量c_t做残差运算后得到候选残差特征向量,将该候选残差特征向量对应划分m份得到的m个候选残差子特征可以表示为yr(m),m的取值范围是0~m-1,该n个候选特征向量对应得到的多个候选残差特征向量可以构成一个候选残差矩阵,且可以表示为{yr∈rn×d}。图7中将n个候选特征向量表示为底库特征向量y,将该t个中心向量(每个中心向量的维度为d)构成的中心矩阵表示为b,将候选残差矩阵表示为底库残差矩阵yr,参见图中的a21。图7中的a22和a23还分别示出了中心矩阵b和特征字典c;该特征字典c中,属于同一行的d/m个小矩形表示一个子特征字典,k行表示k个子特征字典,每个子特征字典中的一个残差子特征表示为cm(k)。88.s23:根据该特征字典压缩编码每个候选特征向量的m个候选残差子特征,得到该多个候选特征向量的编码信息,该候选图像信息包括该编码信息。具体的,根据该特征字典压缩编码每个候选特征向量的m个候选残差子特征,包括:确定每个候选特征向量的m个候选残差子特征与该m个子特征字典的相似度;将每个候选残差特征对应的多个相似度中,最高相似度的对应的子特征字典的索引确定为该候选残差特征的特征索引,每个候选特征向量的编码信息包括对应的m个特征索引。89.示例性的,如图7所示,对于每个候选特征向量,逐一计算该候选特征向量的m个候选残差子特征yr(m=0~m-1)与特征字典包括的m个子特征字典c0至cm-1的欧式距离,以得到m个候选残差子特征yr(m=0~m-1)各自到m个子特征字典c0至cm-1距离最小的残差子特征cm(k),cm(k)表示第m个子特征字典中第k个残差子特征(也可以称为聚类中心),并使用其索引k代替对应的候选残差子特征yr(m)。以此类推,即可得到n个候选特征向量的乘积量化(productquantization,pq)编码。参见图7中的a24,索引为0的候选特征向量的编码信息为{2341547881125419},索引为1的候选特征向量的编码信息为{2562188990218966},…,索引为n-2的候选特征向量的编码信息为{1788778971344128},索引为n-1的候选特征向量的编码信息为{25234239017145622},图7中仅以部分候选特征向量的编码信息为例进行说明。可选的,假设每一条pq编码以由m个b=8bits的索引组成,b=log2k,这样每一条pq编码的总比特数nb=m×b。90.上述用于根据t个中心向量、特征字典和多个候选人脸图像确定得到该候选图像信息的工具可以称为人脸特征底库编码工具(facefeaturedatabaseencoder,ffde),具体可以通过软件方式实现,也可以通过硬件方式实现,本技术实施例对此不作具体限制。91.进一步的,在确定该多个候选特征向量的编码信息后,还可以基于该多个候选特征向量的编码信息形成一个倒排文件(invertfile,ivf)的候选图像信息。下面通过步骤s31-s33对形成ivf的候选图像信息的过程进行详细描述。92.s31:确定该多个候选特征向量对应的向量索引序列。具体的,确定该多个候选特征向量中每个候选特征向量对应的中心向量的中心索引;按照大小关系对该多个候选特征向量对应的中心索引进行排序,得到中心索引序列;按照该中心索引序列调整该多个候选特征向量的向量索引,得到向量索引序列。93.s32:根据该向量索引序列确定该多个候选特征向量的编码信息序列。具体的,根据该向量索引序列中该多个候选特征向量的向量索引的顺序,对应排列该多个候选特征向量的编码信息,以得到该编码信息序列。94.s33:根据该向量索引序列和该编码信息序列确定ivf的候选图像信息。具体的,根据该t个中心向量,将排列后的该多个候选特征向量的编码信息划分为t个编码块,并将该t个编码块依次存储在编码信息链表的t个节点中,以及将该向量索引序列划分为t个索引块,并将该t个索引块依次存储在向量索引链表的t个节点中;确定每个候选特征向量的编码信息和向量索引在对应链表的节点中的偏移地址、以及每个节点中存储的编码信息(或向量索引)的数量,得到地址指示信息。最终,生成的ivf的候选图像信息包括该地址指示信息、该向量索引链表和该编码信息链表。该ivf的候选图像信息可以作为离线文件,直接作为在线检索访问大规模底库的入口。95.为便于理解,下面以图8为例,对形成ivf的候选图像信息的过程进行举例说明。示例性的,结合图7,如图8所示,参见图中的a31,在确定n个候选特征向量和t个中心向量对应确定候选残差矩阵{yr∈rn×d}后,具体可以包括:确定该n个候选特征向量中每个候选特征向量对应的中心向量的中心索引t∈[0,t-1],比如,该n个候选特征向量按照向量索引id(也可以称为向量标识)由0至n-1的顺序依次对应的中心索引为{56,6,88,2,…,2},参见图中的a32。对n个中心索引t进行稳定排序,即对n个中心索引t排序的同时,对应将底库中该n个候选特征向量的向量索引进行排序,比如,对n个中心索引排序得到的中心索引序列为{2,2,6,56,…,88},对n个向量索引id排序得到的向量索引序列为{3,n-1,1,0,…,2},参见图中的a32。根据向量索引序列对应调整底库中该多个候选特征向量的编码信息,即更新底库中的编码排布,以得到该编码信息序列,比如,参见图中的a33将底库中的编码信息由(a)更新为(b)。将t个中心向量分别作为ivf中编码信息链表和向量索引链表中的节点,并将编码信息序列中的每个编码信息投放在该编码信息链表的t个节点中最近的节点,将该向量索引序列中每个向量索引投放在该向量索引链表的t个节点中最近的节点(即是用节点来将n个编码信息和对应向量索引划分为t个簇),比如,参见图中的a34,(1)为编码信息链表,b1_pq_add至bt_pq_add表示编码信息链表中第1个节点至第t个节点的地址;(2)为向量索引链表,b1_id_add至bt_id_add表示向量索引链表中第1个节点至第t个节点的地址。进一步的,为了方便大规模访问底库,还可以确定每个编码信息和向量索引在对应链表的节点中的偏移地址得到地址指示信息,以形成ivf的候选图像信息,比如,参见图中的a34,(3)为地址指示信息,add0表示地址指示信息的地址,b1_pq_off至bt_pq_off表示b1_pq_add至bt_pq_add与b0_add间的偏移地址,b1_id_off至bt_id_off表示b1_id_add至bt_id_add与b0_add间的偏移地址,b1_num至bt_num表示第1个节点至第t个节点中存储的数量,rvs表示保留字段。[0096]进一步的,当该服务器确定该t个中心向量、该特征字典和该候选图像信息时,该服务器可以基于上述信息实现目标图像的检索。或者,如图3所示,该方法还包括s303:该服务器向安防设备发送配置信息,该配置信息可以包括该t个中心向量、该特征字典和该候选图像信息。即通过该配置信息将上述信息发送给该安防设备,这样该安防设备可以基于上述信息实现目标图像的检索。[0097]下面以安防设备为例,对基于上述信息实现目标图像的检索的过程进行详细说明。[0098]图9为本技术实施例提供的一种检索方法的流程示意图,该方法可以应用于安防设备中,该方法包括以下几个步骤。[0099]s401:接收配置信息,并获取目标图像的目标特征向量。关于该配置信息的详细描述可以参见上文中的描述,本技术实施例在此不再赘述。[0100]其中,该目标图像也可以称为待检索图像。该目标图像可以是人物图像、音频图像、视频图像、车辆图像和动植物图像等。该目标图像与上述训练图像和候选图像在实际应用中是同一图像,比如均为人脸图像。目标特征向量可以是指用于表征目标图像的特征的向量。该目标特征向量可以是以浮点型数据表示的多维特征的向量,比如,该多维可以为128d、256d或512d等。可选的,当存在多个目标图像时,该安防设备可以同时检索(也可以称为并发检索)该多个目标图像,从而针对多个目标图像可以获取多个目标特征向量,一个目标图像对应得到一个目标特征向量,该多个目标特征向量可以构成一个目标特征矩阵。[0101]示例性的,如图10所示,以人脸图像为例,该安防设备可以借助神经网络将多个目标人脸图像转换为多个目标特征向量,该多个目标特征向量的数量可以表示为q,每个目标特征向量的特征维度可以表示为d,从而该多个目标特征向量构成的目标特征矩阵可以表示为{z∈rq×d},参见图中的a41。[0102]可选的,该安防设备在获取目标图像的目标特征向量之前,还可以先获取该目标图像,并对目标图像进行一定的预处理。比如,以该安防设备为摄像头、目标图像为目标人脸图像为例,该摄像头获取并预处理目标人脸图像的过程可以包括:人脸抓拍、人脸打分、人脸关键点标注和人脸校正,以将校正后的人脸图像作为目标人脸图像。[0103]s402:根据该目标特征向量和w个中心向量,确定w个目标残差特征向量。[0104]其中,该w个中心向量可以是该t个中心向量中与该目标特征向量之间的相似度较高的前w个中心向量,t大于或等于w,w为正整数。具体的,计算该目标特征向量与该t个中心向量中的每个中心向量之间的相似度,以确定相似度较高的前w个中心向量;将该目标特征向量与该w个中心向量中的每个中心向量做残差运算,得到w个目标残差特征向量,该w个目标残差特征向量可以构成一个目标残差特征矩阵。当存在多个目标特征向量时,每个目标特征向量都对应得到一个目标残差特征矩阵,该多个目标特征向量对应得到多个目标残差特征矩阵。[0105]示例性的,如图10所示,对于q个目标特征向量中的每个目标特征向量,对该目标特征向量与t个中心向量中相似度较高的w个中心向量做残差运算,以得到一个w×d的目标残差特征矩阵,从而q个目标特征向量可以对应得到q个目标残差特征矩阵,参见图中的a42。[0106]s403:根据特征字典和该w个残差特征向量确定w个检索信息。[0107]其中,该特征字典是根据多个训练图像的特征向量与t个中心向量之间的多个训练残差特征向量确定的,该特征字典包括多个子特征字典。具体的,根据特征字典和该w个目标残差特征向量确定w个检索信息,包括:对于该w个目标残差特征向量中的每个目标残差特征向量,将该目标残差特征向量划分为多个目标子特征,该多个目标子特征与该多个子特征字典一一对应;分别确定该多个目标子特征与该多个子特征字典之间的欧式距离,该多个目标子特征对应的多个欧式距离作为一个检索信息,从而该w个目标残差特征向量对应得到w个检索信息,每个检索信息用于确定目标图像与候选图像的匹配度。可选的,上述欧式距离也可以替换为余弦距离等,每个检索信息可以为一个m×k的非对称距离查找表(asymmetricdistance_lookuptable,ad_lut)。[0108]示例性的,如图10所示,对于每个目标残差特征向量,将该目标残差特征向量切分为m份,得到m个目标子特征,参见图中的a42;然后,逐一计算m个目标子特征与m个子特征字典c={c0,…,cm,…,cm-1}的欧式距离,cm={c0,…,ck,…,ck-1},并将计算出来的欧式距离值存放到一个m×k的ad_lut,每个目标子特征对应计算得到一个ad_lut中的一行,每一行可以表示为lw∈rk。w个目标残差特征向量对应得到w个ad_lut,q个目标特征向量对应得到w×q个ad_lut,参见图中的a43。其中,通过m个目标子特征与m个子特征字典c={c0,…,cm,…,ck-1}计算得到一个ad_lut的过程参见图中的a44。[0109]s404:根据该w个检索信息和候选图像信息,确定匹配度较高的至少一个匹配图像信息。[0110]其中,至少一个匹配图像可以包括一个或者多个匹配图像。每个匹配图像信息可以包括一个匹配图像的特征向量的压缩编码和向量索引,从而该至少一个图像信息可以包括一个或者多个图像的特征向量的压缩编码和向量索引,即该至少一个图像信息包括一个或者多个特征向量的压缩编码和向量索引。[0111]另外,该图像候选信息包括编码信息链表和向量索引链表,该编码信息链表包括与该t个中心向量对应的t个第一节点,该向量索引链表包括与该t个中心向量对应的t个第二节点。具体的,根据该w个检索信息对应的w个中心向量确定t个第一节点中的w个第一节点,以及t个第二节点中的w个第二节点;对于该w个检索信息中的每个检索信息,根据该检索信息查询对应的中心向量所对应的第一节点和第二节点,以得到至少一个候选图像的匹配度(比如,欧式距离)和向量索引,下文中以欧式距离为例进行说明;该w个检索信息对应得到多个候选图像的欧式距离和向量索引,按照欧式距离从小到大的顺序将该多个图像的欧式距离和向量索引进行稳定排序,以将排序后靠前的至少一个候选图像的编码信息和向量索引确定为至少一个匹配图像信息,即得到匹配度较高的至少一个匹配图像信息。[0112]示例性的,如图10所示,对于每个目标特征向量对应的w个查找表ad_lut,参见图中的a45,利用该w个查找表ad_lut分别进入对应的w个第一节点b_1至b_w计算欧式距离,同时通过对应的w个第二节点确定相应的向量索引,以确定每个查找表ad_lut匹配到的一个或者多个人脸图像的欧式距离和向量索引;按照欧式距离从小到大的顺序将所有查找表ad_lut匹配到的人脸图像的欧式距离和向量索引进行稳定排序,比如,欧式距离对应的排序为d1<d2<d3<…<dl,l表示该多个人脸图像的数量;之后,将排序后靠前的s个输出,s为正整数且小于或等于l。[0113]该安防设备在根据上述s401-s404进行检索或者特征比对的过程中,所涉及的相关运算和处理过程可以依次包括:矩阵运算、矢量操作、矢量运算、矩阵运算和pq查表。其中,上述运算和处理可以通过在该安防设备中添加相应的硬件加速算子来实现。通过采用相应的硬件加速算子(即矩阵运算、矢量操作、矢量运算及pq查表)实现多个目标图像的并发检索功能,这样安防设备的处理器与硬件的加速算子的高效协同,极大的提高了检索效率,避免了单纯通过处理器的运算而导致的检索效率低发问题。[0114]可选的,在确定至少一个匹配图像信息之后,该安防设备可以根据该至少一个匹配图像信息确定该至少一个匹配图像;或者,该安防设备将该至少一个匹配图像信息发送给服务器,由该服务器根据该至少一个匹配图像信息确定该至少一个匹配图像。[0115]进一步的,为便于理解本技术实施例的完整流程,下面以本技术中的图像是人脸图像为例,通过图11所示的视频拍摄架构和方法流程为例对本技术所提供的方案进行举例说明。如图11所示,该视频拍摄架构包括服务器和多个摄像头,该服务器与该多个摄像头之间通过互联网(internet)连接。相应的,该方法可以包括:s51.服务器可以通过神经网络从多个训练人脸图像中提取训练特征向量,从底库人脸图像中提取候选特征向量;s52.服务器利用上文所描述的ffdt对s51输出的训练特征向量进行处理得到t个中心向量和特征字典,利用上文所描述的ffde对t个中心向量、特征字典和s51输出的候选特征向量进行处理得到候选图像信息,这里可以将t个中心向量、特征字典和候选图像信息统称为底库离线文件;该服务器可以将该底库离线文件发送给该多个摄像头;s53.该多个摄像头中的每个摄像头均可以按照上述图9或图10的描述在本地进行检索比对以实现目标人脸图像的检索。示例性的,每个摄像头对应的检索流程可以包括:人脸抓拍、人脸打分、人脸关键点标注、人脸校正、特征提取和特征比对。[0116]在本技术实施例中,该安防设备可以获取目标图像的目标特征向量,根据该目标特征向量和对应最近的w个中心向量确定w个目标残差特征向量,并根据特征字典和该w个残差特征向量确定w个检索信息,从而根据该w个检索信息查询候选图像信息得到至少一个匹配图像信息,进而使得安防设备能够在本地实现检索,且简化了检索流程、提升了检索效率。另外,上述中心向量、特征字典和候选图像信息是经过服务器的训练处理得到的,且该候选图像信息是倒排文件的编码信息和向量索引,在检索过程中能够保证人脸信息的安全性;同时与“暴力对比”的检索方式相比,能够在极小召回率损失的前提下降低计算复杂度和存储开销。[0117]上述主要从各个设备的角度对本技术实施例提供的方案进行了介绍。可以理解的是,各个设备,例如安防设备和服务器,为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。[0118]本技术实施例可以根据上述方法示例对安防设备和服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。[0119]在采用集成的单元的情况下,图12示出了上述实施例中所涉及的安防设备的一种可能的结构示意图。该安防设备包括:接收单元601和处理单元602。进一步的,该安防设备还包括发送单元603。其中,接收单元601用于支持该安防设备执行上述方法实施例的s401中接收配置信息的步骤;处理单元602用于支持该安防设备执行上述方法实施例中的s402-s404、以及s401中获取目标特征向量的步骤;发送单元603用于支持该安防设备执行上述方法实施例中向服务器发送信息的步骤。[0120]在采用硬件实现的基础上,处理单元602可以为该安防设备的处理器,接收单元601可以为该安防设备的接收器,发送单元603可以为该安防设备的发送器,接收器和发送器通常可以集成在一起称为收发器,该收发器也可以替换为通信接口。[0121]如图13所示,为本技术的实施例提供的上述实施例中所涉及的安防设备的一种可能的逻辑结构示意图。该安防设备包括:处理器612和通信接口613。处理器612用于对该安防设备动作进行控制管理,例如,处理器612用于支持该安防设备执行上述方法实施例中的s401-s404,和/或用于本文所描述的技术的其他过程。此外,该安防设备还可以包括存储器611和总线614,处理器612、通信接口613以及存储器611通过总线614相互连接;通信接口613用于支持该安防设备进行通信,比如,支持该安防设备与服务器进行通信;存储器611用于存储该安防设备的程序代码和数据。[0122]其中,处理器612可以是中央处理器单元,通用处理器,基带处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件,晶体管逻辑器件,硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等。总线614可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。所述总线614可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。[0123]在采用集成的单元的情况下,图14示出了上述实施例中所涉及的服务器的一种可能的结构示意图。该服务器包括:处理单元701和发送单元702。进一步的,该服务器还可以包括接收单元703。其中,处理单元701用于支持该服务器执行上述方法实施例中的s301-s302、s11-s14、s21-s23或者s31-s33中的一个或者多个步骤;发送单元702用于支持该服务器执行上述方法实施例中发送配置信息的步骤;接收单元703用于支持该服务器执行上述方法实施例中接收来自安防设备的信息的步骤。[0124]在采用硬件实现的基础上,处理单元701可以为该服务器的处理器,发送单元702可以为该服务器的发送器,接收单元703可以为该服务器的接收器,发送器和接收器通常可以集成在一起称为收发器,该收发器也可以替换为通信接口。[0125]如图15所示,为本技术的实施例提供的上述实施例中所涉及的服务器的一种可能的逻辑结构示意图。该服务器包括:处理器712和通信接口713。处理器712用于对该服务器动作进行控制管理,例如,处理器712用于支持该服务器执行上述方法实施例中的s301-s302、s11-s14、s21-s23或者s31-s33中的一个或者多个步骤,和/或用于本文所描述的技术的其他过程。此外,该服务器还可以包括存储器711和总线714,处理器712、通信接口713以及存储器711通过总线714相互连接;通信接口713用于支持该服务器进行通信,比如,支持该服务器与安防设备进行通信;存储器711用于存储该服务器的程序代码和数据。[0126]其中,处理器712可以是中央处理器单元,通用处理器,基带处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件,晶体管逻辑器件,硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等。总线714可以是pci总线或eisa总线等。所述总线714可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。[0127]需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,具体可以参见上述方法实施例中的描述,本技术实施例在此不再赘述。[0128]在本技术的又一方面,提供一种图像检索系统,该图像检索系统包括安防设备和服务器;其中,该安防设备为上文所提供的任一安防设备,用于执行上述方法实施例中安防设备的步骤;该服务器为上文所提供的任一服务器,用于执行上述方法实施例中服务器的步骤。[0129]在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。[0130]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0131]另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。[0132]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中,该可读存储介质可以包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。[0133]在本技术的另一实施例中,还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当一个设备(可以是单片机,芯片等)或者处理器运行上述指令时,使得该设备执行上述方法实施例所提供的检索方法中安防设备的步骤。[0134]在本技术的另一实施例中,还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当一个设备(可以是单片机,芯片等)或者处理器运行上述指令时,使得该设备执行上述方法实施例所提供的检索方法中服务器的步骤。[0135]在本技术的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备执行上述方法实施例所提供的检索方法中安防设备的步骤。[0136]在本技术的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备执行上述方法实施例所提供的检索方法中服务器的步骤。[0137]最后应说明的是:以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
技术特征:
1.一种图像检索方法,其特征在于,所述方法包括:安防设备接收来自服务器的配置信息,所述配置信息包括t个中心向量、特征字典和候选图像信息,所述特征字典用于指示多个图像子特征,所述候选图像信息包括多个候选图像的图像信息,所述多个候选图像与所述t个中心向量对应;所述安防设备获取目标图像的目标特征向量,所述目标特征向量用于表征所述目标图像的图像特征;所述安防设备根据所述t个中心向量、所述目标特征向量和所述特征字典,从所述候选图像信息中确定至少一个匹配图像信息。2.根据权利要求1所述的方法,其特征在于,所述根据所述t个中心向量、所述目标特征向量和所述特征字典,从所述候选图像信息中确定至少一个匹配图像信息,包括:根据所述目标特征向量和所述t个中心向量中的w个中心向量,确定w个目标残差特征向量,所述t和w均为正整数;根据所述特征字典和所述w个目标残差特征向量确定w个检索信息,所述w个检索信息用于确定所述目标图像与候选图像的匹配度;根据所述w个检索信息和所述候选图像信息,确定匹配度较高的至少一个匹配图像信息。3.根据权利要求2所述的方法,其特征在于,所述w个中心向量是所述t个中心向量中与所述目标特征向量之间的相似度较高的前w个中心向量。4.根据权利要求2或3所述的方法,其特征在于,所述特征字典包括多个子特征字典,所述根据所述特征字典和所述w个残差特征向量确定w个检索信息,包括:对于所述w个目标残差特征向量中的每个目标残差特征向量,分别确定所述目标残差特征向量与所述多个子特征字典之间的相似度,所述目标残差特征向量对应的多个相似度作为一个检索信息;所述w个目标残差特征向量对应得到w个检索信息。5.根据权利要求4所述的方法,其特征在于,所述确定所述目标残差特征向量与所述多个子特征字典之间的相似度,包括:将所述目标残差特征向量划分为多个目标子特征,所述多个目标子特征与所述多个子特征字典一一对应;对于所述多个目标子特征中的每个目标子特征,确定所述目标子特征与对应的子特征字典之间的相似度。6.根据权利要求2-5任一项所述的方法,其特征在于,所述候选图像信息包括与所述t个中心向量对应的t个节点,所述多个候选图像的特征向量的编码信息和向量索引分散存储在所述t个节点中;所述根据所述w个检索信息查询候选图像信息,得到至少一个匹配图像信息,包括:确定所述t个节点中与所述w个中心向量对应的w个节点;根据所述w个检索信息查询所述w个节点,得到至少一个匹配图像信息。7.一种图像检索方法,其特征在于,所述方法包括:服务器确定特征字典和候选图像信息,所述特征字典用于指示多个图像子特征,所述候选图像信息包括多个候选图像的图像信息,所述多个候选图像与t个中心向量对应;
所述服务器向安防设备发送配置信息,所述配置信息包括所述t个中心向量、所述特征字典和所述候选图像信息,所述配置信息用于所述安防设备实现图像检索。8.根据权利要求7所述的方法,其特征在于,所述确定特征字典和候选图像信息,包括:根据多个训练图像确定t个中心向量和特征字典,所述特征字典包括多个训练残差特征向量,所述多个训练残差特征向量包括所述多个训练图像的训练特征向量与所述t个中心向量之间的训练残差特征向量,所述t为正整数;根据所述t个中心向量和所述特征字典处理所述多个候选图像,得到所述候选图像信息,所述候选图像信息包括所述多个候选图像的特征向量的编码信息和向量索引。9.根据权利要求8所述的方法,其特征在于,所述根据多个训练图像确定t个中心向量和特征字典,包括:提取多个训练图像中每个训练图像的训练特征向量,得到多个训练特征向量;对所述多个训练特征向量进行聚类得到t个中心向量;根据所述多个训练特征向量中的每个训练特征向量、以及所述训练特征向量对应的中心向量确定训练残差特征向量,所述多个训练特征向量对应得到多个训练残差特征向量;根据所述多个训练残差特征向量,确定特征字典。10.根据权利要求9所述的方法,其特征在于,所述根据所述多个训练残差特征向量,确定特征字典,包括:旋转并切分训练残差矩阵得到m个训练残差子矩阵,所述训练残差矩阵包括所述多个训练残差特征向量,m为正整数;对所述m个训练残差子矩阵中每个训练残差子矩阵进行聚类得到m个子特征字典,所述特征字典包括所述m个子特征字典。11.根据权利要求10所述的方法,其特征在于,所述m个训练残差子矩阵是非均匀切分得到的。12.根据权利要求8-11任一项所述的方法,其特征在于,所述根据所述t个中心向量和所述特征字典处理所述多个候选图像,得到所述候选图像信息,包括:提取所述多个候选图像中的每个候选图像的特征向量,得到多个候选特征向量;根据所述t个中心向量确定所述多个候选特征向量中每个候选特征向量对应的中心向量;根据每个候选特征向量对应的中心向量确定所述候选特征向量对应的m个候选残差子特征;根据所述特征字典压缩编码每个候选特征向量的所述m个候选残差子特征,得到所述多个候选特征向量的编码信息,所述候选图像信息包括所述多个候选图像的编码信息。13.根据权利要求12所述的方法,其特征在于,所述特征字典包括m个子特征字典,所述根据所述特征字典压缩编码每个候选特征向量的所述m个候选残差子特征,包括:确定每个候选特征向量的所述m个候选残差子特征与所述m个子特征字典的相似度;将每个候选残差特征对应的多个相似度中,相似度最高的相似度对应的子特征字典的索引确定为所述候选残差特征的特征索引,每个候选特征向量的编码信息包括对应的m个所述特征索引。14.根据权利要求12或13所述的方法,其特征在于,所述方法还包括:
根据所述t个中心向量和所述多个候选特征向量的向量索引,确定向量索引序列;根据所述向量索引序列和所述多个候选特征向量的编码信息,确定所述候选图像信息。15.根据权利要求14所述的方法,其特征在于,所述根据所述t个中心向量和所述多个候选特征向量的向量索引,确定向量索引序列,包括:根据所述t个中心向量确定每个候选特征向量对应的中心向量的中心索引;按照大小关系排序所述多个候选特征向量对应的中心索引,得到中心索引序列;按照所述中心索引序列调整所述多个候选特征向量的向量索引,得到向量索引序列。16.根据权利要求14或15所述的方法,其特征在于,所述根据所述向量索引序列和所述多个候选特征向量的编码信息,确定所述图像候选信息,包括:根据所述向量索引序列中所述多个候选特征向量的向量索引的顺序,对应排列所述多个候选特征向量的编码信息;根据所述t个中心向量,将排列后的所述多个候选特征向量的编码信息划分为t个编码块,并将所述t个编码块依次存储在编码信息链表的t个节点中,以及将所述向量索引序列划分为t个索引块,并将所述t个索引块依次存储在向量索引链表的t个节点中;确定每个候选特征向量的编码信息和向量索引在对应链表的节点中的偏移地址,得到地址指示信息;所述图像候选信息包括所述地址指示信息、所述向量索引链表和所述编码信息链表。17.一种安防设备,其特征在于,所述设备包括:接收单元,用于接收来自服务器的配置信息,所述配置信息包括t个中心向量、特征字典和候选图像信息,所述特征字典用于指示多个图像子特征,所述候选图像信息包括多个候选图像的图像信息,所述多个候选图像与所述t个中心向量对应;处理单元,用于获取目标图像的目标特征向量,所述目标特征向量用于表征所述目标图像的图像特征;所述处理单元,还用于根据所述t个中心向量、所述目标特征向量和所述特征字典,从所述候选图像信息中确定至少一个匹配图像信息。18.根据权利要求17所述的安防设备,其特征在于,所述处理单元还用于:根据所述目标特征向量和所述t个中心向量中的w个中心向量,确定w个目标残差特征向量,所述t和w均为正整数;根据所述特征字典和所述w个目标残差特征向量确定w个检索信息,所述w个检索信息用于确定所述目标图像与候选图像的匹配度;根据所述w个检索信息和所述候选图像信息,确定匹配度较高的至少一个匹配图像信息。19.根据权利要求18所述的安防设备,其特征在于,所述w个中心向量是所述t个中心向量中与所述目标特征向量之间的相似度较高的前w个中心向量。20.根据权利要求18或19所述的安防设备,其特征在于,所述处理单元还用于:对于所述w个目标残差特征向量中的每个目标残差特征向量,分别确定所述目标残差特征向量与所述多个子特征字典之间的相似度,所述目标残差特征向量对应的多个所述相似度作为一个检索信息;
所述w个目标残差特征向量对应得到w个检索信息。21.根据权利要求20所述的安防设备,其特征在于,所述处理单元还用于:将所述目标残差特征向量划分为多个目标子特征,所述多个目标子特征与所述多个子特征字典一一对应;对于所述多个目标子特征中的每个目标子特征,确定所述目标子特征与对应的子特征字典之间的相似度。22.根据权利要求18-21任一项所述的安防设备,其特征在于,所述图像候选信息包括与所述t个中心向量对应的t个节点,所述多个候选图像的特征向量的编码信息和向量索引分散存储在所述t个节点中;所述查询单元还用于:确定所述t个节点中与所述w个中心向量对应的w个节点;根据所述w个检索信息查询所述w个节点,得到至少一个匹配图像信息。23.一种服务器,其特征在于,所述服务器包括:处理单元,用于确定特征字典和候选图像信息,所述特征字典用于指示多个图像子特征,所述候选图像信息包括多个候选图像的图像信息,所述多个候选图像与t个中心向量对应;发送单元,用于向安防设备发送配置信息,所述配置信息包括所述t个中心向量、所述特征字典和所述候选图像信息,所述配置信息用于所述安防设备实现图像检索。24.根据权利要求23所述的服务器,其特征在于,所述处理单元还用于:根据多个训练图像确定t个中心向量和特征字典,所述特征字典包括多个训练残差特征向量,所述多个训练残差特征向量包括所述多个训练图像的训练特征向量与所述t个中心向量之间的训练残差特征向量,所述t为正整数;根据所述t个中心向量和所述特征字典处理所述多个候选图像,得到所述候选图像信息,所述候选图像信息包括所述多个候选图像的特征向量的编码信息和向量索引。25.根据权利要求24所述的服务器,其特征在于,所述处理单元还用于:提取多个训练图像中每个训练图像的训练特征向量,得到多个训练特征向量;对所述多个训练特征向量进行聚类得到t个中心向量;根据所述多个训练特征向量中的每个训练特征向量、以及所述训练特征向量对应的中心向量确定训练残差特征向量,所述多个训练特征向量对应得到多个训练残差特征向量;根据所述多个训练残差特征向量,确定特征字典。26.根据权利要求25所述的服务器,其特征在于,所述处理单元还用于:旋转并切分训练残差矩阵得到m个训练残差子矩阵,所述训练残差矩阵包括所述多个训练残差特征向量,m为正整数;对所述m个训练残差子矩阵中每个训练残差子矩阵进行聚类得到m个子特征字典,所述特征字典包括所述m个子特征字典。27.根据权利要求26所述的服务器,其特征在于,所述m个训练残差子矩阵是非均匀切分得到的。28.根据权利要求24-27任一项所述的服务器,其特征在于,所述处理单元还用于:提取所述多个候选图像中的每个候选图像的特征向量,得到多个候选特征向量;根据所述t个中心向量确定所述多个候选特征向量中每个候选特征向量对应的中心向
量;根据每个候选特征向量对应的中心向量确定所述候选特征向量对应的m个候选残差子特征;根据所述特征字典压缩编码每个候选特征向量的所述m个候选残差子特征,得到所述多个候选特征向量的编码信息,所述候选图像信息包括所述多个候选图像的编码信息。29.根据权利要求28所述的服务器,其特征在于,所述特征字典包括m个子特征字典,所述处理单元还用于:确定每个候选特征向量的所述m个候选残差子特征与所述m个子特征字典的相似度;将每个候选残差特征对应的多个相似度中,相似度最高的相似度对应的子特征字典的索引确定为所述候选残差特征的特征索引,每个候选特征向量的编码信息包括对应的m个所述特征索引。30.根据权利要求28或29所述的服务器,其特征在于,所述处理单元还用于:根据所述t个中心向量和所述多个候选特征向量的向量索引,确定向量索引序列;根据所述向量索引序列和所述多个候选特征向量的编码信息,确定所述图像候选信息。31.根据权利要求30所述的服务器,其特征在于,所述处理单元还用于:根据所述t个中心向量确定每个候选特征向量对应的中心向量的中心索引;按照大小关系排序所述多个候选特征向量对应的中心索引,得到中心索引序列;按照所述中心索引序列调整所述多个候选特征向量的向量索引,得到向量索引序列。32.根据权利要求30或31所述的服务器,其特征在于,所述处理单元还用于:根据所述向量索引序列中所述多个候选特征向量的向量索引的顺序,对应排列所述多个候选特征向量的编码信息;根据所述t个中心向量,将排列后的所述多个候选特征向量的编码信息划分为t个编码块,并将所述t个编码块依次存储在编码信息链表的t个节点中,以及将所述向量索引序列划分为t个索引块,并将所述t个索引块依次存储在向量索引链表的t个节点中;确定每个候选特征向量的编码信息和向量索引在对应链表的节点中的偏移地址,得到地址指示信息;其中,所述图像候选信息包括所述地址指示信息、所述向量索引链表和所述编码信息链表。33.一种安防设备,其特征在于,包括:处理器和用于存储所述处理器的可执行指令的存储器;其中,所述处理器运行所述指令使得所述安防设备执行如权利要求1-6任一项所述的检索方法。34.一种服务器,其特征在于,包括:处理器和用于存储所述处理器的可执行指令的存储器;其中,所述处理器运行所述指令使得所述服务器执行如权利要求7-16任一项所述的检索方法。35.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由计算机中的处理器执行时,使得所述计算机能够执行如权利要求1-6任一项所述的检索方法,或者如权利要求7-16任一项所述的检索方法。

技术总结
本申请提供一种图像检索方法及装置,涉及信息处理技术领域,用于在安防设备实现检索,并提升检索效率和准确性。所述方法包括:服务器确定特征字典和候选图像信息,该特征字典用于指示多个图像子特征,该候选图像信息包括多个候选图像的图像信息,该多个候选图像与T个中心向量对应;该服务器向安防设备发送配置信息,该配置信息包括该T个中心向量、该特征字典和该候选图像信息;相应的,安防设备接收来自服务器的配置信息,并获取目标图像的目标特征向量,根据所述目标特征向量和该配置信息,从所述候选图像信息中确定至少一个匹配图像信息。息。息。


技术研发人员:余家林 王瑞琛
受保护的技术使用者:华为技术有限公司
技术研发日:2022.02.15
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐