【技术实现步骤摘要】
一种基于内存数据库的分布式人脸识别系统及方法
本专利技术属于人脸识别
,更具体地,涉及一种基于内存数据库的分布式人脸识别系统及方法。
技术介绍
人脸识别是当前人工智能和模式识别的研究热点,最初的应用源于公安部门关于罪犯照片的存档管理和刑侦破案,随着科技的发展,快速高效自动的人脸识别要求日益紧迫。该技术在证件验证、刑侦破案、入口控制、信息安全和视频监控等领域有着很好的应用。人脸识别系统在实际的工程应用过程中经常面临项目工程量变更导致的网络摄像机的动态增减。当增加的摄像机数量超过服务器处理能力上限时就需要更换性能更高的服务器,服务器更换过程中将面临系统重装,用户数据的迁移等诸多维护性问题,且系统支持的网络摄像机数量受服务器处理能力的影响。采用分布式架构的系统则可以支持理论上无上限的网络摄像机数,可以根据增加服务器硬件不断扩容;然而,虽然分布式系统在扩容及维护方面优势很明显,但是实现起来有很多复杂的地方。比如分布式系统使用KAFKA作为分布式的消息队列,KAFKA支持的消息都是字符串类型,进程间要进行图片的传输、特征值的传输,必须转换为Base64,使用者接收到后要从Base64转换为图片或特征值类型,这种方式不仅在转换与逆转换上对于程序的性能上有开销。而且对于网络的开销也非常大。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于内存数据库的分布式人脸识别系统及方法,采用分布式架构,并将图片流、特征值等二值化的数据使用中间键内存数据库进行转发,减少网络开销,提高服务器的处理能力。为实现上述目的,按照本专利技术的一个方面,提供了一种基于内 ...
【技术保护点】
1.一种基于内存数据库的分布式人脸识别系统,其特征在于,包括若干网络摄像机、若干人脸检测模块、若干人脸特征提取模块、若干人脸特征对比模块、Redis、KAFKA、数据库及平台管理模块;所述平台管理模块接收用户设置,生成布控信息、进行网络摄像机分配、人脸注册以及注册信息存储;网络摄像机模块用于提供实时视频流作为人脸识别的视频源;人脸检测模块用于从实时视频流中获取视频帧进行人脸检测,检测出具有人像的视频帧;以及对人脸注册图片进行人脸检测;人脸特征提取模块用于对具有人像的视频帧进行的特征提取,以及对具有人像的人脸注册图片进行特征提取,形成注册人脸特征值集;人脸特征对比模块用于将提取的人脸特征值与注册人脸特征值集进行对比;所述数据库用于保存人脸注册信息、注册特征值集;Redis用于保存图片、人脸特征值;KAFKA用于模块间的消息传输,所述消息带有保存在Redis中的图片、人脸特征值的Key值;将Key值附加在KAFKA消息中进行传输,收到消息的模块通过KAFKA消息中的Key值从Redis中获取可直接使用的图片及人脸特征值。
【技术特征摘要】
1.一种基于内存数据库的分布式人脸识别系统,其特征在于,包括若干网络摄像机、若干人脸检测模块、若干人脸特征提取模块、若干人脸特征对比模块、Redis、KAFKA、数据库及平台管理模块;所述平台管理模块接收用户设置,生成布控信息、进行网络摄像机分配、人脸注册以及注册信息存储;网络摄像机模块用于提供实时视频流作为人脸识别的视频源;人脸检测模块用于从实时视频流中获取视频帧进行人脸检测,检测出具有人像的视频帧;以及对人脸注册图片进行人脸检测;人脸特征提取模块用于对具有人像的视频帧进行的特征提取,以及对具有人像的人脸注册图片进行特征提取,形成注册人脸特征值集;人脸特征对比模块用于将提取的人脸特征值与注册人脸特征值集进行对比;所述数据库用于保存人脸注册信息、注册特征值集;Redis用于保存图片、人脸特征值;KAFKA用于模块间的消息传输,所述消息带有保存在Redis中的图片、人脸特征值的Key值;将Key值附加在KAFKA消息中进行传输,收到消息的模块通过KAFKA消息中的Key值从Redis中获取可直接使用的图片及人脸特征值。2.如权利要求1所述的分布式人脸识别系统,其特征在于,所述人脸检测模块将检测到的具有人像的视频帧通过Redis保存,将带有具有人像的视频帧RedisKey值的消息通过人脸检测模块发送到KAFKA队列中,以供多个人脸特征提取模块均衡消费消息。3.如权利要求1或2所述的分布式人脸识别系统,其特征在于,所述人脸检测模块在检测到具有人像的视频帧后,将视频帧中的人脸图像保存到Redis中。4.如权利要求3所述的分布式人脸识别系统,其特征在于,所述人脸特征提取模块通过RedisKey值从Redis中获取人脸图片数据并从中提取人脸特征,将提取的特征值保存到Redis中;带有人脸特征值、RedisKey的消息通过人脸特征提取模块发送到KAFKA队列中,以供多个人脸特征对比模块均衡消费消息。5.如权利要求3或4所述的分布式人脸识别系统,其特征在于,所述人脸特征对比模块通过RedisKey从Redis中获取人脸特征值,将人脸特征值与存储在数据库中的注册人脸特征值集对比,将对比结果通过KAFKA发送到平台管理模块。6.如权利要求1或2所述的分布式人脸识别系统,其特征在于,所述平台管理模块还具有指定检测模块与网络摄像机匹配关系的功能,用于为网络摄像机分配人脸检测模块,由指定的人脸检测模块从网络摄像机提供的实时视频流中获取视频帧进行人脸检测。7.如权利要求1或2所述的分布式人脸识别系统,其特征在于,所述平台管理模块用于通过人脸特征对比模块的对比结果与布控信息生成布控告警,和/或将布控告警和抓拍信息推送给WEB用户。8.一种基于内存数据库的人脸识别方法,其特征在于,将包括图片流、特征值的二值化数据使用中间键内存数据库Redis进行转发的方法,将保存在Redis中的...
【专利技术属性】
技术研发人员:黄晓艳,钟卫为,石云,何华清,杨凯,张辉,许志伟,
申请(专利权)人:武汉虹信技术服务有限责任公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。