[发明专利]一种基于异步机制的人脸建模入库服务实现方法及装置有效
申请号: | 202111507515.7 | 申请日: | 2021-12-10 |
公开(公告)号: | CN114168684B | 公开(公告)日: | 2023-08-08 |
发明(设计)人: | 吴志雄;吴晓梅;陈耿坤 | 申请(专利权)人: | 清华大学;南威软件股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/2458;G06F9/46;G06F9/50 |
代理公司: | 泉州市文华专利代理有限公司 35205 | 代理人: | 陈雪莹 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 异步 机制 建模 入库 服务 实现 方法 装置 | ||
本发明实施例公开了一种基于异步机制的人脸建模入库服务实现方法,包括:接收到客户端的建模入库请求后,将获取到的图像基本信息及图像URL地址写入数据库;根据基本信息,增加一建模状态标志位及数据为空的向量ID,建模状态为未建模,然后向客户端发送建模入库服务响应消息;批量读取数据库中状态为未建模的记录,调用人脸建模服务对图像进行处理,得到人脸特征编码;将人脸特征编码写入向量搜索引擎并获取返回对应的向量ID,将所述向量ID更新到数据库对应记录的向量ID并更新建模状态标志位。本发明提供的一种基于异步机制的人脸建模入库服务实现方法及装置,实现快速响应客户端,解决了同步机制下数据库和向量搜索引擎数据量不一致的问题。
技术领域
本发明涉及数据库技术领域,特别涉及一种基于异步机制的人脸建模入库服务实现方法及装置。
背景技术
所谓人脸建模入库服务,就是给定批量图片基本信息和图片,检测图片中的人脸并裁剪出来,将裁剪出来的人脸送入人脸识别模型,提取人脸特征编码,最后将图片基本信息写入数据库,将人脸特征编码写入向量搜索引擎,供上层应用使用。
人脸建模入库,常规实现方法基于同步机制,也就是经过检测人脸、提取人脸特征编码,图片基本信息入库,向量特征编码入库等一系列步骤完成后,再返回消息给客户端。
由于常规实现方法是基于同步机制,而人脸检测、人脸识别等模型推理运算比较费时,受GPU资源限制,在高峰请求期间,超时严重,对于客户端来说,响应超时就会重调,同一批图片调多次调用,服务端重复入库,严重浪费计算资源,数据库可以通过主键判断,覆盖重复数据,而向量搜索引擎一般采用自动生成主键策略,不会覆盖重复数据,最终导致数据库和向量搜索引擎数据量不一致。
发明内容
本发明要解决的技术问题,在于提供一种基于异步机制的人脸建模入库服务实现方法及装置,实现快速响应客户端,避免重复调用,解决了同步机制下数据库和向量搜索引擎数据量不一致的问题。
第一方面,本发明提供了一种基于异步机制的人脸建模入库服务实现方法,包括:
步骤10、接收到至少一个客户端的建模入库请求后,将获取到的图像基本信息及图像URL地址写入数据库;
步骤20、根据每一条图像基本信息,增加一建模状态标志位及数据为空的向量ID,建模状态为未建模,然后所述至少一个向客户端发送建模入库服务响应消息;
步骤30、批量读取数据库中状态为未建模的记录,调用人脸建模服务对图像进行处理,得到人脸特征编码;
步骤40、将人脸特征编码写入向量搜索引擎,向量搜索引擎返回对应的向量ID,将所述向量ID更新到数据库对应记录的向量ID并更新建模状态标志位为已建模。
进一步地,所述数据库为分布式搜索引擎。
进一步地,所述步骤30具体包括:
调用人脸建模任务轮询,批量读取分布式搜索引擎中状态为未建模的记录,使用多进程调用人脸建模服务对图像进行处理,得到人脸特征编码,将人脸特征编码写入Redis缓存。
进一步地,所述步骤30中,在调用人脸建模任务轮询之前,还包括:
根据GPU可用数量,启动多个人脸建模服务程序;创建多进程池,进程池中初始化分布式搜素引擎连接和Redis服务连接。
第二方面,本发明提供了一种基于异步机制的人脸建模入库服务实现装置,包括:数据获取模块、服务响应模块、人脸建模模块以及向量更新模块;
所述数据获取模块,用于接收到至少一个客户端的建模入库请求后,将获取到的图像基本信息及图像URL地址写入数据库;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学;南威软件股份有限公司,未经清华大学;南威软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111507515.7/2.html,转载请声明来源钻瓜专利网。