本发明涉及一种人脸识别方法及系统。
背景技术:
针对视频流中多人脸识别问题,现有的方法通常从中选取一张合适的图片或者使用多目标跟踪方法来进行人脸识别。其中选取一张图片的方法没有充分利用视频序列中包含的有效信息,而使用多目标跟踪的方法则大大增加了整个识别方法的复杂性和实现难度。
技术实现要素:
为解决以上技术缺陷,本发明提供一种人脸识别方法,其特征在于:包括步骤:
s1:获取当前帧视频中所有人脸特征数据,并将所有人脸特征数据;
s2:分别计算该人脸特征数据与人脸数据库中的每个人脸特征数据之间相似度值,根据计算得出的相似度值中,从人脸数据库中获取n个相似数值相对大所对应的注册人脸id及相应的相似度值;
s3:获取当前帧视频前m帧视频中人脸特征数据组;
s4:计算人脸特征数据a分别与前m帧视频人脸特征数据组中每个人脸特征数据之间相似度值,设定三个相似度阀值分别为阀值一、阀值二、阀值三,将计算得出的相似度值分别与阀值一进行对比,从前m帧视频中每个人脸特征数据获取相似数值大于或等于阀值一的人脸特征数据组及相应的相似度值;
s5:合并n个注册人脸id与人脸特征数据组以及其相对应的相似度值得到合并数据。
s6:根据合并数据综合判断出最大相似数值所对应的人脸id是否在人脸数据库,若s5中,合并数据中,最大相似度数值大于阈值二且最大相似度数值除以第二大相似度数值大于阈值三,那么最大相似度对应的注册人脸id存在人脸数据库中,否则该人脸不存在注册人脸数据库中。
进一步地,步骤s1中,获取当前帧视频数据,检测当前帧中的所有人脸,分别对并提取人脸特征数据a。其中,人脸特征数据提取方法包括基于人脸特征点的识别算法、基于模板的识别算法和基于神经网络的识别的算法。
进一步地,步骤s2、s3中,人脸特征数据之间的相似度计算可采用余弦距离或欧式距离计算,或者其他合适的距离计算方法。
进一步地,步骤s3中,相似阀值的选择根据所选择的相似度计算方法和具体场景而定。
进一步地,m的取值根据具体的场景条件而定。
进一步地,步骤s4中,合并数据过程中,当人脸特征数据组中某个人脸特征数据已经存在n个注册人脸id中某个id对应时,那么该注册人脸id对应的相似度将加上该人脸特征数据对应的相似度;当人脸特征数据组没有与n个注册人脸id对应时,将该人脸特征数据添加到n个注册人脸id中得到合并数据。
本发明还提供一种人脸识别系统,包括视频采集模块、数据库模块、单帧图像处理计算模块、多帧联合处理模块、最终输出模块;
视频采集模块用于采集视频序列中视频数据以及并传递给单帧图像处理计算模块;
数据库模块用于接收用户的注册人脸特征数据,并保存该数据供其他模块使用;
单帧图像处理计算模块用于接收视频采集模块的视频数据帧,进行人脸检测、提取当前帧的人脸特征数据a,并将分别计算人脸特征数据a与数据库模块内所有人脸特征数据之间相似度值,选取n个相似数值相对大所对应的注册人脸id及其相应的相似度值;用于获取前m帧视频中人脸特征数据组b且分别计算其与人脸特征数据a的相似值,设定相似度阀值一,将计算得出的相似度值分别与阀值一进行对比,从前m帧视频中每个人脸特征数据获取相似数值大于或等于阀值一的人脸特征数据组c及其相应的相似度值;
多帧联合处理模块用于将n个相似数值相对大所对应的注册人脸id与人脸特征数据组c及其对应相似值进行合并得到合并数据组,并将合并数据组传递给最终结果输出模块;
最终输出模块用于接收多帧联合处理模块的合并数据组,根据合并数据综合判断出最大相似数值所对应的人脸id是否在人脸数据库。
本发明的有益效果:本发明的方法易于实现,不使用跟踪算法也能利用了多帧视频中的人脸信息,同时可避免遮挡和快速运动带来的问题。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种人脸识别方法,包括步骤:
s1:获取当前帧视频中人脸特征数据a,假如,当前帧视频中出现很多人脸时,人脸特征数据a为很多人脸其中一个人脸特征数据。
s2:分别计算人脸特征数据a与人脸数据库中每个人脸特征数据之间相似度值,根据计算得出相似度值,从人脸数据库中获取n个相似数值相对大所对应的注册人脸id及其相应的相似度值;
s3:获取前m帧视频中人脸特征数据组b;
s4:分别人脸特征数据a分别与前m帧视频中每个人脸特征数据之间相似度值,设定三个相似度阀值分别为阀值一、阀值二、阀值三,将计算得出的相似度值分别与阀值一进行对比,从前m帧视频中每个人脸特征数据获取相似数值大于或等于阀值一的人脸特征数据组c及其相应的相似度值;
s5:合并n个注册人脸id与人脸特征数据组c以及其相对应的相似度值得到合并数据组。
s6:根据合并数据组综合判断出最大相似数值所对应的人脸id是否在人脸数据库,若s5中,合并数据组中,最大相似度数值大于阈值二且最大相似度数值除以第二大相似度数值大于阈值三,那么最大相似度对应的注册人脸id存在人脸数据库中,否则该人脸不存在注册人脸数据库中。
具体地,步骤s1中,获取当前帧视频数据,检测当前帧中的人脸,并提取人脸特征数据a。其中,人脸特征数据提取方法包括基于人脸特征点的识别算法、基于模板的识别算法和基于神经网络的识别的算法,本领域技术人员可根据需要选择其中一种或多种。
具体地,步骤s2、s3中,人脸特征数据之间的相似度计算可采用余弦距离或欧式距离计算,或者其他合适的距离计算方法。而且,优选地,步骤s2中,n值取值大于1,同样n取1时也可以实现本发明的目的,例如:根据人脸特征数据a中在获取人脸数据库中获取了n个相似数值相对大所对应的注册人脸id及相应的相似度值,得到的结果为:{注册人脸id1:相似度1,注册人脸id2:相似度2,...,注册人脸idn:相似度n},其中相似度1>=相似度2>=...相似度n。
具体地,步骤s3中,相似阀值的选择根据所选择的相似度计算方法和具体场景而不同,当使用余弦距离方法时可取0.8作为初始参数。m的取值应该根据具体的场景条件,比如光照、人体运动速度、摄像头帧率等因素具体考虑,可默认选择100作为初始参数。
具体地,步骤s4中,合并数据过程中,当人脸特征数据组中某个人脸特征数据已经存在n个注册人脸id中某个id对应时,那么该注册人脸id对应的相似度将加上该人脸特征数据对应的相似度;当人脸特征数据组没有与n个注册人脸id对应时,将该人脸特征数据添加到n个注册人脸id中得到合并数据。例如:当2个注册人脸id为{id1:s1,id2:s2},人脸特征数据组为{id1:s1_,id3:s2_},那么合并之后得到的合并数据为{id1:s1+s1_,id2:s2,id3:s2_}。
本发明还提供一种人脸识别系统,包括视频采集模块、数据库模块、单帧图像处理计算模块、多帧联合处理模块、最终输出模块。
视频采集模块:用于采集视频序列中视频数据以及并传递给单帧图像处理计算模块。
数据库模块:用于接收用户的注册人脸特征数据,并保存该数据供其他模块使用。
单帧图像处理计算模块用于接收视频采集模块的视频数据帧,进行人脸检测、提取当前帧的人脸特征数据a,并将分别计算人脸特征数据a与数据库模块内所有人脸特征数据之间相似度值,选取n个相似数值相对大所对应的注册人脸id及其相应的相似度值;用于获取前m帧视频中人脸特征数据组b且分别计算其与人脸特征数据a的相似值,设定相似度阀值一,将计算得出的相似度值分别与阀值一进行对比,从前m帧视频中每个人脸特征数据获取相似数值大于或等于阀值一的人脸特征数据组c及其相应的相似度值。
多帧联合处理模块用于将n个相似数值相对大所对应的注册人脸id与人脸特征数据组c及其对应相似值进行合并得到合并数据组,并将合并数据组传递给最终结果输出模块。
最终输出模块用于接收多帧联合处理模块的合并数据组,根据合并数据综合判断出最大相似数值所对应的人脸id是否在人脸数据库。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。