一种基于人脸库匹配方法组成比例

技术编号:29040960 阅读:17 留言:0更新日期:2021-06-26 05:50
本发明专利技术公开的是一种基于人脸库匹配方法,根据CPU的可用的线程数量在内存中开辟同等数的分组存储空间,将人脸库的总人脸数据总量除以分组空间数,得到每个分组需要存储的人脸数据,分配到开辟好的分组存储空间中;分组与CPU线程数对应,每个线程分别计算对应分组总的人脸数据,特征信息与每个分组的人脸特征数据进行循环比对,当某线程计算完成后,其他线程还在继续,将其他正在运行的线程里的未比对完剩余的人脸数据进行拆分分配,在整个过程中,当其中一个线程人脸比对匹配成功,其他线程停止运行,具有能够对人脸库的数据进行合理的配置,最大程度的提高比对效率等技术特点。最大程度的提高比对效率等技术特点。最大程度的提高比对效率等技术特点。

【技术实现步骤摘要】
一种基于人脸库匹配方法


[0001]本专利技术涉及一种人脸匹配方法,更具体一点说,涉及一种基于人脸库匹配方法,属于人脸识别领域。

技术介绍

[0002]人脸识别结合了图像处理技术、计算机图形学、模式识别等多个研究领域,该技术是生物特征识别技术的一种,具有广阔的发展前景,是进行身份验证的有效的手段。基于人脸识别通常是预先构建人脸库,将采集的待验证人脸的图像和人脸库中的图像进行一一比对,最终确定比对成功的人脸库中的人脸图像对应的身份信息作为待验证人脸的身份信息。现实中所使用的人脸基础库的存储都非常的大,而目前基于人脸库匹配算法主要是采用单工作线程循环匹配,因此匹配效率低,而且由于人脸库中的人脸通常是随机分布的,当人脸库中包含大量人脸图像时,人脸比对将会消耗大量时间,导致身份验证实时性较差,因此,对于匹配的速度受到人脸库中具有对应特征信息的人脸信息存储位置影响较大。

技术实现思路

