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

人脸识别训练方法、识别方法、装置、设备及存储介质

文献发布时间:2023-06-19 09:30:39


人脸识别训练方法、识别方法、装置、设备及存储介质

技术领域

本发明涉及人工智能技术领域,特别是涉及一种人脸识别训练方法、识别方法、装置、设备及存储介质。

背景技术

人脸识别是计算机视觉中最热门的研究领域之一,有着十分广泛的应用,如家庭刷脸解门锁、公司刷脸打卡、地铁刷脸进站等等。基于Faster RCNN的深度学习方法,由于其检测精度高,成为目前业内比较流行的人脸识别算法之一。

基于Faster RCNN的人脸识别算法在晴天、白天、无遮挡等简单场景下可以达到较高的准确率,但在雾霾、雨天、夜间、有遮挡等困难场景下,其准确率和召回率都还相对较低,仍存在一定的提升空间。

发明内容

本发明提供一种人脸识别训练方法、识别方法、装置、设备及存储介质,能够有效提高车内人脸识别的整体准确率和召回率。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种人脸识别训练方法,包括:

将训练图像输入预构建的原始人脸识别模型中进行人脸特征提取,得到所述原始人脸识别模型的输出值;其中,所述原始人脸识别模型包括:特征提取网络、区域生成网络、第一筛选层、RoIAlign池化层、分类层、第二筛选层以及框回归层;所述第一筛选层用于筛选所述区域生成网络的输出,所述第二筛选层用于筛选所述分类层的输出;

采用所述输出值计算交叉熵损失;

采用所述第二筛选层的输出计算EIOU损失;

将所述交叉熵损失与所述EIOU损失之和作为目标损失并根据所述目标损失优化所述原始人脸识别模型,得到目标人脸识别模型。

根据本发明的一个实施例,所述采用所述第二筛选层的输出计算EIOU损失,包括:

获取所述第二筛选层输出的候选框并计算所述候选框与标注框之间的交并比值以及所述候选框与所述标注框的中心点之间的距离;

构造包围所述候选框与所述标注框之间的包围框并计算所述包围框的对角线的长度;

根据所述交并比值、所述距离以及所述长度计算所述EIOU损失。

根据本发明的一个实施例,所述将训练图像输入预构建的原始人脸识别模型中进行人脸特征提取,得到所述原始人脸识别模型的输出值,包括:

采用所述特征提取网络对所述训练图像中的人脸特征进行提取,获得特征图;

采用所述区域生成网络根据所述特征图生成候选框;

在所述第一筛选层中采用NMS算法去除冗余的候选框;

采用所述RoIAlign池化层对所述第一筛选层的输出进行像素点采样并将采样结果转换为固定长度的输出;

采用所述分类层对所述RoIAlign池化层的输出进行分类处理;

在所述第二筛选层中采用NMS算法对分类结果进行筛选;

采用所述框回归层对所述第二筛选层的输出进行框回归处理,获得目标候选框。

根据本发明的一个实施例,所述采用所述区域生成网络根据所述特征图生成候选框,包括:

随机选取三种不同尺寸的窗口并按照三种不同比例随机组合成的九个不同尺度的候选窗口;

采用所述候选窗口在所述特征图上进行特征提取;

对特征提取结果进行分类及框回归处理;

将处理结果在所述特征图上进行分割处理,得到所述候选框并输出。

根据本发明的一个实施例,所述采用所述RoIAlign池化层对所述第一筛选层的输出进行像素点采样并将采样结果转换为固定长度的输出,包括:

将所述第一筛选层的输出划分为固定大小的分块;

利用双线性插值法对所述分块进行像素点采样;

对采样后的所述分块进行最大池化处理,转换为固定长度的输出。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种人脸识别训练装置,包括:

特征提取模块,用于将训练图像输入预构建的原始人脸识别模型中进行人脸特征提取,得到所述原始人脸识别模型的输出值;其中,所述原始人脸识别模型包括:特征提取网络、区域生成网络、第一筛选层、RoIAlign池化层、分类层、第二筛选层以及框回归层;所述第一筛选层用于筛选所述区域生成网络的输出,所述第二筛选层用于筛选所述分类层的输出;

第一计算模块,用于采用所述输出值计算交叉熵损失;

第二计算模块,用于采用所述第二筛选层的输出计算EIOU损失;

