本发明实施例涉及图像处理技术领域,具体涉及一种多尺度面部识别方法、系统及电子设备。
背景技术:
随着社会的发展,身份信息的验证得到广泛应用,身份信息安全重要性不言而喻。随着微电子、计算机和网络技术的发展,生物识别是通过计算机与光学、声学、生物传感器和生物统计学原理等高科技手段密切结合,利用人体固有的生理特性,如手形、指纹、脸型、虹膜、视眼膜、脉搏、耳廓等和行为特征,如笔迹、声音、步态、按键力度等,来进行个人身份的鉴定。现代的生物识别技术已经到达了一定的高度,而对人的面部识别技术应用与研发近几年也得到了高度重视。
本发明人发现,在实际场景中,面部识别很容易受取景角度、拍摄背景、曝光条件的影响,致使采集到的人脸图像多种多样,为面部识别带来更大的挑战。
技术实现要素:
为此,本发明实施例提供一种多尺度面部识别方法、系统及电子设备,以解决现有技术中的问题。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,一种多尺度面部识别方法,包括:
系统获取用户输入的图片,对所述图片进行预处理,得到预处理后的图片;
对所述预处理后的图片构建基础网络,生成若干个尺度特征图;
在训练阶段,对各尺度特征图进行面部识别,得到各尺度特征图对应的面部识别结果,根据所述各尺度特征图对应的面部识别结果统计损失,进行反向传播,调节网络参数,以提高算法准确率;
在测试阶段,得到多尺度特征图对应的面部识别结果。
进一步地,所述对所述预处理后的图片构建基础网络,生成若干个尺度特征图,包括:
对所述预处理后的图片构建基础网络,生成若干个所属尺寸范围连续递增的尺度特征图。
进一步地,所述对各尺度特征图进行面部识别,得到各尺度特征图对应的面部识别结果,包括:
将各尺度特征图按照尺寸递增顺序依次排列;对尺寸最大的尺度特征图直接进行面部识别操作,得到最大尺度特征图面部识别结果;对尺寸非最小的尺度特征图进行面部识别操作时,根据当前尺寸非最小的尺度特征图及尺寸比其大的各个尺度特征图生成当前尺度混合特征图,对当前尺度混合特征图进行面部识别,得到的面部识别结果作为当前尺度特征图的面部识别结果。
进一步地,所述系统生成四个尺度特征图,对尺寸最大的第四尺度特征图直接进行面部识别操作,得到第四面部识别结果,即最大尺度特征图面部识别结果;
对第三尺度特征图进行面部识别时,首先获取第四尺度特征图上采样后的特征图,将其与第三尺度特征图相加,得到的结果记为第三混合特征图;然后对第三混合特征图进行面部识别操作,得到第三面部识别结果,将第三面部识别结果作为第三尺度特征图的面部识别结果;
对第二尺度特征图进行面部识别时,首先获取第三混合特征图上采样后的特征图,将其与第二尺度特征图相加,得到的结果记为第二混合特征图;然后对第二混合特征图进行面部识别操作,得到第二面部识别结果,将第二面部识别结果作为第二尺度特征图的面部识别结果;
对第一尺度特征图进行面部识别时,首先获取第二混合特征图上采样后的特征图,将其与第一尺度特征图相加,得到的结果记为第一混合特征图;然后对第一混合特征图进行面部识别操作,得到第一面部识别结果,将第一面部识别结果作为第一尺度特征图的面部识别结果。
进一步地,所述面部识别,包括:人脸位置检测;
在进行人脸位置检测后,还包括:在训练阶段,使用损失函数,调节网络参数,对每一个训练样本计算边框回归任务损失。
进一步地,所述面部识别,还包括:人脸关键点位置检测;
在进行人脸位置检测后,还包括:在训练阶段,使用损失函数,调节网络参数,采用回归任务损失的方式,对每一个训练样本计算人脸关键点检测任务的损失。
进一步地,所述面部识别,还包括:人脸姿态的信息检测;
在进行人脸姿态的信息检测后,还包括:在训练阶段,使用损失函数,调节网络参数,计算分类任务损失。
根据本发明实施例的第二方面,一种多尺度面部识别电子设备,包括:
处理器,用于获取用户输入的图片,对所述图片进行预处理,得到预处理后的图片;用于对所述预处理后的图片构建基础网络,生成若干个尺度特征图;用于在训练阶段,对各尺度特征图进行面部识别,得到各尺度特征图对应的面部识别结果,根据所述各尺度特征图对应的面部识别结果统计损失,进行反向传播,调节网络参数,以提高算法准确率;
在测试阶段,得到多尺度特征图对应的面部识别结果。
根据本发明实施例的第三方面,一种多尺度面部识别系统,包括:
预处理模块,用于获取用户输入的图片,对所述图片进行预处理,得到预处理后的图片;
多尺度模块,用于对所述预处理后的图片构建基础网络,生成若干个尺度特征图;
面部识别模块,用于在训练阶段,对各尺度特征图进行面部识别,得到各尺度特征图对应的面部识别结果,根据所述各尺度特征图对应的面部识别结果统计损失,进行反向传播,调节网络参数,以提高算法准确率;用于在测试阶段,得到多尺度特征图对应的面部识别结果。
根据本发明实施例的第四方面,一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序用于实现如上所述的多尺度面部识别方法。
本发明实施例,具有如下优点:系统对所述预处理后的图片构建基础网络,生成若干个尺度特征图,对各尺度特征图进行面部识别,能够有效检测不同尺寸的人脸位置、人脸姿态、人脸关键点位置等,通过网络自带的空间分辨率实现多尺度面部识别,能够节约资源。另外,本方法在训练阶段,根据所述各尺度特征图对应的面部识别结果统计损失,进行反向传播,调节网络参数,进而提高算法的准确率。更进一步地,系统面部识时,多个任务、多尺度特征图之间相互影响,进一步提高算法的准确性。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明的一个实施例提供的一种多尺度面部识别方法流程图;
图2为本发明另一个实施例提供的一种多尺度面部识别系统结构示意图。
图中:401为预处理模块、402为多尺度模块、403为面部识别模块。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明第一方面,提供一种多尺度面部识别方法,如图1所示,包括:
步骤201:系统获取用户输入的图片,对图片进行预处理,得到预处理后的图片;
在本发明实施例中,图片预处理包括:图片中图像位置的标准化、大小的正规化以及图像的归一化处理。具体的图片预处理过程此处不再赘述。本实施例中,通过图像预处理,能够通过图片预处理有效地去除光照对人脸影响,使得后续对图片中的人脸进行面部识别更为精准。
步骤202:对预处理后的图片构建基础网络,生成若干个尺度特征图;
在本发明实施例中,系统对预处理后的图片构建基础网络,采用金字塔的方式通过基础网络预先设置的空间分辨率,能够有效检测不通过尺寸的人脸,进而进行面部识别。本系统可以针对预处理后的图片生成多个尺度特征图,各尺度特征图的尺寸依次递增或递减。本实施例中,以四个尺度特征图为例,进行举例说明。
第一尺度特征图检测极小人脸。例如人脸范围:10*10~40*40分辨率,但不局限于该尺寸。
第二尺度特征图检测较小人脸。例如人脸范围:40*40~80*80分辨率,但不局限于该尺寸。
第三尺度特征图检测中等大小人脸。例如人脸范围:80*80~160*160分辨率,但不局限于该尺寸。
第四尺度特征图检测较大人脸。例如人脸范围:160*160~400*400分辨率,但不局限于该尺寸。
步骤203:在训练阶段,对各尺度特征图进行面部识别,得到各尺度特征图对应的面部识别结果,根据各尺度特征图对应的面部识别结果统计损失,进行反向传播,调节网络参数,以提高算法准确率,在测试阶段,得到多尺度特征图对应的面部识别结果。
在本发明实施例中,将各尺度特征图按照尺寸递增顺序依次排列,对尺寸最大的尺度特征图可以直接进行面部识别操作,得到最大尺度特征图面部识别结果。对尺寸非最小的尺度特征图进行面部识别操作时,根据当前尺寸非最小的尺度特征图及尺寸比其大的各个尺度特征图生成当前尺度混合特征图,对当前尺度混合特征图进行面部识别,得到的面部识别结果作为当前尺度特征图的面部识别结果。
以四个尺度的特征图进行说明:对尺寸最大的第四尺度特征图直接进行面部识别操作,得到第四面部识别结果,即最大尺度特征图面部识别结果。对第三尺度特征图进行面部识别时,首先获取第四尺度特征图上采样后的特征图,将其与第三尺度特征图相加,得到的结果记为第三混合特征图;然后对第三混合特征图进行面部识别操作,得到第三面部识别结果,将第三面部识别结果作为第三尺度特征图的面部识别结果。
相类似地,对第二尺度特征图进行面部识别时,首先获取第三混合特征图上采样后的特征图,将其与第二尺度特征图相加,得到的结果记为第二混合特征图;然后对第二混合特征图进行面部识别操作,得到第二面部识别结果,将第二面部识别结果作为第二尺度特征图的面部识别结果。
对第一尺度特征图进行面部识别时,首先获取第二混合特征图上采样后的特征图,将其与第一尺度特征图相加,得到的结果记为第一混合特征图;然后对第一混合特征图进行面部识别操作,得到第一面部识别结果,将第一面部识别结果作为第一尺度特征图的面部识别结果。
在通过对各尺度特征图进行面部识别后,根据各尺度特征图对应的面部识别结果统计损失,即将低层特征和高层特征累加,以此在低层获得强语义信息,提高面部识别的性能。
进一步地,在测试阶段,得到多尺度特征图对应的面部识别结果。
在本发明实施例中,面部识别包括但不限于人脸位置、人脸关键点位置、人脸姿态的信息。
在进行人脸位置检测,具体通过坐标信息获得,可以以矩形框的方式获取到人脸位置。在人脸位置检测后,还包括:在训练阶段,使用损失函数,调节网络参数,对于每一个训练样本计算边框回归任务的损失,例如:采用smoothl1loss,但不局限于该损失函数。smoothl1loss公式为:
其中x=ti-ti*,ti是四点向量预测坐标,ti*是四点向量真值坐标。α值可以为0.5,但不局限于固定0.5。
在进行人脸关键点位置时,具体可以检测左眼睛、右眼镜、鼻子、左嘴角、右嘴角等,在进行人脸关键点位置检测后,还包括:在训练阶段,使用损失函数,调节网络参数,对每一个训练样本计算人脸关键点检测任务的损失,采用回归任务损失,例如采用欧式损失函数,但不局限于该损失函数。欧式损失公式为:
其中,
在进行人脸姿态的信息检测时,可以检测正脸、左侧脸、右侧脸、俯视、仰视、倾斜等角度的姿态。其中,在检测到人脸垂直于摄像机光轴,双眼连线呈水平的情形下,判定为正脸;
在检测到人脸呈侧脸状态,并且鼻尖超过脸的轮廓的情形下,判定为侧脸;
在检测到人脸有明显的俯角的情形下,判定为俯视;
在检测到人脸有明显的仰角的情形下,判定为仰视;
在检测到人脸垂直于摄像机光轴,双眼连线与水平方向有明显角度差异的情形下,判定为倾斜。
在人脸姿态的信息检测后,还包括:在训练阶段,使用损失函数,调节网络参数,计算分类任务损失,方法为:
总的损失函数为各个任务的损失函数通过不同的权重加权求和:
其中,n表示训练样本的数量。λ1、λ2、λ3分别表示不同loss的权重。
在本发明第二方面,提供一种多尺度面部识别系统,如图2所示,包括:
预处理模块401,用于获取用户输入的图片,对所述图片进行预处理,得到预处理后的图片;
在本发明实施例中,预处理模块401的图片预处理操作包括:图片中图像位置的标准化、大小的正规化以及图像的归一化处理。具体的图片预处理过程此处不再赘述。本实施例中,通过图像预处理,能够通过图片预处理有效地去除光照对人脸影响,使得后续对图片中的人脸进行面部识别更为精准。
多尺度模块402,用于对所述预处理后的图片构建基础网络,生成若干个尺度特征图;
在本发明实施例中,多尺度模块402,用于对预处理后的图片构建基础网络,采用金字塔的方式通过基础网络预先设置的空间分辨率,能够有效检测不通过尺寸的人脸,进而进行面部识别。多尺度模块402,可以针对预处理后的图片生成多个尺度特征图,各尺度特征图的尺寸依次递增或递减。本实施例中,以四个尺度特征图为例,进行举例说明。第一尺度特征图检测极小人脸。例如人脸范围:10*10~40*40分辨率,但不局限于该尺寸。
第二尺度特征图检测较小人脸。例如人脸范围:40*40~80*80分辨率,但不局限于该尺寸。
第三尺度特征图检测中等大小人脸。例如人脸范围:80*80~160*160分辨率,但不局限于该尺寸。
第四尺度特征图检测较大人脸。例如人脸范围:160*160~400*400分辨率,但不局限于该尺寸。
面部识别模块403,用于在训练阶段,对各尺度特征图进行面部识别,得到各尺度特征图对应的面部识别结果,根据所述各尺度特征图对应的面部识别结果统计损失,进行反向传播,调节网络参数,以提高算法准确率;用于在测试阶段,得到多尺度特征图对应的面部识别结果。
在本发明实施例中,面部识别模块403,用于将各尺度特征图按照尺寸递增顺序依次排列,对尺寸最大的尺度特征图可以直接进行面部识别操作,得到最大尺度特征图面部识别结果。对尺寸非最小的尺度特征图进行面部识别操作时,根据当前尺寸非最小的尺度特征图及尺寸比其大的各个尺度特征图生成当前尺度混合特征图,对当前尺度混合特征图进行面部识别,得到的面部识别结果作为当前尺度特征图的面部识别结果。
以四个尺度的特征图进行说明:面部识别模块403,对尺寸最大的第四尺度特征图直接进行面部识别操作,得到第四面部识别结果,即最大尺度特征图面部识别结果。对第三尺度特征图进行面部识别时,首先获取第四尺度特征图上采样后的特征图,将其与第三尺度特征图相加,得到的结果记为第三混合特征图;然后对第三混合特征图进行面部识别操作,得到第三面部识别结果,将第三面部识别结果作为第三尺度特征图的面部识别结果。
相类似地,对第二尺度特征图进行面部识别时,首先获取第三混合特征图上采样后的特征图,将其与第二尺度特征图相加,得到的结果记为第二混合特征图;然后对第二混合特征图进行面部识别操作,得到第二面部识别结果,将第二面部识别结果作为第二尺度特征图的面部识别结果。
对第一尺度特征图进行面部识别时,首先获取第二混合特征图上采样后的特征图,将其与第一尺度特征图相加,得到的结果记为第一混合特征图;然后对第一混合特征图进行面部识别操作,得到第一面部识别结果,将第一面部识别结果作为第一尺度特征图的面部识别结果。
在通过对各尺度特征图进行面部识别后,根据各尺度特征图对应的面部识别结果统计损失,即将低层特征和高层特征累加,以此在低层获得强语义信息,提高面部识别的性能。进一步地,在测试阶段,得到多尺度特征图对应的面部识别结果。
在本发明实施例中,面部识别模块403进行的面部识别,包括但不限于人脸位置、人脸关键点位置、人脸姿态的信息。
在进行人脸位置检测,具体通过坐标信息获得,可以以矩形框的方式获取到人脸位置。在人脸位置检测后,还包括:在训练阶段,使用损失函数,调节网络参数,对于每一个训练样本计算边框回归任务的损失,例如:采用smoothl1loss,但不局限于该损失函数。smoothl1loss公式为:
其中x=ti-ti*,ti是四点向量预测坐标,ti*是四点向量真值坐标。α值可以为0.5,但不局限于固定0.5。
在进行人脸关键点位置时,具体可以检测左眼睛、右眼镜、鼻子、左嘴角、右嘴角等,在进行人脸关键点位置检测后,还包括:在训练阶段,使用损失函数,调节网络参数,对每一个训练样本计算人脸关键点检测任务的损失,采用回归任务损失,例如采用欧式损失函数,但不局限于该损失函数。欧式损失公式为:
其中,
在进行人脸姿态的信息检测时,可以检测正脸、左侧脸、右侧脸、俯视、仰视、倾斜等角度的姿态。其中,在检测到人脸垂直于摄像机光轴,双眼连线呈水平的情形下,判定为正脸;
在检测到人脸呈侧脸状态,并且鼻尖超过脸的轮廓的情形下,判定为侧脸;
在检测到人脸有明显的俯角的情形下,判定为俯视;
在检测到人脸有明显的仰角的情形下,判定为仰视;
在检测到人脸垂直于摄像机光轴,双眼连线与水平方向有明显角度差异的情形下,判定为倾斜。
在人脸姿态的信息检测后,还包括:在训练阶段,使用损失函数,调节网络参数,计算分类任务损失,方法为:
总的损失函数为各个任务的损失函数通过不同的权重加权求和:
其中,n表示训练样本的数量。λ1、λ2、λ3分别表示不同loss的权重。
在本发明第三方面,提供一种多尺度面部识别电子设备,包括:
处理器,用于获取用户输入的图片,对所述图片进行预处理,得到预处理后的图片;用于对所述预处理后的图片构建基础网络,生成若干个尺度特征图;用于在训练阶段,对各尺度特征图进行面部识别,得到各尺度特征图对应的面部识别结果,根据所述各尺度特征图对应的面部识别结果统计损失,进行反向传播,调节网络参数,以提高算法准确率;用于在测试阶段,得到多尺度特征图对应的面部识别结果。
在本发明第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序用于实现如上所述的多尺度面部识别方法。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。