一种基于人脸识别的信息获取方法及系统与流程

文档序号:16882334发布日期:2019-02-15 22:17阅读:359来源:国知局
一种基于人脸识别的信息获取方法及系统与流程

本发明涉及人脸识别技术应用领域,尤其涉及一种基于人脸识别的信息获取方法及系统。



背景技术:

随着深度学习技术的快速发展,人脸识别技术在不同领域都得到了广泛的应用,并随着用户需求的不断发展而衍生出了许多不同的应用形式。在办公场景下,人脸识别技术的应用主要集中在进行员工身份的鉴别,从而代替传统的指纹识别技术。另一方面,移动互联网在近几年的发展仍保持增长态势,移动app和web开发仍是互联网开发的重要方向,不断有新技术的出现为移动互联网开发注入新的活力。但是,目前市面上仍比较缺少将人脸识别技术与移动互联网相结合的产品,大多数与人脸识别相关的app都是相机类应用,没有能够用于办公场景下的基于人脸识别技术的移动互联网产品。

人脸识别技术的兴起源于深度学习技术,目前的主流深度学习方案是基于某一用于深度学习框架,如tensorflow(用于数值计算的开源软件库)、caffe(常用的深度学习框架,主要应用在视频、图像处理方面的应用上)、keras(基于python的深度学习库)等,搭建以多层感知机(mlp)为基础的人工神经网络,通过调整神经网络的结构与参数,能够获得具有不同功能的深度学习模型,从而适应不同的需求。

目前人脸识别技术在办公场景下的应用面较窄,主要用于员工身份鉴别,没有充分整合人脸识别技术和信息检索与分析的优点,同时,由于深度学习需要大量的数据和计算量,因此人脸识别技术的应用集中于桌面端甚至停留在服务端,没能结合移动互联网技术的优势,普通用户难以发现深度学习技术的优势所在。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种基于人脸识别的信息获取方法及系统,旨在将人脸识别应用到移动互联网中,为用户提供了功能更强大的人脸识别,通过后台数据库的数据分析,为用户提供更加个性化的功能和服务,拓宽了人脸识别的应用场合,满足了不同场景的多元化需求。

本发明解决技术问题所采用的技术方案如下:

一种基于人脸识别的信息获取方法,其中,所述基于人脸识别的信息获取方法包括:

客户端通过摄像头拍摄图片后发送至服务端,服务端以预设形式接收客户端发送的图片,并进行编码处理后发送至后台;

后台将接收的图片进行解码后对图片进行人脸识别,获取人脸识别结果并发送至服务端;

服务端根据人脸识别结果在数据库中进行人脸匹配,当匹配成功后将对应的人员信息展示给客户端。

所述的基于人脸识别的信息获取方法,其中,所述客户端通过摄像头拍摄图片后发送至服务端,服务端以预设形式接收客户端发送的图片,并进行编码处理后发送至后台具体包括:

客户端启动app,通过账号和密码登录后开启摄像头拍摄图片,并将拍摄的图片发送至服务端;

服务端通过前端接口以formdata格式接收客户端发送的图片,并对图片进行base64编码,将图片转换成base64字符串后发送至后台。

所述的基于人脸识别的信息获取方法,其中,所述基于人脸识别的信息获取方法还包括:

客户端记录用户的拍摄记录和与其他人员的互拍记录,包括拍摄时间、拍摄对象的身份信息以及拍摄对象的照片。

所述的基于人脸识别的信息获取方法,其中,所述后台将接收的图片进行解码后对图片进行人脸识别,获取人脸识别结果并发送至服务端具体包括:

后台接收到图片的base64编码后进行解码还原图片;

将图片中的人脸通过mtcnn进行分割,并将分割后的图片作为facenet的输入进行人脸识别,判断图片中是否只存在一张人脸;

当判断图片中只存在一张人脸时,再判断人脸识别置信度是否超过阈值,当是时将人脸识别结果发送至服务端的前端接口。

所述的基于人脸识别的信息获取方法,其中,所述判断图片中是否只存在一张人脸之后还包括:

当判断图片中不只存在一张人脸时,则通知客户端进行重新拍摄。

所述的基于人脸识别的信息获取方法,其中,所述再判断人脸识别置信度是否超过阈值之后还包括:

当判断人脸识别置信度未超过阈值时,则判定图片中的人脸为陌生人,并反馈给客户端。

所述的基于人脸识别的信息获取方法,其中,所述服务端根据人脸识别结果在数据库中进行人脸匹配,当匹配成功后将对应的人员信息展示给客户端具体包括:

