掌桥专利:专业的专利平台
掌桥专利
首页

一种基于国产CPU和OS的动态人脸识别优化方法

文献发布时间:2023-06-19 16:09:34



技术领域

本发明涉及动态人脸识别技术领域,具体涉及一种基于国产CPU和OS的动态人脸识别优化方法。

背景技术

人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但对于人类而言可以轻易做到的事情让机器来实现却很难,如人脸图像的识别、语音识别、自然语言理解等

人脸识别是模式识别和计算机视觉的交叉领域。人脸识别将计算机视觉和模式识别结合在一起,广泛地应用在各种学科之中。作为人类鉴别特征之一,和人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。人脸识别在生物特征鉴别方面有其独特的优势,也具有很大的实用价值。自20世纪70年代以来,随着人工智能技术的兴起以及人类视觉研究的进展,人脸识别被广泛应用于闸门、刑侦、人脸登录、金融安全等技术之中。

作为人类特征识别的一种,人脸识别和其他人类特征识别相比,具有自然性和不被被测个体察觉的特点。指纹和虹膜的获取都要求待识别对象与成像设备的空间距离较近,而人脸识别样本的获取突破了这一限制,这决定了人脸识别比指纹、虹膜识别有更广的应用范围,诸如远程安全、检疫、图像传送等。自20世纪90年代起,网络的蓬勃发展对于网络安全和鉴别的需求也导致了人脸识别具有更广泛的应用领域。

但是人脸识别也存在识别困难。指纹识别和虹膜识别的取样样本都具有唯一性,对于任意两个样本,指纹或虹膜样本不会是完全相同的;另外指纹和虹膜的成像不会因为在不同时刻有差别而得到不同结果,这就决定了待识别图像和样本本身一样具有唯一性。而人脸图像受成像角度、光照条件等外界因素的影响比较大,即使相同的人脸图像成像后也可能有较大的差别;另外不同的人脸在一定角度下,有时也有较大相似度,在监控摄像头下,往往有多个人脸,且有人脸摄像头之间距离、人脸姿态不确定、图片模糊的复杂情况出现,导致了人脸识别复杂性比较高、识别难度比较大。

发明内容

本发明的技术任务是提供一种基于国产CPU和OS的动态人脸识别优化方法及系统,能够减少板卡和CPU不必要的计算,减少资源的消耗、过滤部分误识别结果,减少误识别率。

本发明解决其技术问题所采用的技术方案是:

一种基于国产CPU和OS的动态人脸识别优化方法,通过检测模型识别监控视频中的人脸,通过特征提取模型获得人脸的特征向量,使用追踪算法对人脸进行追踪得到人脸的追踪id;使用回归模型对人脸图片质量进行评分并过滤,对过滤后的人脸图片进行矫正操作;通过特征提取模型获取矫正后的人脸图片的特征向量,并与特征库中的值进行匹配获得匹配结果;对追踪id对应的多个匹配结果进行投票得到人脸识别结果。

本方法能够优化摄像头下动态人脸识别的准确率下降、GPU资源消耗过多等问题,提高了人脸识别的识别精度。通过该方法减少板卡和CPU不必要的计算,减少资源的消耗、过滤部分误识别结果,减少误识别率。

优选的,获取视频流后进行格式处理,对视频流中每帧图片建立字典储存信息包括图片、时间戳、模型计算结果,并对每帧图片进行如下处理:

对于视频流中的每帧图片,输入到检测模型中,获得图片中人脸的检测结果,并对结果进行处理和过滤,使结果中的人脸图片人脸占比高、宽高大于阈值且包含充足完整的人脸轮廓信息;

将上述人脸图片作为输入,通过特征提取模型获取人脸的特征向量,根据特征向量和检测框的位置进行对人脸进行追踪,获得人脸的追踪id;使用追踪id对人脸检测框隔帧取样,并过滤未成功追踪的人脸。间隔越大,准确率提升、服务器压力变小,但检测响应速度变慢。

