一种基于聚类过滤的特征检索系统及其应用方法与流程

专利2022-06-29  82


本发明属于视频侦查技术领域,具体涉及一种基于聚类过滤的特征检索系统及其应用方法。



背景技术:

目前,随着深度学习在视频识别领域的广泛应用,视频识别技术取得了很大的进步,比如人脸识别、车牌识别的准确率都高达99%以上,因此政府、公安、金融等行业越来越多地应用人脸识别、行人再识别以及车牌识别等技术,视频识别领域的人工智能市场也越来越活跃。特别地,随着近年来大量平安城市、智慧城市项目的相继落地,也产生了海量的视频结构化特征数据,为后续的特征检索提供了数据基础。其中如何快速地在海量的视频结构化数据中找到视频中出现的相关目标已经成为安防领域急需解决的问题。

现有技术方案1:采用开源的elasticsearch搜索引擎,考虑使用检索条件过滤特征数据后形成目标特征库,再用待搜索的特征跟特征库做1:n检索。主要流程如下:把经过预处理的结构化特征数据存储在elasticsearchnode,存储信息包括时间戳、摄像机通道,其中elasticsearchcluster保证node节点的特征数据均衡;设有elasticsearch查询节点,负责接收客户端的特征检索请求,并检索请求分发elasticsearchnode;elasticsearchnode接收到检索请求后,按照检索条件从服务器磁盘读取特征数据,形成目标特征库。然后使用特征比对算法计算待检索特征与所有目标特征库特征的相似度,并返回topn给elasticsearch的查询节点;elasticsearch查询节点汇总所有node的topn结果,并完成相似度的排序和取topn操作,最后把最终返回给客户端。

现有技术方案2:基于内存技术的分布式检索方案,把热点特征数据全部储存在服务器内存中,直接把待搜索的特征跟内存中所有目标特征库进行1:n检索,主要流程如下:设有node节点,负责启动时从数据库拉取属于本节点的目标特征数据并存储在服务器内存中,形成本节点的目标特征库;node在运行过程中定时从数据库增量查询新增的目标特征,保存服务器内存中,也定时从内存特征库上删除过期的特征数据;设有cluster,负责分发检索请求与汇总node节点的topn结果;cluster接收到特征检索请求,把请求分发给所有node节点。node节点按照检索条件遍历目标特征库,并输出topn结果;cluster节点合并所有node的topn结果并完成相似度排序,最终输出topn给客户端。

现有技术方案3:采用gpu技术的检索方案,主要的业务流程和基于内存技术的分布式检索方案一致,不同点是目标特征数据是存储在gpu的显存中,而不是服务器的内存。该方案是利用gpu的强大浮点运行能力和高并发计算能力,能大大提高特征比对的速度,从而提高海量特征数据的检索效率。

现有技术方案1的缺点:该方案采用了开源的es(elasticsearch)搜索引擎,首先es没有提供检索后再服务端对topn结果进行二次处理的接口,需要修改源码。其次,特征检索的目标特征库往往是百万级别以上,若这些特征数据不在系统缓存中,就需要到磁盘读取数据,io消耗严重,影响特征检索的效率。最后,es运维比较麻烦,内存es集群异常恢复需要读取大量特征数据,严重拖慢es性能。

现有技术方案2的缺点:该方案采用了基于内存技术的分布式检索,首先该方案受限制于服务器总线带宽与内存带宽的访问速度。因为该技术方案需要遍历内存中的全部目标特征数据,再根据过滤条件选择目标特征进行特征比对。其次,方案分布式框架较为简单,没有很多好解决特征数据同步、一致性等问题。

现有技术方案3的缺点:该方案采用了基于gpu硬件的分布式检索,大大提高了特征检索的速度,但是也增加了硬件成本。一块显存为8g的gpu价格远高于普通服务器内存的价格,并且储存的特征数据有限。例如:当目标特征数据约为700字节时,一块显存为8g的显卡可储存约1000万个特征,按照一天1500万特征数据计算,8g显存的gpu卡可存储0.67天的特征数据,存储1个月的特征数据则需要45张gpu卡。而使用cpu方案时,256g的内存可储存约4g左右的特征数据,储存1个月的特征数据只需要2块256g的内存条即可,硬件成本远低于gpu技术方案。



技术实现要素:

针对现有技术中存在的问题,本发明设计了一种基于聚类过滤的特征检索系统及其应用方法。可快速识别目标身份,提高工作效率。

本发明通过以下技术方案实现:

一种基于聚类过滤的特征检索系统,其特征在于,包括检索集群,检索集群中设有master和若干slave节点,所述master用于提供特征检索请求的分发与汇总slave节点返回的topn结果;所述slave节点用于提供特征检索服务;所述slave节点还设有内存数据库,所述内存数据库用于对目标特征数据以聚类id(clusterid)进行分组存储;所述目标特征数据包括从备份文件中加载的历史特征数据和从分布式数据库中加载的新增实时特征数据;

所述特征检索系统还包括备份服务,用于对分布式数据库的抓拍特征数据进行备份,备份文件存储在网络共享磁盘中,且以天为单位进行抓拍特征数据备份;

所述特征检索系统还包括与分布式数据库连接的聚类服务,用于对目标特征数据进行分组,当分布式数据库的抓拍特征数据数量超过阈值,启动重新聚类功能,重新计算目标特征数据的聚类id。

进一步地,所述的特征检索系统至少包括对人脸特征、车辆特征与行人特征的检索。

进一步地,所述的master还用于动态增加或删除slave节点。

进一步地,当新增slave节点时,所述的master将其他slave节点的部分目标特征数据分配给新增的slave节点。

进一步地,当删除slave节点时,所述的master将下线的slave节点的目标特征数据分配其他slave节点,保证内存数据库中的目标特征数据的完整性。

进一步地,所述备份服务完成历史特征数据的重新备份后,通知全部的slave节点重新加载目标特征数据。

一种基于特征检索系统的应用方法,所述应用方法包括内存特征管理方法和目标特征检索方法;其中,所述的内存特征管理方法包括如下步骤:

s101:master根据slave节点的数量,动态分配slave需要加载的特征范围;

s102:slave节点从备份文件中加载历史特征数据库,并根据本节点所属范围进行特征过滤,再从分布式数据库中定时增量查询新增的实时特征数据;

s103:当有新增slave节点时,master根据负载均衡的调度算法,把其他slave节点的部分目标特征数据分配给新增的slave节点,全部slave节点的目标特征数据保持相对均衡;

s104:当有slave节点下线时,master将该下线的slave节点的全部目标特征数据分配给其他在线的slave节点,保持内存数据库中的目标特征数据完整与均衡;

s105:备份服务定时在晚上零时对当天的历史特征数据进行备份;

s106:聚类服务则根据预定的重新聚类策略,根据抓拍目标特征的数据量决定是否需要对全部的目标特征数据进行重新聚类;

s107:聚类服务完成重新聚类之后,发送请求给备份服务,重新对历史特征数据进行备份;

s108:备份服务完成历史特征数据的重新备份之后,发送重新加载目标特征数据的请求给master;

s109:master将接收到的所述重新加载目标特征数据的请求广播给所有的slave节点;

s110:slave节点清空内存数据库中的全部特征数据,从备份文件中重新加载历史特征数据。

进一步地,所述的目标特征检索方法包括如下步骤:

s201:slave节点根据hashvalue范围从备份文件加载特征数据;

s202:slave节点根据hashvalue范围从分布式数据库增量加载实时特征数据;

s203:slave节点按照聚类id对全部特征数据进行分组存储,形成本slave节点的内存数据库;

s204:slave节点接收到特征检索请求后,计算待检索的特征数据的聚类id;

s205:slave节点选择与待检索的特征数据的聚类id相匹配的目标特征数据进行特征比对,计算出相似度并返回topn结果给master;

s206:master汇总全部slave节点的topn,并完成相似度排序后输出最终的topn给客户端。

进一步地,在步骤s106中,当需要对目标特征数据进行重新聚类操作时,聚类服务从分布式数据库中提取实时特征数据重新计算目标特征数据的聚类id,并更新内存数据库的聚类id字段与聚类算法版本号。

进一步地,在步骤s110中,当天的特征数据从分布式数据库进行增量查询,并比较聚类算法版本号是否一致,如不一致则表明该条记录还没进行聚类计算,不加载到内存数据库中。

与现有技术相比,本发明至少具有下述的有益效果或优点:本发明从备份文件中加载历史特征数据,减少了对分布式数据库访问量,也加快了目标特征加载的速度。其次使用集群的方式分散存储特征数据,再根据聚类进行目标特征数据的过滤,缩小目标特征数据检索范围,也减少对内存特征的访问从而提升整体特征检索速度。

1、与技术方案1相比,本发明采用基于内存技术的分布式方案,可直接在内存中直接进行特征数据的比对,不需要从磁盘读取特征数据。显然,本方案特征比对速度要高于技术方案1。

2、与技术方案2相比,通过采用成熟的聚类算法对全部的目标特征进行分组,在检索时只需要对同组的目标特征进行特征比对,减少了特征目标库的数量,也减少了对内存数据的访问量,从而提升整体的特征比对速度。显然,本方案特征比对速度也要高于技术方案2。

3、与技术方案3相比,在相等数量的目标特征库的条件下本方案特征比对速度是低于技术方案3。但是本发明的硬件成本是远低于技术方案3,可以通过堆叠服务器的方式增加slave节点来提升整体的特征检索效率,并且本发明可储存的特征数量也远超过技术方案3。因此从硬件成本来考虑,本发明也是优于技术方案3。