优化模块,用于将所述交叉熵损失与所述EIOU损失之和作为目标损失并根据所述目标损失优化所述原始人脸识别模型,得到目标人脸识别模型。

为解决上述技术问题,本发明采用的再一个技术方案是:提供一种人脸识别方法,包括:

获取摄像设备采集的视频流并从所述视频流中提取包含人脸特征的待识别图像;

将所述待识别图像输入目标人脸识别模型中,提取人脸特征,输出人脸识别结果,其中,所述目标人脸识别模型采用所述的人脸识别训练训练方法获得。

为解决上述技术问题,本发明采用的再一个技术方案是:提供一种人脸识别装置,包括:

图像获取模块,用于获取摄像设备采集的视频流并从所述视频流中提取包含人脸特征的待识别图像;

图像识别模块,用于将所述待识别图像输入目标人脸识别模型中,提取人脸特征,输出人脸识别结果,其中,所述目标人脸识别模型采用所述的人脸识别训练方法获得。

为解决上述技术问题,本发明采用的再一个技术方案是:提供一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的人脸识别训练方法。

为解决上述技术问题,本发明采用的再一个技术方案是:提供一种计算机存储介质,存储有能够实现上述人脸识别训练方法的程序文件。

本发明的有益效果是:通过RoIAlign池化层增加了对特征图的像素点采样以改善成像损失与偏差的问题,从而改善提取的人脸特征的质量;通过第一筛选层和第二筛选层的双重筛选进一步提高人脸识别的准确率,同时,将交叉熵损失与EIOU损失函数之和作为目标损失优化原始人脸识别模型,能够提高候选框的回归精度,从而进一步提高人脸识别的整体准确率和召回率。

附图说明

图1是本发明第一实施例的人脸识别训练方法的流程示意图;

图2是本发明实施例中原始人脸识别模型的结构示意图;

图3是图1中步骤S103的流程示意图;

图4是本发明实施例中候选框、标注框以及包围候选框与标注框的包围框的分布示意图;

图5是本发明第二实施例的人脸识别训练方法的流程示意图;

图6是本发明实施例的区域生成网络的结构示意图;

图7是图5中步骤S502的流程示意图;

图8是图5中步骤S504的流程示意图;

图9是本发明实施例的RoIAlign池化层的结构示意图;

图10是本发明实施例的人脸识别训练装置的结构示意图;

图11是本发明实施例的人脸识别方法的流程示意图;

图12是本发明实施例的人脸识别装置的结构示意图;

图13是本发明实施例的计算机设备的结构示意图;

图14是本发明实施例的计算机存储介质的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

图1是本发明第一实施例的人脸识别训练方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括步骤:

步骤S101:将训练图像输入预构建的原始人脸识别模型中进行人脸特征提取,得到原始人脸识别模型的输出值;其中,原始人脸识别模型包括:特征提取网络、区域生成网络、第一筛选层、RoIAlign池化层、分类层、第二筛选层以及框回归层;第一筛选层用于筛选区域生成网络的输出,第二筛选层用于筛选分类层的输出。

在步骤S101中,为保证数据的私密性与安全性,将包含人脸特征的训练图像存储于区块链里面。原始人脸识别模型可以为改进的Faster RCNN深度学习神经网络模型,请参见图2,原始人脸识别模型包括依次连接的特征提取网络21、区域生成网络22、第一筛选层23、RoIAlign池化层24、分类层25、第二筛选层26以及框回归层27,特征提取网络21用于提取训练图像中的人脸特征;区域生成网络22用于根据人脸特征生成候选框;第一筛选层23用于去除冗余的候选框;RoIAlign池化层24用于对第一筛选层23的输出进行像素点采样并将采样结果换为固定长度的输出,本实施例的RoIAlign池化层24增加了像素点采样的步骤,能够有效缓解由传统的RoIPooling池化层引起的像素偏差问题,改善提取的人脸特征质量,从而提高车内人脸识别的整体准确率和召回率;分类层25采用全连接和Softmax激活函数对RoIAlign池化层24的输出进行分类处理;第二筛选层26用于对分类结果进行筛选;框回归层27采用全连接对第二筛选层26的输出进行框回归处理,提高候选框的回归精度。本实施例通过第一筛选层23和第二筛选层26的双重筛选进一步提高人脸识别的准确率。在另一些优选地实施方式中,RoIAlign池化层24之后进一步地还包括两个用于对RoIAlign池化层24的输出进行进一步特征精调的全连接层。