优选的,所述使用回归模型对人脸图片质量进行评分并过滤,利用人脸特征点检测模型获得人脸的关键点,根据关键点计算人脸姿态并过滤,过滤掉侧脸或模糊的图片,再根据人脸姿态对剩余的人脸图片进行矫正操作;

获取矫正后的人脸图片的特征向量,计算人脸特征向量与特征库中特征向量的余弦相似度,利用相似度进行匹配,将匹配结果作为预选值进行记录。

优选的,当某一追踪id保存多个预选值时,投票选出识别结果;

某一追踪id存放了至少n条数据后,如果某一匹配结果数量占半数以上,并且为存放数据中相似度最大的结果,返回该结果作为识别结果,将该追踪id标记为已识别;对于追踪id存放数据大于m或被标记为已识别,将该追踪id标记,停止后续帧中对该追踪id人脸的计算。

优选的,对上述模型进行8-bit量化,提升模型运算速度,在模型精度略微下降的情况下,提高模型的运行速度4倍。可以在国产AI加速卡上进行部署运行。具有良好的通用性、灵活性和可移植性。

优选的,该方法的具体实现过程如下:

1)、获取视频流,并进行格式处理;对视频流中的每帧图片根据视频时间设置时间戳为帧的唯一标识,建立字典保存帧信息,然后按时间顺序对每帧图片执行以下步骤;

2)、原始图片(视频帧)作为输入,根据检测模型结果获得人脸的检测结果;对人脸的检测结果中的每个人脸检测框进行处理并保存;

3)、对原图进行切割,获得人脸图片列表作为特征提取模型的输入;获取人脸图片中每个人脸的特征向量;

4)、通过人脸检测框和人脸的特征向量对人脸进行追踪,建立字典保存追踪到的结果,过滤已识别的人脸;并对追踪到的人脸通过隔帧取样进行过滤;

5)、根据图片质量和人脸姿态对人脸进行过滤并矫正;

6)、对矫正后的人脸,获取特征向量,使用余弦相似度计算特征向量与特征库中向量的距离作为相似度,如果最大相似度大于阈值,以追踪id建立字典保存最大相似度与对应的人员姓名;

7)、投票选出识别结果。

优选的,所述对人脸的检测结果中的每个人脸检测框进行处理包括:

检测框大小调整,根据检测模型结果特点,按比例(rate=0.1)扩大每个检测框,使检测框中包含完整的人脸轮廓,且人脸在检测框中占比80%以上;

根据图片大小对人脸检测框进行过滤,如果人脸检测框的宽或高小于50像素点,对该人脸图片进行标记,不再进行后续处理。

优选的,所述根据图片质量和人脸姿态对人脸进行过滤并矫正包括:

通过回归模型获得人脸图片质量评分,将评分低于阈值的人脸标记,不再进行后续操作;

通过人脸特征点检测模型获得人脸的关键点,包括左眼、右眼、鼻子、左嘴角、右嘴角的位置,判断鼻子是否在左眼、右眼、左嘴角、右嘴角之间;对于不满足的将对应人脸标记,不再进行后续操作;

对没有标记的所有人脸图片,根据关键点对人脸图片进行矫正,获得矫正后的人脸图片列表,其中以图片中心点为旋转中心点,左右眼连线与水平的角度为旋转角度,缩放比例取1。

本发明还要求保护一种基于国产CPU和OS的动态人脸识别装置,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行上述的基于国产CPU和OS的动态人脸识别优化方法。

本发明还要求保护计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的基于国产CPU和OS的动态人脸识别优化方法。

本发明的一种基于国产CPU和OS的动态人脸识别优化方法与现有技术相比,具有以下有益效果:

本方法使用回归模型对人脸图片评分、以分辨率大小为指标对人脸图片进行筛选、使用人脸特征点检测模型进行人脸关键点检测及人脸矫正,通过该流程筛选得到高质量的人脸图片,提高了人脸识别的识别精度;