附图说明

以下将结合附图对本发明做进一步详细说明;

图1为基于聚类过滤的特征检索系统及其应用方法的具体实施例的结构示意图;

图2为目标特征检索流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明通过应用成熟的目标聚类算法(人员聚类、车辆聚类等),把海量的目标特征库进行特征分组。在进行特征检索时按照聚类的类别进行目标特征过滤,减少不必要的特征内存访问,提高特征检索效率。其次通过自研特征检索的分布式系统,解决海量特征数据加载慢、特征数据不一致以及目标特征重新聚类等一系列问题。

参见图1,本具体实施例基于聚类过滤的特征检索系统及其应用方法具体包括检索集群110,检索集群110中设master111,用于提供特征检索请求的分发与汇总slave返回的topn结果。检索集群110中设有若干slave节点112,节点112提供特征检索服务,还设有内存数据库,内存数据库存储着目标特征数据。slave节点112可以有1个或者多个,也可以动态增加或者删除slave节点。

本具体实施例设有备份服务113,用于对分布式数据库的抓拍特征信息进行备份,特征备份文件存储在网络共享磁盘中,以天为单位进行特征数据备份。

本具体实施例设有聚类服务114,用于当分布式数据库的抓拍特征数据库越来越多,特征聚类算法的中心点发现改变之后,需要对已有的目标特征数据进行重新聚类。

本发明的业务流程包括内存特征管理与特征检索两部分。内存的特征管理流程具体包括如下步骤:

s101:master111根据slave节点的数量,动态分配slave需要加载特征范围;

s102:slave从网络备份的特征文件数据中加载历史特征数据库,并根据本节点所属范围进行特征过滤,之后再从分布式数据库中定时增量查询新增的目标特征。所有目标特征以聚类id(clusterid)进行分组,每个slave节点拥护全部的clusterid分组;

s103:当有新增slave节点时,master根据负载均衡的调度算法,把其他slave的部分目标特征分配给新增的slave节点,全部slave节点的目标特征保持相对均衡;

s104:当有slave节点下线时,master会把该下线节点的全部特征数据分配给其他在线的slave节点,保持内存中的目标特征数据完整与均衡;

s105:特征备份服务113定时在晚上零时对当天的特征数据进行备份;

s106:聚类服务114则根据预定的重新聚类策略,根据抓拍目标特征的数据量决定是否需要对全部的特征数据进行重新聚类。当需要对特征进行重新聚类操作时,聚类服务从分布式数据库中拉取目标特征数据重新计算目标特征的clusterid,并更新数据库的clusterid字段与聚类算法版本号。

s107:聚类服务114完成重新聚类之后,发送请求给备份服务113,重新对历史特征数据进行备份;

s108:备份服务114完成历史特征数据备份之后,发送重新加载目标特征数据的请求给master;

s109:master111再把重新加载目标特征数据的请求广播给所有的slave节点;

s110:slave节点清空内存特征数据,从备份文件中重新加载历史特征数据。当天的特征数据则从分布式数据库进行增量查询,并比较聚类算法版本号是否一致,如不一致则表明该条记录还没进行聚类计算,不加载到特征内存中。

目标特征检索流程(如图2),具体包括如下步骤:

s201:slave节点根据hashvalue范围从备份文件加载特征数据;

s202:slave节点根据hashvalue范围从分布式数据库增量加载特征数据;

s203:slave节点按照clusterid对全部目标特征进行分组存储,形成本slave节点的特征内存数据库;

s204:slave接收到特征检索请求后,对待检索的特征进行计算clusterid;

s205:slave选择与待检索特征的clusterid相匹配的目标特征库进行特征比对,计算出相似度并返回topn结果给master;

s206:master111汇总全部slave节点的topn,并完成相似度排序后输出最终的topn给客户端。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现基于聚类过滤的特征检索系统的应用方法的步骤。

本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中所述处理器执行所述程序时实现基于聚类过滤的特征检索系统的应用方法的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。在不脱离本发明之精神和范围内,所做的任何修改、等同替换、改进等,同样属于本发明的保护范围之内。


技术特征:

1.一种基于聚类过滤的特征检索系统,其特征在于,包括检索集群,检索集群中设有master和若干slave节点,所述master用于提供特征检索请求的分发与汇总slave节点返回的topn结果;所述slave节点用于提供特征检索服务;所述slave节点还设有内存数据库,所述内存数据库用于对目标特征数据以聚类id(clusterid)进行分组存储;所述目标特征数据包括从备份文件中加载的历史特征数据和从分布式数据库中加载的新增实时特征数据;

