一种基于视频流的人脸追踪与识别的系统及方法与流程

文档序号:18467038发布日期:2019-08-17 02:34阅读:193来源:国知局
一种基于视频流的人脸追踪与识别的系统及方法与流程
本发明涉及人脸追踪领域,具体涉及一种基于视频流的人脸追踪与识别的系统及方法。
背景技术
:近年来,随着人工智能与深度学习技术的快速发展,人脸识别技术已日渐成熟,百度、腾讯、阿里巴巴等互联网企业都已经涉足人脸识别领域,可以预见未来人脸识别技术将进入大规模产业化,人脸识别将带来“ai+垂直行业”的一场变革。技术实现要素:本发明所要解决的技术问题是提供一种基于视频流的人脸追踪与识别的系统及方法。为解决以上技术问题,本发明提供的技术方案为:遵循模块化设计原则,科学设计人脸追踪模块与人脸识别模块,设计追踪与识别的流程,设计一种基于视频流的人脸追踪与识别的系统,其创新点在于:包括红外人体传感器、摄像头和识别单元,所述识别单元用于控制人脸识别和追踪,所述识别单元包括人脸检测模块、人脸追踪模块、人脸识别模块、人脸特征数据库和识别记录库,所述摄像头通过usb连接线和识别单元连接,用于将人员画面信息发送给识别单元;所述红外人体检测器通过gpio接口与识别单元连接,用于将有行人信号发送给识别单元;所述人脸检测模块与人脸追踪模块相连,用于人脸坐标信息传递给人脸追踪模块;所述人脸追踪模块与人脸识别模块连接,用于将追踪的人脸特征信息传递给人脸检测识别模块,所述人脸识别模块还分别与人脸特征数据库和用于存储识别信息的识别记录库连接,用于与人脸特征数据库内人脸特征提取与相似度比较。为解决以上技术问题,本发明还提供一种基于视频流的人脸追踪与识别的方法,包括以下步骤:(1)当有人体进入红外人体传感器范围内时,传感器将信号发送至识别单元,控制识别单元启动视频显示,并启动人脸检测模块,若在特定时间内没有检测到人脸信息,则系统再次进入休眠状态,关闭视频显示,挂起人脸检测模块;(2)人脸检测模块从摄像头记录的视频帧中检测到人脸时,使用opencv在视频帧中绘制矩形框将人脸框出,并提取人脸坐标信息与人脸倾斜角度信息,所述人脸坐标信息包括矩形框的左上角坐标、右下角坐标和人脸中心坐标,提取完毕后传递给人脸追踪模块,当人脸检测模块检测到人脸移动至占用视频帧尺寸的70%时,启动人脸追踪模块;(3)人脸追踪模块调用人脸检测算法判断人脸检测模块传过来的人脸坐标信息是否有效,若坐标信息有效,每隔特定的帧间隔持续调用人脸检测算法重新获取当前人脸的坐标信息,并与之前的坐标信息进行对比,并通过定位人脸中心坐标d(x,y)的移动速度确保对单个人脸的长时间追踪,在获得特定帧间隔的人脸位置移动数据之后,采用平滑过渡的方式,将矩形框移动至人脸所在位置;(4)当进入人脸追踪模式后,系统会记录下人脸的驻留时间,并根据驻留时间的长短调用人脸识别模块,进行人脸识别;(5)人脸识别模块根据人脸追踪模块提供的人脸位置信息与倾斜角度信息,调用人脸识别算法抽取人脸特征值,并与人脸特征数据库中的特征进行相似度比较并选取相似度最高的结果来判断是否将人员信息传递给人脸追踪模块;若该结果的相似度数值大于特定阈值,则判定为识别成功,将人员信息传递给人脸追踪模块,人脸追踪模块继续追踪的同时,将人员信息显示在矩形框之上,标记该人脸所属的人员信息与类型,若结果的相似度数值小于该阈值,则判定为识别失败,此时不提交任何结果给人脸追踪模块;(6)若人脸识别成功,则将该人员的本次识别情况存入识别记录库中,并完成识别任务,若人脸追踪模块在长时间内都没有能够获取到特定人脸的人员信息,则判定为该人员未在该系统内注册,属于陌生人员,系统将截取人员图片,并存入识别记录中,以备审查。进一步的,所述步骤(2)中视频帧尺寸的70%的范围计算公式为:左上角坐标:((3/20)*l,(17/20)*w),右下角坐标:((17/20)*l,(3/20)*w),其中l为视频帧的长,w为视频帧的宽。进一步的,所述步骤(3)中的人脸中心座标d(x,y)的计算公式为d(x,y)=((eyeleft.x+eyeright.x)/2,(eyeleft.y+eyeright.y)/2),其中eyeleft.x为左眼位置的横坐标,eyeleft.y为左眼位置的纵坐标,eyeright.x为右眼位置的横坐标,eyeright.y为右眼位置的纵坐标。进一步的,所述步骤(3)中通过定位人脸中心坐标d(x,y)的移动速度确保对单个人脸的长时间追踪的方法为:根据人脸中心坐标d的相对位置变化以及帧间隔的时间来确定人脸移动速度,若移动速度在阈值之内,则将此次移动判定为同一人脸的正常移动,若人脸移动速度超过设定阈值,则表明可能出现其他干扰因素,判断为无效数据,中止人脸追踪。进一步的,所述步骤(4)中根据驻留时间的长短调用人脸识别模块的方法为:当检测到某一人脸的驻留时间不再增加,则说明该人脸已被遮挡或离开追踪区域,立即停止人脸追踪,当驻留时间达到预设识别时间,且人脸中心所在位置处于追踪范围之内,则判定为该人员需要进行人脸识别操作,则调用人脸识别模块。进一步的,所述步骤(3)中的帧间隔、步骤(4)中的预设识别时间、步骤(5)中的特定阈值均为用户设定。本发明和现有技术相比,产生的有益效果为:(1)低功耗,稳定性高:通过采用红外人体传感器,并严格控制各模块的工作条件与顺序,降低了系统运行时的能耗。当未检测到人体时,摄像头与识别单元处于休眠状态,减少能耗。当人脸出现在画面边缘部分时只进行人脸检测,而不进行追踪与识别,降低无效识别概率的同时,降低了功耗。(2)模块化设计:本方法将人脸识别的各个环节独立为模块,从设备唤醒到人脸检测到人脸追踪与人脸识别,各个模块相互配合。各个模块可独立更换,具有较高的可拓展性。(3)支持多人识别:本方法提出的人脸追踪算法适用于多人同时识别的场景,可以大大提高识别的速度,对于视频帧中出现的每个人脸都能够独立执行追踪与识别流程,保证了可靠性的同时,大大提高了使用的便捷性。附图说明为了更清晰地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明的一种基于视频流的人脸追踪与识别的系统结构图。图2是本发明的一种基于视频流的人脸追踪与识别的方法流程图。图3是本发明的各模块的安装示意图。图4是人脸追踪与人脸识别模块的触发条件示意图。具体实施方式下面将通过具体实施方式对本发明的技术方案进行清楚、完整地描述。本发明的一种基于视频流的人脸追踪与识别的系统,其结构如图1所示,包括红外人体传感器、摄像头和识别单元,所述识别单元用于控制人脸识别和追踪,所述识别单元包括人脸检测模块、人脸追踪模块、人脸识别模块、人脸特征数据库和识别记录库,所述摄像头通过usb连接线和识别单元连接,用于将人员画面信息发送给识别单元;所述红外人体检测器通过gpio接口与识别单元连接,用于将有行人信号发送给识别单元,;所述人脸检测模块与人脸追踪模块相连,用于人脸坐标信息传递给人脸追踪模块;所述人脸追踪模块与人脸识别模块连接,用于将追踪的人脸特征信息传递给人脸检测识别模块,所述人脸识别模块还分别与人脸特征数据库和用于存储识别信息的识别记录库连接,用于与人脸特征数据库内人脸特征提取与相似度比较。本发明的技术方案还包括一种基于视频流的人脸追踪与识别的方法,具体步骤流程如图2所示,包括以下六个步骤:(1)当有人体进入红外人体传感器范围内时,传感器将信号发送至识别单元,控制识别单元启动视频显示,并启动人脸检测模块。若在特定时间内没有检测到人脸信息,则系统再次进入休眠状态,关闭视频显示,挂起人脸检测模块;(2)人脸检测模块从摄像头记录的视频帧中检测到人脸时,使用opencv在视频帧中绘制矩形框将人脸框出,并提取人脸坐标信息与人脸倾斜角度信息,所述人脸坐标信息包括矩形框的左上角坐标、右下角坐标和人脸中心坐标,提取完毕后传递给人脸追踪模块,当人脸检测模块检测到人脸移动至占用视频帧尺寸的70%时,启动人脸追踪模块;其中,视频帧尺寸的70%范围的计算公式为:左上角坐标:((3/20)*l,(17/20)*w),右下角坐标:((17/20)*l,(3/20)*w)其中l为视频帧的长,w为视频帧的宽。(3)人脸追踪模块调用人脸检测算法判断人脸检测模块传过来的人脸坐标信息是否有效,若坐标信息有效,每隔特定的帧间隔持续调用人脸检测算法重新获取当前人脸的坐标信息,并与之前的坐标信息进行对比。通过定位人脸中心坐标d(x,y)的移动速度确保对单个人脸的长时间追踪,方法根据人脸中心坐标d的相对位置变化以及帧间隔的时间来确定人脸移动速度,若移动速度在合理的范围之内,则将此次移动判定为同一人脸的正常移动,若人脸移动速度超过设定阈值,则表明可能出现其他干扰因素,判断为无效数据,中止人脸追踪。在获得特定帧间隔的人脸位置移动数据之后,采用平滑过渡的方式,将矩形框移动至人脸所在位置,其中人脸中心座标d(x,y)的计算公式为d(x,y)=((eyeleft.x+eyeright.x)/2,(eyeleft.y+eyeright.y)/2),其中eyeleft.x为左眼位置的横坐标,eyeleft.y为左眼位置的纵坐标,eyeright.x为右眼位置的横坐标,eyeright.y为右眼位置的纵坐标。(4)当进入人脸追踪模式后,系统会记录下人脸的驻留时间(人脸在追踪范围内的停留时间),当检测到某一人脸的驻留时间不再增加,则说明该人脸已被遮挡或离开追踪区域,立即停止人脸追踪。当驻留时间达到预设识别时间,且人脸中心所在位置处于追踪范围之内,则判定为该人员需要进行人脸识别操作,调用人脸识别模块,进行人脸识别。(5)人脸识别模块根据人脸追踪模块提供的人脸位置信息与倾斜角度信息,调用人脸识别算法抽取人脸特征值,并与人脸特征数据库中的特征进行相似度比较并选取相似度最高的结果,若该结果的相似度数值大于某一特定阈值,则判定为识别成功,将人员信息传递给人脸追踪模块,人脸追踪模块继续追踪的同时,将人员信息显示在矩形框之上,标记该人脸所属的人员信息与类型。若结果的相似度数值小于该阈值,则判定为识别失败,此时不提交任何结果给人脸追踪模块。(6)若人脸识别成功,则将该人员的本次识别情况存入识别记录库中,并完成识别任务。若人脸追踪模块在长时间内都没有能够获取到特定人脸的人员信息,则判定为该人员未在该系统内注册,属于陌生人员,系统将截取人员图片,并存入识别记录中,以备审查。本发明的一种基于视频流的人脸追踪与识别的方法的步骤(3)中的帧间隔、步骤(4)中的预设识别时间、步骤(5)中的特定阈值均为用户根据实际情况设定。本发明的具体实施用例如图3所示:当有人靠近识别系统时,红外人体传感器检测到人体红外信号,将识别单元唤醒,识别单元控制启动视频画面显示,并启动人脸检测模块。人体检测模块检测当前视频画面中是否存在可识别人脸,若人脸处于视频画面边缘位置,则不执行任何操作,若在特定时间内没有检测到人脸信息或人脸长期处于边缘位置,则系统再次进入休眠状态,关闭视频显示,挂起人脸检测模块;当人脸检测模块检测到人脸移动至视频画面中央(视频帧尺寸的70%内)时,人脸检测模块将提取人脸矩形坐标信息与人脸倾斜角度信息并将其传递给人脸追踪模块,并唤醒人脸追踪模块,触发条件示意图如图4所示。人脸追踪模块对当前视频画面的中间部分进行截取,并调用人脸检测算法获取人脸坐标信息,若坐标信息有效,则用矩形框将人脸框出,并每隔特定的帧间隔持续调用人脸检测算法重新获取当前人脸的坐标信息,并与之前的坐标信息进行对比。根据人脸中心坐标d(x,y)的相对位置变化以及帧间隔的时间来确定人脸移动速度。若人脸移动速度超过设定阈值,则表明可能出现其他干扰因素,判断为无效数据,停止该人脸的追踪。若移动速度在合理的范围内之内,则将此次移动判定为同一人脸的正常移动,采用平滑过渡的方式,将矩形框移动至人脸所在位置。在人脸追踪的过程中,系统会记录下人脸的驻留时间,当检测到某一人脸的驻留时间不再增加,则说明该人脸已被遮挡或离开追踪区域,立即停止该人脸的追踪。当驻留时间达到预设识别开始时间,且人脸中心所在位置处于追踪范围之内,则判定为该人员需要进行人脸识别操作,调用人脸识别模块,进行人脸识别。人脸识别模块根据人脸追踪模块提供的人脸位置信息与倾斜角度信息,调用人脸识别算法抽取人脸特征值,并与人脸特征数据库中的特征进行相似度比较并选取相似度最高的结果,若该结果的相似度数值大于某一特定阈值,则判定为识别成功,将人员信息传递给人脸追踪模块,人脸追踪模块继续追踪的同时,将人员信息显示在矩形框之上,标记该人脸所属的人员信息与类型。若结果的相似度数值小于该阈值,则判定为识别失败,此时不提交任何结果给人脸追踪模块。若人脸识别成功,则将该人员的本次识别记录存入识别记录库中,并完成识别任务。若人脸追踪模块在长时间内都没有能够获取到特定人脸的人员信息,则判定为该人员未在该系统内注册,属于陌生人员,系统将截取人员图片,并存入识别记录中,以备审查。为实现多人同时追踪与识别,在人脸追踪的过程中,动态维护一个人脸数组,数组的每一项都包含以下信息:驻留时间用户昵称用户id人脸矩形左上角坐标人脸矩形右下角坐标人脸中心坐标样例3.5suser001(256,512)(512,256)(350,350)其中驻留时间指的是人脸进入追踪区域之后的停留时间,用户昵称和用户id默认为空,当人脸识别模块成功识别到系统内已注册人员后,将赋予特定用户的信息。若人脸追踪模块在长时间内都没有能够获取到特定人脸的人员的昵称与id,则判定为该人员未在该系统内注册,属于陌生人员,立即备案。人脸矩形左上角坐标是人脸检测算法给出的人脸矩形的左上角坐标,人脸矩形右下角坐标是人脸检测算法给出的人脸矩形的右下角坐标,人脸中心坐标是根据左右眼坐标计算出的人脸中心位置坐标,主要用于计算人脸的移动速度。建立人脸数组的好处在于,当画面中出现第二个人脸时,人脸追踪算法会判断目前画面中的人脸情况,若该新位置人脸与原有人脸都持续活跃,则判定为画面中已出现两个人脸,将在数组中新建一个追踪人脸信息,并持续追踪与识别,若第二个人脸进入的同时第一个人脸消失了,则会得到一个非常大的人脸移动速度,将会直接被判定为无效数据,重新构建新的人脸数组元素。上面所述的实施例仅仅是本发明的优选实施方式进行描述,并非对本发明的构思和范围进行限定,在不脱离本发明设计构思的前提下,本领域中普通工程技术人员对本发明的技术方案作出的各种变型和改进均应落入本发明的保护范围,本发明的请求保护的技术内容,已经全部记载在技术要求书中。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1