服务端的前端接口根据后台返回的人脸识别结果,在数据库中进行人脸匹配;

当人脸匹配成功后,从数据库中获取对应人员的信息,并通过服务端的前端接口将查询到的信息以json的形式返回至客户端的app。

所述的基于人脸识别的信息获取方法,其中,所述数据库通过mysql预先存储人员的信息。

所述的基于人脸识别的信息获取方法,其中,所述服务端根据人脸识别结果在数据库中进行人脸匹配,当匹配成功后将对应的人员信息展示给客户端之后还包括:

客户端的app接收到服务端的前端接口返回的json数据后,对json数据进行解析以获得其中的内容,并以native的方式在客户端屏幕上进行渲染。

一种基于人脸识别的信息获取系统,其中,所述基于人脸识别的信息获取系统包括:

客户端,用于通过摄像头拍摄图片后发送至服务端,并记录用户的拍摄记录和与其他人员的互拍记录,还用于接收到服务端返回的json数据,对json数据进行解析以获得其中的内容,并以native的方式在客户端屏幕上进行渲染;

服务端,用于以预设形式接收客户端发送的图片,并进行编码处理后发送至后台,还用于根据人脸识别结果在数据库中进行人脸匹配,当匹配成功后将对应的人员信息展示给客户端;

后台,用于将服务端发送的图片进行解码后对图片进行人脸分割和识别,并获取人脸识别结果并发送至服务端。

本发明公开了一种基于人脸识别的信息获取方法及系统,所述方法包括:客户端通过摄像头拍摄图片后发送至服务端,服务端以预设形式接收客户端发送的图片,并进行编码处理后发送至后台;后台将接收的图片进行解码后对图片进行人脸识别,获取人脸识别结果并发送至服务端;服务端根据人脸识别结果在数据库中进行人脸匹配,当匹配成功后将对应的人员信息展示给客户端。本发明将人脸识别应用到移动互联网中,为用户提供了功能更强大的人脸识别,通过后台数据库的数据分析,为用户提供更加个性化的功能和服务,拓宽了人脸识别的应用场合,满足了不同场景的多元化需求。

附图说明

图1是本发明基于人脸识别的信息获取方法的较佳实施例的流程图;

图2是本发明基于人脸识别的信息获取方法的较佳实施例中步骤s10的流程图;

图3是本发明基于人脸识别的信息获取方法的较佳实施例中步骤s20的流程图;

图4是本发明基于人脸识别的信息获取方法的较佳实施例中步骤s30的流程图;

图5是本发明基于人脸识别的信息获取系统的较佳实施例的功能结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明较佳实施例所述的基于人脸识别的信息获取方法,如图1所示,所述基于人脸识别的信息获取方法包括以下步骤:

步骤s10、客户端通过摄像头拍摄图片后发送至服务端,服务端以预设形式接收客户端发送的图片,并进行编码处理后发送至后台。

具体过程请参阅图2,其为本发明提供的基于人脸识别的信息获取方法中步骤s10的流程图。

如图2所示,所述步骤s10包括:

s11、客户端启动app,通过账号和密码登录后开启摄像头拍摄图片,并将拍摄的图片发送至服务端;

s12、客户端启动app,通过账号和密码登录后开启摄像头拍摄图片,并将拍摄的图片发送至服务端。

具体地,用户通过客户端(例如智能手机)启动app,使用账号和密码登录后,可以拍摄照片并上传至服务端,一段时间后屏幕上显示识别结果与识别到的人员(例如公司员工)信息;比如说员工a想知道员工b的身份,就可以拍摄员工b的照片进行识别;除此之外,在客户端还可以查看与哪些人员有互拍记录、自己的拍摄记录等其他信息,自己的拍摄记录是指自己曾经拍摄过哪些人,记录中包含了拍摄时间、拍摄对象的身份信息及拍摄对象的照片;互拍记录是指记录下自己拍摄过哪些人,并且他们也曾经拍摄过自己,记录中包含了互相的拍摄时间、身份信息和照片;这两个记录可以通过向api接口发起请求、本地缓存图片实现。

进一步地,服务端的前端接口以formdata格式收到客户端上传的图片后,对图片进行base64编码(base64是网络上最常见的用于传输8bit字节码的编码方式之一,base64就是一种基于64个可打印字符来表示二进制数据的方法),转换成base64字符串,传到后台作下一步处理。

步骤s20、后台将接收的图片进行解码后对图片进行人脸识别,获取人脸识别结果并发送至服务端。