所述特征检索系统还包括备份服务,用于对分布式数据库的抓拍特征数据进行备份,备份文件存储在网络共享磁盘中,且以天为单位进行抓拍特征数据备份;

所述特征检索系统还包括与分布式数据库连接的聚类服务,用于对目标特征数据进行分组,当分布式数据库的抓拍特征数据数量超过阈值,启动重新聚类功能,重新计算目标特征数据的聚类id。

2.根据权利要求1所述的一种基于聚类过滤的特征检索系统,其特征在于,所述的特征检索系统至少包括对人脸特征、车辆特征与行人特征的检索。

3.根据权利要求1所述的一种基于聚类过滤的特征检索系统,其特征在于,所述的master还用于动态增加或删除slave节点。

4.根据权利要求3所述的一种基于聚类过滤的特征检索系统,其特征在于,当新增slave节点时,所述的master将其他slave节点的部分目标特征数据分配给新增的slave节点。

5.根据权利要求4所述的一种基于聚类过滤的特征检索系统,其特征在于,当删除slave节点时,所述的master将下线的slave节点的目标特征数据分配其他slave节点,保证内存数据库中的目标特征数据的完整性。

6.根据权利要求5所述的一种基于聚类过滤的特征检索系统,其特征在于,所述备份服务完成历史特征数据的重新备份后,通知全部的slave节点重新加载目标特征数据。

7.一种基于权利要求1所述的特征检索系统的应用方法,其特征在于,所述应用方法包括内存特征管理方法和目标特征检索方法;其中,所述的内存特征管理方法包括如下步骤:

s101:master根据slave节点的数量,动态分配slave需要加载的特征范围;

s102:slave节点从备份文件中加载历史特征数据库,并根据本节点所属范围进行特征过滤,再从分布式数据库中定时增量查询新增的实时特征数据;

s103:当有新增slave节点时,master根据负载均衡的调度算法,把其他slave节点的部分目标特征数据分配给新增的slave节点,全部slave节点的目标特征数据保持相对均衡;

s104:当有slave节点下线时,master将该下线的slave节点的全部目标特征数据分配给其他在线的slave节点,保持内存数据库中的目标特征数据完整与均衡;

s105:备份服务定时在晚上零时对当天的历史特征数据进行备份;

s106:聚类服务则根据预定的重新聚类策略,根据抓拍目标特征的数据量决定是否需要对全部的目标特征数据进行重新聚类;

s107:聚类服务完成重新聚类之后,发送请求给备份服务,重新对历史特征数据进行备份;

s108:备份服务完成历史特征数据的重新备份之后,发送重新加载目标特征数据的请求给master;

s109:master将接收到的所述重新加载目标特征数据的请求广播给所有的slave节点;

s110:slave节点清空内存数据库中的全部特征数据,从备份文件中重新加载历史特征数据。

8.根据权利要求7所述的应用方法,其特征在于,所述的目标特征检索方法包括如下步骤:

s201:slave节点根据hashvalue范围从备份文件加载特征数据;

s202:slave节点根据hashvalue范围从分布式数据库增量加载实时特征数据;

s203:slave节点按照聚类id对全部特征数据进行分组存储,形成本slave节点的内存数据库;

s204:slave节点接收到特征检索请求后,计算待检索的特征数据的聚类id;

s205:slave节点选择与待检索的特征数据的聚类id相匹配的目标特征数据进行特征比对,计算出相似度并返回topn结果给master;

s206:master汇总全部slave节点的topn,并完成相似度排序后输出最终的topn给客户端。

9.根据权利要求7所述的应用方法,其特征在于,在步骤s106中,当需要对目标特征数据进行重新聚类操作时,聚类服务从分布式数据库中提取实时特征数据重新计算目标特征数据的聚类id,并更新内存数据库的聚类id字段与聚类算法版本号。

10.根据权利要求9所述的应用方法,其特征在于,在步骤s110中,当天的特征数据从分布式数据库进行增量查询,并比较聚类算法版本号是否一致,如不一致则表明该条记录还没进行聚类计算,不加载到内存数据库中。

技术总结
本发明属于视频侦查技术领域,具体涉及一种基于聚类过滤的特征检索系统及其应用方法,本发明通过应用成熟的目标聚类算法,如人员聚类、车辆聚类等,把海量的目标特征库进行特征分组。在进行特征检索时按照聚类的类别进行目标特征过滤,减少不必要的特征内存访问,提高特征检索效率。其次通过目标特征检索的分布式系统,解决海量特征数据加载慢、特征数据不一致以及目标特征重新聚类等一系列问题。

技术研发人员:关喜记;黄松钦;董振江;江盛欣;劳定雄;汪刚;刘双广
受保护的技术使用者:高新兴科技集团股份有限公司
技术研发日:2020.01.16
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-24054.html

最新回复(0)