一种基于嵌入式系统的多线程人脸识别系统技术方案

技术编号:19009478 阅读:38 留言:0更新日期:2018-09-22 09:18
本发明专利技术公开了一种基于嵌入式系统的多线程人脸识别系统,采用将视频图像显示与人脸识别分别在多个线程中处理,同时为了平滑人脸检测的显示体验,采用运动模型预测可能的人脸位置实现平滑人脸检测的显示体验,极大的增强的嵌入式平台中人脸识别系统的性能。

A multi thread face recognition system based on Embedded System

The invention discloses a multi-threaded face recognition system based on an embedded system. Video image display and face recognition are processed in multiple threads respectively. In order to smooth the display experience of face detection, the display experience of smoothing face detection is realized by predicting the possible face position with motion model. The performance of face recognition system is enhanced in embedded platform.

【技术实现步骤摘要】
一种基于嵌入式系统的多线程人脸识别系统
本专利技术涉及人工智能领域,尤其涉及一种基于嵌入式系统的多线程人脸识别系统。
技术介绍
人脸识别技术涉及神经网络模型和深度学习(DL:DeepLearning)的人工智能(AI:ArtificialIntelligence)领域。深度学习网络由于通过组合底层特征形成高层特征,受环境变化的影响较小,运用在人脸识别和图像分类等方面具有超越了人类的识别准确度。然而,现有的高性能深度学习网络一般都有几百万甚至上亿个参数,这使得它的计算需要消耗巨大,限制了其应用于计算资源受限的设备,特别是前端的嵌入式产品的应用。由于对于安防人脸识别门禁和运输行业存在较大的限制。现有的基于深度学习技术的人脸识别算法在嵌入式环境中采用直接对每帧进行人脸识别,由于人脸识别的计算量大,在嵌入式上耗时严重,会导致严重的丢帧,视频卡顿和延时无法应用。对于人脸识别算法优化后,部分算法能够勉强运行在嵌入式环境中,但用户体验非常差,存在帧率低,反应慢的技术缺陷。
技术实现思路
针对现有技术中存在的上述问题,现提供一种基于嵌入式系统的多线程人脸识别系统。具体技术方案如下:一种基于嵌入式系统的多线程人脸识别系统,包括:摄像模块,用于对识别区域进行实时摄像以获取实时的视频帧;第一线程单元,连接所述摄像模块和一显示模块,用于将所述视频帧发送至所述显示模块中进行显示,并将所述视频帧发送至一第一缓冲队列中,所述第一线程单元通过一独立的第一线程运行;所述第一缓冲队列,连接所述第一线程单元,用于接收并存储所述视频帧;第二线程单元,连接所述第一缓冲队列,用于依次对所述第一缓冲队列中的所述视频帧进行人脸检测,并对检测到存在人脸特征的视频帧进行裁剪以获取面部图像,将所述面部图像发送至第二缓冲队列中,所述第二线程单元通过一独立的第二线程运行;所述第二缓冲队列,连接所述第二线程单元,用于接收并存储所述面部图像;第三线程单元,连接所述第二缓冲队列,用于依次对所述第二缓冲队列中的所述面部图像进行基于邻近算法的人脸识别,并输出识别结果,所述第三线程单元通过一独立的第三线程运行。优选的,还包括第四线程单元,分别连接所述第一缓冲队列、所述第二缓冲队列、所述第二线程单元,用于以预设的时间间隔进行平滑处理,所述第四线程单元通过一独立的第四线程运行。优选的,所述第四线程单元包括:第一定位单元,用于获取所述第二线程单元当前执行的第一视频帧与所述第一线程单元当前执行的第二视频帧,并识别获取所述第一视频帧中人脸框的中心坐标以作为第一中心坐标,识别获取所述第二视频帧中人脸框的中心坐标以作为第二中心坐标;计算单元,连接所述定位单元,用于计算获取所述第一中心坐标和所述第二中心坐标的距离差和方向角,并根据所述距离差及所述第一视频帧与所述第二视频帧生成的时间差,计算获取人脸移速;预测单元,连接所述计算单元,用于根据所述人脸移速、所述第二中心坐标、所述方向角、所述视频帧的生成时间差计算第三视频帧的中人脸框的预测中心坐标,所述第三视频帧为所述第二视频帧的下一生成的所述视频帧;第二定位单元,用于获取所述第三视频帧,并识别获取所述第三视频帧的人脸框的中心坐标以作为第三中心坐标;处理单元,连接所述预测单元和所述第二定位单元,用于在所述第三中心坐标与所述预测中心坐标一致时,将所述第一缓冲队列清空并存留所述第三视频帧,将所述第二缓冲队列清空。优选的,所述第二线程单元包括:检测单元,用于依次对所述第一缓冲队列中的所述视频帧进行人脸检测,获取存在人脸的所述视频帧;分析单元,连接所述检测单元,用于对存在人脸的所述视频帧进行基于人脸模型的比对分析,获取面部关键特征点;裁剪单元,连接所述分析单元,用于根据所述面部关键特征点框选出所述面部图像,并将所述面部图像发送至所述第二缓冲队列中。优选的,所述第一线程单元还包括:溢出判断单元,用于在所述视频帧发送至所述第一缓冲队列前,判断所述第一缓冲队列是否溢出;若是,则并删除所述视频帧;若否,则执行将所述视频帧发送至所述第一缓冲队列的操作。优选的,所述的基于嵌入式系统的多线程人脸识别系统,还包括一数据库,所述数据库中预存有多组人脸参数及对应的身份信息;所述第三线程单元包括:特征值获取单元,用于依次对所述第二缓冲队列中的面部图像进行计算以获取所述面部图像的特征值;相似度计算单元,连接所述特征值获取单元和所述数据库,用于采用临近算法将所述特征值分别与每组所述人脸参数进行运算获取余弦相似度;相似度判断单元,连接所述相似度计算单元,用于获取所述余弦相似度最高的所述人脸参数及对应的身份信息以作为所述识别结果。优选的,一种人脸识别设备,其特征在于,包括上述任一所述的多线程人脸识别系统。上述技术方案具有如下优点或有益效果:采用将视频图像显示与人脸识别分别在多个线程中处理,同时为了平滑人脸检测的显示体验,采用运动模型预测可能的人脸位置实现平滑人脸检测的显示体验,极大的增强的嵌入式平台中人脸识别系统的性能。附图说明参考所附附图,以更加充分的描述本专利技术的实施例。然而,所附附图仅用于说明和阐述,并不构成对本专利技术范围的限制。图1为本专利技术实施例中多线程人脸识别系统的结构示意图;图2为本专利技术实施例中第四线程单元的结构示意图;图3为本专利技术实施例中第二线程单元的结构示意图;图4为本专利技术实施例中第三线程单元的结构示意图;图5为本专利技术实施例中进行人脸识别的流程图;图6为本专利技术实施例中第四线程单元进行平滑处理的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。下面结合附图和具体实施例对本专利技术作进一步说明,但不作为本专利技术的限定。本专利技术一种较佳的实施例中,根据图1所示,一种基于嵌入式系统的多线程人脸识别系统,包括:摄像模块1,用于对识别区域进行实时摄像以获取实时的视频帧;第一线程单元2,连接摄像模块1和一显示模块,用于将视频帧发送至显示模块中进行显示,并将视频帧发送至一第一缓冲队列3中,所述第一线程单元通过一独立的第一线程运行;第一缓冲队列3,连接第一线程单元2,用于接收并存储视频帧;第二线程单元4,连接第一缓冲队列3,用于依次对第一缓冲队列3中的视频帧进行人脸检测,并对检测到存在人脸特征的视频帧进行裁剪以获取面部图像,将面部图像发送至第二缓冲队列5中,所述第二线程单元通过一独立的第二线程运行;第二缓冲队列5,连接第二线程单元4,用于接收并存储面部图像;第三线程单元6,连接第二缓冲队列5,用于依次对第二缓冲队列5中的面部图像进行基于邻近算法的人脸识别,并输出识别结果,所述第三线程单元通过一独立的第三线程运行。本专利技术一种较佳的实施例中,根据图5所示,一种基于嵌入式系统的多线程人脸识别方法,包括以下步骤:步骤S1:采用摄像模块1实时生成视频帧;步骤S2:采用第一线程单元2将视频帧发送至显示模块中进行显示,并将视频帧发送到第一缓冲队列3中;步骤S3:采用第二线程单元4依次对第一缓冲队列本文档来自技高网...
一种基于嵌入式系统的多线程人脸识别系统