步骤S102:采用输出值计算交叉熵损失。

在步骤S102中,原始人脸识别模型的输出值为预测值,进一步地,本实施例的交叉熵损失可以按照如下公式进行计算:

loss

步骤S103:采用第二筛选层的输出计算EIOU损失。

在步骤S103中,进一步地,请参见图3,还包括以下步骤:

步骤S301:获取第二筛选层输出的候选框并计算候选框与标注框之间的交并比值以及候选框与标注框的中心点之间的距离;

步骤S302:构造包围候选框与标注框之间的包围框并计算包围框的对角线的长度;

步骤S303:根据交并比值、距离以及长度计算EIOU损失。

进一步地,EIOU损失可以按照如下公式进行计算:

步骤S104:将交叉熵损失与EIOU损失之和作为目标损失并根据目标损失优化原始人脸识别模型,得到目标人脸识别模型。

在步骤S104中,目标损失为loss=loss

本发明第一实施例的人脸识别训练方法通过RoIAlign池化层增加了对特征图的像素点采样以改善成像损失与偏差的问题,从而改善提取的人脸特征的质量;通过第一筛选层和第二筛选层的双重筛选进一步提高人脸识别的准确率,同时,将交叉熵损失与EIOU损失函数之和作为目标损失优化原始人脸识别模型,能够提高候选框的回归精度,从而进一步提高人脸识别的整体准确率和召回率。

图5是本发明第二实施例的人脸识别训练方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图5所示的流程顺序为限。如图5所示,该方法包括步骤:

步骤S501:采用特征提取网络对训练图像中的人脸特征进行提取,获得特征图。

在步骤S501中,特征提取网络21可以为VGG16网络,也可以为CSPDarknet53网络,优选为CSPDarknet53网络,CSPDarknet53网络的结构包括全卷积层和跨层残差连接层。跨层残差连接操作相对于VGG16网络中的拼接操作能够显著增强雾霾、雨天、夜间、车内遮挡等困难场景下的特征表达能力,从而提高车内人脸识别的整体准确率和召回率。

步骤S502:采用区域生成网络根据特征图生成候选框。

在步骤S502中,进一步地,请参见图6,区域生成网络22的结构可以包括:生成模块61、特征提取模块62、分类及框回归模块63、以及分割模块64。

进一步地,请参见图7,步骤S502还包括以下步骤:

步骤S701:随机选取三种不同尺寸的窗口并按照三种不同比例随机组合成的九个不同尺度的候选窗口。

在步骤S701中,生成模块61随机选取三种不同尺寸,分别为8、16、32,在其他实施例中可配置为其他尺寸,生成模块61随机选取三种不同比例,分别为1:1、1:2、2:1,在其他实施例中可配置为其他比例,则得到的九个候选窗口分别为8*8,8*16,16*8,16*16,16*32,32*16,32*32,32*64,64*32。

步骤S702:采用候选窗口在特征图上进行特征提取。

在步骤S702中,特征提取模块62采用3*3卷积和Mish激活函数对特征图进行特征提取并生成一系列的Anchor box,此处的Anchor box是对检测点取不同的长方形窗口,用于进行人脸检测。

步骤S703:对特征提取结果进行分类及框回归处理。

在步骤S703中,分类及框回归模块63采用1*1卷积和Sigmoid激活函数对Anchorbox进行分类,获得Anchor box的分类概率,采用1*1卷积对Anchor box进行回归和微调,获得每个Anchor box的位置坐标。

步骤S704:将处理结果在特征图上进行分割处理,得到候选框并输出。

在步骤S704中,分割模块64将分类及框回归模块63的输出在步骤S501中获得的特征图上执行分割操作,获得候选框并输出。分割操作具体如下:假设输入特征图的矩阵大小为60*40*512,分类及框回归模块63输出300个Anchor box中的一个Anchor box的坐标为(9,15,20,30),则分割操作表示在输入特征图上的(9,15)位置处切割出宽高为(20,30)的Anchor box(即候选框,大小为20*30*512)。类似地,最后可以得到300个不同大小的候选框。