具体过程请参阅图3,其为本发明提供的基于人脸识别的信息获取方法中步骤s20的流程图。

如图3所示,所述步骤s20包括:

s21、后台接收到图片的base64编码后进行解码还原图片;

s22、将图片中的人脸通过mtcnn进行分割,并将分割后的图片作为facenet的输入进行人脸识别,判断图片中是否只存在一张人脸;

s23、当判断图片中只存在一张人脸时,再判断人脸识别置信度是否超过阈值,当是时将人脸识别结果发送至服务端的前端接口

具体地,后台接收到图片的base64编码后,首先进行解码还原图片,再通过mtcnn(人脸检测)对图片中的人脸进行分割,然后将分割后的图片送至facenet进行识别,判断图片中是否只存在一张人脸,当判断图片中不只存在一张人脸时,则通知客户端进行重新拍摄;当判断图片中只存在一张人脸时,再判断人脸识别置信度是否超过阈值,其中,置信度是后台认为图片中的人是某个人员(例如公司中的某个员工)的可能性,阈值设置为0.7;当判断人脸识别置信度未超过阈值时,则判定图片中的人脸为陌生人,并反馈给客户端;当满足置信度要求后,将人脸识别结果发送至服务端的前端接口,即facenet输出识别结果后,后台将识别结果返回至服务端的前端接口。

步骤s30、服务端根据人脸识别结果在数据库中进行人脸匹配,当匹配成功后将对应的人员信息展示给客户端。

具体过程请参阅图4,其为本发明提供的基于人脸识别的信息获取方法中步骤s30的流程图。

如图4所示,所述步骤s30包括:

s31、服务端的前端接口根据后台返回的人脸识别结果,在数据库中进行人脸匹配;

s32、当人脸匹配成功后,从数据库中获取对应人员的信息,并通过服务端的前端接口将查询到的信息以json的形式返回至客户端的app。

具体地,服务端的前端接口根据后台返回的人脸别结果,在数据库中查询员工信息,并将查询到的信息以json的形式返回至客户端的app;其中,所述数据库通过mysql预先存储人员的信息,例如某公司中所有员工的信息;客户端的app收到前端接口返回的json数据后,对json数据进行解析以获得其中的内容,并以native的方式在设备屏幕上进行渲染,为用户提供良好的视觉效果和用户体验(良好的视觉效果是通过ui设计,在app上绘制出更好看的ui界面,目的也是为了提升用户的使用体验)。

进一步地,同时根据人脸识别结果在数据库中新增一条识别记录,包括拍摄时间、拍摄人、被拍人等内容。

本发明的创新点在于拓展了人脸识别技术在办公场景下的应用,例如,在办公场景下,利用人脸识别技术辅助企业开展团队建设活动,这是目前市面上的产品所不具有的功能特点。例如可以帮助识别出同事在企业的相关信息,帮助新员工快速认识同事,有利于提升员工凝聚力,当在举办团建活动时,新员工可能碍于面子,不好意思和新同事们沟通交流,没办法很快熟悉其他同事,这时候通过人脸识别技术结合移动互联网开发,在手机app中拍摄其他人的照片就可以知道他的一些基本的和公开的信息,从而快速与其他同事建立联系,有利于快速适应新环境;或者在公司的照片墙上,通过拍摄你想认识的人的人脸就可以知道对方是谁及其基本信息。

每个有组织性的团体都需要有相应的团队建设活动,因此本发明不仅仅只应用于企业,会拓展至学校等其他组织,通过人脸识别技术识别出人员身份,再结合数据库的信息提供更进一步的服务,例如在识别员工身份后,如果当天是这个员工的生日,可以结合智能家居播放生日歌,手机app上也可以给出相应的提示;另外,将后台与摄像进行行对接,可以实现上班打卡并自动考勤、识别出公司重要人物并提示、请假的员工重新上班后自动销假、办公室没有人后可以自动断电等服务。

本发明的优势在于,充分发挥了移动开发和深度学习技术两者的优势并结合在一起,连接了客户端app和服务端的人脸识别模型,使得人脸识别技术得以在移动设备上使用。

另一方面,由于人脸模型识别出结果需要一定的时间,以及用户所处的网络环境可能并不理想,考虑到效率以及通信中的安全性,本发明中所述人脸识别模型部分可能会移植到客户端运行,避免因网络延迟而影响用户体验。

如图5所示,基于上述基于人脸识别的信息获取方法,本发明还相应提供了一种基于人脸识别的信息获取系统,所述基于人脸识别的信息获取系统包括:客户端101、服务端102以及后台103.

