CN112307247A - 一种分布式人脸检索***及方法 - Google Patents
一种分布式人脸检索***及方法 Download PDFInfo
- Publication number
- CN112307247A CN112307247A CN202011094648.1A CN202011094648A CN112307247A CN 112307247 A CN112307247 A CN 112307247A CN 202011094648 A CN202011094648 A CN 202011094648A CN 112307247 A CN112307247 A CN 112307247A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- face
- service module
- feature
- information
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式人脸检索***,涉及人脸数据的快速识别技术领域,包括数据库、消息队列、分布式文件***、冷启动服务模块、特征提取服务模块、特征切片服务模块、检索服务模块、热更新服务模块、备份与恢复服务模块、日志服务模块。另外还公开了一种分布式人脸检索方法,包括以下步骤:步骤S100,训练模型;步骤S200,建立人脸特征库;步骤S300,写入分布式文件***;步骤S400,处理图像信息和检索请求;步骤S500,实时更新检索服务模块信息;步骤S600,定时备份或恢复。本发明解决了高并发问题,提高了检索速度,降低了人脸检索***的复杂度,提升了人脸检索***的高扩展性。
Description
技术领域
本发明涉及人脸数据的快速识别技术领域,尤其涉及一种分布式人脸 检索***及方法。
背景技术
基于大规模人脸数据的快速检索服务正在许多应用场景中展现了其 重要价值。如在身份验证方面,利用人脸快速检索服务可以有效缓解因身 份证读取终端设备购置、维护等成本费用,同时也减少了被验证人负担, 使其无需额外操作即可实现验证。再如人员轨迹追踪的应用中,通过对各 个监控摄像头中的视频进行人脸识别和检索可以极大程度的提升人员定 位效率。但是与之相伴的庞大的人脸数据,已成为了制约检索服务在海量人脸数据库中以接近实时时间损耗,精准查询与之最为相似的若干张人脸 信息的主要瓶颈之一。
对于人脸检索***而言,可以简单划分为人脸识别和特征提取、特征 检索两阶段。对于第一阶段而言,随着近些年基于深度学习的人脸识别技 术不断发展和进步,目前已经可以实现实时对人脸目标的识别和特征提取。 然而,用于深度学习网络模型训练的数据集中人种、年龄、性别等分布和 实际应用场景中存在较大差异,这将会导致识别和特征提取模型并不能有 效对人脸进行识别和生成具有区分度的特征信息,继而间接引入了检索噪 声。如何将深度学习模型变得更加适用于应用场景也是一个目前亟需解决 的问题。
除此之外,庞大的人脸数据库也导致了被检索特征目标在检索查询过 程中,需要进行大量特征比对计算。在实际应用过程中,将被检索特征目 标与人脸数据库中的每个人脸特征相互比对是不现实的。为了提升人脸检 索速度,大规模的人脸数据库一般通过建立层次索引,依照一定规则如人 脸特征与中心点距离等切片规则将所有人脸特征进行划分为子库便于检 索时减少计算量,即切片处理,使得在检索过程中,通过比对切片规则即 可快速定位到需要查询的一个或者多个特征切片,有效减少了在匹配过程 中的计算量。因此如何建立有效切片索引规则将直接影响该服务的准确性 以及实时性。目前利用聚类建立特征索引是比较常见的方式,具体可以理 解为通过某些聚类算法,对人脸特征库进行聚类操作,最终得到若干个聚 类簇,将各个簇的中心向量视为特征比对标准。当被检索特征输入时,与 每个聚类簇的中心向量比对得到潜在的候选簇,并不断重复上述操作直至 最小簇粒度,最后对所有候选簇成员逐一比较得到最终匹配结果,从而实 现加速目的。
该类方法虽然有效降低了检索时的时间消耗,但是由于人脸库中存储 的人脸信息总是处于动态更新的状态,随着对人脸特征库进行增加、删除、 更改操作的不断执行,这将导致索引中心簇向量与真实的中心簇向量出现 偏离,从而使得检索误差逐渐增大,降低了服务的可靠性。为了能够有效 缓解该现象,则需要在人脸特征增加、删除、更改操作完成后,重新执行 分层索引生成操作,对原始簇成员进行重新分组,这将直接造成检索服务 的复杂度提升、可扩展性大打折扣。
目前市面上常见的人脸检索平台目前存在的问题有:第一,百万级、 千万级的海量人脸数据的检索匹配速度慢以及准确率不佳:随着智慧建设 的持续推进,如学校、园区等在各个应用场景都可以发现人脸检索匹配服 务的身影。但是通过比较可以发现该类场景中所涉及的被检索人脸数据都 相对较为封闭以及人脸数量相对较少,因此对于检索服务的性能要求并不 是非常高。而若应用于政务环境中,与之相匹配的人脸数据集将达到百万 乃至千万数量级,且多网点对检索服务同时请求,也将造成高度并发现象。 因此如何设计一个有效的服务架构以及准确快速的检索匹配算法将成为 其中至关重要的因素。为了解决上述问题,目前主流的检索匹配平台多以 切片结构进行路由组合对特征进行划分,从而实现多特征子图节点(节点 即某一人脸数据的特征信息,该信息用于特征比较,确定相似人脸数据。) 服务请求,而不是直接处理拥有千万节点检索图。这在特征维度较高的情况下,由于距离计算方法在切片检索中的天然缺陷,切片结构必然无法保 证该模型结构能够准确找到匹配目标。
第二,人脸检索平台更新节点复杂性较高以及可扩展性不足,随着人 脸数据数量不断增加,对平台的扩展性和稳定性也提出了越来越高的要求。 但是就一般人脸检索平台而言,由于传统基于分层检索算法的限制,使得 增、改节点对于输入特征要求较高,需要能够有效判断输入特征的新节点 所在分区。随着节点增删改操作不断增加,最终将导致切片基准偏移,使 得检索结果不准确,因此需要定期对切片机制进行更新,增加了平台复杂度,且不容易扩展。
因此,本领域的技术人员致力于开发一种分布式人脸检索***及方法。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是海量人脸 数据的检索匹配速度慢以及准确率不佳,和针对人脸检索平台更新节点复 杂性较高以及可扩展性不足的问题。
发明人为了使得人脸检索时可以直接对百万、千万数量节点的人脸库 进行检索,避免因分层路由所带来的检索不准确问题,利用最近邻网络结 构对人脸输入特征建立检索图。最近邻网络结构可以轻松应对百万级、千 万级数量节点,无需额外划分层次,降低了模型的复杂度,同时该结构对 检索服务模块能够做到轻松横向扩展。
本发明的一个实施例中,提供了一种分布式人脸检索***,包括数据 库、消息队列、分布式文件***、冷启动服务模块、特征提取服务模块、 特征切片服务模块、检索服务模块、热更新服务模块、备份与恢复服务模 块、日志服务模块;
数据库包括人脸图像库、人脸特征库和日志库,人脸图像库保存人脸 图像信息,人脸特征库保存人脸特征信息,日志库保存日志;
消息队列是在消息的传输过程中保存消息的容器,消息即两台计算机 之间需要传输的信息,消息被发送到消息队列中,消息队列在将消息从它 的源中继到它的目标时充当中间人角色;所述消息队列包括图像消息队列、 特征消息队列、切片消息队列和检索消息队列,图像消息队列是用于被特 征提取的人脸图像信息的容器,特征消息队列是用于人脸特征提取后的特 征信息的容器,切片消息队列是当特征提取结束时,用于特征切片信息的 容器,检索消息队列是检索请求信息的容器;
分布式文件***采用分布式的方式部署存储资源,以解决存储容量持 续扩增以及节点迁移的需求;
冷启动服务模块对***中的其他模块发送启动信标;
特征提取服务模块使用预先训练好的特征提取模型提取人脸图像的 特征,在完成后发送特征提取完成信标以及切片规则给特征切片服务模块;
响应于切片规则,特征切片服务模块把提取后的特征进行分组切片, 写入分布式文件***,完成后发送切片完成信标给检索服务模块;
响应于切片完成信标,检索服务模块建立检索图准备接受检索请求, 并通知热更新服务模块启动;
日志服务模块对人脸图像的特征提取过程以及检索图的恢复与备份 进行监听;
响应于更新请求,热更新服务模块调度特征提取服务模块、检索服务 模块对检索图进行更新;
响应于恢复与备份服务模块定时发送的持久化请求,检索服务模块将 检索图写入分布式文件***。
可选地,在上述实施例中的分布式人脸检索***中,上述特征提取服 务模块为多个,用于提高并发性能。
可选地,在上述实施例中的分布式人脸检索***中,上述分布式文件 ***使用文件***管理的物理存储资源,通过计算机网络与节点相连。
可选地,在上述实施例中的分布式人脸检索***中,上述分布式文件 ***使用逻辑存储资源,若干不同的逻辑磁盘分区或卷标组合在一起,形 成的完整的有层次的***。
可选地,在上述任一实施例中的分布式人脸检索***中,上述检索图 为利用KNN算法生成的特征检索图,用于目标快速检索。
可选地,在上述任一实施例中的分布式人脸检索***中,上述检索服 务模块为多个,用于提高并发性能。
可选地,在上述任一实施例中的分布式人脸检索***中,上述切片规 则为单个文件最多100条记录。
基于上述任一实施例,本发明的另一个实施例中,提供了一种分布式 人脸检索方法,包括如下步骤:
步骤S100,训练模型,训练人脸目标识别模型和人脸特征提取模型;
步骤S200,建立人脸特征库,对于所述人脸图像库中的人脸图像利用 深度学习神经网络模型,提取对应的人脸特征写入所述人脸特征库;
步骤S300,写入分布式文件***,把所述人脸特征库中的人脸特征写 入文件,确保人脸特征能够被快速读取;
步骤S400,处理图像信息和检索请求,响应于图像信息,所述检索服 务模块建立检索图,响应于检索请求,所述检索服务模块进行检索;
步骤S500,实时更新检索服务模块信息,所述热更新服务模块调度所 述检索服务模块实时更新检索图;
步骤S600,定时备份或恢复,响应于所述备份与恢复服务模块定时分 发的备份或恢复请求,所述检索服务模块执行备份或者恢复操作。
可选地,在上述实施例中的分布式人脸检索方法中,步骤S100具体 包括:
S110,开源数据集读取,读取开源数据集中的人脸图像信息;
S120,人脸目标识别模型训练,采用人脸目标框和目标分类损失函数 作为目标,直到其精度不再显著提升时,结束整个深度学习框架的训练, 保存对应的神经网络参数;
S130,人脸识别结果预处理,对输入的人脸识别结果,即人脸图像大 小进行预处理,将所有人脸图像都调整为相同宽高,以便于生成相同维度 的人脸特征;
S140,人脸特征提取模型训练,采用人脸分类损失函数作为目标,直 到其精度不再显著提升时,结束整个深度学习框架的训练,保存对应的神 经网络参数;
S150,实现推理提速,也叫做模型转换,训练完成后,将人脸目标识 别模型和人脸特征提取模型转换为可被TensorRT架构读取的onnx或trt文 件结构,提升模型的推理速度。
可选地,在上述任一实施例中的分布式人脸检索方法中,步骤S200具 体包括:
S210,启动***,所述冷启动服务模块读取所述人脸图像库中的人脸 图像信息,对所述分布式人脸检索***中的各个模块发送启动信标。
S220,推送人脸图像信息,将所述人脸图形库中的人脸图像信息逐条 推送到所述图像消息队列;
S230,特征提取,所述特征提取服务模块通过订阅来获取所述人脸图 像信息并进行特征提取,得到对应的人脸特征信息,把特征提取的结果记 录到日志;所述特征提取服务模块在资源允许的条件下可以被持续横向扩 增;
S240,推送人脸特征信息,所述特征提取服务模块将所述人脸特征信 息推送到所述特征消息队列;
S250,获取人脸特征信息,所述冷启动服务通模块过订阅获取所述人 脸特征信息;
S260,建立人脸特征库,所述冷启动服务模块将所述人脸特征信息存 储到所述人脸特征库。
可选地,在上述任一实施例中的分布式人脸检索方法中,步骤S300具 体包括:
S310,监督和检测图像特征提取,所述日志服务模块实时监督和检测 图像特征提取,当确认所有人脸特征信息提取已完成后,把所述人脸特征 信息推送给所述特征切片服务模块;
S320,批量查询人脸特征数据,所述特征切片服务模块从所述人脸特 征库中按照切片规则批量查询人脸特征数据;
S330,存储人脸特征到所述分布式文件***,所述特征切片服务模块 将批量读取的人脸特征数据按照切片规则将特征文件存储到所述分布式 文件***中;
S340,推送文件存储路径及切片信息,所述特征切片服务模块将文件 存储路径以及切片信息推送到所述切片消息队列;
S350,生成检索图,所述检索服务模块根据获取的人脸特征进行检索 并返回检索结果,根据订阅获取切片信息和特征文件地址,通过所述地址 获取特征文件,生成最近邻检索图。
进一步地,在上述任一实施例中的分布式人脸检索方法中,步骤S400 中所述检索服务模块和用户进行交互,用户通过网页发送增加、删除、修 改、查看请求。
可选地,在上述任一实施例中的分布式人脸检索方法中,步骤S400具 体包括:
S410,接收图像信息和检索请求,所述检索服务模块接收图像信息和 检索请求,并将操作日志存入所述日志库;
S420,推送查询请求,所述检索服务模块推送查询请求,推送时根据 切片推送到不同的订阅话题;所述订阅话题是指消息队列之间互相通信的 一种方式,通过订阅相同话题,实现一对多内容广播
S430,进行特征提取,所述特征提取服务模块根据订阅获取待处理的 人脸图像信息并进行特征提取;
S440,将人脸特征信息推送到特征消息队列,所述特征提取服务模块 将人脸特征信息推送到所述特征消息队列;
S450,将人脸特征检索信息推送到检索消息队列,所述检索服务模块 将人脸特征检索信息推送到所述检索消息队列,发起检索请求;
S460,根据订阅获取检索请求,所述检索服务模块根据订阅获取检索 请求;
S470,返回检索结果,所述检索服务模块返回检索结果;
S480,获取每个切片的检索结果,所述检索服务模块获取每个切片的 检索结果;
S490,返回检索结果,所述检索服务模块返回检索结果。
可选地,在上述任一实施例中的分布式人脸检索方法中,步骤S500具 体包括:
S510,所述热更新服务模块收到需要增加、删除、修改请求;
S520,将待更新的操作请求存入日志库;
S530,响应于删除请求,执行S540,否则,所述热更新服务模块将订 阅获取图像信息并特征提取,将人脸特征推送至所述特征消息队列;
S540,所述热更新服务模块通过订阅获取特征信息并确定所需更新的 子图;
S550,所述热更新服务模块将所述需更新的子图进行广播;
S560,所述检索服务模块接收广播进行更新;
S570,所述检索服务模块推送更新结果;
S580,如果全部检索模块更新完成,则标识更新完成,否则返回步骤 S570。
可选地,在上述任一实施例中的分布式人脸检索方法中,步骤S600具 体包括:
S610,根据切片规则,所述备份与恢复服务模块对所述检索服务模块 定时分发备份或恢复请求;
S620,如果是备份请求,所述检索服务模块向分布式文件***中写入 对应的特征切片和子图信息;否则为恢复请求,所述检索服务模块则向文 件***拉取最新特征切片和子图信息,并校验数据是否最新,如果不是, 执行更新操作进行更新;如果是最新,则不采取任何操作。
本发明通过构建最近邻检索网络图,解决了海量人脸数据的检索匹配 速度慢以及准确率不佳问题,并在资源允许的条件下对检索模块可以持续 扩展,有效解决了高并发问题,提高了整个检索服务的响应速度,提升了 ***资源的利用率,实现了最快速度的高精准度检索,并降低了人脸检索 ***的复杂度,提升了人脸检索***的高扩展性。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一 步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是图示根据示例性实施例的分布式人脸检索***组成图;
图2是图示根据示例性实施例的分布式人脸检索方法流程图;
图3是图示根据示例性实施例的训练提取模型流程图;
图4是图示根据示例性实施例的建立人脸特征库流程图;
图5是图示根据示例性实施例的写入分布式文件***流程图;
图6是图示根据示例性实施例的处理图像信息和检索请求流程图;
图7是图示根据示例性实施例的实时更新模块信息流程图;
图8是图示根据示例性实施例的定时备份或恢复流程图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更 加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现, 本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相 似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意 示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰, 附图中有些地方示意性地适当夸大了部件的厚度。
发明人为了使得人脸检索时可以直接对百万、千万数量节点的人脸库 进行检索,避免因分层路由所带来的检索不准确问题,利用最近邻网络结 构对人脸输入特征建立检索图。另外最近邻网络结构可以轻松应对百万级、 千万级数量节点,无需额外划分层次,降低了模型的复杂度,同时该结构 对检索服务模块能够做到轻松横向扩展。
发明人设计了一种分布式人脸检索***,如图1所示,包括数据库、 消息队列、分布式文件***、冷启动服务模块、特征提取服务模块、特征 切片服务模块、检索服务模块、热更新服务模块、备份与恢复服务模块、 日志服务模块;其中
数据库包括人脸图像库、人脸特征库和日志库,人脸图像库保存人脸 图像信息,人脸特征库保存人脸特征信息,日志库保存日志;
消息队列是在消息的传输过程中保存消息的容器,消息即两台计算机 之间需要传输的信息,消息被发送到消息队列中,消息队列在将消息从它 的源中继到它的目标时充当中间人角色;所述消息队列包括图像消息队列、 特征消息队列、切片消息队列和检索消息队列,图像消息队列是用于被特 征提取的人脸图像信息的容器,特征消息队列是用于人脸特征提取后的特 征信息的容器,切片消息队列是当特征提取结束时,用于特征切片信息的 容器,检索消息队列是检索请求信息的容器;
分布式文件***采用分布式的方式部署存储资源,本实施例使用文件 ***管理的物理存储资源,通过计算机网络与节点相连,以解决存储容量 持续扩增以及节点迁移的需求;
冷启动服务模块对***中的其他模块发送启动信标;
特征提取服务模块使用预先训练好的特征提取模型提取人脸图像的 特征,在完成后发送特征提取完成信标以及切片规则给特征切片服务模块; 为了提高并发性能,发明人设计特征提取服务模块为多个;发明人制定切 片规则为单个文件最多100条记录;
响应于切片规则,特征切片服务模块把提取后的特征进行分组切片, 写入分布式文件***,完成后发送切片完成信标给检索服务模块;
响应于切片完成信标,检索服务模块建立检索图准备接受检索请求, 并通知热更新服务模块启动;检索图为利用KNN算法生成的特征检索图, 用于目标快速检索。检索服务模块为多个,用于提高并发性能。
日志服务模块对人脸图像的特征提取过程以及检索图的恢复与备份 进行监听;
响应于更新请求,热更新服务模块调度特征提取服务模块、检索服务 模块对检索图进行更新;
响应于恢复与备份服务模块定时发送的持久化请求,检索服务模块将 检索图写入分布式文件***。
基于上述实施例,发明人设计了一种分布式人脸检索方法,如图2所 示,包括如下步骤:
步骤S100,训练模型,训练人脸目标识别模型和人脸特征提取模型; 如图3所示,具体包括:
S110,开源数据集读取,读取开源数据集中的人脸图像信息;
S120,人脸目标识别模型训练,采用人脸目标框和目标分类损失函数 作为目标,直到其精度不再显著提升时,结束整个深度学习框架的训练, 保存对应的神经网络参数;
S130,人脸识别结果预处理,对输入的人脸识别结果,即人脸图像大 小进行预处理,将所有人脸图像都调整为相同宽高,以便于生成相同维度 的人脸特征;
S140,人脸特征提取模型训练,采用人脸分类损失函数作为目标,直 到其精度不再显著提升时,结束整个深度学习框架的训练,保存对应的神 经网络参数;
S150,实现推理提速,也叫做模型转换,训练完成后,将人脸目标识 别模型和人脸特征提取模型转换为可被TensorRT架构读取的onnx或trt文 件结构,提升模型的推理速度。
步骤S200,建立人脸特征库,对于所述人脸图像库中的人脸图像利用 深度学习神经网络模型,提取对应的人脸特征写入所述人脸特征库;如图 4所示,具体包括:
S210,启动***,所述冷启动服务模块读取所述人脸图像库中的人脸 图像信息,对所述分布式人脸检索***中的各个模块发送启动信标。
S220,推送人脸图像信息,将所述人脸图形库中的人脸图像信息逐条 推送到所述图像消息队列;
S230,特征提取,所述特征提取服务模块通过订阅来获取所述人脸图 像信息并进行特征提取,得到对应的人脸特征信息,把特征提取的结果记 录到日志;所述特征提取服务模块在资源允许的条件下可以被持续横向扩 增;
S240,推送人脸特征信息,所述特征提取服务模块将所述人脸特征信 息推送到所述特征消息队列;
S250,获取人脸特征信息,所述冷启动服务通模块过订阅获取所述人 脸特征信息;
S260,建立人脸特征库,所述冷启动服务模块将所述人脸特征信息存 储到所述人脸特征库。
步骤S300,写入分布式文件***,把所述人脸特征库中的人脸特征写 入文件,确保人脸特征能够被快速读取;如图5所示,具体包括:
S310,监督和检测图像特征提取,所述日志服务模块实时监督和检测 图像特征提取,当确认所有人脸特征信息提取已完成后,把所述人脸特征 信息推送给所述特征切片服务模块;
S320,批量查询人脸特征数据,所述特征切片服务模块从所述人脸特 征库中按照切片规则批量查询人脸特征数据;
S330,存储人脸特征到所述分布式文件***,所述特征切片服务模块 将批量读取的人脸特征数据按照切片规则将特征文件存储到所述分布式 文件***中;
S340,推送文件存储路径及切片信息,所述特征切片服务模块将文件 存储路径以及切片信息推送到所述切片消息队列;
S350,生成检索图,所述检索服务模块根据获取的人脸特征进行检索 并返回检索结果,根据订阅获取切片信息和特征文件地址,通过所述地址 获取特征文件,生成最近邻检索图。
步骤S400,处理图像信息和检索请求,响应于图像信息,检索服务模 块建立检索图,响应于检索请求,所述检索服务模块进行检索;检索服务 模块和用户进行交互,用户通过网页发送增加、删除、修改、查看请求。 如图6所示,具体包括:
S410,接收图像信息和检索请求,所述检索服务模块接收图像信息和 检索请求,并将操作日志存入所述日志库;
S420,推送查询请求,所述检索服务模块推送查询请求,推送时根据 切片推送到不同的订阅话题;所述订阅话题是指消息队列之间互相通信的 一种方式,通过订阅相同话题,实现一对多内容广播
S430,进行特征提取,所述特征提取服务模块根据订阅获取待处理的 人脸图像信息并进行特征提取;
S440,将人脸特征信息推送到特征消息队列,所述特征提取服务模块 将人脸特征信息推送到所述特征消息队列;
S450,将人脸特征检索信息推送到检索消息队列,所述检索服务模块 将人脸特征检索信息推送到所述检索消息队列,发起检索请求;
S460,根据订阅获取检索请求,所述检索服务模块根据订阅获取检索 请求;
S470,返回检索结果,所述检索服务模块返回检索结果;
S480,获取每个切片的检索结果,所述检索服务模块获取每个切片的 检索结果;
S490,返回检索结果,所述检索服务模块返回检索结果。
步骤S500,实时更新检索服务模块信息,所述热更新服务模块调度所 述检索服务模块实时更新检索图;如图7所示,具体包括:
S510,所述热更新服务模块收到需要增加、删除、修改请求;
S520,将待更新的操作请求存入日志库
S530,响应于删除请求,执行S540,否则,所述热更新服务模块将订 阅获取图像信息并特征提取,将人脸特征推送至所述特征消息队列;
S540,所述热更新服务模块通过订阅获取特征信息并确定所需更新的 子图;
S550,所述热更新服务模块将所述需更新的子图进行广播;
S560,所述检索服务模块接收广播进行更新;
S570,所述检索服务模块推送更新结果;
S580,如果全部检索模块更新完成,则标识更新完成,否则返回步骤 S570。
步骤S600,定时备份或恢复,响应于所述备份与恢复服务模块定时分 发的备份或恢复请求,所述检索服务模块执行备份或者恢复操作;如图8 所示,具体包括:
S610,根据切片规则,所述备份与恢复服务模块对所述检索服务模块 定时分发备份或恢复请求;
S620,如果是备份请求,所述检索服务模块向文件***中写入对应的 特征切片和子图信息;否则为恢复请求,所述检索服务模块则向文件*** 拉取最新特征切片和子图信息,并校验数据是否最新,如果不是,执行更 新操作进行更新;如果是最新,则不采取任何操作。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通 技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。 因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过 逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求 书所确定的保护范围内。
Claims (10)
1.一种分布式人脸检索***,其特征在于,包括数据库、消息队列、分布式文件***、冷启动服务模块、特征提取服务模块、特征切片服务模块、检索服务模块、热更新服务模块、备份与恢复服务模块、日志服务模块;
所述数据库包括人脸图像库、人脸特征库和日志库,所述人脸图像库保存人脸图像信息,所述人脸特征库保存人脸特征信息,所述日志库保存日志;
所述消息队列包括图像消息队列、特征消息队列、切片消息队列和检索消息队列,所述图像消息队列是用于被特征提取的人脸图像信息的容器,所述特征消息队列是用于人脸特征提取后的特征信息的容器,所述切片消息队列是当特征提取结束时用于特征切片信息的容器,所述检索消息队列是检索请求信息的容器;
所述分布式文件***采用分布式的方式部署存储资源,以解决存储容量持续扩增以及节点迁移的需求;
所述冷启动服务模块对所述分布式人脸检索***中的其他模块发送启动信标;
所述特征提取服务模块使用预先训练好的特征提取模型提取人脸图像的特征,完成后发送特征提取完成信标以及切片规则给所述特征切片服务模块;
响应于所述切片规则,所述特征切片服务模块把提取后的人脸特征进行分组切片,写入所述分布式文件***,完成后发送切片完成信标给所述检索服务模块;
响应于所述切片完成信标,所述检索服务模块建立检索图准备接受检索请求,并通知所述热更新服务模块启动;
所述日志服务模块对人脸特征提取过程以及所述检索图的恢复与备份进行监听;
响应于更新请求,所述热更新服务模块调度所述特征提取服务模块、所述检索服务模块对所述检索图进行更新;
响应于所述恢复与备份服务模块定时发送的持久化请求,所述检索服务模块所述检索图写入所述分布式文件***。
2.如权利要求1所述的分布式人脸检索***,其特征在于,所述特征提取服务模块为多个,用于提高并发性能。
3.如权利要求1所述的分布式人脸检索***,其特征在于,所检索服务模块为多个,用于提高并发性能。
4.一种分布式人脸检索方法,其特征在于,基于如权利要求1-3任一所述的分布式人脸检索***,包括如下步骤:
步骤S100,训练模型,训练人脸目标识别模型和人脸特征提取模型;
步骤S200,建立人脸特征库,对于所述人脸图像库中的人脸图像利用深度学习神经网络模型,提取对应的人脸特征写入所述人脸特征库;
步骤S300,写入分布式文件***,把所述人脸特征库中的人脸特征写入文件,确保人脸特征能够被快速读取;
步骤S400,处理图像信息和检索请求,响应于图像信息,所述检索服务模块建立检索图,响应于检索请求,所述检索服务模块进行检索;
步骤S500,实时更新检索服务模块信息,所述热更新服务模块调度所述检索服务模块实时更新检索图;
步骤S600,定时备份或恢复,响应于所述备份与恢复服务模块定时分发的备份或恢复请求,所述检索服务模块执行备份或者恢复操作。
5.如权利要求4所述的分布式人脸检索方法,其特征在于,所述步骤S100包括:
S110,开源数据集读取,读取开源数据集中的人脸图像信息;
S120,人脸目标识别模型训练,采用人脸目标框和目标分类损失函数作为目标,直到其精度不再显著提升时,结束整个深度学习框架的训练,保存对应的神经网络参数;
S130,人脸识别结果预处理,对输入的人脸识别结果,即人脸图像大小进行预处理,将所有人脸图像都调整为相同宽高,以便于生成相同维度的人脸特征;
S140,人脸特征提取模型训练,采用人脸分类损失函数作为目标,直到其精度不再显著提升时,结束整个深度学习框架的训练,保存对应的神经网络参数;
S150,实现推理提速,也叫做模型转换,训练完成后,将人脸目标识别模型和人脸特征提取模型转换为可被TensorRT架构读取的onnx或trt文件结构,提升模型的推理速度。
6.如权利要求4所述的分布式人脸检索方法,其特征在于,所述步骤S200包括:
S210,启动***,所述冷启动服务模块读取所述人脸图像库中的人脸图像信息,对所述分布式人脸检索***中的各个模块发送启动信标。
S220,推送人脸图像信息,将所述人脸图形库中的人脸图像信息逐条推送到所述图像消息队列;
S230,特征提取,所述特征提取服务模块通过订阅来获取所述人脸图像信息并进行特征提取,得到对应的人脸特征信息,把特征提取的结果记录到日志;
S240,推送人脸特征信息,所述特征提取服务模块将所述人脸特征信息推送到所述特征消息队列;
S250,获取人脸特征信息,所述冷启动服务通模块过订阅获取所述人脸特征信息;
S260,建立人脸特征库,所述冷启动服务模块将所述人脸特征信息存储到所述人脸特征库。
7.如权利要求4所述的分布式人脸检索方法,其特征在于,所述步骤S300包括:
S310,监督和检测图像特征提取,所述日志服务模块实时监督和检测图像特征提取,当确认所有人脸特征信息提取已完成后,把所述人脸特征信息推送给所述特征切片服务模块;
S320,批量查询人脸特征数据,所述特征切片服务模块从所述人脸特征库中按照切片规则批量查询人脸特征数据;
S330,存储人脸特征到所述分布式文件***,所述特征切片服务模块将批量读取的人脸特征数据按照切片规则将特征文件存储到所述分布式文件***中;
S340,推送文件存储路径及切片信息,所述特征切片服务模块将文件存储路径以及切片信息推送到所述切片消息队列;
S350,生成检索图,所述检索服务模块根据获取的人脸特征进行检索并返回检索结果,根据订阅获取切片信息和特征文件地址,通过所述地址获取特征文件,生成最近邻检索图。
8.如权利要求4所述的分布式人脸检索方法,其特征在于,所述步骤S400包括:
S410,接收图像信息和检索请求,所述检索服务模块接收图像信息和检索请求,并将操作日志存入所述日志库;
S420,推送查询请求,所述检索服务模块推送查询请求,推送时根据切片推送到不同的订阅话题;
S430,进行特征提取,所述特征提取服务模块根据订阅获取待处理的人脸图像信息并进行特征提取;
S440,将人脸特征信息推送到特征消息队列,所述特征提取服务模块将人脸特征信息推送到所述特征消息队列;
S450,将人脸特征检索信息推送到检索消息队列,所述检索服务模块将人脸特征检索信息推送到所述检索消息队列,发起检索请求;
S460,根据订阅获取检索请求,所述检索服务模块根据订阅获取检索请求;
S470,返回检索结果,所述检索服务模块返回检索结果;
S480,获取每个切片的检索结果,所述检索服务模块获取每个切片的检索结果;
S490,返回检索结果,所述检索服务模块返回检索结果。
9.如权利要求4所述的分布式人脸检索方法,其特征在于,所述步骤S500包括:
S510,所述热更新服务模块收到需要增加、删除、修改请求;
S520,将待更新的操作请求存入日志库;
S530,响应于删除请求,执行S540,否则,所述热更新服务模块将订阅获取图像信息并特征提取,将人脸特征推送至所述特征消息队列;
S540,所述热更新服务模块通过订阅获取特征信息并确定所需更新的子图;
S550,所述热更新服务模块将所述需更新的子图进行广播;
S560,所述检索服务模块接收广播进行更新;
S570,所述检索服务模块推送更新结果;
S580,如果全部检索模块更新完成,则标识更新完成,否则返回步骤S570。
10.如权利要求4所述的分布式人脸检索方法,其特征在于,所述步骤S600包括:
S610,根据切片规则,所述备份与恢复服务模块对所述检索服务模块定时分发备份或恢复请求;
S620,如果是备份请求,所述检索服务模块向文件***中写入对应的特征切片和子图信息;否则为恢复请求,所述检索服务模块则向文件***拉取最新特征切片和子图信息,并校验数据是否最新,如果不是,执行更新操作进行更新;如果是最新,则不采取任何操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011094648.1A CN112307247B (zh) | 2020-10-14 | 2020-10-14 | 一种分布式人脸检索***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011094648.1A CN112307247B (zh) | 2020-10-14 | 2020-10-14 | 一种分布式人脸检索***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112307247A true CN112307247A (zh) | 2021-02-02 |
CN112307247B CN112307247B (zh) | 2022-05-24 |
Family
ID=74489376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011094648.1A Active CN112307247B (zh) | 2020-10-14 | 2020-10-14 | 一种分布式人脸检索***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307247B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875016A (zh) * | 2018-06-20 | 2018-11-23 | 上海百林通信网络科技服务股份有限公司 | 一种基于人脸识别应用的样本共享技术和评价方法 |
CN116682167A (zh) * | 2023-08-01 | 2023-09-01 | 山东威尔数据股份有限公司 | 基于集群式IoT的人脸特征提取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489872B1 (en) * | 2009-10-16 | 2013-07-16 | Vikas Kapoor | Apparatuses, methods and systems for a real-time desktop configurer utilizing a user identifier or an initialization request to retrieve a data-structure-tracking syntax-configured string |
CN105373626A (zh) * | 2015-12-09 | 2016-03-02 | 深圳融合永道科技有限公司 | 分布式人脸识别轨迹搜索***和方法 |
CN107251098A (zh) * | 2015-03-23 | 2017-10-13 | 英特尔公司 | 使用动态三维形状促进真实对象的真三维虚拟表示 |
-
2020
- 2020-10-14 CN CN202011094648.1A patent/CN112307247B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489872B1 (en) * | 2009-10-16 | 2013-07-16 | Vikas Kapoor | Apparatuses, methods and systems for a real-time desktop configurer utilizing a user identifier or an initialization request to retrieve a data-structure-tracking syntax-configured string |
CN107251098A (zh) * | 2015-03-23 | 2017-10-13 | 英特尔公司 | 使用动态三维形状促进真实对象的真三维虚拟表示 |
CN105373626A (zh) * | 2015-12-09 | 2016-03-02 | 深圳融合永道科技有限公司 | 分布式人脸识别轨迹搜索***和方法 |
Non-Patent Citations (1)
Title |
---|
闵卫东等: "一种分布式人脸识别方法及性能优化", 《光学精密工程》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875016A (zh) * | 2018-06-20 | 2018-11-23 | 上海百林通信网络科技服务股份有限公司 | 一种基于人脸识别应用的样本共享技术和评价方法 |
CN116682167A (zh) * | 2023-08-01 | 2023-09-01 | 山东威尔数据股份有限公司 | 基于集群式IoT的人脸特征提取方法 |
CN116682167B (zh) * | 2023-08-01 | 2023-10-27 | 山东威尔数据股份有限公司 | 基于集群式IoT的人脸特征提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112307247B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782965B (zh) | 意图推荐方法、装置、设备及存储介质 | |
US20210158219A1 (en) | Method and system for an end-to-end artificial intelligence workflow | |
CN108897784B (zh) | 一个基于社交媒体的突发事件多维分析*** | |
Effendy et al. | Classification of intrusion detection system (IDS) based on computer network | |
CN112307247B (zh) | 一种分布式人脸检索***及方法 | |
CN113298197B (zh) | 数据聚类方法、装置、设备及可读存储介质 | |
CN110909182A (zh) | 多媒体资源搜索方法、装置、计算机设备及存储介质 | |
CN109739975B (zh) | 热点事件抽取方法、装置、可读存储介质及电子设备 | |
JP2022020070A (ja) | 情報処理、情報推薦の方法および装置、電子デバイス及び記憶媒体 | |
CN111382283A (zh) | 资源类别标签标注方法、装置、计算机设备和存储介质 | |
CN108509545B (zh) | 一种文章的评论处理方法及*** | |
CN113220904A (zh) | 数据处理方法及数据处理装置、电子设备 | |
CN111782817A (zh) | 一种面向信息***的知识图谱构建方法、装置及电子设备 | |
CN109241315B (zh) | 一种基于深度学习的快速人脸检索方法 | |
CN113590898A (zh) | 数据检索方法、装置、电子设备、存储介质及计算机产品 | |
CN106844553A (zh) | 基于样本数据的数据探测和扩充方法及装置 | |
Ła̧giewka et al. | Distributed image retrieval with colour and keypoint features | |
US20230326185A1 (en) | Object recognition method and apparatus, device, and storage medium | |
CN110209895B (zh) | 向量检索方法、装置和设备 | |
CN112115281A (zh) | 数据检索方法、装置及存储介质 | |
Aggarwal et al. | Spatio-temporal frequent itemset mining on web data | |
CN115146103A (zh) | 图像检索方法、装置、计算机设备、存储介质和程序产品 | |
CN116186298A (zh) | 信息检索方法和装置 | |
Wu et al. | NEIST: A neural-enhanced index for spatio-temporal queries | |
CN113873025A (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 | ||
CB02 | Change of applicant information |
Address after: 315048 room 5-1-1, building 22, East Zone, Ningbo new material innovation center, high tech Zone, Ningbo, Zhejiang Province Applicant after: Ningbo Boden Intelligent Technology Co.,Ltd. Address before: Room 1002, 288, 296 Baihe Road, hi tech Zone, Ningbo, Zhejiang 315048 Applicant before: NINGBO BODEN INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |