一种基于嵌入式人工智能芯片的人脸识别安防报警方法与流程

文档序号:19312065发布日期:2019-12-03 23:37阅读:606来源:国知局
一种基于嵌入式人工智能芯片的人脸识别安防报警方法与流程

本发明属于智能识别技术领域,尤其涉及一种基于嵌入式人工智能芯片的人脸识别安防报警方法。具体涉及一种基于嵌入式人工智能芯片的可进行视频获取、传输、保存;人脸定位、人脸识别以及报警信息、视频信息发送的人脸识别安防报警方法。



背景技术:

目前,最接近的现有技术:

安防问题一直是一个生活中突出的问题,无论是门禁还是监控方式都存在着一些不能解决的问题,如:实时报警,证据视频保存,机器主动识别等。在当今这个大的环境下,无论是家庭安防、店铺安防,还是公司安防都存在着诸多的问题,虽然市面上可见的安防产品层出不穷,但是实时监控报警手段却不太理想,有的只能做监控,有的需要触碰红线,也有一部分是做门禁,但这些都不够灵活,在对付那些有经验的入侵者时很难做到安全防护。

现有技术不能及时报警且不能将入侵证据长效保存,而且人脸识别流程不完善,几乎所有能人脸识别的产品都是发送数据给第三方服务器来识别,而不是产品本身识别,这样就产生了一些问题(如延时、安全、数据丢失等);而偏智能化的一些产品成本普遍较高。

综上所述,现有技术存在的问题是:

(1)现有技术不能将入侵证据长效保存。

(2)现有技术人脸识别流程不完善,存在延时、安全、数据丢失等问题。

(3)现有技术大多以依赖第三方服务器资源来做人脸识别,这导致识别过程需要经过网络通道,则必然存在延时长,数据丢失等问题,实时性能不好。

(4)现有技术不能实现智能提取入侵证据并保存,只能保存所采集的监控视频,这就使得在查找证据时较为麻烦。

(5)现有技术不能做到将入侵的视频证据实时推送至用户端方便用户进行查看和及时报警。

(6)现有的报警方法无法做到实时判断并根据判断结果进行实时报警,需要借助外界多级判别才能确定结果,往往错过了破案的最佳时间。

解决上述技术问题的难度:

如何改变传统的通过将视频数据上传至设备生产商的服务器来识别入侵人脸再向用户移动端反馈数据,而在高集成性的嵌入式开发板上进行实时人脸定位,运用深度学习中的人脸识别模型,与用户人脸数据库中自行添加的人脸数据进行识别对比,识别的同时向用户提供报警和证据保存,方便用户获取识别信息和提取入侵证据,用户可在手机端播放视频、提示报警。

解决上述技术问题的意义:

基于上述技术问题,本方法实现了监控现场实时人脸识别,识别结果主动反馈至用户端报警以及证据多端存储的一体化。用户可自行添加或删除人脸数据库中的人脸数据,保证了用户的使用自主性,同时对识别结果可做到及时感知和判断,增加了安防私密性和可靠性。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于嵌入式人工智能芯片的人脸识别安防报警系统及方法。

本发明是这样实现的,一种基于嵌入式人工智能芯片的人脸识别安防报警系统及方法,所述基于嵌入式人工智能芯片的人脸识别安防报警的方法包括以下步骤:

步骤一,采用python语言驱动opencv函数库调用usb摄像头,将摄像头采集到的图像数据自动转换成python语言中的numpy数组,图像数组的大小固定为length*weight(640*480),然后将获得到的图像数组传递给实时检测模块,直接将视频信息读取到计算机内存中保存,等待识别和发送;同时利用互联网,采用tcp/ip协议,与远端主机建立连接发送数据,将视频信息存储在局域网内的另一台电脑或者是局域网外的服务器的存储资源上,并进行人脸数据库初始化(人脸特征向量提取):在程序初始化时,先将需要识别的人脸作为标准识别对象,将其这些标准识别对象的人脸图像经过深度学习模型(mobilefacenet)的卷积特征向量提取,得到人脸特征值d1*d1*c,d1表示每次的输出特征向量的大小,c表示输出特征向量的维度;经过多次这种特征向量提取步骤获得总的特征向量:(此处将dk*dk简化为fk,c就是其通道数n)最后将这个特征向量由卷积神经网络的全连接层转换为一维向量{(x0,y0),(x1,y1),(x2,y2)…(xn,yn)}然后将所有特征向量保存到程序的存储单元。;

步骤二,采用深度学习的方式,以计算机(jetsonnano开发板)做矩阵卷积运算方式实现人脸定位;采用深度学习的方式,计算机(jetsonnano开发板)以深度学习训练好的人脸识别模型作为基础,调用模型进行人脸识别,并将识别结果作为第三部分的报警结果来源;

其中,检测单元将视频采集到的图像获取后,将640*480的数组经过深度学习模型(mtcnn)的卷积定位运算,获取到人脸的位置boundingbox(_x0,_y0)、length、high,分别人脸框中心,人脸框的长度,人脸框的高度;然后通过opencv库将人脸框里的图像剪切下来,用于识别;识别之前已经获取了一张l*w大小的图像,将这个l*w固定为112*112大小,作为识别人脸的图像;将得到的112*112图像经过上述人脸特征向量提取步骤,既可以得到当前检测图像的人脸特征向量{xnow,ynow}。

将获取的当前图像人脸特征向量与初始化的人脸数据库的向量做欧式距离比较,距离为计算后得到一组距离值{d0,d1,d2,d3…,dn},然后取其中最小值dmin作为判断标志,由于深度学习模型在训练的时候是以dk≤1.24来进行训练的,所以dmin≤1.24时记录对应的人脸标签作为识别结果,若dmin>1.24就判断为陌生人记为“unknow”标签。步骤三,手机app进行警报等级判断,同时进行证据存储,并将报警信息上传服务器;同时利用开源的mqtt协议,将分析结果在报警模块中启动报警等级,向用户手机app推送报警信息;

其中,由步骤二得到dmin判断的结果标签以后,由于一张图像中可能包含多个人脸,故在每次判断获取标签的同时,记录所获得的标签是否为陌生人;分级报警实现步骤如下:

定义一种数据结构,该数据结构仅含有存储陌生人数量(记为un_num)和认识人数量(记为kn_num),当检测模块识别到为认识人时kn_num=kn_num+1,否则un_num=un_num+1,识别完以后,根据kn_num与un_num值与0的关系分级报警,当kn_num为0时,系统启动一级别报警,当un_num,kn_num都不为0时启动二级报警,当un_num为0时不报警(三级报警)。

步骤四,将视频数据传输到远端另存、视频上传外网服务器;

其中,将识别得到的结果通过互联网将这些图像数据传输到局域网下的另一台主机,发送的时候需要将图像编码,原始编码为普通的十进制浮点数据,将其转换为二进制字节流以后以tcp/ip传输协议传送到另一台主机上,由另一台主机将传输过来的数据保存下来。

步骤五,用户端手机app可以采用拉取rtmp视频流的方式显示实时监控画面,同时将mqtt的消息及时获取即可达到实时报警功能;报警同时也可短信报警通知。

其中,采用mqtt消息传输协议传送消息到用户手机提醒用户家庭人员情况,同时采用rtmp实时视频传输协议将实时视频显示到用户手机。

进一步,s步骤三中,所述警报等级判断、证据存储、报警信息上传服务器具体包括:

(1)警报等级判断:根据识别结果将警报分级,可划分为三个等级:

一级警报:监控区域只含陌生人;

二级警报:监控区域陌生人和已认识的人同时存在;

三级警报:监控区域无人或者只存在已认识的人;

所述警报等级判断由程序完成;

(2)证据存储:若判定为一级警报,则触发证据存储模块,将入侵者的脸部特征和行动情况视频作为证据现场保存在机器上(jetsonnano开发板);

(3)报警信息上传服务器:

将判断到的警报等级以0,1,2的形式发送到mqtt服务器;同时以短信推送消息的方式实现二次警报推送。

进一步,步骤四中,所述视频数据传输到远端另存、视频上传外网服务器具体包括:

(1)视频数据传输到远端另存:

采用互联网的tcp/ip协议,与远端主机建立连接发送数据,视频信息可存储在与其建立socket连接的计算机上,这台计算机一般是设置为局域网中的另一台计算机,如有特别许可,可使用外网计算机作为存储资源;

(2)视频上传外网服务器:

局域网下的另一台计算机获取到数据以后,在保存的同时,将视频帧传输到rtmp协议的服务器(srs、red5等),此时用户手机端即可采用app向服务器拉取视频信息和实时接受mqtt服务器传输来的信息作为提示报警的方法。

进一步,步骤四中,所述报警信息、视频信息发送后视频信息显示通过利用开源的rtmp协议,将采集到的视频结果发送到服务器端,用户使用手机app来接收服务发送的视频结果,全套流程建立在互联网的基础上。

本发明另一目的在于提供一种实施所述基于嵌入式人工智能芯片的人脸识别安防报警的方法的终端。

本发明另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述基于嵌入式人工智能芯片的人脸识别安防报警的方法。

本发明另一目的在于提供一种实施所述基于嵌入式人工智能芯片的人脸识别安防报警系统。

综上所述,本发明的优点及积极效果为:

本发明利用摄像头采集实时视频,并在实时视频中加入人脸识别部分,每时每刻做人脸识别,一旦检测到该监控区域内有陌生人就采取报警形式直接向用户提示,不但可以解决安防实时性的问题,而且可以解决当入侵者闯入时直接保存证据的问题,全套工作均由计算机解决。

本发明采用嵌入式人工智能芯片arm智能集成开发板(jetsonnano)作为识别的硬件资源,可直接对传输的视频进行实时人脸识别,不需要发送数据给第三方服务器来识别。

本发明可做到实时监控报警、证据保存并且用户可直接使用手机app播放显示实时画面,成本低。

本发明采用的已获开源认证的人脸识别模型准确率高达99.47%。如图8所示

本发明采用多级智能报警,可以在判别等级为一级警报时不通过用户而直接报警,等级为二级警报以下时实时向用户移动端发送视频进行用户判断,既减少了传统方法只能用户判断之后再报警的繁琐的中间过程,也为之后的破案争取了更多的时间。

附图说明

图1是本发明实施例提供的基于嵌入式人工智能芯片的人脸识别安防报警方法流程图。

图2是本发明实施例提供的基于嵌入式人工智能芯片的人脸识别安防报警方法原理图。

图3是本发明实施例提供的基于嵌入式人工智能芯片的人脸识别安防报警方法工作流程图。

图4是本发明实施例提供的人脸识别流程图。

图5是本发明实施例提供的报警信息传输示意图。

图6是本发明实施例提供的视频信息传输示意图。

图7是本发明实施例提供的总的错误比率图。

图8是本发明实施例提供的正脸进行检测:识别认识的人,并显示姓名图。

图9是本发明实施例提供的对侧脸进行检测:识别认识的人,并显示姓名图。

具体实施方式

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

现有技术不能将入侵证据长效保存。现有技术人脸识别流程不完善,存在延时、安全、数据丢失等问题。

针对现有技术存在的问题,本发明提供了一种基于嵌入式人工智能芯片的人脸识别安防报警方法,下面结合技术方案对本发明作详细的描述。

如图1所示,本发明实施例提供的基于嵌入式人工智能芯片的人脸识别安防报警方法包括。

s101,采用python语言调用opencv库获取摄像头视频内容,直接将视频信息读取到内存中保存,等待识别和发送;同时利用互联网,采用tcp/ip协议,与远端主机建立连接发送数据,将视频信息存储在局域网内的另一台电脑或者是局域网外的服务器的存储资源上。

s102,采用深度学习的方式,以计算机(jetsonnano开发板)做矩阵卷积运算方式实现人脸定位;采用深度学习的方式,计算机(jetsonnano开发板)以深度学习训练好的人脸识别模型作为基础,调用模型进行人脸识别,并将识别结果作为第三部分的报警结果来源。

s103,手机app进行警报等级判断,同时进行证据存储,并将报警信息上传服务器;同时利用开源的mqtt协议,将分析结果在报警模块中启动报警等级,向用户手机app推送报警信息。

s104,将视频数据传输到远端另存、视频上传外网服务器。

s105,用户端手机app可以采用拉取rtmp视频流的方式显示实时监控画面,同时将mqtt的消息及时获取即可达到实时报警功能;报警同时也可短信报警通知。

步骤s101具体包括:

采用python语言驱动opencv函数库调用usb摄像头,将摄像头采集到的图像数据自动转换成python语言中的numpy数组,图像数组的大小固定为length*weight(640*480),然后将获得到的图像数组传递给实时检测模块,直接将视频信息读取到计算机内存中保存,等待识别和发送。

同时利用互联网,采用tcp/ip协议,与远端主机建立连接发送数据,将视频信息存储在局域网内的另一台电脑或者是局域网外的服务器的存储资源上,并进行人脸数据库初始化。

所述人脸数据库初始化,包括:

先将需要识别的人脸作为标准识别对象,将其这些标准识别对象的人脸图像经过深度学习模型的卷积特征向量提取,得到人脸特征值d1*d1*c,d1表示每次的输出特征向量的大小,c表示输出特征向量的维度。经过多次这种特征向量提取步骤获得总的特征向量:其中,dk*dk简化为fk,c为通道数n。

将这个特征向量由卷积神经网络的全连接层转换为一维向量{(x0,y0),(x1,y1),(x2,y2)…(xn,yn)}。

再将所有特征向量保存到程序的存储单元。

步骤s102具体包括:

检测单元将视频采集到的图像获取后,将640*480的数组经过深度学习模型(mtcnn)的卷积定位运算,获取到人脸的位置boundingbox(_x0,_y0)、length、high,分别人脸框中心,人脸框的长度,人脸框的高度。

然后通过opencv库将人脸框里的图像剪切下来,用于识别。识别之前已经获取了一张l*w大小的图像,将这个l*w固定为112*112大小,作为识别人脸的图像。将得到的112*112图像经过上述人脸特征向量提取步骤,得到当前检测图像的人脸特征向量{xnow,ynow}。

将获取的当前图像人脸特征向量与初始化的人脸数据库的向量做欧式距离比较,距离为计算后得到一组距离值{d0,d1,d2,d3…,dn},

取最小值dmin作为判断标志,深度学习模型在训练中,以dk≤1.24进行训练,dmin≤1.24时记录对应的人脸标签作为识别结果,若dmin>1.24判断为陌生人记为unknow标签。

步骤s103app进行警报等级判断中,由步骤二得到dmin判断的结果标签以后,由于一张图像中可能包含多个人脸,故在每次判断获取标签的同时,记录所获得的标签是否为陌生人。

分级报警的方法包括:

新定义一种数据结构,该数据结构仅含有存储陌生人数量un_num和认识人数量kn_num。当检测模块识别到为认识人时kn_num=kn_num+1,否则un_num=un_num+1,识别完以后,根据kn_num与un_num值与0的关系分级报警,当kn_num为0时,系统启动一级别报警,当un_num,kn_num都不为0时启动二级报警,当un_num为0时不报警。

步骤s104中,将识别得到的结果通过互联网将这些图像数据传输到局域网下的另一台主机,发送时将图像编码,原始编码为普通的十进制浮点数据,转换为二进制字节流以后以tcp/ip传输协议传送到另一台主机上,由另一台主机将传输过来的数据保存下来。

步骤s105中,采用mqtt消息传输协议传送消息到用户手机提醒用户家庭人员,同时采用rtmp实时视频传输协议将实时视频显示到用户手机。

下面结合附图对本发明作进一步描述。

图2是本发明实施例提供的基于嵌入式人工智能芯片的人脸识别安防报警方法原理图。

图3是本发明实施例提供的基于嵌入式人工智能芯片的人脸识别安防报警方法工作流程图。

如图2与图3所示,步骤s102中,通过摄像头采集所监控区域的实时人员情况数据,接着通过传输端口送入集成开发板进行人脸定位识别运算,并进行实时的视频证据保存,接着将计算得到的结果进行警报等级判定,入侵视频进行备份并通过外网服务器发送至用户移动端实时查看。

图4是本发明实施例提供的人脸识别流程图。

如图4所示,步骤s102中,将摄像头采集的视频数据按照开发板运算适合的帧数送入,迭代获得每一次读入的数字图像信息,接着加载已经训练好的人脸数据模型,对读入的图像进行人脸的准确定位,并提取其人脸的特征信息,与人脸数据库中已存在的人脸数据做特征信息的识别对比,将识别结果进行分析判级,得到其对应的警报等级,等级结果最后送入报警与传输模块。

如图5所示,步骤s103中,本发明实施例提供的警报等级判断、证据存储、报警信息上传服务器具体包括:

(1)警报等级判断:根据识别结果将警报分级,可划分为三个等级:

一级警报:监控区域只含陌生人;

二级警报:监控区域陌生人和已认识的人同时存在;

三级警报:监控区域无人或者只存在已认识的人;

所述警报等级判断由程序完成;

(2)证据存储:若判定为一级警报,则触发证据存储模块,将入侵者的脸部特征和行动情况视频作为证据现场保存在机器上(jetsonnano开发板);

(3)报警信息上传服务器:

将判断到的警报等级以0,1,2的形式发送到mqtt服务器;同时以短信推送消息的方式实现二次警报推送。

如图6所示,步骤s104中,本发明实施例提供的视频数据传输到远端另存、视频上传外网服务器具体包括:

(1)视频数据传输到远端另存:

采用互联网的tcp/ip协议,与远端主机建立连接发送数据,视频信息可存储在与其建立socket连接的计算机上,这台计算机一般是设置为局域网中的另一台计算机,如有特别许可,可使用外网计算机作为存储资源;

(2)视频上传外网服务器:

局域网下的另一台计算机获取到数据以后,在保存的同时,将视频帧传输到rtmp协议的服务器(srs、red5等),此时用户手机端即可采用app向服务器拉取视频信息和实时接受mqtt服务器传输来的信息作为提示报警的方法。

步骤s104中,本发明实施例提供的报警信息、视频信息发送后视频信息显示通过利用开源的rtmp协议,将采集到的视频结果发送到服务器端,用户使用手机app来接收服务发送的视频结果,全套流程建立在互联网的基础上。

下面结合具体实验及实施例对本发明做进一步描述。

实施例1:

opencv库:计算机开源的一个图像处理模块,用于获取摄像头数据。tcp/ip协议:网络通信协议,互联网通信基础架构。深度学习:利用计算机人工神经网络对输入数据做特征提取,以达到机器类似人脑学习的能力。

矩阵卷积运算:计算机深度学习中人工神经网络的底层计算方式,其存在于cnn神经网络中。人脸识别模型:用于人脸识别计算的黑匣子,该模型实际就是一组非常复杂的数学公式,只是由计算机学习而来的,图像通过该数学公式计算以后就得到了另一组数据,这组数据就可以作为分类的依据。rtmp协议:realtimemessagingprotocol(实时消息传输协议)由flashadoub一种流媒体传输协议,可以实时传输视频帧,但需要中间服务器作为中转站。mqtt协议:messagequeuingtelemetrytransport(消息队列遥测传输协议)由ibm推出的一种即时通信的协议,用于消息传输,依赖中间服务器中转传输消息。

实施例2:

以下为嵌入式智能芯片以生活中真实监控视频为基础的人脸识别准确率的五组测试结果,每一组中包含一千帧左右的数据,每一组都是先经过机器识别再由人工识别判断得出的结果。下表中,第一列代表着生活中会出现的任何人的标签(此处仅为实验中出现的人,以姓名首字母作为标签);第二列表示智能芯片是否能识别此人(认识此人);第三列为这组帧数据中真实出现该人的次数;第四列表示识别算法实际检测出来该人的次数,第五列为对应标签的识别准确率。因为每组帧数据中一定有无人脸出现的帧,所以无人脸的帧以e标签表示,同时一帧数据中可能包含多张人脸,但此处无法体现,但将一列的“实际数量”加起来可以得出总和大于总帧数的结果,及可说明有部分数据帧包含多张人脸。

在这些数据中可以说明方案的识别准确性,对于某些人的识别准确率可能很高,对于另外一些人识别率也有可能比较低,但是当出现次数较大时,可以得到较大的识别准确。特殊情况说明:由于五组实验中的m标签人是带帽子出现,由于帽子可能会遮挡脸部信息,所以较之与其他标签识别率对比相对较低。

同时,其五组实验中的错误判断在表六中体现出来,误判情况:a→b表示将标签a误判成了标签b;帧数:为错误判断次数;错误总帧数:为本次实验中出错的总帧数;误判率:为本次实验中出现错误判断的概率。其总的误判帧数相对而言比例较低,结果比较可观,图7为总的错误比率图。

下面结合具体实验对本发明作进一步描述。

对实时摄像头可视区域内的人脸进行识别的结果,可同时显示多人;陌生人显示为unknow,认识的人显示其姓名。

图8所示,正脸进行检测:识别认识的人,并显示姓名。

图9所示,对侧脸进行检测:识别认识的人,并显示姓名。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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