具体地,假设输入特征图的矩阵大小为60*40*512,则执行特征提取后,得到一系列的Anchor box,大小仍为60*40*512,接着经过分类处理和框回归处理后,得到所有Anchor box的分类矩阵和坐标矩阵,分类矩阵大小为60*40*(9*2)=60*40*18,其中,9表示的是Anchor box个数、2表示的是前景和背景二分类,坐标矩阵大小为60*40*(9*4)=60*40*36,其中,9表示的是Anchor box个数、4表示每个Anchor box的坐标(即Anchor box的中心点坐标(x,y)以及Anchor box的宽w,高h)),然后将n(可配置,比如取300)个Anchor box在输入的特征图上执行分割操作,得到最终的输出矩阵(即候选框)。

步骤S503:在第一筛选层中采用NMS算法去除冗余的候选框。

在步骤S503中,NMS操作具体为:将所有候选框按照分类概率降序排序,保留概率最高的候选框并删除与之重叠(即IOU>0.5)的其他候选框。

步骤S504:采用RoIAlign池化层对第一筛选层的输出进行像素点采样并将采样结果转换为固定长度的输出。

在步骤S504中,RoIAlign池化层24将大小不同的候选框转换为固定长度的输出,以便后续操作。例如,将上一步骤中得到的所有不同大小的候选框(比如:300个)统一固定为7*7大小,即将300个M*N*512大小的候选框统一成1个300*7*7*512的候选框。

进一步地,请参见图8,步骤S504还包括以下步骤:

步骤S801:将第一筛选层的输出划分为固定大小的分块;

步骤S802:利用双线性插值法对分块进行像素点采样;

步骤S803:对采样后的分块进行最大池化处理,转换为固定长度的输出。

进一步地,请参见图9,RoIAlign池化层24包括:分块模块91、采样模块92以及最大池化模块93。具体地,假设RoIAlign池化层24的输入候选框共有300个,以其中一个候选框为例进行说明,假设这个候选框的大小为20*30*512,首先分块模块91执行分块操作将该候选框(20*30*512)划分成7*7固定大小的分块,每个分块大小为(20/7)*(30/7)=2.86*4.29,接着采样模块92利用双线性插值法对每个分块执行像素点采样操作,假设采样点数设为4,即相当于将2.86*4.29=12.27个像素点改为4个像素点,最后,最大池化模块93对每个分块执行最大池化操作,即只保留采样得到的4个像素点中值最大的那个像素点,最终得到的输出矩阵,大小为7*7*512,这是一个候选框经过RoIAlign操作后得到的最终输出矩阵。由于总共有300个,所以,最终的输出矩阵大小为300*7*7*512。

需要说明的是:传统的RoIPooling操作是没有像素点采样这个步骤,而是直接进行了取整后做最大池化操作,例如,上述例子中的每个分块大小会被取整变成(20/7)*(30/7)=2*4,而不是2.86*4.29,然后再进行最大池化操作,即保留这8个像素点中值最大的像素点,这会造成像素损失与偏差问题,从而影响模型效果。因此,本实施例的RoIAlign池化层通过像素点采样,有效缓解了由RoIPooling引起的像素偏差问题,改善了提取的人脸特征质量,从而提高了车内人脸识别的整体准确率和召回率。

步骤S505:采用分类层对RoIAlign池化层的输出进行分类处理。

在步骤S505中,分类层25采用全连接和Softmax函数对RoIAlign池化层的输出结果进行分类处理,获得每个候选框的概率向量。概率向量给出的是结果的概率值,即候选框中包含人脸特征的概率值和不包含人脸特征的概率值。

步骤S506:在第二筛选层中采用NMS算法对分类结果进行筛选。

在步骤S506中,将所有的候选框按照概率值进行降序排列,保留包含人脸特征的概率值较高的候选框并删除与之重叠的候选框,进一步提高人脸识别的整体准确率和召回率。

步骤S507:采用框回归层对第二筛选层的输出进行框回归处理,获得目标候选框。

在步骤S507中,采用全连接对筛选后的候选框的位置进行框回归处理,获得目标候选框。本实施例,通过框回归处理提高候选框的位置精度,从而提高人脸识别的整体准确率和召回率。

步骤S508:采用目标候选框计算交叉熵损失。