其中,客户端101用于通过摄像头拍摄图片后发送至服务端102,并记录用户的拍摄记录和与其他人员的互拍记录,还用于接收到服务端102返回的json数据,对json数据进行解析以获得其中的内容,并以native的方式在客户端101屏幕上进行渲染.

其中,服务端102用于以预设形式接收客户端101发送的图片,并进行编码处理后发送至后台103,还用于根据人脸识别结果在数据库中进行人脸匹配,当匹配成功后将对应的人员信息展示给客户端101。

其中,后台103用于将服务端102发送的图片进行解码后对图片进行人脸分割和识别,并获取人脸识别结果并发送至服务端102。

进一步地,客户端101是用户接触和使用最频繁的终端,可以使用户能够方便地使用人脸识别技术,而无需知晓具体的实现细节;客户端101通过android和ios的native开发,提高app的性能,为用户提供更好的使用效果,在iosapp中可以采用swift或objective-c编写代码,使用storyboard进行用户界面的开发设计;相应地,在androidapp中可以采用java或kotlin编写代码,使用xml进行用户界面的布局;在与服务端102进行交互时,通常是由客户端101向服务端102发起http请求,并发送服务端102需要的数据,等待服务端102处理完成后,向客户端101返回含有信息的json数据,因此客户端101还需要完成http请求和解析json数据的工作。

进一步地,服务端102可以依据人脸识别检测到的识别结果,进行更加深入细致的数据整合、分析、挖掘,以从大容量信息提取出富有规律性的具有潜在价值的信息内容,进而依据需求进行个性化定制服务,以可视化的方式呈现给用户;服务端102使用node.js的express框架编写服务端接口,实现客户端101和服务端102的对接;数据可视化部分采用了d3.js框架,整个页面呈现利用媒体查询实现响应式开发,通过在node.js里调用sql语句,对数据库进行查询操作。

进一步地,后台103提供强大的数据存储、计算和处理能力,是进行人脸识别和数据分析的基础;例如对于用户来说,只需要在客户端app中拍照,就可以识别出自己想知道的员工的信息,不用知道人脸识别具体是怎么实现的,从而降低了普通用户使用人脸识别技术的门槛;后台103可分为两部分,分别是人脸识别模块和数据库;人脸识别模块结合使用两个开源的深度学习框架——基于tensorflow(一个采用数据流图,用于数值计算的开源软件库)的facenet和基于mxnet的mtcnn;facenet使用了tensorflow的深度学习框架,网络结构为cnn(convolutionalneuralnetwork,卷积神经网络),通过cnn计算图片的triplet-loss对人脸进行识别。mtcnn使用了mxnet的深度学习框架,包含四个子网络,网络结构均为前向连接网络mlp,其作用是将图片中的人脸分割出来;人脸识别模块以numpy数组作为媒介,将mtcnn分割出来的人脸numpy数组进行适当的转换后直接作为facenet的输入,省去了读取和写入图片的步骤,提高执行效率。数据库采用mysql保存人员(例如公司员工)信息,通过特定的查询条件,可以查询到数据库中对应的记录;为了能够与人脸识别模型协作,使用python接收人脸识别模块的输出、对数据库进行操作,并使用python编写后台与前端的接口方法。

整个系统结构遵循mvc(model-view-controllerpattern,模型-视图-控制器设计模式)设计模式,移动app与web端可视化的部分作为系统的视图部分,数据库和人脸识别模型作为系统的模型部分,前端express接口作为系统的控制器部分,负责协调模型和视图之间的关系。

本发明通过结合深度学习和移动互联网的优势,为客户提供功能更加强大的人脸识别;同时,通过后台数据库的数据分析,能够为用户提供更加个性化的功能和服务。

综上所述,本发明提供一种基于人脸识别的信息获取方法及系统,所述方法包括:客户端通过摄像头拍摄图片后发送至服务端,服务端以预设形式接收客户端发送的图片,并进行编码处理后发送至后台;后台将接收的图片进行解码后对图片进行人脸识别,获取人脸识别结果并发送至服务端;服务端根据人脸识别结果在数据库中进行人脸匹配,当匹配成功后将对应的人员信息展示给客户端。本发明将人脸识别应用到移动互联网中,为用户提供了功能更强大的人脸识别,通过后台数据库的数据分析,为用户提供更加个性化的功能和服务,拓宽了人脸识别的应用场合,满足了不同场景的多元化需求。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1