人脸图像筛选方法与装置
技术领域
本公开涉及人脸识别技术领域,具体而言,涉及一种人脸图像筛选方法与装置。
背景技术
人脸识别的广泛应用对技术的安全稳定性有严格要求,但是人脸识别算法很容易受光照、角度、遮挡和清晰度等因素的影响,采集的人脸图像的质量严重影响着应用系统的性能。由于光照、运动、失焦等因素,获取的人脸图像会出现不同程度的失真,如过于黑暗或过于模糊的低质量人脸图像会极大地影响人脸对比算法的性能,引起高概率的误识别。同时,低质量的人脸图像会导致对比失败次数的增加,造成计算资源的浪费,尤其是许多的终端集成系统中,会极大延长用户的通行时间,进一步影响用户的体验。所以,有效地过滤低质量图像,选取合适的高质量人脸图像在实际的工程应用中是不可或缺的。
在相关技术中,过滤低质量图片的方法存在应用不够灵活、稳定性不好,受环境因素、采集设备参数、人的种族肤色、和人脸表情角度等因素的影响比较大、计算复杂度大灯问题,也无法克服不同种族肤色的人脸对模糊度的影响。
因此,需要一种能够更好地过滤低质量图片的方法。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种人脸图像筛选方法与人脸图像筛选装置,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的人脸筛选机制不灵活、受限于光照、计算复杂度高等缺陷。
根据本公开实施例的第一方面,提供一种人脸图像筛选方法,包括:根据人脸识别任务截取图片中的待处理人脸图像;通过预设神经网络输出所述待处理人脸图像的模糊度值与亮度值;根据所述人脸识别任务确定模糊度阈值与亮度阈值;将所述模糊度值大于所述模糊度阈值且所述亮度值大于所述亮度阈值的待处理人脸图像标记为清晰图像。
在本公开的一种示例性实施例中,所述预设神经网络为基于多任务学习的多层卷积神经网络。
在本公开的一种示例性实施例中,所述预设神经网络的训练过程包括:
获取训练数据集,所述训练数据集包括多个人种的人脸图像;
对所述训练数据集进行预处理,获取所述训练数据集中的人脸图像的亮度值和模糊度值;
使用所述训练数据集中的人脸图像以及每张所述人脸图像对应的人种标签、亮度值和模糊度值训练所述预设神经网络。
在本公开的一种示例性实施例中,所述对所述训练数据集进行预处理包括:
将所述人脸图像缩放到相同尺寸;
获取所述人脸图像中第一组图像的主观亮度值和主观模糊度值,作为所述第一组图像对应的亮度值和模糊度值;
对所述人脸图像中第二组图像进行模糊处理和亮度调节处理,以确定所述第二组图像对应的亮度值和模糊度值。
在本公开的一种示例性实施例中,所述模糊处理包括高斯模糊处理和运动模糊处理。
在本公开的一种示例性实施例中,所述预设神经网络通过三个训练任务联合训练生成,所述三个训练任务包括模糊度回归任务、亮度回归任务、种族属性分类任务,所述预设神经网络的损失函数为所述三个训练任务的损失函数的加权和。
在本公开的一种示例性实施例中,所述根据所述人脸识别任务确定模糊度阈值与亮度阈值包括:
确定所述人脸识别任务的应用场景的光照值;
确定所述光照值对应的所述模糊度阈值和所述亮度阈值。
根据本公开实施例的第二方面,提供一种人脸图像筛选装置,包括:
图像截取模块,设置为根据人脸识别任务截取图片中的待处理人脸图像;
分数评估模块,设置为通过预设神经网络输出所述待处理人脸图像的模糊度值与亮度值;
阈值确定模块模块,设置为根据所述人脸识别任务确定模糊度阈值与亮度阈值;
图像筛选模块,设置为将所述模糊度值大于所述模糊度阈值且所述亮度值大于所述亮度阈值的待处理人脸图像标记为清晰图像。
根据本公开的第三方面,提供一种人脸图像筛选装置,包括:存储器;以及耦合到所属存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的人脸图像筛选方法。
本公开实施例提供的人脸图像筛选方法通过使用能够根据人种输出模糊度值和亮度值的预设神经网络对人脸图像进行值,无需标准参考图像和复杂的计算即可准确评估各人种人脸图像的清晰度,能够极大提高人脸图像筛选的准确度和效率,进而提高人脸识别的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开示例性实施例中人脸图像筛选方法的流程图。
图2是本公开示例性实施例中预设神经网络的示意图。
图3是本公开示例性实施例中对预设神经网络进行训练的流程图。
图4是本公开一个示例性实施例中一种人脸图像筛选装置的方框图。
图5是本公开实施例中一种人脸图像筛选系统的示意图。
图6是本公开一个示例性实施例中一种电子设备的方框图。
图7是本公开一个示例性实施例中一种计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面结合附图对本公开示例实施方式进行详细说明。
图1示意性示出本公开示例性实施例中人脸图像筛选方法的流程图。参考图1,人脸图像筛选方法100可以包括:
步骤S102,根据人脸识别任务截取图片中的待处理人脸图像;
步骤S104,通过预设神经网络输出所述待处理人脸图像的模糊度值与亮度值;
步骤S106,根据所述人脸识别任务确定模糊度阈值与亮度阈值;
步骤S108,将所述模糊度值大于所述模糊度阈值且所述亮度值大于所述亮度阈值的待处理人脸图像标记为清晰图像。
本公开实施例提供的人脸图像筛选方法通过使用能够根据人种输出模糊度值和亮度值的预设神经网络对人脸图像进行值,无需标准参考图像和复杂的计算即可准确评估各人种人脸图像的清晰度,能够极大提高人脸图像筛选的准确度和效率,进而提高人脸识别的效率。
下面,对人脸图像筛选方法100的各步骤进行详细说明。
在步骤S102,根据人脸识别任务截取图片中的待处理人脸图像。
首先,可以通过常规人脸检测算法检测待处理图像中的一或多个人脸的位置,然后根据人脸识别任务确定需要截取哪些人脸并将这些人脸截取为待处理人脸图像,最后将该待处理人脸图像的尺寸统一调整到符合预设神经网络输入条件的尺寸。常规人脸检测算法包括但不限于MTCNN和YOLO等人脸检测算法,本公开不以此为限。
在步骤S104,通过预设神经网络输出所述待处理人脸图像的模糊度值与亮度值。
在本公开实施例中,预设神经网络为基于多任务学习的多层卷积神经网络,具体而言,预设神经网络通过三个训练任务联合训练生成,所述三个训练任务包括模糊度回归任务、亮度回归任务、种族属性分类任务,所述预设神经网络的损失函数为所述三个训练任务的损失函数的加权和。
图2是预设神经网络的示意图。
参考图2,在本公开实施例中,预设神经网络200包括三个卷积层211~213,三个池化层221~223,两个全连接层231、232,可同时实现三个深度学习任务:一个种族属性分类器(白、黄、黑),一个亮度回归器,一个模糊度回归器。考虑实际应用速度方面的实时性要求,可以将输入图像统一缩放到96*80。
种族属性分类器可以使用softmax损失函数frace,亮度回归器和模糊度回归器可以使用使用L1损失函数fillum和fblur。训练时,对三个任务进行端到端联合训练,利用共同的隐藏层提取特征,可充分利用多任务训练的优势。首先,三个任务共享除最后一层全连接层以外的其他所有层的参数,在实际应用推断时,能有效提高算法速度;其次,种族分类和亮度、模糊度回归三个任务同时训练,能提高算法模型的泛化能力,有效的抑制单任务学习的噪声影响,比如不同种族脸色对亮度模糊度的影响,及模糊度和亮度的相互影响。
在一个实施例中,将模型的联合损失函数L设置为:
L=αfrace+βfillum+γfblur…………………………(1)
其中,frace是种族属性分类器的损失函数,fillum是亮度回归器的损失函数,fblur是模糊度回归器的损失函数。在公式(2)中,Nrace是种族的类别数,是真值类别标签,pi是预测值。在公式(3)中,是图片记录的真实亮度值,li是本公开方法评估得出的亮度值。在公式(3)中,是图片记录的真实模糊度值,bi是本公开方法评估得出的模糊度值。
在公式(1)中,frace、fillum、fblur三个损失函数的系数之和α+β+γ为1,在实际训练过程中可以统一将三个系数均设置为1/3。
图3是对预设神经网络进行训练的流程图。
参考图3,预设神经网络200的训练过程可以包括:
步骤S31,获取训练数据集,所述训练数据集包括多个人种的人脸图像;
步骤S32,对所述训练数据集进行预处理,获取所述训练数据集中的人脸图像的亮度值和模糊度值;
步骤S33,使用所述训练数据集中的人脸图像以及每张所述人脸图像对应的人种标签、亮度值和模糊度值训练所述预设神经网络。
在步骤S31,可以利用不同摄像设备(例如手机前置摄像头)现场采集不同光照强度、不同晃动强度下的人像数据,检测并裁剪人脸图像,在获取人脸图像的同时获取手机持有者输入的人种标签;还可以从公开人脸数据集中挑选不同种族的人像数据,检测并裁剪人脸图像,从而直接获取人脸图像的人种标签。
在步骤S32,在本公开实施例中,将现场采集的用于训练预设神经网络的人脸图像称为第一组图像,将从数据集中挑选的人脸图像称为第二组图像。
第一组图像数量有限,因此可以直接在采集过程中获取采集者对人脸图像的主观亮度值和主观模糊度值,这种值更接近于人类的真实感受,有利于增加模型识别结果的人性化。
第二组图像数量庞大,可以作为训练集增强数据,扩大训练集的规模,提高识别精度。对第二组图像的预处理包括对图像随机进行不同程度的模糊处理的亮度调节处理,并根据处理参数计算出处理后图像的模糊度值和亮度值。
在一些实施例中,模糊处理例如可以为高斯模糊。对于高斯模糊的图像其模糊处理程度与其模糊分值对应的关系为:
其中,α为高斯模糊参数,为偏差因子,β为图像尺寸参数,与图片的大小有关,当图片大小为96*80时取值为5。
在另一些实施例中,模糊处理例如可以为运动模糊。对于运动模糊的图像其模糊处理程度与其模糊分值对应的关系为:
其中,ε是运动模糊的模糊核的偏移参数,值越大运动模糊的程度越高。
图像预处理后,可以获得训练数据集中每张人脸图像对应的人种标签、亮度值和模糊度值,进而可以使用这些参数及其对应的人脸图像训练预设神经网络,使预设神经网络能够准确地识别各人种的人脸图像的模糊度值和亮度值,避免识别结果受到人种影响。
在步骤S106,根据所述人脸识别任务确定模糊度阈值与亮度阈值。
得到图片的模糊图值和亮度值后,即可以确定图像筛选标准。
例如,可以首先确定人脸识别任务的应用场景的光照值,然后确定光照值对应的模糊度阈值和亮度阈值。示例性而言,在正常的光照环境中,可以设置亮度和模糊度的阈值分别为0.7和0.8;在背光的环境中,可以设置亮度和模糊度的阈值分别为0.5和0.7。
各阈值的设置标准可以由本领域技术人员在实际实施时自行调节,本公开不以此为限。
在步骤S108,将所述模糊度值大于所述模糊度阈值且所述亮度值大于所述亮度阈值的待处理人脸图像标记为清晰图像。
除了标记清晰图像,还可以将任一值在阈值以下的图片剔除,以提高人脸识别的效率;或者,也可以将在阈值以下的值数量作为图像质量分级的依据,将图像分为清晰图像、明亮模糊图像、昏暗图像、昏暗模糊图像等不同等级,以方便对不同情况的图像进行不同处理。
综上所述,本公开实施例提供的方法在使用过程中无需标准参考图片就可以对人脸图像亮度和模糊度进行估算,对人类种族和各种人脸因素(表情、角度等)容忍性高。此外,在这种方法中算法推理的计算复杂性低,判别步骤简单,对人脸识别设备的参数要求较低,且能够提高识别效率。
对应于上述方法实施例,本公开还提供一种人脸图像筛选装置,可以用于执行上述方法实施例。
图4示意性示出本公开一个示例性实施例中一种人脸图像筛选装置的方框图。
参考图4,人脸图像筛选装置400可以包括:
图像截取模块402,设置为根据人脸识别任务截取图片中的待处理人脸图像;
分数评估模块404,设置为通过预设神经网络输出所述待处理人脸图像的模糊度值与亮度值;
阈值确定模块模块406,设置为根据所述人脸识别任务确定模糊度阈值与亮度阈值;
图像筛选模块408,设置为将所述模糊度值大于所述模糊度阈值且所述亮度值大于所述亮度阈值的待处理人脸图像标记为清晰图像。
在本公开的一种示例性实施例中,所述预设神经网络为基于多任务学习的多层卷积神经网络。
在本公开的一种示例性实施例中,还包括预设神经网络训练模块410,包括:
数据集获取单元4101,设置为获取训练数据集,所述训练数据集包括多个人种的人脸图像;
图像预处理单元4102,设置为对所述训练数据集进行预处理,获取所述训练数据集中的人脸图像的亮度值和模糊度值;
对应训练单元4103,设置为使用所述训练数据集中的人脸图像以及每张所述人脸图像对应的人种标签、亮度值和模糊度值训练所述预设神经网络。
在本公开的一种示例性实施例中,图像预处理单元4102设置为:
将所述人脸图像缩放到相同尺寸;
获取所述人脸图像中第一组图像的主观亮度值和主观模糊度值,作为所述第一组图像对应的亮度值和模糊度值;
对所述人脸图像中第二组图像进行模糊处理和亮度调节处理,以确定所述第二组图像对应的亮度值和模糊度值。
在本公开的一种示例性实施例中,所述模糊处理包括高斯模糊处理和运动模糊处理。
在本公开的一种示例性实施例中,所述预设神经网络通过三个训练任务联合训练生成,所述三个训练任务包括模糊度回归任务、亮度回归任务、种族属性分类任务,所述预设神经网络的损失函数为所述三个训练任务的损失函数的加权和。
在本公开的一种示例性实施例中,阈值确定模块模块406设置为:
确定所述人脸识别任务的应用场景的光照值;
确定所述光照值对应的所述模糊度阈值和所述亮度阈值。
由于装置400的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
图5是本公开实施例中一种人脸图像筛选系统的示意图。
参考图5,人脸图像筛选系统500可以包括:
图像采集设备51,用于采集包括人像的图片,并把图像上传到服务器;
服务器52,用于执行人脸图像筛选方法100,检测并裁取图像的人脸区域,分析得出人脸区域的亮度和模糊度质量分数;
显示器53,用于向用户展示人脸图像及其对应的亮度值和模糊度值。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图6来描述根据本发明的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤S102:根据人脸识别任务截取图片中的待处理人脸图像;步骤S104:通过预设神经网络输出所述待处理人脸图像的模糊度值与亮度值;步骤S106:根据所述人脸识别任务确定模糊度阈值与亮度阈值;步骤S108:将所述模糊度值大于所述模糊度阈值且所述亮度值大于所述亮度阈值的待处理人脸图像标记为清晰图像。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。