在本实施例中,图5中的步骤S508和图1中的步骤S102类似,为简约起见,在此不再赘述。

步骤S509:采用第二筛选层的输出计算EIOU损失。

在本实施例中,图5中的步骤S509和图1中的步骤S103类似,为简约起见,在此不再赘述。

步骤S510:将交叉熵损失与EIOU损失之和作为目标损失并根据目标损失优化原始人脸识别模型,得到目标人脸识别模型。

在本实施例中,图5中的步骤S510和图1中的步骤S104类似,为简约起见,在此不再赘述。

本发明第二实施例的人脸识别训练方法在第一实施例的基础上,通过采用随机选取三种不同尺寸的窗口并按照三种不同比例随机组合成的九个不同尺度的候选窗口,采用九个不同尺度的候选窗口生成候选框,能够提高人脸识别的整体准确率和召回率。

图10是本发明实施例的人脸识别训练装置的结构示意图。如图10所示,该装置100包括特征提取模块101、第一计算模块102、第二计算模块103和优化模块104。

特征提取模块101,用于将训练图像输入预构建的原始人脸识别模型中进行人脸特征提取,得到原始人脸识别模型的输出值;其中,原始人脸识别模型包括:特征提取网络、区域生成网络、第一筛选层、RoIAlign池化层、分类层、第二筛选层以及框回归层;第一筛选层用于筛选区域生成网络的输出,第二筛选层用于筛选分类层的输出。

第一计算模块102,用于采用输出值计算交叉熵损失;

第二计算模块103,用于采用第二筛选层的输出计算EIOU损失;

优化模块104,用于将交叉熵损失与EIOU损失之和作为目标损失并根据目标损失优化原始人脸识别模型,得到目标人脸识别模型。

图11是本发明实施例的人脸识别方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图所示的流程顺序为限。如图所示,该方法包括步骤:

步骤S1101:获取摄像设备采集的视频流并从视频流中提取包含人脸特征的待识别图像;

在步骤S1101中,待识别图像包含人脸特征,获取待识别图像后可对图像进行去噪、锐化等处理以改善图像质量,提高人脸识别的准确率。

步骤S1102:将待识别图像输入目标人脸识别模型中,提取人脸特征,输出人脸识别结果。

在步骤S1102中,目标人脸识别模型的获取方法在前述已进行详细描述,在此不再一一赘述。在一些优选的实施方式中,在输入待识别图像之前,将图像尺寸调整为预设尺寸。待识别图像的尺寸可以为任意大小,针对一个任意尺寸大小为P*Q的图像,在输入特征提取网络之前,先对待识别图像的尺寸进行调整,将待识别图像的尺寸缩放至预设尺寸大小M*N,在调整尺寸时保证图像的宽高比不变。

本发明实施例的人脸识别方法通过目标人脸识别模型增加了对特征图的像素点采样以改善成像损失与偏差的问题,从而改善提取的人脸特征的质量;同时在识别过程中通过双重筛选进一步提高人脸识别的准确率,从而进一步提高人脸识别的准确率和召回率。

图12是本发明实施例的人脸识别装置的结构示意图。如图12所示,该装置120包括图像获取模块121、图像识别模块122。

图像获取模块121,用于获取摄像设备采集的视频流并从视频流中提取包含人脸特征的待识别图像;

图像识别模块122,用于将待识别图像输入目标人脸识别模型中,提取人脸特征,输出人脸识别结果。

请参阅图13,图13为本发明实施例的计算机设备的结构示意图。如图13所示,该计算机设备130包括处理器131及和处理器131耦接的存储器132。

存储器132存储有用于实现上述任一实施例所述的人脸识别训练方法的程序指令。

处理器131用于执行存储器132存储的程序指令以识别车内人脸。

其中,处理器131还可以称为CPU(Central Processing Unit,中央处理单元)。处理器131可能是一种集成电路芯片,具有信号的处理能力。处理器131还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

参阅图14,图14为本发明实施例的计算机存储介质的结构示意图。本发明实施例的计算机存储介质存储有能够实现上述所有方法的程序文件141,其中,该程序文件141可以以软件产品的形式存储在上述计算机存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的计算机存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 人脸识别模型的训练方法、人脸识别方法、装置、设备及存储介质
  • 人脸识别训练方法、识别方法、装置、设备及存储介质
技术分类

06120112192283