一种针对海量流式向量数据的动态聚档方法、系统及终端与流程

文档序号:31759422发布日期:2022-10-12 02:31阅读:31来源:国知局
一种针对海量流式向量数据的动态聚档方法、系统及终端与流程

1.本发明属于数据处理技术领域,尤其涉及一种针对海量流式向量数据的动态聚档方法、系统及终端。


背景技术:

2.海量数据进行聚类不仅需要很大的存储空间,而且分析、处理和检索操作都非常困难。如何实现海量数据的快速聚类成为当前聚类算法的研究重点。针对聚类的研究上当前主要聚焦于传统聚类算法的优化上,如he【3】等提出了一种基于spark的并行化移动对象聚集模式挖掘的rdd-dbscan+聚类算法,何倩【2】等基于网格的k-means快速聚类算法(spgk,sparkbasedparallelgridk-means),廖彬【1】等的通过主成分分析与成对约束结合的方法进行数据降维后进行的层次聚类等。
3.在针对视频领域的海量监控数据的聚档研究上,目前主要有专利一种基于动态算法的一人一档人脸聚类的方法及系统与流程0中提出依据人脸照片相互之间特征的比对聚类。
4.视频监控领域往往需要对海量高维度数据进行聚档,聚档过程中需要对每个对象(如人)进行归档,这就要求聚档过程中对象数(类别)是不断增长变化的。
5.【1】廖彬等.scea:一种适应高维海量数据的并行聚类集成算法[j].电子学报,2021年6月(第6期):1077-1087.
[0006]
【2】何倩等.一种海量数据快速聚类算法[j].北京邮电大学学报,2020年6月,第43卷(第3期):118-124.
[0007]
【3】heqian,chenyiting,dongqinghe,etal.aparallelclusteringandtestpartitioningtechniquesbasedminingtrajectoryalgorithmformovingobjects[c]∥201713thinternationalconferenceonnaturalcomputation,fuzzysystemsandknowledgediscovery(icnc-fskd).guilin:cuilinuniversityofelectronictechnology,2017:455-462.
[0008]
杭州商警云智能科技有限公司.一种基于动态算法的一人一档人脸聚类的方法及系统[p].
[0009]
现有技术存在的问题及缺陷为:
[0010]
现有聚类算法仍未跳出全量两两比较模式,该类算法由于比较计算次数过多导致性能低下无法实现实时聚类。
[0011]
当前视觉领域数据的特征提取主要基于深度学习模型生成,数据的特征维度大且稠密数据存储量、计算量巨大,传统的降维、网格化等操作来减小计算量已变得不可行。


技术实现要素:

[0012]
针对现有技术存在的问题,本发明提供了一种针对海量流式向量数据的动态聚档方法、系统及终端。
[0013]
本发明是这样实现的,一种针对海量流式向量数据的动态聚档方法包括:
[0014]
利用国内开源向量库vearch,在高维向量上可以通过引入相应gpu技术加速特征比对计算。
[0015]
引入构建对象的对比基础库方法,在图片流数据的处理过程中,与对象基础库的类特征进行向量相似度分析。如果在规定相似度阈值内没有在对象基础库中找到对象,则自行动态的增加新的监控视频对象id到对象基础库中并返回新的对象id;如果存在则直接返回距离最近的对象id。
[0016]
基于对象基础库完成对图片流数据的自动对象标识,把对象标识、图像标识写入elasticsearch搜索引擎,聚档时直接通过object_id对象标识字段上进行聚合查询即可得到结果。
[0017]
进一步,定义两个向量之间的距离为d,判定两个向量文档是相同文档的最小向量距离为min(d),图像的预测对象标识为object_id,图像的向量为veci,单条消息包含有图像标识、图像向量表示为<pidi,veci>。
[0018]
进一步,所述针对海量流式向量数据的动态聚档方法具体包括以下步骤:
[0019]
s1,拉取图片消息流,使用veci在vearch中进行搜索,在返回的结果中寻找{dm|d≤min(d)}的object_idn;
[0020]
s2,判断object_idn集合是否存在,从object_idn获取距离最小object_id;
[0021]
s3,将pidi、object_id写入到elasticsearch搜索引擎中;
[0022]
s4,流数据不断重复以上s1到s3步骤;
[0023]
s5,通过elasticsearch引擎在object_id对象标识字段上进行聚合查询即可得到结果。
[0024]
进一步,在步骤s2中,如果object_idn集合不存在,那么自动生成新的唯一的object_id,并将<object_id,veci>插入到vearch中,并将object_id返回作为预测结果;
[0025]
进一步,在步骤s2中,如果object_idn集合存在,从object_idn选择距离d
select
最小的object_id返回作为预测结果;
[0026]
本发明的另一目的在于提供一种针对海量流式向量数据的动态聚档系统包括:
[0027]
集合获取模块,用于拉取消息流,使用veci在vearch中进行搜索,在返回的结果中寻找{dm|d≤min(d)}的object_idn;
[0028]
预测结果判断模块,如果object_idn集合不存在,那么自动生成新的唯一的object_id,并将<object_id,veci>插入到vearch中,并将object_id返回作为预测结果;
[0029]
预测结果写入模块,将预测结果object_id预测对象标识与pidi图像标识写入到elasticsearch引擎中;以上流数据不断重复循环;
[0030]
结果获取模块,当用户需要使用系统进行归档查询时,直接通过elasticsearch引擎在object_id对象标识字段上进行聚合查询即可得到结果。
[0031]
所述预测结果判断模块还用于如果object_idn集合存在,从object_idn选择距离d
select
最小的object_id返回作为预测结果。
[0032]
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的针对海量流式向量数据的动态聚档方法。
[0033]
本发明的另一目的在于提供计算机可读存储介质,存储有计算机程序,所述计算
机程序被处理器执行时,使得所述处理器执行所述的针对海量流式向量数据的动态聚档方法。
[0034]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的针对海量流式向量数据的动态聚档方法。
[0035]
结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
[0036]
第一、海量数据进行聚档分析处理时,需要很大的存储空间和计算资源,而且分析、处理和检索操作都非常困难,如果需要实时处理现有的聚类算法更难以实现。本发明提出了一种更宽泛意义上的聚类算法来解决以上问题。
[0037]
海量特征数据存储上,本发明中图像的高维特征数据只用于在vearch寻找其匹配的对象id而不会存储下来,该方法可以减少70%的数据存储量。
[0038]
通过借助vearch可以在高维向量运算上使用gpu技术,快速完成数据的比较运算得到图像的对象id。
[0039]
由于引入了自动生成对象基础库的技术,在数据比较上可以减少70%计算量,极大降低了算力资源消耗;同时由于将对象id直接写入elasticsearch,在聚档时不再需要再次比较计算只需按对象id分组操作就可完成聚档,极大提高了实时聚档效率。
[0040]
第二,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
[0041]
本发明提出了一种海量高维向量数据聚档的处理方法,该方法不仅仅局限于上述的所描述的图像领域的解决,在其他只要是涉及海量高维向量数据的聚档任务上都是一种可行的解决方法。
[0042]
本发明中隐含了一种新的增量数据聚类方法,新数据通过与现有聚类点进行距离比较,如果超过阈值则新数据独立成为一种新聚类类别否则返回与其他聚类类点最近的点作为其聚类类别。
[0043]
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
[0044]
(1)本发明的技术方案转化后的预期收益和商业价值为:
[0045]
本发明的技术方案通过聚档过程自动构建对象基础库方式,使得实现该类需求所需的计算与存储资源减少了70%,降低了企业开销更具经济性。
[0046]
(2)本发明在聚类模型构建上,尝试在整体工程角度提出了一种泛聚类方案,而不是直接使用传统的聚类模型来解决聚档问题,使得海量高维数据的实时聚档变得更具可行性。
附图说明
[0047]
图1是本发明实施例提供的针对海量流式向量数据的动态聚档方法流程图;
[0048]
图2是本发明实施例提供的针对海量流式向量数据的动态聚档方法原理图;
[0049]
图3是本发明实施例提供的针对海量流式向量数据的动态聚档系统示意图;
[0050]
图4是本发明实施例提供的实时聚档查询结果图;
[0051]
图中:1、集合获取模块;2、预测结果判断模块;3、预测结果写入模块;4、结果获取模块。
具体实施方式
[0052]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0053]
一、解释说明实施例。为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
[0054]
实施例1
[0055]
如图1所示,本发明实施例提供的针对海量流式向量数据的动态聚档方法包括:假设向量之间的距离为d,判定两个向量文档是相同文档的最小向量距离为min(d),文档的预测对象标识为object_id,图像的向量为veci,单条消息包含有图像向量与图像标识表示为<pidi,veci>,那么动态聚档处理步骤如下:
[0056]
s101,拉取消息流,使用veci在vearch中进行搜索,在返回的结果中寻找{dm|d≤min(d)}的object_idn;
[0057]
s102,如果object_idn集合不存在,那么自动生成新的唯一的object_id,并将<object_id,veci>插入到vearch中,并将object_id返回作为预测结果;
[0058]
s103,如果object_idn集合存在,从object_idn选择距离d
select
最小的object_id返回作为预测结果;
[0059]
s104,将预测结果object_id预测对象标识与pidi图像向量写入到elasticsearch引擎中;
[0060]
s105,流数据不断重复以上s101到s104步骤;
[0061]
s106,当用户需要使用系统进行归档查询的时候,直接通过elasticsearch引擎在object_id对象标识字段上进行聚合查询即可得到结果。
[0062]
实施例2
[0063]
如2所示,本发明实施例提供的针对海量流式向量数据的动态聚档方法包括:首先从图片消息流中拉取图像消息,消息中含有图像向量信息、图像id信息。将消息中图像向量与vearch的对象基础库进行比较查询。如果对象基础库中存在距离小于d的对象集,则从对象集中选择距离最小的对象id返回;如果不存在,则生成一个新的对象id和图像向量信息一起插入对象基础库,并返回新对象id。最后将对象id和图像id信息插入elasticsearch搜索引擎。
[0064]
实施例3
[0065]
如图3所示,本发明实施例提供的针对海量流式向量数据的动态聚档系统,包括:
[0066]
集合获取模块1,用于拉取消息流,使用veci在vearch中进行搜索,在返回的结果中寻找{dm|d≤min(d)}的object_idn;
[0067]
预测结果判断模块2,如果object_idn集合不存在,那么自动生成新的唯一的object_id,并将<object_id,veci>插入到vearch中,并将object_id返回作为预测结果;
[0068]
如果object_idn集合存在,从object_idn选择距离d
select
最小的object_id返回作为预测结果;
[0069]
预测结果写入模块3,将预测结果object_id预测对象标识、cameraidi与pidi图像标识写入到elasticsearch引擎中;以上流数据不断重复循环;
[0070]
结果获取模块4,当用户需要使用系统进行归档查询的时候,直接通过elasticsearch引擎在object_id对象标识字段上进行聚合查询即可得到结果。
[0071]
二、应用实施例。为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
[0072]
公安业务中需要针对某个区域的视频图像数据进行人物聚档分析,以往的实现策略只能通过对所有的历史图像进行相似度比较,然后将相似度在一定范围内的归为一个对象。这种做法计算量大,需要使用离线任务跑个几天才能得到结果。通过本文所述的方法后,在实时图片流进入系统时直接得到对象id,然后写入elasticsearch搜索引擎中。当用户需要聚档的时候只需要对elasticsearch数据使用对象标识进行聚档查询,就可以实时得到用户所需要的聚档结果。
[0073]
三、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
[0074]
试验通过使用开源数据集dukemtmc中随机抽取4组人物对象,每组随机5张图,对每张图使用行人特征模型来得到图像特征,然后使用本发明所述的方法进行聚档可得到如4图实时聚档查询结果。
[0075]
如图4所示,聚档的结果整体上是正确的,基本上将同一个人物对象归为一类;同时也可看到部分本应属于同一个对象的图像数据被归为两类。而造成该结果的原因主要是行人特征模型在精度上还有所欠缺导致的,属于外部因素不是本发明的内容。
[0076]
以下是聚档时自动构建的对象特征库结果,如下表1所示:
[0077]
表1
[0078]
对象id图像特征向量f61bde74d6b《0001_c2_f0046182.jpg》f0fee07b5bfc《0016_c1_f0047908.jpg》7f5cbf6f026c《0016_c1_f0048028.jpg》0639b0b9818《0017_c1_f0049112.jpg》4a58285d649《0017_c1_f0049352.jpg》dc28b43a8ae《2529_c5_f0099765.jpg》
[0079]
上表中图像特征向量列是vearch存储数据示意,可以看出20张图片最后只需要在vearch中存储6个对象即可,数据存储量上只有原来的30%即可,同时也表明数据比对时也只需原来30%的计算量即可,极大的减少了系统的数据存储量和计算量。
[0080]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软
件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0081]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1