本方法使用追踪算法对视频中的人脸进行追踪,根据追踪id对人脸进行隔帧取样,并对已获取到识别结果的人脸进行标记,不在进行后续计算,从而减少板卡和CPU不必要的计算,减少资源的消耗;

本方法记录追踪id对应的匹配结果和相似度,当该追踪id在特征库中匹配到多次时,投票选出识别的结果,通过该流程可以过滤部分误识别结果,大大减少动态人脸识别的误识别率;

本方法通过对模型的8-bit量化,减少板卡计算资源的消耗,加快部署运行时的时间运算速度,可在国产AI加速卡上进行部署运行,具有良好的通用性、灵活性和可移植性。

附图说明

图1是本发明实施例提供的一种基于国产CPU和OS的动态人脸识别优化方法实现流程图;

图2是本发明实施例提供的人脸过滤处理方法的流程图;

图3是本发明实施例提供投票方法的流程图。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

针对监控下多个人脸,且人脸摄像头之间距离、人脸姿态不确定、图片模糊的复杂情况下动态人脸识别准确率下降、GPU资源消耗多等问题,本发明实施例提供了一种基于国产CPU和OS的动态人脸识别优化方法,通过检测模型识别监控视频中的人脸,通过特征提取模型获得人脸的特征向量,使用追踪算法对人脸进行追踪得到人脸的追踪id;使用图片大小、回归模型、人脸姿态模型人脸特征点检测模型等多个标准对人脸图片质量进行评分并过滤,对过滤后的人脸图片进行矫正操作;通过特征提取模型获取矫正后的人脸图片的特征向量,并与特征库中的值进行匹配获得匹配结果;对追踪id对应的多个匹配结果进行投票得到人脸识别结果。同时对上述模型进行量化,可以在国产AI加速卡上进行部署运行。具有良好的通用性、灵活性和可移植性。

本方法能够优化摄像头下动态人脸识别的准确率下降、GPU资源消耗过多等问题,提高了人脸识别的识别精度。通过该方法减少板卡和CPU不必要的计算,减少资源的消耗、过滤部分误识别结果,减少误识别率。

具体的,获取视频流后进行格式处理,对视频流中每帧图片建立字典储存信息包括图片、时间戳、模型计算结果,并对每帧图片进行如下处理:

对于视频流中的每帧图片,输入到检测模型中,获得图片中人脸的检测结果,并对结果进行处理和过滤,使结果中的人脸图片人脸占比高、宽高大于阈值且包含充足完整的人脸轮廓信息;

将上述人脸图片作为输入,通过特征提取模型获取人脸的特征向量,根据特征向量和检测框的位置进行对人脸进行追踪,获得人脸的追踪id;使用追踪id对人脸检测框隔帧取样,并过滤未成功追踪的人脸。间隔越大,准确率提升、服务器压力变小,但检测响应速度变慢。

使用回归模型对人脸图片质量进行评分并过滤,利用人脸特征点检测模型获得人脸的关键点,根据关键点计算人脸姿态并过滤,过滤掉侧脸或模糊的图片,再根据人脸姿态对剩余的人脸图片进行矫正操作;

获取矫正后的人脸图片的特征向量,计算人脸特征向量与特征库中特征向量的余弦相似度,利用相似度进行匹配,将匹配结果作为预选值进行记录。

当某一追踪id保存多个预选值时,投票选出识别结果;

某一追踪id存放了至少n条数据(n=5)后,如果某一匹配结果数量占半数以上,并且为存放数据中相似度最大的结果,返回该结果作为识别结果,将该追踪id标记为已识别;对于追踪id存放数据大于m或被标记为已识别(m=30),将该追踪id标记,停止后续帧中对该追踪id人脸的计算。

对上述模型进行8-bit量化,提升模型运算速度,在模型精度略微下降的情况下,提高模型的运行速度4倍。可以在国产AI加速卡上进行部署运行。具有良好的通用性、灵活性和可移植性。

