基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统技术方案

技术编号:27060746 阅读:24 留言:0更新日期:2021-01-15 14:41
一种基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统,包括算法和系统,结合人脸识别算法发展中,基于欧式距离约束的思想,以及针对姿态变化问题,将人脸特征转正的思想结合到了算法中,同时,基于多任务学习的框架,进一步地提升了算法在跨姿态人脸识别问题上的效果。同时基于Docker的微服务架构的人脸识别系统,本发明专利技术的系统通过基于REST接口来分离前后端,使得系统可以应用于多种前端,同时使用了基于Docker的微服务架构,可以针对需求进行高效的异构扩容,针对传统的人脸识别系统,在功能扩展性以及架构灵活性上都有着显著的优势。

【技术实现步骤摘要】
基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统
本专利技术涉及人脸识别领域,特别涉及一种基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统。
技术介绍
主流的基于浅层学习或非深度学习的人脸识别算法,由于算法的特征表达能力的不足,往往难以在人脸识别问题这样的复杂的任务上取得可用的效果。主流的基于深度学习的人脸识别算法,其改进主要专注在对损失函数的变形,来解决人脸特征类内方差过大的情况,然而,往往没有针对姿态变化这一因素进行足够的改良,而姿态变化这一因素又是人脸识别算法性能下降的主要因素之一。同时,在系统中传统的单体应用前后端耦合导致不能很好的扩展。
技术实现思路
本专利技术的目的在于:提供了一种基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统,通过在算法上利用姿态信息,提升识别准确率,以及将系统设计为前后端分离,利用微服务架构和容器技术针对不同的设计需求,可以轻松的扩展后端系统,解决了现有技术中人脸识别算法没有利用好姿态信息和系统中前后端耦合不利于场景扩展的问题。本专利技术采用的技术方案如下:一种基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统,包括算法和系统,所述算法包括训练阶段和检测阶段:所述训练阶段包括以下步骤:步骤1:对人脸图像进行预处理;(归一化,随机水平反转进行数据增广)步骤2:通过深度卷积神经网络(ResNet50)将人脸图像提取为512维的特征;步骤3:在提取到的人脸特征之上,结合我们提出的FrontalCenterLoss,进行损失计算;步骤4:反向传播,利用随机梯度下降算法更新网络参数;所述检测阶段包括以下步骤:步骤1:通过人脸检测算法(基于RetinaNet的实现)对图像进行人脸的检测;步骤2:通过利用FrontalCenterLoss训练到的深度特征提取网络(ResNet50),对人脸图像进行特征提取,得到512维度的人脸特征;步骤3:通过相似度比较算法,将提取到的人脸特征和底库中的人脸特征进行相似度比较,进行人脸的识别;所述系统包括以下步骤:模块1:基于Docker的摄像头图像抓取模块,通过RTSP网络协议,不断地从摄像头中抓取摄像头图像,生成计算请求,发送到消息队列模块;模块2:消息队列模块,基于Docker和RabbitMQ技术,利用消息队列,来将算法服务和计算发起服务(摄像头抓取模块)进行解耦合,同时做到负载均衡的效果;模块3:基于Docker和PyTorch的人脸是识别服务,会和模块2进行交互,不断地消费计算任务,进行人脸的检测和特征提取,同时和数据库模块(模块4)进行交互,进行人脸的底库中的识别;模块4:基于Docker和MySQL的数据库服务,通过数据库来进行数据的持久化,为算法服务和后端系统提供数据的访问;模块5:基于REST接口和Flask以及Docker的后端服务,通过读取MySQL数据库,来将系统的检测结果提供给其他前端系统调用;模块6:基于Vue的前端系统,通过REST接口和后端交互,来将系统检测的结果进行可视化呈现。由于采用了本技术方案,本专利技术的有益效果是:1.本专利技术一种基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统,结合人脸识别算法发展中,基于欧式距离约束的思想,以及针对姿态变化问题,将人脸特征转正的思想结合到了算法中,同时,基于多任务学习的框架,进一步地提升了算法在跨姿态人脸识别问题上的效果。2.本专利技术一种基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统,基于Docker的微服务架构的人脸识别系统,本专利技术的系统通过基于REST接口来分离前后端,使得系统可以应用于多种前端,同时使用了基于Docker的微服务架构,可以针对需求进行高效的异构扩容,针对传统的人脸识别系统,在功能扩展性以及架构灵活性上都有着显著的优势。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1是本专利技术的系统整体架构图;图2是本专利技术的算法检测结果可视化图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本专利技术作进一步的详细说明,本专利技术的示意性实施方式及其说明仅用于解释本专利技术,并不作为对本专利技术的限定,在说明书中的连接为公知常识中的焊接或铆接,说明书中各部件之间的尺寸比例,并不代表实际使用时各部件的尺寸比例。下面结合图1至图2对本专利技术作详细说明。实施例1一种基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统,包括算法和系统,所述算法包括训练阶段和检测阶段:所述训练阶段包括以下步骤:步骤1:对人脸图像进行预处理;(归一化,随机水平反转进行数据增广)步骤2:通过深度卷积神经网络(ResNet50)将人脸图像提取为512维的特征;步骤3:在提取到的人脸特征之上,结合我们提出的FrontalCenterLoss,进行损失计算;步骤4:反向传播,利用随机梯度下降算法更新网络参数;所述检测阶段包括以下步骤:步骤1:通过人脸检测算法(基于RetinaNet的实现)对图像进行人脸的检测;步骤2:通过利用FrontalCenterLoss训练到的深度特征提取网络(ResNet50),对人脸图像进行特征提取,得到512维度的人脸特征;步骤3:通过相似度比较算法,将提取到的人脸特征和底库中的人脸特征进行相似度比较,进行人脸的识别;所述系统包括以下步骤:模块1:基于Docker的摄像头图像抓取模块,通过RTSP网络协议,不断地从摄像头中抓取摄像头图像,生成计算请求,发送到消息队列模块;模块2:消息队列模块,基于Docker和RabbitMQ技术,利用消息队列,来将算法服务和计算发起服务(摄像头抓取模块)进行解耦合,同时做到负载均衡的效果;模块3:基于Docker和PyTorch的人脸是识别服务,会和模块2进行交互,不断地消费计算任务,进行人脸的检测和特征提取,同时和数据库模块(模块4)进行交互,进行人脸的底库中的识别;模块4:基于Docker和MySQL的数据库服务,通过数据库来进行数据的持久化,为算法服务和后端系统提供数据的访问;模块5:基于REST接口和Flask以及Docker的后端服务,通过读取MySQL数据库,来将系统的检测结果提供给其他前端系统调用;模块6:基于Vue的前端系统,通过REST接口和后端交互,来将系统检测的结果进行可视化呈现。本专利技术的人脸识别算法包括训练,所述训练基于PyTorch框架以及VGGFace2数据集,具体的步骤为:1.数据集load与预处理,得到深度神经网络(ResNet50)可接受的tensor形式的人脸数据;2.构建深度卷积神经网络(Res本文档来自技高网...

【技术保护点】
1.一种基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统,包括算法和系统,其特征在于:/n所述算法包括训练阶段和检测阶段:/n所述训练阶段包括以下步骤:/n步骤1:对人脸图像进行预处理;(归一化,随机水平反转进行数据增广)/n步骤2:通过深度卷积神经网络(ResNet50)将人脸图像提取为512维的特征;/n步骤3:在提取到的人脸特征之上,结合我们提出的Frontal Center Loss,进行损失计算;/n步骤4:反向传播,利用随机梯度下降算法更新网络参数;/n所述检测阶段包括以下步骤:/n步骤1:通过人脸检测算法(基于RetinaNet的实现)对图像进行人脸的检测;/n步骤2:通过利用Frontal Center Loss训练到的深度特征提取网络(ResNet50),对人脸图像进行特征提取,得到512维度的人脸特征;/n步骤3:通过相似度比较算法,将提取到的人脸特征和底库中的人脸特征进行相似度比较,进行人脸的识别;/n所述系统包括以下步骤:/n模块1:基于Docker的摄像头图像抓取模块,通过RTSP网络协议,不断地从摄像头中抓取摄像头图像,生成计算请求,发送到消息队列模块;/n模块2:消息队列模块,基于Docker和RabbitMQ技术,利用消息队列,来将算法服务和计算发起服务(摄像头抓取模块)进行解耦合,同时做到负载均衡的效果;/n模块3:基于Docker和PyTorch的人脸是识别服务,会和模块2进行交互,不断地消费计算任务,进行人脸的检测和特征提取,同时和数据库模块(模块4)进行交互,进行人脸的底库中的识别;/n模块4:基于Docker和MySQL的数据库服务,通过数据库来进行数据的持久化,为算法服务和后端系统提供数据的访问;/n模块5:基于REST接口和Flask以及Docker的后端服务,通过读取MySQL数据库,来将系统的检测结果提供给其他前端系统调用;/n模块6:基于Vue的前端系统,通过REST接口和后端交互,来将系统检测的结果进行可视化呈现。/n...

【技术特征摘要】
1.一种基于深度特征转正的跨姿态人脸识别算法与基于微服务架构的人脸识别系统,包括算法和系统,其特征在于:
所述算法包括训练阶段和检测阶段:
所述训练阶段包括以下步骤:
步骤1:对人脸图像进行预处理;(归一化,随机水平反转进行数据增广)
步骤2:通过深度卷积神经网络(ResNet50)将人脸图像提取为512维的特征;
步骤3:在提取到的人脸特征之上,结合我们提出的FrontalCenterLoss,进行损失计算;
步骤4:反向传播,利用随机梯度下降算法更新网络参数;
所述检测阶段包括以下步骤:
步骤1:通过人脸检测算法(基于RetinaNet的实现)对图像进行人脸的检测;
步骤2:通过利用FrontalCenterLoss训练到的深度特征提取网络(ResNet50),对人脸图像进行特征提取,得到512维度的人脸特征;
步骤3:通过相似度比较算法,将提取到的人脸特征和底库中的人脸特征进行相似度比较,进行人脸的识别;

【专利技术属性】
技术研发人员:刘超池明旻张青林
申请(专利权)人:北京北斗天巡科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1