[0003]为了解决上述现有技术问题,本专利技术提供具有能够对人脸库的数据进行合理的配置,最大程度的提高比对效率等技术特点的一种基于人脸库匹配方法。
[0004]为了实现上述目的,本专利技术是通过以下技术方案实现的:
[0005]一种基于人脸库匹配方法,该匹配方法包括如下步骤:
[0006]步骤1):分析服务器上CPU能开启的最大线程数;
[0007]步骤2):判断线程数量是否为单线程,若是,则将需要人脸比对的特征信息与人脸库中人脸特征数据进行循环比对,直至比对结束;若线程数量不是单线程,则进入步骤3);
[0008]步骤3):根据CPU的可用的线程数量在内存中开辟同等数的分组存储空间,将人脸库的总人脸数据总量除以分组存储空间的数量,得到每个分组存储空间需要存储的人脸数据,然后分配到开辟好的分组存储空间中;
[0009]步骤4):将分组存储空间与CPU线程数一一对应,让每个线程分别计算所对应分组存储空间中总的人脸数据,当没有优先出现一组或多组比对完成时,则持续对每组存储空间中人脸数据循环比对,直至比对结束;若优先出现一个或多个线程计算完成后,将其他正在运行线程里未比对完而剩余的人脸数据除以分组存储空间的数量,重新得到每个分组存储空间需要存储的人脸数据,然后再分配到开辟好的分组存储空间中,让每个线程分别计算所对应分组存储空间中总的人脸数据,当没有优先出现一组或多组比对完成时,则持续对每组存储空间中人脸数据循环比对,直至比对结束,若优先出现一个或多个线程计算完成后,将其他正在运行线程里的未比对完剩余的人脸数据除以分组存储空间的数量,重新得到每个分组存储空间需要存储的人脸数据,然后再分配到开辟好的分组存储空间中,让每个线程分别计算所对应分组存储空间中总的人脸数据,循环往复;或者当其中一个线程人脸比对匹配成功,其他线程停止运行;
[0010]步骤5):比对结束。
[0011]优选的,分析服务器上CPU能开启的最大线程数公式为: Nthreads=Ncpu*Ucpu*(1+w/c),其中Ncpu代表CPU核心数,Ucpu代表cpu使用率,W/C代表等待时间与计算时间的比率。
[0012]有益效果:人脸基础库的存储都非常的大,但作为终端的人脸识别的相应时间一定要在毫秒级的,本申请针对人脸匹配进行算法优化,在不影响人脸服务器正常运行的情况下,高效合理的调整计算机线程数,所述的匹配优先级算法进行调度筛选,将人脸比对时间缩短。
附图说明
[0013]图1是本专利技术流程示意图。
具体实施方式
[0014]以下结合说明书附图,对本专利技术作进一步说明,但本专利技术并不局限于以下实施例。
[0015]如图1所示为一种基于人脸库匹配方法的具体实施例,该实施例一种基于人脸库匹配方法,该匹配方法包括如下步骤:
[0016]步骤1):分析服务器上CPU能开启的最大线程数;
[0017]步骤2):判断线程数量是否为单线程,若是,则将需要人脸比对的特征信息与人脸库中人脸特征数据进行循环比对,直至比对结束;若线程数量不是单线程,则进入步骤3);
[0018]步骤3):根据CPU的可用的线程数量在内存中开辟同等数的分组存储空间,将人脸库的总人脸数据总量除以分组存储空间的数量,得到每个分组存储空间需要存储的人脸数据,然后分配到开辟好的分组存储空间中;
[0019]步骤4):将分组存储空间与CPU线程数一一对应,让每个线程分别计算所对应分组存储空间中总的人脸数据,当没有优先出现一组或多组比对完成时,则持续对每组存储空间中人脸数据循环比对,直至比对结束;若优先出现一个或多个线程计算完成后,将其他正在运行线程里未比对完而剩余的人脸数据除以分组存储空间的数量,重新得到每个分组存储空间需要存储的人脸数据,然后再分配到开辟好的分组存储空间中,让每个线程分别计算所对应分组存储空间中总的人脸数据,当没有优先出现一组或多组比对完成时,则持续对每组存储空间中人脸数据循环比对,直至比对结束,若优先出现一个或多个线程计算完成后,将其他正在运行线程里的未比对完剩余的人脸数据除以分组存储空间的数量,重新得到每个分组存储空间需要存储的人脸数据,然后再分配到开辟好的分组存储空间中,让每个线程分别计算所对应分组存储空间中总的人脸数据,循环往复;或者当其中一个线程人脸比对匹配成功,其他线程停止运行;
[0020]步骤5):比对结束,高效合理的调整计算机线程数,所述的匹配优先级算法进行调度筛选,能够实现将原来人脸比对由800毫秒/次提升到300毫秒每次,相对于传统的识别,本申请技术方案可以实现在相同的时间内进行复核比对以保证信息的准确性。
[0021]本专利技术中具体的人脸比对技术可以采用专利文献200310110720.5,名称一种基于多类别的人脸分类识别方法记载方法,主要通过定义人脸的23个几何特征点和16个特征向量。
[0022]优选的,分析服务器上CPU能开启的最大线程数公式为:Nthreads=Ncpu*Ucpu*(1+w/c),其中Ncpu代表CPU核心数,Ucpu代表cpu使用率,W/C代表等待时间与计算时间的比率,threads中文为线的意思,N为自然数代表数量。
[0023]IO密集型:一般情况下,如果存在IO,那么肯定w/c>1(阻塞耗时一般都是计算耗时的很多倍),但是需要考虑系统内存有限(每开启一个线程都需要内存空间),这里需要上服务器测试具体多少个线程数适合(CPU占比、线程数、总耗时、内存消耗),保守点取1即,Nthreads=Ncpu*(1+1)=2Ncpu。
[0024]计算密集型:假设没有等待w=0,则W/C=0.Nthreads=Ncpu。
[0025]因此实际需要以合理利用资源为基础,建立多线程计算方式。
[0026]本申请技术方案可以用于安防等,如基于人脸库匹配方法,使用方式1:通过实地场所设置的摄像设备获取视频区域出现的人脸特征信息,将人脸特征信息与人脸库匹配成功,通过内部无线网络将匹配成功后的触发信号发送至网关,通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于人脸库匹配方法,其特征在于该匹配方法包括如下步骤:步骤1):分析服务器上CPU能开启的最大线程数;步骤2):判断线程数量是否为单线程,若是,则将需要人脸比对的特征信息与人脸库中人脸特征数据进行循环比对,直至比对结束;若线程数量不是单线程,则进入步骤3);步骤3):根据CPU的可用的线程数量在内存中开辟同等数的分组存储空间,将人脸库的总人脸数据总量除以分组存储空间的数量,得到每个分组存储空间需要存储的人脸数据,然后分配到开辟好的分组存储空间中;步骤4):将分组存储空间与CPU线程数一一对应,让每个线程分别计算所对应分组存储空间中总的人脸数据,当没有优先出现一组或多组比对完成时,则持续对每组存储空间中人脸数据循环比对,直至比对结束;若优先出现一个或多个线程计算完成后,将其他正在运行线程里未比对完而剩余的人脸数据除以分组存储空间的数量,重新得到每个分组存储空间需...

【专利技术属性】
技术研发人员:方雪明郑志平刘燕
申请(专利权)人:浙江易云物联科技有限公司
类型:发明
国别省市:

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

1