【技术保护点】
1.一种基于嵌入式系统的多线程人脸识别系统,其特征在于,包括:摄像模块,用于对识别区域进行实时摄像以获取实时的视频帧;第一线程单元,连接所述摄像模块和一显示模块,用于将所述视频帧发送至所述显示模块中进行显示,并将所述视频帧发送至一第一缓冲队列中,所述第一线程单元通过一独立的第一线程运行;所述第一缓冲队列,连接所述第一线程单元,用于接收并存储所述视频帧;第二线程单元,连接所述第一缓冲队列,用于依次对所述第一缓冲队列中的所述视频帧进行人脸检测,并对检测到存在人脸特征的视频帧进行裁剪以获取面部图像,将所述面部图像发送至第二缓冲队列中,所述第二线程单元通过一独立的第二线程运行;所述第二缓冲队列,连接所述第二线程单元,用于接收并存储所述面部图像;第三线程单元,连接所述第二缓冲队列,用于依次对所述第二缓冲队列中的所述面部图像进行基于邻近算法的人脸识别,并输出识别结果,所述第三线程单元通过一独立的第三线程运行。

【技术特征摘要】
1.一种基于嵌入式系统的多线程人脸识别系统,其特征在于,包括:摄像模块,用于对识别区域进行实时摄像以获取实时的视频帧;第一线程单元,连接所述摄像模块和一显示模块,用于将所述视频帧发送至所述显示模块中进行显示,并将所述视频帧发送至一第一缓冲队列中,所述第一线程单元通过一独立的第一线程运行;所述第一缓冲队列,连接所述第一线程单元,用于接收并存储所述视频帧;第二线程单元,连接所述第一缓冲队列,用于依次对所述第一缓冲队列中的所述视频帧进行人脸检测,并对检测到存在人脸特征的视频帧进行裁剪以获取面部图像,将所述面部图像发送至第二缓冲队列中,所述第二线程单元通过一独立的第二线程运行;所述第二缓冲队列,连接所述第二线程单元,用于接收并存储所述面部图像;第三线程单元,连接所述第二缓冲队列,用于依次对所述第二缓冲队列中的所述面部图像进行基于邻近算法的人脸识别,并输出识别结果,所述第三线程单元通过一独立的第三线程运行。2.根据权利要求1所述的基于嵌入式系统的多线程人脸识别系统,其特征在于,还包括第四线程单元,分别连接所述第一缓冲队列、所述第二缓冲队列、所述第二线程单元,用于以预设的时间间隔进行平滑处理,所述第四线程单元通过一独立的第四线程运行。3.根据权利要求1所述的基于嵌入式系统的多线程人脸识别系统,其特征在于,所述第四线程单元包括:第一定位单元,用于获取所述第二线程单元当前执行的第一视频帧与所述第一线程单元当前执行的第二视频帧,并识别获取所述第一视频帧中人脸框的中心坐标以作为第一中心坐标,识别获取所述第二视频帧中人脸框的中心坐标以作为第二中心坐标;计算单元,连接所述定位单元,用于计算获取所述第一中心坐标和所述第二中心坐标的距离差和方向角,并根据所述距离差及所述第一视频帧与所述第二视频帧生成的时间差,计算获取人脸移速;预测单元,连接所述计算单元,用于根据所述人脸移速、所述第二中心坐标、所述方向角、所述视...

【专利技术属性】
技术研发人员:乐毅
申请(专利权)人:开放智能机器上海有限公司
类型:发明
国别省市:上海,31

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

1