CN111737292B - 一种数据检索的方法以及相关装置 - Google Patents

一种数据检索的方法以及相关装置 Download PDF

Info

Publication number
CN111737292B
CN111737292B CN202010685541.8A CN202010685541A CN111737292B CN 111737292 B CN111737292 B CN 111737292B CN 202010685541 A CN202010685541 A CN 202010685541A CN 111737292 B CN111737292 B CN 111737292B
Authority
CN
China
Prior art keywords
matrix
retrieval
data
target
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010685541.8A
Other languages
English (en)
Other versions
CN111737292A (zh
Inventor
严石伟
蒋楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010685541.8A priority Critical patent/CN111737292B/zh
Publication of CN111737292A publication Critical patent/CN111737292A/zh
Application granted granted Critical
Publication of CN111737292B publication Critical patent/CN111737292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据检索的方法以及相关装置,可以应用于智能轨迹检索的过程中。通过获取轨迹检索请求;然后基于任务特征集合确定第一检索库,以得到库特征集合;并根据任务特征集合对应的第一矩阵和库特征集合对应的第二矩阵确定目标矩阵;当目标矩阵中的候选对象满足预设条件时,则确定候选对象为检索结果。从而实现快速的数据检索过程,由于第一检索库由第二检索库筛选所得,控制了参与检索的数据量的大小,且一旦检索到满足预设条件的候选对象则确定检索结果,避免了全局检索的发生,进一步提高了数据检索的效率。

Description

一种数据检索的方法以及相关装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据检索的方法以及相关装置。
背景技术
随着互联网技术的发展,人工智能(Artificial Intelligence, AI)技术目前在智慧零售领域有着广泛的应用,其中主要应用于智慧零售商场的场景中。
在智慧零售商场场景中,商场或店铺关心的主要问题是区域的客流数据或进场、进店新老客、VIP提醒等信息检索结果。当前在商场智慧零售方案中对于区域客流和顾客类型提醒并得到信息检索结果的做法是利用人体、人脸实时抓拍并生成轨迹,再存储在永久检索库中,需要检索时则去检索整个商场或店铺的永久检索库。
但是,永久检索库的信息会逐渐变多,在大量信息检索的过程中会耗费大量的时间,严重影响数据检索的效率。
发明内容
有鉴于此,本申请提供一种数据检索的方法,可以有效减少全局检索带来的耗时,提高数据检索过程的效率。
本申请第一方面提供一种数据检索的方法,可以应用于终端设备中包含数据检索功能的系统或程序中,具体包括:获取轨迹检索请求,所述轨迹检索请求对应于轨迹数据,所述轨迹数据用于指示任务特征集合;
基于所述任务特征集合确定第一检索库,以得到库特征集合,所述第一检索库由第二检索库筛选所得,所述第一检索库的数据量小于所述第二检索库的数据量;
根据所述任务特征集合对应的第一矩阵和所述库特征集合对应的第二矩阵确定目标矩阵,所述目标矩阵用于指示所述任务特征集合中的对象与所述库特征集合中的对象的相似度;
若所述目标矩阵中的候选对象满足预设条件,则确定所述候选对象为检索结果,所述预设条件基于所述任务特征集合中对应的对象与所述候选对象的相似度设定。
可选的,在本申请一些可能的实现方式中,所述基于所述任务特征集合确定第一检索库,包括:
获取所述任务特征集合中指示的位置信息;
基于所述位置信息确定检索范围;
基于所述检索范围对所述第二检索库进行筛选,以确定所述第一检索库。
可选的,在本申请一些可能的实现方式中,所述基于所述位置信息确定检索范围,包括:
确定所述位置信息对应的关键位置,所述关键位置用于指示所述位置信息中的共有信息;
基于所述位置信息和所述共有信息确定所述检索范围。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
获取所述轨迹检索请求对应的请求类型;
基于所述请求类型对所述检索范围进行更新。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
分别获取所述第一矩阵和所述第二矩阵对应的协方差矩阵,所述协方差矩阵用于指示所述第一矩阵和所述第二矩阵中不同维度之间的关系;
获取所述协方差矩阵的特征值和特征向量;
基于所述特征值对所述特征向量进行排序,以得到降维矩阵;
基于所述降维矩阵进行投影操作,以对所述第一矩阵和所述第二矩阵进行更新。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
确定所述第一矩阵和所述第二矩阵的浮点类型;
将所述浮点类型进行转换;
根据转换后的以浮点类型对所述第一矩阵和所述第二矩阵进行更新,以降低所述第一矩阵和所述第二矩阵的数据大小。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
确定所述浮点类型对应的第一特征范围和目标定点类型的第二特征范围;
基于所述第一特征范围将所述第一矩阵和所述第二矩阵对应的特征映射到所述第二特征范围中,以对所述第一矩阵和所述第二矩阵进行更新。
可选的,在本申请一些可能的实现方式中,所述方法还包括:
获取分块阈值,所述分块阈值基于中央处理器中高速缓存存储器的容量设定;
基于所述分块阈值对所述第一矩阵和所述第二矩阵进行处理,以得到目标子矩阵;
所述根据所述任务特征集合对应的第一矩阵和所述库特征集合对应的第二矩阵确定目标矩阵,包括:
根据所述目标子矩阵的乘积确定所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述根据所述目标子矩阵的乘积确定所述目标矩阵,包括:
按照预测次序处理所述目标子矩阵,以得到子矩阵数组;
基于所述矩阵数组确定所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述基于所述矩阵数组确定所述目标矩阵,包括:
确定目标向量指令集中指示的计算参数;
基于所述计算参数对所述矩阵数组进行处理,以得到所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述根据所述目标子矩阵的乘积确定所述目标矩阵,包括:
确定所述中央处理器的并行线程信息,所述并行线程信息与目标线程数相对应;
基于所述目标线程数并行的进行所述目标子矩阵的乘积,以确定所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述数据检索的方法应用于轨迹检索中,所述轨迹检索请求为人脸信息的请求,所述轨迹数据为轨迹信息,所述轨迹信息与所述人脸信息相对应,所述检索结果为目标人脸信息。
本申请第二方面提供一种数据检索的装置,包括:获取单元,用于获取轨迹检索请求,所述轨迹检索请求对应于轨迹数据,所述轨迹数据用于指示任务特征集合;
确定单元,用于基于所述任务特征集合确定第一检索库,以得到库特征集合,所述第一检索库由第二检索库筛选所得,所述第一检索库的数据量小于所述第二检索库的数据量;
计算单元,用于根据所述任务特征集合对应的第一矩阵和所述库特征集合对应的第二矩阵确定目标矩阵,所述目标矩阵用于指示所述任务特征集合中的对象与所述库特征集合中的对象的相似度;
检索单元,用于若所述目标矩阵中的候选对象满足预设条件,则确定所述候选对象为检索结果,所述预设条件基于所述任务特征集合中对应的对象与所述候选对象的相似度设定。
可选的,在本申请一些可能的实现方式中,所述确定单元,具体用于获取所述任务特征集合中指示的位置信息;
所述确定单元,具体用于基于所述位置信息确定检索范围;
所述确定单元,具体用于基于所述检索范围对所述第二检索库进行筛选,以确定所述第一检索库。
可选的,在本申请一些可能的实现方式中,所述确定单元,具体用于确定所述位置信息对应的关键位置,所述关键位置用于指示所述位置信息中的共有信息;
所述确定单元,具体用于基于所述位置信息和所述共有信息确定所述检索范围。
可选的,在本申请一些可能的实现方式中,所述确定单元,具体用于获取所述轨迹检索请求对应的请求类型;
所述确定单元,具体用于基于所述请求类型对所述检索范围进行更新。
可选的,在本申请一些可能的实现方式中,所述计算单元,具体用于分别获取所述第一矩阵和所述第二矩阵对应的协方差矩阵,所述协方差矩阵用于指示所述第一矩阵和所述第二矩阵中不同维度之间的关系;
所述计算单元,具体用于获取所述协方差矩阵的特征值和特征向量;
所述计算单元,具体用于基于所述特征值对所述特征向量进行排序,以得到降维矩阵;
所述计算单元,具体用于基于所述降维矩阵进行投影操作,以对所述第一矩阵和所述第二矩阵进行更新。
可选的,在本申请一些可能的实现方式中,所述计算单元,具体用于确定所述第一矩阵和所述第二矩阵的浮点类型;
所述计算单元,具体用于将所述浮点类型进行转换;
所述计算单元,具体用于根据转换后的以浮点类型对所述第一矩阵和所述第二矩阵进行更新,以降低所述第一矩阵和所述第二矩阵的数据大小。
可选的,在本申请一些可能的实现方式中,所述计算单元,具体用于确定所述浮点类型对应的第一特征范围和目标定点类型的第二特征范围;
所述计算单元,具体用于基于所述第一特征范围将所述第一矩阵和所述第二矩阵对应的特征映射到所述第二特征范围中,以对所述第一矩阵和所述第二矩阵进行更新。
可选的,在本申请一些可能的实现方式中,所述计算单元,具体用于获取分块阈值,所述分块阈值基于中央处理器中高速缓存存储器的容量设定;
所述计算单元,具体用于基于所述分块阈值对所述第一矩阵和所述第二矩阵进行处理,以得到目标子矩阵;
所述计算单元,具体用于根据所述目标子矩阵的乘积确定所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述计算单元,具体用于按照预测次序处理所述目标子矩阵,以得到子矩阵数组;
所述计算单元,具体用于基于所述矩阵数组确定所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述计算单元,具体用于确定目标向量指令集中指示的计算参数;
所述计算单元,具体用于基于所述计算参数对所述矩阵数组进行处理,以得到所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述计算单元,具体用于确定所述中央处理器的并行线程信息,所述并行线程信息与目标线程数相对应;
所述计算单元,具体用于基于所述目标线程数并行的进行所述目标子矩阵的乘积,以确定所述目标矩阵。
本申请第三方面提供一种计算机设备,包括:存储器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述第一方面或第一方面任一项所述的数据检索的方法。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一项所述的数据检索的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
通过获取轨迹检索请求,其中轨迹检索请求对应于轨迹数据,轨迹数据用于指示任务特征集合;然后基于任务特征集合确定第一检索库,以得到库特征集合,第一检索库由第二检索库筛选所得,第一检索库的数据量小于第二检索库的数据量;并根据任务特征集合对应的第一矩阵和库特征集合对应的第二矩阵确定目标矩阵,目标矩阵用于指示任务特征集合中的对象与库特征集合中的对象的相似度;当目标矩阵中的候选对象满足预设条件时,则确定候选对象为检索结果,该预设条件基于任务特征集合中对应的对象与候选对象的相似度设定。从而实现快速的数据检索过程,由于第一检索库由第二检索库筛选所得,控制了参与检索的数据量的大小,且一旦检索到满足预设条件的候选对象则确定检索结果,避免了全局检索的发生,进一步提高了数据检索的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为数据检索系统运行的网络架构图;
图2为本申请实施例提供的一种数据检索的流程架构图;
图3为本申请实施例提供的一种数据检索的方法的流程图;
图4为本申请实施例提供的另一种数据检索的方法的流程图;
图5为本申请实施例提供的一种矩阵处理的流程示意图;
图6为本申请实施例提供的另一种矩阵处理的流程示意图;
图7为本申请实施例提供的另一种矩阵处理的流程示意图;
图8为本申请实施例提供的另一种矩阵处理的流程示意图;
图9为本申请实施例提供的另一种矩阵处理的流程示意图;
图10为本申请实施例提供的另一种矩阵处理的流程示意图;
图11为本申请实施例提供的另一种矩阵处理的流程示意图;
图12为本申请实施例提供的另一种矩阵处理的流程示意图;
图13为本申请实施例提供的另一种矩阵处理的流程示意图;
图14为本申请实施例提供的一种数据检索的方法的场景示意图;
图15为本申请实施例提供的另一种数据检索的方法的场景示意图;
图16为本申请实施例提供的另一种数据检索的方法的流程图;
图17为本申请实施例提供的一种数据检索装置的结构示意图;
图18为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
本申请实施例提供了一种数据检索的方法以及相关装置,可以应用于终端设备中包含数据检索功能的系统或程序中,通过获取轨迹检索请求,其中轨迹检索请求对应于轨迹数据,轨迹数据用于指示任务特征集合;然后基于任务特征集合确定第一检索库,以得到库特征集合,第一检索库由第二检索库筛选所得,第一检索库的数据量小于第二检索库的数据量;并根据任务特征集合对应的第一矩阵和库特征集合对应的第二矩阵确定目标矩阵,目标矩阵用于指示任务特征集合中的对象与库特征集合中的对象的相似度;当目标矩阵中的候选对象满足预设条件时,则确定候选对象为检索结果,该预设条件基于任务特征集合中对应的对象与候选对象的相似度设定。从而实现快速的数据检索过程,由于第一检索库由第二检索库筛选所得,控制了参与检索的数据量的大小,且一旦检索到满足预设条件的候选对象则确定检索结果,避免了全局检索的发生,进一步提高了数据检索的效率。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例中可能出现的一些名词进行解释。
1:N 人体轨迹检索:在大规模人体轨迹数据库中找出与待检索人体轨迹相似度最高的一个或多个人体轨迹。
1:N人脸检索:在大规模人脸数据库中找出与待检索人脸相似度最高的一个或多个人脸。检索性能与库规模N大小相关。
CPU/GPU:CPU是中央处理器,GPU是图像处理器,VPU为视频处理单元;CPU、GPU和VPU都是视频多媒体的计算资源。
主成分分析法(Principal components analysis,PCA):是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。
L2范式归一化:也可以称为L2归一化,即向量中每个元素除以向量的L2范数,从而统一向量的量纲。
高速缓冲存储器(Cache): CPU高速缓冲区,它是位于CPU与内存间的一种容量较小但速度很高的存储器。CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。
单指令多数据流(Single Instruction Multiple Data,SIMD):该技术能够复制多个操作数,并把它们打包在大型寄存器的一组指令集,典型的有SSE,AVX,AVX2,AVX512。
应理解,本申请提供的数据检索方法可以应用于终端设备中包含数据检索功能的系统或程序中,例如视频监控平台,具体的,数据检索系统可以运行于如图1所示的网络架构中,如图1所示,是数据检索系统运行的网络架构图,如图可知,数据检索系统可以提供与多个信息源的数据检索,终端通过网络建立与服务器的连接,进而通过服务器进行多个终端之间的关联,从而将每个终端收集的数据进行汇总,以便于有数据检索请求时进行数据检索;可以理解的是,图1中示出了多种终端设备,在实际场景中可以有更多或更少种类的终端设备参与到数据检索的过程中,具体数量和种类因实际场景而定,此处不做限定,另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,特别是在多内容应用交互的场景中,具体服务器数量因实际场景而定。
本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
应当注意的是,本实施例提供的数据检索方法也可以离线进行,即不需要服务器的参与,此时终端在本地与其他终端进行连接,进而进行终端之间的数据检索的过程。
可以理解的是,上述数据检索系统可以运行于个人移动终端,例如:作为视频监控平台这样的应用,也可以运行于服务器,还可以作为运行于第三方设备以提供数据检索,以得到信息源的数据检索处理结果;具体的数据检索系统可以是以一种程序的形式在上述设备中运行,也可以作为上述设备中的系统部件进行运行,还可以作为云端服务程序的一种,具体运作模式因实际场景而定,此处不做限定。
随着互联网技术的发展,人工智能(Artificial Intelligence, AI)技术目前在智慧零售领域有着广泛的应用,特别是在计算机视觉技术的应用汇总,其中主要应用于智慧零售商场的场景中。
计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
在智慧零售商场场景中,商场或店铺关心的主要问题是区域的客流数据或进场、进店新老客、VIP提醒等信息检索结果。当前在商场智慧零售方案中对于区域客流和顾客类型提醒并得到信息检索结果的做法是利用人体、人脸实时抓拍并生成轨迹,再存储在永久检索库中,需要检索时则去检索整个商场或店铺的永久检索库。
但是,永久检索库的信息会逐渐变多,在大量信息检索的过程中会耗费大量的时间,严重影响数据检索的效率。
为了解决上述问题,本申请提出了一种数据检索的方法,该方法应用于图2所示的数据检索的流程框架中,如图2所示,为本申请实施例提供的一种数据检索的流程架构图,首先检索服务根据检索任务请求确定检索任务,然后进行任务的聚合以得到任务特征集合,例如基于时间窗口进行任务聚合,即将最多n个实时请求经时间窗口聚合后构成多任务特征集合I;然后经检索业务层策略优化,即对检索库中的数据按楼层或其他筛选信息过滤并增加临时检索库的机制降低检索数据的规模,从而最终得到任务特征集合I1和库特征集合G1;然后经检索应用层策略优化,主要是针对特征特点进行基于PCA算法的降维(例如一个1024维特征可以降到512维度),然后进行精度转换(例如将双精度浮点转为单精度浮点float64转换为float32),并基于L2归一化的浮点映射定点(例如由float32转换为int8)得到I2和库特征集合G2;最后经计算层策略优化在矩阵乘时引入基于cache优化的矩阵分块、基于CPU指令集操作的SIMD和基于多线程并行计算机制加快矩阵乘速度,在计算过程中,进行部分计算(检索处理)即一旦检索命中检索过程就结束立即返回处理结果,即无需完全检索,从而实现数据检索的过程。
可以理解的是,本申请所提供的方法可以为一种程序的写入,以作为硬件系统中的一种处理逻辑,也可以作为一种数据检索装置,采用集成或外接的方式实现上述处理逻辑。作为一种实现方式,该数据检索装置通过获取轨迹检索请求,其中轨迹检索请求对应于轨迹数据,轨迹数据用于指示任务特征集合;然后基于任务特征集合确定第一检索库,以得到库特征集合,第一检索库由第二检索库筛选所得,第一检索库的数据量小于第二检索库的数据量;并根据任务特征集合对应的第一矩阵和库特征集合对应的第二矩阵确定目标矩阵,目标矩阵用于指示任务特征集合中的对象与库特征集合中的对象的相似度;当目标矩阵中的候选对象满足预设条件时,则确定候选对象为检索结果,该预设条件基于任务特征集合中对应的对象与候选对象的相似度设定。从而实现快速的数据检索过程,由于第一检索库由第二检索库筛选所得,控制了参与检索的数据量的大小,且一旦检索到满足预设条件的候选对象则确定检索结果,避免了全局检索的发生,进一步提高了数据检索的效率。
本申请实施例提供的方案涉及人工智能的计算机视觉技术,具体通过如下实施例进行说明:
结合上述流程架构,下面将对本申请中数据检索的方法进行介绍,请参阅图3,图3为本申请实施例提供的一种数据检索的方法的流程图,本申请实施例至少包括以下步骤:
301、获取轨迹检索请求。
本实施例中,轨迹检索请求对应于轨迹数据,轨迹检索请求可以是在智能零售场景中根据未知路径信息匹配对应的人脸信息的请求;故该轨迹检索请求还对应了轨迹数据。其中,轨迹数据可以包括轨迹ID、轨迹所在的区域信息(例如楼栋信息),楼层ID(例如楼层信息)以及基于多抓拍图的平均质量分和平均特征,故轨迹数据即用于指示任务特征集合。
可以理解的是,轨迹检索请求中包含的检索任务可以是一个也可以是多个,而为了充分利用资源可以采用时间窗口(例如2小时内)聚合机制保证同一时间参与检索的任务最多可以多个轨迹(例如同时检索8个轨迹),具体的数量因实际场景而定,此处不做限定。
具体的,轨迹检索请求的内容可以是轨迹,并进行1:N人体轨迹检索的过程,即检索出与轨迹检索请求中的轨迹数据相似的多个轨迹或对应的人脸信息;另外,轨迹检索请求的内容也可以人脸信息,并进行1:N人脸检索的过程,即检索出与轨迹检索请求中的人脸数据相似的多个人脸或对应的轨迹信息;具体的检索需求因实际场景而定。
在另一种可能的场景中,轨迹检索请求的内容还可以是声音信息,例如基于收集的多个声波检索得到对应的人脸或对应的轨迹信息;即轨迹检索请求的内容可以是用于用户身份识别的任何信息,包括但不限于人脸、声音、指纹等生物特征,还可以包括身份证号、驾照号等字符标识特征,此处不做限定。
302、基于任务特征集合确定第一检索库,以得到库特征集合。
本实施例中,第一检索库由第二检索库筛选所得,第一检索库的数据量小于第二检索库的数据量,从而减少检索的数据量。
可以理解的是,第一检索库可以是基于第二检索库临时设定的,即第一检索库为临时检索库,而第二检索库为永久检索库,即永久检索库中存储了监控设备所采集的所有轨迹以及人脸信息。而临时检索库即为根据当前的检索需求所设定的检索库。
具体的,临时检索库(第一检索库)的确定可以是基于任务特征集合中指示的位置信息确定的,例如楼层信息;对于该过程首先获取任务特征集合中指示的位置信息;然后基于位置信息确定检索范围;进而基于检索范围对第二检索库进行筛选,以确定第一检索库。例如任务特征集合中指示的位置信息为3楼,则筛选永久检索库(第二检索库)中关于3楼的数据,以作为临时检索库,从而减小了检索的数据量。
可选的,临时检索库的确定还可以基于关键位置进行优化,这是考虑到在智慧零售的场景中顾客通过商场一楼进出商场的概率较高,故将一楼身份作为补偿检索范围确保检索命中。即首先确定位置信息对应的关键位置,关键位置用于指示位置信息中的共有信息;然后基于位置信息和共有信息确定检索范围。从而在保证检索算法效果的情况下大大降低检索规模。
可以理解的是,上述共有信息为商场一楼仅为示例,具体的场景中共有信息还可以是其他位置,具体位置因实际场景而定。
可选的,在步骤301中介绍了轨迹检索请求可能对应的于不同的检索结果,故针对不同的检索场景也可以相适应的对检索范围进行更新。即首先获取轨迹检索请求对应的请求类型;然后基于请求类型对检索范围进行更新。例如轨迹检索请求对应的请求类型为最近1天的客流查询,故可以将检索范围更新到1天范围内的数据。从而减少检索的数据量,提高检索的效率。
可以理解的是,在实际场景汇总可以基于永久数据库设定多个梯度的临时数据库,以便于不同轨迹检索请求的检索过程,例如:包含一天数据的临时数据库、包含三天数据的临时数据库,并对这些临时数据库逐一进行检索。
303、根据任务特征集合对应的第一矩阵和库特征集合对应的第二矩阵确定目标矩阵。
本实施例中,目标矩阵用于指示任务特征集合中的对象与库特征集合中的对象的相似度;即目标矩阵为第一矩阵和第二矩阵的矩阵乘积,且目标矩阵的每一行对应的是通过轨迹检索请求输入的一个轨迹与第一检索库内多个候选对象的相似度。
304、若目标矩阵中的候选对象满足预设条件,则确定候选对象为检索结果。
本实施例中,预设条件基于任务特征集合中对应的对象与候选对象的相似度设定。考虑到实时检索的时效性,一旦有候选对象满足预设条件,即候选对象与轨迹检索请求中指示的轨迹相似度达到阈值,则将该候选对象作为检索结果,并停止检索的进程,无需进行全局的检索比较,节省了数据检索的耗时。
可以理解的是,相似度阈值可以是响应于用户的设定,例如相似度的阈值为0.9;相似度阈值也可以是由检索过程中的历史阈值所得,例如上次检索的相似度阈值为0.96,则当前检索的相似度阈值也为0.96;相似度阈值还可以是根据历史信息中的阈值平均值所得,具体的阈值设定方式因实际场景而定,此处不做限定。
在一种可能的场景中,数据检索的过程可以参考图4,为本申请实施例提供的另一种数据检索的方法的流程图。图中示出了分层检索和临时库的设定后的检索过程,其中分层的目的主要是降低检索数据规模,而增加临时库是为了尽量避免直接检索规模庞大的永久库。具体的,在数据检索时,首先从库身份中选取与请求轨迹同一楼层以及一楼的数据。这是由于当该楼层的一个轨迹发起请求时,若库内身份存在,则该轨迹对应的用户身份与请求轨迹同一个楼层的概率较大;另外,考虑到顾客大部分情况会通过商场一楼进出商场,故将一楼身份作为补偿检索范围确保检索命中,进而保证检索算法效果情况下大大降低检索规模,即检索轨迹楼层号进行数据过滤的过程。
进一步的,在检索过程中,若轨迹检索请求对应的是客流检索,则直接将第一检索库设定为最近一段时间的检索库(例如24小时内数据组成的检索库),并基于这些数据进行客流统计即可。而对于轨迹检索请求对应的是用户提醒的过程,即需要检索出具体的用户信息,此时可以首先检索当日临时库(第一检索库),若命中数据则立即返回检索结果,并停止检索,且说明轨迹检索请求对应的轨迹可能是新客或者是当前时间还没有建档的昨日老客;而对于当日临时库未命中的情况,则进行永久库的检索,若依然未命中则检索结束。
结合上述实施例可知,通过获取轨迹检索请求,其中轨迹检索请求对应于轨迹数据,轨迹数据用于指示任务特征集合;然后基于任务特征集合确定第一检索库,以得到库特征集合,第一检索库由第二检索库筛选所得,第一检索库的数据量小于第二检索库的数据量;并根据任务特征集合对应的第一矩阵和库特征集合对应的第二矩阵确定目标矩阵,目标矩阵用于指示任务特征集合中的对象与库特征集合中的对象的相似度;当目标矩阵中的候选对象满足预设条件时,则确定候选对象为检索结果,该预设条件基于任务特征集合中对应的对象与候选对象的相似度设定。从而实现快速的数据检索过程,由于第一检索库由第二检索库筛选所得,控制了参与检索的数据量的大小,且一旦检索到满足预设条件的候选对象则确定检索结果,避免了全局检索的发生,进一步提高了数据检索的效率。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的数据检索的方法另一可选实施例中,为了提高基于第一矩阵和第二矩阵计算过程中的效率,可以在应用层进行数据处理,即参照图5对第一矩阵和第二矩阵进行处理的过程。图5为本申请实施例提供的一种矩阵处理的流程示意图;图中以第一矩阵和第二矩阵初始为高维双精度浮点矩阵为例进行说明,首先将第一矩阵和第二矩阵进行降维处理,以得到低维双精度浮点矩阵;然后进行精度简化,从而得到低维单精度浮点矩阵;进一步的进行浮点映射定点的处理,从而得到低维单精度定点矩阵,从而降低了第一矩阵和第二矩阵的数据大小,便于提高数据检索的效率。
下面,分别对上述应用层进行数据处理的过程分别进行说明,对于降维处理的过程,主要包括:
分别获取第一矩阵和第二矩阵对应的协方差矩阵,协方差矩阵用于指示第一矩阵和第二矩阵中不同维度之间的关系;
获取协方差矩阵的特征值和特征向量;
基于特征值对特征向量进行排序,以得到降维矩阵;
基于降维矩阵进行投影操作,以对第一矩阵和第二矩阵进行更新。
可以理解的是,矩阵降维的过程基于PCA算法进行,PCA算法指示了将第一矩阵和第二矩阵中的m维特征映射到k维上(k<m),且k维特征是正交特征。该k维特征称为主元,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余m-k维特征,故该k维特征将保留原始特征主要信息。
具体的,如图6所示,图6为本申请实施例提供的另一种矩阵处理的流程示意图;首先对于输入的矩阵X(第一矩阵或第二矩阵)进行中心化处理,可以表示为:
Figure 924520DEST_PATH_IMAGE001
其中,n表示特征数目,m表示特征维度。
首先获取矩阵X的协方差矩阵Q,具体可以表示为:
Figure 925974DEST_PATH_IMAGE003
其中,ai表示n个样本的第i维度组成的向量。
然后获取协方差矩阵Q中指示的特征值和特征向量,并基于特征值对特征向量进行排序,以得到降维矩阵,例如按照特征值的大小由大到小排列,取前k行组成降维矩阵P。
进而基于降维矩阵进行投影,从而得到降维后的矩阵Y,即Y=PX,其表达式可以为:
Figure 593716DEST_PATH_IMAGE004
其中,n为特征数目,k为特征维度,且k<m。
下面,对图5中精度简化的过程进行介绍,该过程主要包括:
确定第一矩阵和第二矩阵的浮点类型;
将浮点类型进行转换;
根据转换后的以浮点类型对第一矩阵和第二矩阵进行更新,以降低第一矩阵和第二矩阵的数据大小。
具体的,如图7所示,图7为本申请实施例提供的另一种矩阵处理的流程示意图。由于第一矩阵和第二矩阵的原始特征数据是m维双精度向量,即特征向量中每一个元素的浮点类型都是float64位,利用类型转换可以将浮点类型转化为单精度float32数据,从而使得数据大小下降一半,有利于提高数据检索的效率。
下面,对图5中浮点映射定点的过程进行介绍,该过程主要包括:
确定浮点类型对应的第一特征范围和目标定点类型的第二特征范围;
基于第一特征范围将第一矩阵和第二矩阵对应的特征映射到第二特征范围中,以对第一矩阵和第二矩阵进行更新。
具体的,如图8所示,图8为本申请实施例提供的另一种矩阵处理的流程示意图。即首先将第一矩阵和第二矩阵中的特征进行L2范式归一化,然后进行特征范围的转换;具体的,L2范式归一化的过程可以参照如下公式进行:
Figure 997016DEST_PATH_IMAGE005
其中,X2即为经过L2范式归一化处理后的输出结果,x1、x2…xn为第一矩阵或第二矩阵中的特征向量,||x||2即为L2范数。通过将第一矩阵和第二矩阵中的特征进行L2范式归一化,保证了特征之间的差异性,避免了特征之间过拟合的发生,提高了特征的可识别性。
可以理解的是,考虑到在CPU中,浮点数的运算要比定点数的计算慢,故可以将浮点数据映射为整形定点数据以提高运算速度。且在本申请中,CPU为用于图形处理的嵌入式设备,其计算能力有限,故应当将浮点数据映射为整形定点数据以提高运算速度。具体的,映射的过程即根据特征数据取值范围在[-fmax,+fmax](第一特征范围)以及整形数据也存在范围(如int8取值范围 [-127,127]),即第二特征范围;从而通过引入浮点与定点数据的映射方法,可以实现数据大小下降到四分之一。
进一步的,由于映射到整形后存在精度损失,可以根据算法需要映射到不同精度的整形类型。故可以进行四舍五入的取整过程,并将第二特征范围之外的特征用边界值(例如-127、127)进行替换,从而得到定点存储形式,以减小数据的大小。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例提供的数据检索的方法另一可选实施例中,还可以在计算层对第一矩阵和第二矩阵进行数据处理,如图9所示,图9为本申请实施例提供的另一种矩阵处理的流程示意图。其中,计算层优化策略主要包括基于cache的局部性原理的矩阵分块子策略、将内存中分块矩阵PACK预加载到内存中连续区域成一个数组、提高数据并行操作的CPU的单指令流多数据流(Single InstructionMultiple Data,SIMD)技术以及多线程并行计算机制;其中,SIMD即同时对一组数据中的每一个数据分别执行相同的操作,从而实现空间上的并行执行过程。
具体的,对于分块的过程,主要是基于高速缓冲存储器(cache)的容量进行的,具体步骤包括:
获取分块阈值,其中分块阈值基于中央处理器中高速缓存存储器的容量设定;
基于分块阈值对第一矩阵和第二矩阵进行处理,以得到目标子矩阵;
对应的,根据目标子矩阵的乘积确定目标矩阵。
其中,对于得到目标子矩阵的划分过程可以参考图10,为本申请实施例提供的另一种矩阵处理的流程示意图。图中示出了输入矩阵C(第一矩阵或第二矩阵)为M*N,通过分块可以得到矩阵A(M*K)以及矩阵B(N*K),从而便于在cache进行计算;这是由于在计算机操作系统中,cache读写速度要远高于内存;在计算过程中,CPU首先从cache读取数据,若读取数据过程丢失则再从内存读取,而从内存读写数据要比cache慢很多。在cache不变情况,矩阵越大,越难装进cache中。高速缓存缺失将导致更多地从内存读写数据也即更频繁的cache换入换出这将大大影响计算效率,故可以将原始大矩阵切分为较小的子矩阵。
另外,对于分块后的预加载的过程,可以包括:
按照预测次序处理目标子矩阵,以得到子矩阵数组;
基于矩阵数组确定目标矩阵。
具体的,如图11所示,为本申请实施例提供的另一种矩阵处理的流程示意图。其中每计算一个数据分块(block)时,把对应的数据打包到一个w*h大小的连续内存空间中;通过连续性的存储,读的时候也是连续性读取,故效率会非常高,且cache效率也非常高。当乘积中关于该block的所有项计算得到子矩阵数组后,再打包下一个block,如此反复,可以让每一行的读取都变成连续的了,从而可以进一步提高数据检索的性能。
对于子矩阵数组的计算过程,可以采用SIMD加速进行,具体包括:
确定目标向量指令集中指示的计算参数;
基于计算参数对矩阵数组进行处理,以得到目标矩阵。
具体的,如图12所示,为本申请实施例提供的另一种矩阵处理的流程示意图。即利用SIMD可以实现一个计算指令同时操作整个矩阵数组进行计算,即数组中的每个数同时进行计算;而一般的单指令单数据流(Single Instruction Single Data stream,SISD)则只能每个数依次进行计算,耗时较多。如图中所示,在利用SIMD进行矩阵数组计算的过程中,矩阵1包括A0-A7共8个数组,矩阵2包括B0-B7共8个数组,利用SIMD可以同时进行对应的计算,即同时计算A0+B0、A1+B1…A7+B7,相较于利用SISD进行矩阵数组计算的过程中只能对于每个计算过程分别发出指令,提高了8倍的效率,此处数组的个数仅为示例,具体数值因实际场景而定。
可以理解的是,由于CPU采用了SIMD,一次可以对128位二进制数据做一个相同操作。根据CPU类型不同存在单指令多数据流扩展指令集(Streaming SIMD Extensions,SSE),高级矢量扩展指令集(Advanced Vector Extensions,AVX),第二代高级矢量扩展指令集(Advanced Vector Extensions 2,AVX2),第三代高级矢量扩展指令集(AdvancedVector Extensions 512,AVX512)等多种指令集。其中, SSE指令集包括了70条指令,具体包含提高图形运算效率的50条SIMD浮点运算指令,从而通过并行处理多个浮点数据来有效地提高浮点运算速度;AVX指令集将浮点打包数据长度由SSE的128位扩展为256位,从而可以提供更多线程的数据运算,以提高浮点运算速度;AVX2指令集是AVX指令集的扩展,其主要在整形数据方面做了完善,从而提高了数据的准确性;而AVX-512指令集则是将浮点打包数据长度由256位扩展到512位,从而可以提供更多线程的数据运算,以提高浮点运算速度。
在一种可能的场景中,以AVX指令集为例进行说明,AVX指令每次最多可以操作256位的数据,即8个32位的浮点数,故对应的代码计算过程可以加速8倍。另外,由于指令集可操作位数越多加速越明显如,故对于支持AVX512指令集的CPU可以一次操作512位数据,即一次命令可以同时操作16个32个float32浮点数运算,故对应的代码计算过程可以加速16倍,从而加速的计算效率。
可选的,对于目标矩阵的计算过程可以是并行进行的,具体步骤包括:
确定中央处理器的并行线程信息,并行线程信息与目标线程数相对应;
基于目标线程数并行的进行目标子矩阵的乘积,以确定目标矩阵。
具体的,计算过程如图13所示,本申请实施例提供的另一种矩阵处理的流程示意图。即利用矩阵乘法的结果矩阵(目标矩阵)中的每一个位置的结果值都不依赖于其他位置数据的计算过程和结果。故对于多核CPU,可以引入多线程并行计算机制在充分利用资源的情况下可以加快计算速度,从而可以对大矩阵分块得到的每个block均起一个线程(thread)参与子矩阵计算,即分块1对应于线程1、分块2对应于线程2…分块16对应于线程16进行多线程的计算,从而大大提升目标矩阵的计算效率。
可以理解的是,考虑到多核CPU的线程的限制,也可以采用多个分块输入同一线程进行计算,例如分块1至分块4对应于线程1进行计算、分块5至分块8对应于线程2进行计算、分块9至分块12对应于线程3进行计算、分块13至分块16对应于线程4进行计算,此种情况相较于单一线程多分块计算也提高了计算效率,也充分考虑到多核CPU的物理性能,提高了计算过程的适应性。
通过上述实施例对于第一矩阵和第二矩阵计算得到目标矩阵过程的优化,可以进一步的提升数据检索的效率。可以理解的是,在具体场景中可以利用上述数据处理方法的一种或多种的组合,具体方式此处不做限定。
可以理解的是,上述计算优化的方法应用于包含CPU的检索设备;而由于检索设备配置的差异性,对于配置了图形处理器(Graphics Processing Unit,GPU)的检索设备,由于GPU配置的运算机制即为支持并行运算的,故可以直接进行并行的多线程运算过程。故结合图2所示的架构,在聚合检索任务之后,还可以识别检索设备的配置信息,若配置信息中包含GPU,则调用GPU的计算权限以进行针对检索任务的运算,从而提高运算效率。
在一种可能的场景汇总,通过上述数据检索的方法,以及数据处理优化后的方法可以得到如图14所示的统计结果,为本申请实施例提供的一种数据检索的方法的场景示意图;图中示出了“6月14日”中新客与老客的客流统计,从而便于相关人员进行客流数据的分析。
另外,通过对于数据的统计还可以得到具体的客流信息, 如图15所示,为本申请实施例提供的另一种数据检索的方法的场景示意图;即统计了不同时间段内的客流人数,并通过上述数据检索的方法得到轨迹对应的人脸信息,并在终端界面中显示出来,以便于相关人员进行相关人物的追踪,提高用户体验。
上述实施例介绍了数据检索应用于智能零售商场场景中的过程,下面,对数据检索应用于智能安防场景中的过程进行介绍,请参阅图16,图16为本申请实施例提供的另一种数据检索的方法的流程图,本申请实施例至少包括以下步骤:
1601、获取可疑人物轨迹。
本实施例中,可疑人物轨迹可以是相关人员设定的,也可以是根据轨迹信息的分布确定的,例如在“频繁出现在首饰店周围”,具体的可疑人物轨迹的设定方式因实际操作而定,此处不做限定。
1602、基于可疑人物轨迹进行数据检索,以得到人脸信息。
本实施例中,基于可疑人物轨迹进行数据检索的过程参考图3所示实施例的步骤301-304的描述,此处不做赘述。
1603、基于人脸信息发出警报。
本实施例中,通过对比识别得到的人脸信息与目标信息的对比,例如通缉令,即可以发出对应的警报。
结合上述实施例可见,通过本实施例提供的数据检索的方法,可以很好的应用在智能安防的场景中,由于其实时检索的特点,可以保证数据检索的效率,从而提升安防效果。
为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。请参阅图17,图17为本申请实施例提供的一种数据检索装置的结构示意图,数据检索装置1700包括:
获取单元1701,用于获取轨迹检索请求,所述轨迹检索请求对应于轨迹数据,所述轨迹数据用于指示任务特征集合;
确定单元1702,用于基于所述任务特征集合确定第一检索库,以得到库特征集合,所述第一检索库由第二检索库筛选所得,所述第一检索库的数据量小于所述第二检索库的数据量;
计算单元1703,用于根据所述任务特征集合对应的第一矩阵和所述库特征集合对应的第二矩阵确定目标矩阵,所述目标矩阵用于指示所述任务特征集合中的对象与所述库特征集合中的对象的相似度;
检索单元1704,用于若所述目标矩阵中的候选对象满足预设条件,则确定所述候选对象为检索结果,所述预设条件基于所述任务特征集合中对应的对象与所述候选对象的相似度设定。
可选的,在本申请一些可能的实现方式中,所述确定单元1702,具体用于获取所述任务特征集合中指示的位置信息;
所述确定单元1702,具体用于基于所述位置信息确定检索范围;
所述确定单元1702,具体用于基于所述检索范围对所述第二检索库进行筛选,以确定所述第一检索库。
可选的,在本申请一些可能的实现方式中,所述确定单元1702,具体用于确定所述位置信息对应的关键位置,所述关键位置用于指示所述位置信息中的共有信息;
所述确定单元1702,具体用于基于所述位置信息和所述共有信息确定所述检索范围。
可选的,在本申请一些可能的实现方式中,所述确定单元1702,具体用于获取所述轨迹检索请求对应的请求类型;
所述确定单元1702,具体用于基于所述请求类型对所述检索范围进行更新。
可选的,在本申请一些可能的实现方式中,所述计算单元1703,具体用于分别获取所述第一矩阵和所述第二矩阵对应的协方差矩阵,所述协方差矩阵用于指示所述第一矩阵和所述第二矩阵中不同维度之间的关系;
所述计算单元1703,具体用于获取所述协方差矩阵的特征值和特征向量;
所述计算单元1703,具体用于基于所述特征值对所述特征向量进行排序,以得到降维矩阵;
所述计算单元1703,具体用于基于所述降维矩阵进行投影操作,以对所述第一矩阵和所述第二矩阵进行更新。
可选的,在本申请一些可能的实现方式中,所述计算单元1703,具体用于确定所述第一矩阵和所述第二矩阵的浮点类型;
所述计算单元1703,具体用于将所述浮点类型进行转换;
所述计算单元1703,具体用于根据转换后的以浮点类型对所述第一矩阵和所述第二矩阵进行更新,以降低所述第一矩阵和所述第二矩阵的数据大小。
可选的,在本申请一些可能的实现方式中,所述计算单元1703,具体用于确定所述浮点类型对应的第一特征范围和目标定点类型的第二特征范围;
所述计算单元1703,具体用于基于所述第一特征范围将所述第一矩阵和所述第二矩阵对应的特征映射到所述第二特征范围中,以对所述第一矩阵和所述第二矩阵进行更新。
可选的,在本申请一些可能的实现方式中,所述计算单元1703,具体用于获取分块阈值,所述分块阈值基于中央处理器中高速缓存存储器的容量设定;
所述计算单元1703,具体用于基于所述分块阈值对所述第一矩阵和所述第二矩阵进行处理,以得到目标子矩阵;
所述计算单元1703,具体用于根据所述目标子矩阵的乘积确定所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述计算单元1703,具体用于按照预测次序处理所述目标子矩阵,以得到子矩阵数组;
所述计算单元1703,具体用于基于所述矩阵数组确定所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述计算单元1703,具体用于确定目标向量指令集中指示的计算参数;
所述计算单元1703,具体用于基于所述计算参数对所述矩阵数组进行处理,以得到所述目标矩阵。
可选的,在本申请一些可能的实现方式中,所述计算单元1703,具体用于确定所述中央处理器的并行线程信息,所述并行线程信息与目标线程数相对应;
所述计算单元1703,具体用于基于所述目标线程数并行的进行所述目标子矩阵的乘积,以确定所述目标矩阵。
通过获取轨迹检索请求,其中轨迹检索请求对应于轨迹数据,轨迹数据用于指示任务特征集合;然后基于任务特征集合确定第一检索库,以得到库特征集合,第一检索库由第二检索库筛选所得,第一检索库的数据量小于第二检索库的数据量;并根据任务特征集合对应的第一矩阵和库特征集合对应的第二矩阵确定目标矩阵,目标矩阵用于指示任务特征集合中的对象与库特征集合中的对象的相似度;当目标矩阵中的候选对象满足预设条件时,则确定候选对象为检索结果,该预设条件基于任务特征集合中对应的对象与候选对象的相似度设定。从而实现快速的数据检索过程,由于第一检索库由第二检索库筛选所得,控制了参与检索的数据量的大小,且一旦检索到满足预设条件的候选对象则确定检索结果,避免了全局检索的发生,进一步提高了数据检索的效率。
本申请实施例还提供了一种终端设备,如图18所示,是本申请实施例提供的另一种终端设备的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图18示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图18,手机包括:射频(radio frequency,RF)电路1810、存储器1820、输入单元1830、显示单元1840、传感器1850、音频电路1860、无线保真(wireless fidelity,WiFi)模块1870、处理器1880、以及电源1890等部件。本领域技术人员可以理解,图18中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图18对手机的各个构成部件进行具体的介绍:
RF电路1810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1880处理;另外,将设计上行的数据发送给基站。通常,RF电路1810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路1810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access, WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器1820可用于存储软件程序以及模块,处理器1880通过运行存储在存储器1820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1830可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1830可包括触控面板1831以及其他输入设备1832。触控面板1831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1831上或在触控面板1831附近的操作,以及在触控面板1831上一定范围内的隔空触控操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1880,并能接收处理器1880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1831。除了触控面板1831,输入单元1830还可以包括其他输入设备1832。具体地,其他输入设备1832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1840可包括显示面板1841,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板1841。进一步的,触控面板1831可覆盖显示面板1841,当触控面板1831检测到在其上或附近的触摸操作后,传送给处理器1880以确定触摸事件的类型,随后处理器1880根据触摸事件的类型在显示面板1841上提供相应的视觉输出。虽然在图18中,触控面板1831与显示面板1841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1831与显示面板1841集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1841和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等; 至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1860、扬声器1861,传声器1862可提供用户与手机之间的音频接口。音频电路1860可将接收到的音频数据转换后的电信号,传输到扬声器1861,由扬声器1861转换为声音信号输出;另一方面,传声器1862将收集的声音信号转换为电信号,由音频电路1860接收后转换为音频数据,再将音频数据输出处理器1880处理后,经RF电路1810以发送给比如另一手机,或者将音频数据输出至存储器1820以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图18示出了WiFi模块1870,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1820内的软件程序和/或模块,以及调用存储在存储器1820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1880可包括一个或多个处理单元;可选的,处理器1880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1880中。
手机还包括给各个部件供电的电源1890(比如电池),可选的,电源可以通过电源管理系统与处理器1880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1880还具有执行如上述数据检索方法的各个步骤的功能。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有数据检索指令,当其在计算机上运行时,使得计算机执行如前述图3至图16所示实施例描述的方法中数据检索装置所执行的步骤。
本申请实施例中还提供一种包括数据检索指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3至图16所示实施例描述的方法中数据检索装置所执行的步骤。
本申请实施例还提供了一种数据检索系统,所述数据检索系统可以包含图17所描述实施例中的数据检索装置,或者图18所描述的终端设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,数据检索装置,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (13)

1.一种数据检索的方法,其特征在于,包括:
获取轨迹检索请求,所述轨迹检索请求对应于轨迹数据,所述轨迹数据用于指示任务特征集合,所述轨迹检索请求为根据所述轨迹数据匹配对应的人脸信息的请求;
基于所述任务特征集合按照时序确定至少一个第一检索库,以得到库特征集合,所述第一检索库由第二检索库筛选所得,所述第一检索库的数据量小于所述第二检索库的数据量,所述第一检索库为临时检索库,所述第二检索库为永久检索库;
根据所述任务特征集合对应的第一矩阵和所述库特征集合对应的第二矩阵确定目标矩阵,所述目标矩阵用于指示所述任务特征集合中的对象与所述库特征集合中的对象的相似度;
若所述目标矩阵中的候选对象满足预设条件,则确定所述候选对象的人脸信息为检索结果并停止检索进程,所述预设条件基于所述任务特征集合中对应的对象与所述候选对象的相似度设定;
所述方法还包括:
确定所述第一矩阵和所述第二矩阵的浮点类型;
将所述浮点类型进行转换;
根据转换后的以浮点类型对所述第一矩阵和所述第二矩阵进行更新,以降低所述第一矩阵和所述第二矩阵的数据大小;
确定所述浮点类型对应的第一特征范围和目标定点类型的第二特征范围;
基于所述第一特征范围将所述第一矩阵和所述第二矩阵对应的特征映射到所述第二特征范围中,以对所述第一矩阵和所述第二矩阵进行更新。
2.根据权利要求1所述的方法,其特征在于,所述基于所述任务特征集合确定至少一个第一检索库,包括:
获取所述任务特征集合中指示的位置信息;
基于所述位置信息确定检索范围;
基于所述检索范围对所述第二检索库进行筛选,以确定至少一个所述第一检索库。
3.根据权利要求2所述的方法,其特征在于,所述基于所述位置信息确定检索范围,包括:
确定所述位置信息对应的关键位置,所述关键位置用于指示所述位置信息中的共有信息;
基于所述位置信息和所述共有信息确定所述检索范围。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述轨迹检索请求对应的请求类型;
基于所述请求类型对所述检索范围进行更新。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
分别获取所述第一矩阵和所述第二矩阵对应的协方差矩阵,所述协方差矩阵用于指示所述第一矩阵和所述第二矩阵中不同维度之间的关系;
获取所述协方差矩阵的特征值和特征向量;
基于所述特征值对所述特征向量进行排序,以得到降维矩阵;
基于所述降维矩阵进行投影操作,以对所述第一矩阵和所述第二矩阵进行更新。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
获取分块阈值,所述分块阈值基于中央处理器中高速缓存存储器的容量设定;
基于所述分块阈值对所述第一矩阵和所述第二矩阵进行处理,以得到目标子矩阵;
所述根据所述任务特征集合对应的第一矩阵和所述库特征集合对应的第二矩阵确定目标矩阵,包括:
根据所述目标子矩阵的乘积确定所述目标矩阵。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标子矩阵的乘积确定所述目标矩阵,包括:
按照预测次序处理所述目标子矩阵,以得到子矩阵数组;
基于所述矩阵数组确定所述目标矩阵。
8.根据权利要求7所述的方法,其特征在于,所述基于所述矩阵数组确定所述目标矩阵,包括:
确定目标向量指令集中指示的计算参数;
基于所述计算参数对所述矩阵数组进行处理,以得到所述目标矩阵。
9.根据权利要求6所述的方法,其特征在于,所述根据所述目标子矩阵的乘积确定所述目标矩阵,包括:
确定所述中央处理器的并行线程信息,所述并行线程信息与目标线程数相对应;
基于所述目标线程数并行的进行所述目标子矩阵的乘积,以确定所述目标矩阵。
10.根据权利要求1所述的方法,其特征在于,所述数据检索的方法应用于轨迹检索中,所述轨迹检索请求为人脸信息的请求,所述轨迹数据为轨迹信息,所述轨迹信息与所述人脸信息相对应,所述检索结果为目标人脸信息。
11.一种数据检索的装置,其特征在于,包括:
获取单元,用于获取轨迹检索请求,所述轨迹检索请求对应于轨迹数据,所述轨迹数据用于指示任务特征集合,所述轨迹检索请求为根据所述轨迹数据匹配对应的人脸信息的请求;
确定单元,用于基于所述任务特征集合按照时序确定至少一个第一检索库,以得到库特征集合,所述第一检索库由第二检索库筛选所得,所述第一检索库的数据量小于所述第二检索库的数据量,所述第一检索库为临时检索库,所述第二检索库为永久检索库;
计算单元,用于根据所述任务特征集合对应的第一矩阵和所述库特征集合对应的第二矩阵确定目标矩阵,所述目标矩阵用于指示所述任务特征集合中的对象与所述库特征集合中的对象的相似度;
检索单元,用于若所述目标矩阵中的候选对象满足预设条件,则确定所述候选对象的人脸信息为检索结果,所述预设条件基于所述任务特征集合中对应的对象与所述候选对象的相似度设定;
所述计算单元,还用于:
确定所述第一矩阵和所述第二矩阵的浮点类型;
将所述浮点类型进行转换;
根据转换后的以浮点类型对所述第一矩阵和所述第二矩阵进行更新,以降低所述第一矩阵和所述第二矩阵的数据大小;
确定所述浮点类型对应的第一特征范围和目标定点类型的第二特征范围;
基于所述第一特征范围将所述第一矩阵和所述第二矩阵对应的特征映射到所述第二特征范围中,以对所述第一矩阵和所述第二矩阵进行更新。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行权利要求1至10任一项所述的数据检索的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1至10任一项所述的数据检索的方法。
CN202010685541.8A 2020-07-16 2020-07-16 一种数据检索的方法以及相关装置 Active CN111737292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010685541.8A CN111737292B (zh) 2020-07-16 2020-07-16 一种数据检索的方法以及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010685541.8A CN111737292B (zh) 2020-07-16 2020-07-16 一种数据检索的方法以及相关装置

Publications (2)

Publication Number Publication Date
CN111737292A CN111737292A (zh) 2020-10-02
CN111737292B true CN111737292B (zh) 2021-01-05

Family

ID=72654801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010685541.8A Active CN111737292B (zh) 2020-07-16 2020-07-16 一种数据检索的方法以及相关装置

Country Status (1)

Country Link
CN (1) CN111737292B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113255828B (zh) * 2021-06-17 2021-10-15 长沙海信智能系统研究院有限公司 特征检索方法、装置、设备及计算机存储介质
CN117668003B (zh) * 2024-02-01 2024-05-03 福建省华大数码科技有限公司 实现数据库中集合数据类型的数据处理方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222373A (zh) * 2018-11-26 2020-06-02 深圳云天励飞技术有限公司 一种人员行为分析方法、装置和电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250928A (ja) * 1999-03-01 2000-09-14 Hitachi Denshi Ltd 監視記録装置における画像データ検索方法
CN102929887A (zh) * 2011-08-11 2013-02-13 天津市亚安科技股份有限公司 一种基于声音特征识别的快速录像检索方法及系统
CN103049459A (zh) * 2011-10-17 2013-04-17 天津市亚安科技股份有限公司 一种基于特征识别的快速录像检索方法
CN103294648B (zh) * 2013-05-08 2016-06-01 中国人民解放军国防科学技术大学 支持多mac运算部件向量处理器的分块矩阵乘法向量化方法
CN110166154B (zh) * 2019-06-13 2021-03-26 桂林电子科技大学 一种基于神经网络的软件无线电频谱监测识别的方法
CN111368020A (zh) * 2020-02-10 2020-07-03 浙江大华技术股份有限公司 一种特征向量的比对方法、装置及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222373A (zh) * 2018-11-26 2020-06-02 深圳云天励飞技术有限公司 一种人员行为分析方法、装置和电子设备

Also Published As

Publication number Publication date
CN111737292A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN107944555B (zh) 神经网络压缩和加速的方法、存储设备和终端
CN110069715B (zh) 一种信息推荐模型训练的方法、信息推荐的方法及装置
CN111813532B (zh) 一种基于多任务机器学习模型的图像管理方法及装置
CN111914113A (zh) 一种图像检索的方法以及相关装置
CN111737292B (zh) 一种数据检索的方法以及相关装置
CN111709398A (zh) 一种图像识别的方法、图像识别模型的训练方法及装置
CN114973351B (zh) 人脸识别方法、装置、设备及存储介质
CN114418069A (zh) 一种编码器的训练方法、装置及存储介质
CN114402336A (zh) 神经处理单元
JP2018519573A (ja) 人間の顔モデル行列の訓練方法および装置、ならびにストレージ媒体
CN113822427A (zh) 一种模型训练的方法、图像匹配的方法、装置及存储介质
CN111090877B (zh) 数据生成、获取方法及对应的装置、存储介质
CN115879508A (zh) 一种数据处理方法及相关装置
CN113505256B (zh) 特征提取网络训练方法、图像处理方法及装置
CN111738000B (zh) 一种短语推荐的方法以及相关装置
CN114298123A (zh) 聚类处理方法、装置、电子设备及可读存储介质
CN116935188A (zh) 模型训练方法、图像识别方法、装置、设备及介质
CN112748899A (zh) 一种数据处理方法和相关设备
CN116071614A (zh) 样本数据处理方法、相关设备及存储介质
CN114973352A (zh) 人脸识别方法、装置、设备及存储介质
CN111506730A (zh) 一种数据聚类方法和相关装置
CN114399058B (zh) 一种模型更新的方法、相关装置、设备以及存储介质
CN115565215B (zh) 一种人脸识别算法切换方法、装置及存储介质
CN115412726B (zh) 视频真伪检测方法、装置及存储介质
CN115050079B (zh) 人脸识别方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40031355

Country of ref document: HK