参考附图所示,该方法的具体实现过程如下:

1)、获取视频流,并进行格式处理;对视频流中的每帧图片根据视频时间设置时间戳为帧的唯一标识,建立字典保存帧信息,然后按时间顺序对每帧图片执行以下步骤。

2)、原始图片(视频帧)作为输入,根据检测模型结果获得中人脸的检测结果;通过以下步骤,对人脸的检测结果中的每个人脸检测框进行处理并保存:

检测框大小调整,根据检测模型结果特点,按比例(rate=0.1)扩大每个检测框,使检测框中包含完整的人脸轮廓,且人脸在检测框中占比80%以上;

根据图片大小对人脸检测框进行过滤,如果人脸检测框的宽或高小于50像素点,对该人脸图片进行标记,不再进行后续处理。

3)、对原图进行切割,获得人脸图片列表作为特征提取模型的输入;获取人脸图片中每个人脸的特征向量;

4)、通过人脸检测框和人脸的特征向量对人脸进行追踪,建立字典保存追踪到的结果,过滤已识别的人脸,并对追踪到的人脸通过隔帧取样进行过滤:

对于人脸图片列表中的每个人脸,将对应的特征向量和人脸检测框作为输入,对人脸进行追踪,建立人脸在前后帧的关联;若未追踪成功将该人脸图片进行标记,停止对该人脸图片的后续操作;

对追踪到的人脸隔帧取样,对属于同一个人在不同帧中的人脸图片周期性的进行标记,停止对该人脸图片的后续操作。

5)、根据图片质量和人脸姿态对人脸进行过滤并矫正:

通过回归模型获得人脸图片质量评分,将评分低于阈值的人脸标记,不再进行后续操作;

通过人脸特征点检测模型获得人脸的关键点(左眼、右眼、鼻子、左嘴角、右嘴角)位置,判断鼻子是否在左眼、右眼、左嘴角、右嘴角之间。对于不满足的将对应人脸标记,不再进行后续操作;

对没有标记的所有人脸图片,根据关键点对人脸图片进行矫正,获得矫正后的人脸图片列表,其中以图片中心点为旋转中心点,左右眼连线与水平的角度为旋转角度,缩放比例取1。

6)、对矫正后的人脸,获取特征向量(与步骤3)相同),使用余弦相似度计算特征向量与特征库中向量的距离作为相似度,如果最大相似度大于阈值,以追踪id建立字典保存最大相似度与对应的人员姓名。

7)、如图3所示,投票选出识别结果。如果某一追踪id存放了至少5条数据,通过图3所示投票方法返回识别结果,并将该追踪id标记为已识别,对于追踪id存放数据大于30或被标记为已识别的,将该追踪id标记,停止对后续帧中对该追踪id的计算。

本方法对检测模型识别出的人脸,进行追踪、过滤、处理、获取特征值、匹配、投票获取识别结果,并通过对模型进行8-bit量化,提升模型运算速度。

本方法设计了一种图片筛选处理流程,如图2所示,通过图片大小、人脸图片评分、人脸姿态、矫正等多个步骤对人脸图片进行过滤和处理。

本方法还设计了一种投票策略,如图3所示,多次投票直到得到投票结果或到达次数上限,选取匹配次数达半数以上且包含最大相似度的匹配结果,对误识别结果进行过滤。

本方法还设计了一种屏蔽策略,屏蔽已识别到结果的人脸、未追踪到的人脸、其他满足条件的人脸,不在进行后续计算,如上述步骤4)。

本发明实施例还提供一种基于国产CPU和OS的动态人脸识别装置,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行上述实施例中所述的基于国产CPU和OS的动态人脸识别优化方法。

本发明实施例还提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述实施例中所述的基于国产CPU和OS的动态人脸识别优化方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

相关技术
  • 一种基于国产CPU和OS的动态人脸识别优化方法
  • 一种基于国产CPU和OS的终端安全配置批量检测系统及方法
技术分类

06120114721922