用于高性能人脸识别系统的高质量训练数据准备系统的制作方法

文档序号:15020617发布日期:2018-07-25 00:37阅读:237来源:国知局

本申请一般涉及机器学习和人工智能领域,更具体而言,涉及为高性能人脸识别系统准备标注人脸图像的高质量训练数据集的系统、装置和技术。



背景技术:

深度学习(DL)是机器学习和人工神经网络的一个基于一组算法的分支,该算法通过使用具有很多个处理层的人工神经网络来试图建模数据中的高层次抽象。典型的DL架构可包括许多层的神经元和数百万个参数。可以在配备有GPU的高速计算机上用海量数据训练这些参数,并由在深层网络也能适用的新的训练算法来指导,诸如修正线性单元(ReLU)、漏失(或丢弃)、数据集增强,以及随机梯度下降(SGD)。

深度学习已经在许多人工智能和机器学习领域,诸如人脸识别、图像分类、图像字幕生成、可视问答以及自动驾驶汽车中取得了巨大成功。由于深度学习的技术进步,尤其是将卷积神经网络(CNN)应用于人脸识别任务的巨大成功,人脸识别应用已成为这些应用中最受推崇并且发展最快的应用之一。基于CNN的人脸识别系统通常用于解决一系列问题,这包括人脸检测,即在输入图像中找出所有的人脸;人脸验证,即确认已检测人脸的声称主体是否为该声称主体本人;人脸识别,即基于该已检测人脸识别该人;以及人脸聚类,即在多个已检测人脸中找出同一个人。

现有的人脸检测技术已经可达到非常高的精确度和可靠度,然而现有人脸识别系统在精确度和可靠度方面依然具有很大的进步空间。在构建成功的人脸识别系统的众多挑战中,如何构建高质量的训练数据集依然是较为关键和困难的挑战之一。一个有效且可靠的人脸识别系统有赖于大规模、多样化并且精确标注的训练数据集。然而,满足这些要求的训练数据集一般都掌握在控制着大量用户数据的少数网络公司手中。因此,人们不得不通过在网络中挖掘大量的可用数据去构建他们自己的训练数据集。

为了完成人脸识别任务,可采用搜索引擎或者网络爬虫从网络中收集人脸图像数据。例如,以名人的姓名作为查询条件通过搜索引擎收集某一名人的图像。因此,从网络中收集的人脸图像数据通常被划分为多组相同标注图像,其中每组标注图像对应于唯一主体的人。然而,从网络中收集的原始人脸图像数据通常是“不干净的”,这是因为每组相同标注图像通常包含不理想的图像,例如标注错误的图像、低质量图像、包含多个人的人脸的图像。虽然可以通过手动“清洗”这些原始数据,以去除这些不良的人脸图像,然而对于大规模原始数据集而言,手动清洗比较昂贵而且效率低。因此,研究人员和工程师已经着手积极开发自动清洗原始训练数据技术,从而有效地从该原始训练数据集中去除“噪声”数据。不乐观地是,现有的训练数据清洗通常基于低水平特征和过度简化的假设对原始训练数据进行过滤,而这些技术产出的结果通常不尽如人意。



技术实现要素:

本申请描述的多个实施例提供了用于执行大规模人脸图像训练数据采集、预处理、清洗、均衡化和后处理的人脸图像训练数据准备系统的多个示例。在一些实施例中,本申请公开的人脸图像训练数据准备系统可以接收包含多种不同类型的不良人脸图像的原始训练数据集。本申请公开的训练数据准备系统然后可以对该原始训练数据集执行清洗和均衡化操作,从而生成不具有该不良人脸图像的高质量人脸图像训练数据集。该已处理的高质量人脸图像训练数据集随后可用于训练基于深度神经网络的人脸识别系统,从而在多种人脸识别应用中实现高性能。与传统的人脸识别系统和技术相比,本申请公开的训练数据准备系统和技术提供了全自动、高度确定的高质量训练数据准备程序,该程序无需严重依赖于假设条件。

在多个实施例中,本申请公开的人脸图像训练数据准备系统至少包括训练数据集清洗模块和训练数据集均衡化模块,并可选地包括训练数据集预处理模块和训练数据集后处理模块。所有这些模块均可应用于粗略标注人脸图像的原始训练数据集中,用以生成正确标注人脸图像的高质量训练数据集。在一些实施例中,本申请公开的训练数据集清洗模块用于执行人脸标注验证,即确认人脸图像的声称/标注主体是否的确为该声称/标注主体本人(即,该人脸图像是否已经被正确标注)。因此,可以从该训练数据集中去除未通过该身份验证的标注人脸图像。然而,本申请公开的训练数据集清洗模块可以作为一个整体处理每个主体/人中每组相同标注的人脸图像,从而处理包括多组具有更多数量的主体或人的相同标注的人脸图像,而无需单独处理每个单独标注的人脸图像。

更具体地,本申请公开的训练数据集清洗模块首先通过对该组相同标注人脸图像中的每张图像执行向量化操作,以对该给定主体的一组相同标注人脸图像进行处理。例如,该训练数据集清洗模块可以采用深度神经网络对一组相同标注人脸图像中的每张图像执行欧几里德向量化(即特征提取),其中对该深度神经网络进行预先训练,从而两个被提取特征向量之间的点积(文中也称之为“余弦相似性”、“欧几里德距离”和“匹配得分”)直接对应于两个对应人脸图像之间的人脸相似度。换言之,同一人的两张人脸图像的对应特征向量之间具有更高的匹配得分,与之相比,两个不同的人的两张人脸图像的对应特征向量之间具有较低的匹配得分。因此,该训练数据集清洗模块可以为该组图像构建相似度矩阵。一旦构建相似度矩阵,就可以将一个或多个设计合理的阈值应用于该组相同标注人脸图像的匹配得分中,从而实现该组相同标注人脸图像的人脸标注验证。需要说明,当采用上文描述的人脸图像的欧几里德向量作为训练数据时,人脸识别就转化为K-NN分类问题,并且可以通过现有技术实现人脸聚类,该现有技术例如包括K-平均或凝聚聚类。

一方面,公开了一种用于为人脸识别系统准备高质量人脸图像训练数据的过程。该过程首先接收训练数据集,该训练数据集包括与多个主体相关的多组相同标注人脸图像;其中每组相同标注人脸图像均标注有多个主体中的一个给定主体;该训练数据集还包括不良图像子集。接下来,对于该训练数据集中对应给定主体的每组相同标注人脸图像,该过程识别该组相同标注人脸图像中的不良图像子集,然后生成该给定主体的不包括该不良图像子集的一组洁净的相同标注人脸图像。该过程然后将该组洁净的相同标注人脸图像合并,获得洁净的训练数据集,用于训练人脸识别模型。

在一些实施例中,识别该组相同标注人脸图像中的不良图像子集的步骤包括:在该组相同标注人脸图像内识别出高度相似图像子集,并将该高度相似图像子集作为第一参考图像集,并将该组相同标注人脸图像内不属于该第一参考图像集的图像设定为第一候选图像集。然后,该过程基于该第一参考图像集从该第一候选图像集中识别出不良图像子集。

在一些实施例中,在该组相同标注人脸图像内识别出高度相似图像子集,并将该高度相似图像子集作为第一参考图像集的步骤包括:计算该组相同标注人脸图像内的每对图像的相似度矩阵,其中该相似度矩阵中的每个元素表示该组相同标注人脸图像中两张对应图像之间的相似度分数;将第一阈值应用于该相似度矩阵中,从而将该相似度矩阵内的元素划分为大于或等于第一阈值的第一组元素以及小于第一阈值的第二组元素;处理第一组元素以生成一个或多个图像聚类,其中每个图像聚类包括该组相同标注人脸图像中与第一组元素相关的人脸图像子集,并且每个图像聚类包括一张或多张被确定为彼此高度相似的图像;以及将该一个或多个图像聚类内的具有最多数量图像的图像聚类作为第一参考集。

在一些实施例中,该过程基于相关的一组相似度分数构建一个或多个连通图,从而生成一个或多个图像聚类。

在一些实施例中,计算该组相同标注人脸图像内的每对图像的相似度矩阵包括:首先基于预先训练的人脸向量化模型提取该组相同标注人脸图像中每张图像的特征向量。接下来,计算该组相同标注人脸图像中每两张图像的两个特征向量之间的余弦积,将该余弦积作为该两张图像间的相似度分数。

在一些实施例中,该过程选择的第一阈值满足:两张不具有相同主体的相同标注人脸图像之间的相似度大于或等于第一阈值的概率低于用户指定的容错率。

在一些实施例中,从该第一候选图像集中识别出不良图像子集的步骤包括:在第一候选图像集中识别出符合再收集条件的第一图像子集以及不符合再收集条件的第二图像子集,然后在该不符合再收集条件的第二图像子集中识别出不良图像子集。

在一些实施例中,在第一候选图像集中识别出符合再收集条件的第一图像子集包括:对于该第一候选图像集中的每张图像,获得该图像与该第一参考图像集中的每张图像之间的一组相似度分数,并随后计算出该图像相对于该第一参考图像集的合并相似度分数;将第二阈值应用于该组合并相似度分数,用于将该第一候选图像集划分为符合再收集条件的第一图像子集和不符合再收集条件的第二图像子集。

在一些实施例中,该过程将第一参考图像集与该符合再收集条件的第一图像子集合并,以获得一组洁净的相同标注人脸图像。该过程还将该不符合再收集条件的第二图像子集识别为不良图像子集。

在一些实施例中,该过程选择的第二阈值满足:一张与该第一参考图像集具有不同主体的图像相对于该第一参考图像集的合并相似度分数大于或等于第二阈值的概率低于用户定义的容错率。

在一些实施例中,该第二阈值小于该第一阈值。

在一些实施例中,该过程通过计算该组相似度分数的加权平均值计算该图像相对于该第一参考图像集的合并相似度分数。在一些实施例中,计算该图像相对于该第一参考图像集的合并相似度分数,包括:为该组相似度分数中较高的相似度分数提供更高的加权值。

在一些实施例中,对于相似度分数,可以基于因数exp(r·s)确定加权平均值内与该相似度分数相关的加权值,其中r是2到10之间的正数,而s为该相似度分数。

在一些实施例中,该过程还执行如下步骤:合并第一参考图像集和符合再收集条件的第一图像子集,以形成第二参考图像集;将该组相同标注人脸图像集中不属于第二参考图像集中的图像指定为第二候选图像集;并基于该第二参考图像集在该第二候选图像集中识别出不良图像子集。

在一些实施例中,基于该第二参考图像集在该第二候选图像集中识别出不良图像子集的步骤包括:对于该第二候选图像集中的每张图像,获得该图像与该第二参考图像集中的每张图像之间的一组相似度分数,并随后计算出该图像相对于该组第二参考图像集的合并相似度分数。接下来,将第三阈值应用于与第二参考图像集相关的该组合并相似度分数,用于将该第二候选图像集划分为符合再收集条件的第三图像子集和不符合再收集条件的第四图像子集。该过程然后将该不符合再收集条件的第四图像集作为不良图像子集。

在一些实施例中,该过程将第二参考图像集与该符合再收集条件的第三图像子集合并,以获得与该主体相关的不具有不良图像子集的一组洁净的相同标注人脸图像。

在一些实施例中,该第三阈值小于该第二阈值,而该第二阈值小于该第一阈值。

在一些实施例中,在接收该训练数据集之前,该过程采用一个或多个图像爬虫,并且采用多个主体作为搜索查询条件在互联网中挖掘与该多个主体匹配的粗略标注图像集合。

在一些实施例中,生成训练数据集包括:对于该组粗略标注图像中的每一张粗略标注图像,在该粗略标注图像内检测一张或多张人脸,随后从该粗略标注图像中裁剪出与该一张或多张人脸相关的一张或多个人脸图像;通过合并该粗略标注图像中裁剪出的与同一主体相关的图像集合,形成一组相同标注人脸图像。

在一些实施例中,在形成一组相同标注人脸图像之前,该过程对该组已裁剪人脸图像进行预处理,从而预处理后的已裁剪人脸图像具有相同的图像尺寸,并且人脸均基本位于对应人脸图像的中心。

在一些实施例中,对该组已裁剪人脸图像进行预处理包括:对该组已裁剪人脸图像执行旋转操作,从而预处理后的已裁剪人脸图像具有基本相同的姿态。

在一些实施例中,该多个主体包括亚裔集合和非亚裔集合。

在一些实施例中,在生成该给定主体的不包括该不良图像子集的一组洁净的相同标注人脸图像之后,该过程还执行如下步骤:将该组洁净的相同标注人脸内的人脸图像的数量限制为目标数量,从而使每一组相同标注人脸图像均衡化;合并该组洁净并均衡化的相同标注人脸图像,以获得高质量训练数据集,用于训练人脸识别模型。

在一些实施例中,该组不良图像包括下述4项中的一项或多项:(1)每张图像被标注的主体与图像内的人不匹配的图像子集;(2)每张图像都没有人出现的图像子集;(3)每张图像都质量很差的图像子集;(4)彼此基本相同的图像子集。

另一方面,公开了一种用于为人脸识别系统准备高质量人脸图像训练数据的装置。该装置包括一个或多个处理器,以及存储有指令的存储器。当该一个或多个处理器运行该指令时会使该装置:接收训练数据集,该训练数据集包括与多个主体相关的多组相同标注人脸图像;其中每组相同标注人脸图像标注有该多个主体中的一个给定主体;该训练数据集还包括不良图像子集;对于该训练数据集中对应给定主体的每组相同标注人脸图像,识别该组相同标注人脸图像中的不良图像子集,然后生成该给定主体的不包括该不良图像子集的一组洁净的相同标注人脸图像;将该组洁净的相同标注人脸图像合并,获得洁净的训练数据集,用于训练人脸识别模型。

另一方面,公开了一种为人脸识别系统准备高质量人脸图像训练数据的系统。该系统包括:一个或多个处理器;与该一个或多个处理器连接的存储器;接收训练数据集的接收模块,其中该训练数据集包括与多个主体相关的多组相同标注人脸图像,其中每组相同标注人脸图像标注有该多个主体中的一个给定主体;该训练数据集还包括不良图像子集;训练数据集清洗模块,用于对该训练数据集中对应给定主体的每组相同标注人脸图像,识别该组相同标注人脸图像中的不良图像子集,生成该给定主体的不包括该不良图像子集的一组洁净的相同标注人脸图像;以及训练数据集生成模块,用于将该组洁净的相同标注人脸图像合并,获得洁净的训练数据集,用于训练人脸识别模型。

在一些实施例中,该训练数据集清洗模块用于:在该组相同标注人脸图像内识别出高度相似图像子集,并将该高度相似图像子集作为第一参考图像集,并将该组相同标注人脸图像内不属于该第一参考图像集的图像设定为第一候选图像集;并基于该第一参考图像集从该第一候选图像集中识别出不良图像子集。

在一些实施例中,该训练数据集清洗模块还用于:计算该组相同标注人脸图像内的每对图像的相似度矩阵,其中该相似度矩阵中的每个元素表示该组相同标注人脸图像中两张对应图像之间的相似度分数;将第一阈值应用于相似度矩阵中,从而将该相似度矩阵内的元素划分为大于或等于第一阈值的第一组元素以及小于第一阈值的第二组元素;处理第一组元素以生成一个或多个图像聚类,其中每个图像聚类包括该组相同标注人脸图像中与第一组元素相关的人脸图像子集,并且每个图像聚类包括一张或多张被确定为彼此高度相似的图像;以及将该一个或多个图像聚类内的具有最多数量图像的图像聚类作为第一参考集。

在一些实施例中,该训练数据集清洗模型还用于:在第一候选图像集中识别出符合再收集条件的第一图像子集以及不符合再收集条件的第二图像子集,然后在该不符合再收集条件的第二图像子集中识别出不良图像子集。

在一些实施例中,该训练数据集清洗模块识别出不良图像子集的方式为:对于该第一候选图像集中的每张图像,获得该图像与该第一参考图像集中的每张图像之间的一组相似度分数,随后计算出该图像相对于该第一参考图像集的合并相似度分数;将第二阈值应用于该组合并相似度分数,用于将该第一候选图像集划分为符合再收集条件的第一图像子集和不符合再收集条件的第二图像子集;将第一参考图像集与该符合再收集条件的第一图像子集合并,以获得一组洁净的相同标注人脸图像;并将该不符合再收集条件的第二图像子集识别为不良图像子集。

附图说明

通过阅读下文详细描述和各个附图,可以理解本申请的结构和操作,在附图中,相同的附图标注表示相同的部件,其中:

图1显示了根据本申请一些实施例的示例性人脸识别模型训练数据准备系统的框图;

图2显示了根据本申请一些实施例公开的训练数据准备系统的原始训练数据集生成子系统的示例性实施方式的框图;

图3显示了用于描述根据本申请一些实施例的结合人脸裁剪操作预处理原始人脸图像的示例性过程的流程图;

图4显示了根据本申请一些实施例中的训练数据准备系统的高质量训练数据集生成子系统的示例性实施过程的框图;

图5显示了根据本申请一些实施例公开的高质量训练数据集生成子系统中数据清洗模块的示例性实施过程的框图;

图6显示了根据本申请一些实施例中采用本申请公开的数据清洗模块执行数据清洗的示例性过程的流程图;

图7显示了根据本申请一些实施例中在该组相同标注图像中识别参考图像集的示例性过程的流程图;

图8显示了根据本申请一些实施例的在第一候选图像集中识别同样被正确标注的图像子集的示例性过程的流程图;

图9显示了根据本申请一实施例的在第二候选图像集中识别同样被正确标注的图像子集的示例性过程的流程图;

图10显示了根据本申请一些实施例的从一组失衡的相同标注图像中移除重复图像的示例性过程的流程图;

图11显示了根据本申请一些实施例中用于将图像添加入一组失衡相同标注图像的示例性过程的流程图;

图12概念性地描述了可结合本申请一些实施例公开技术实现的计算机系统。

具体实施方式

下文的详细描述旨在作为主题技术的各种配置的描述,并不旨在表示可以实施主题技术的唯一配置。附图包含在本文中,并构成详细描述的一部分。该详细描述包括用于旨在全面理解主题技术的具体细节。然而,主题技术不仅限于本文所阐述的具体细节,没有这些具体细节的方案也有可能可以实施。在某些情况下,结构和组件以框图的形式示出,以避免使主题技术的概念变得模糊。

本申请公开了用于实现大规模人脸图像训练数据采集、预处理、清洗、均衡化以及后处理的人脸图像训练数据准备系统的多个示例。在一些实施例中,本申请公开的人脸图像训练数据准备系统可以接收具有不同类型的不良人脸图像的原始训练数据集。然后,该人脸图像训练数据准备系统可对该原始训练数据集执行清洗和均衡化操作,从而生成不具有不良人脸图像的高质量人脸图像训练数据集。该已处理高质量人脸图像训练数据集随后可用于训练基于深度神经网络的人脸识别系统,从而在多种人脸识别应用中实现高性能。与传统的人脸识别系统和技术相比,本申请公开的训练数据准备系统和技术提供了全自动、高度确定的高质量训练数据准备程序,该程序无需严重依赖于假设条件。

在多个实施例中,本申请公开的人脸图像训练数据准备系统至少包括训练数据集清洗模块和训练数据集均衡化模块,并可选地包括训练数据集预处理模块和训练数据集后处理模块。所有这些模块均可应用于粗略标注人脸图像的原始训练数据集中,用以生成正确标注人脸图像的高质量训练数据集。在一些实施例中,本申请公开的训练数据集清洗模块用于执行人脸标注验证,即确认人脸图像的声称/标注主体是否的确为该声称/标注主体本人(即,该人脸图像是否已经被正确标注)。因此,可以从该训练数据集中去除未通过该身份验证的标注人脸图像。然而,本申请公开的训练数据集清洗模块可以作为一个整体处理每个主体/人中每组相同标注的人脸图像,从而处理包括多组具有更多数量的主体或人的相同标注的人脸图像,而无需单独处理每个单独标注的人脸图像。

更具体地,本申请公开的训练数据集清洗模块首先通过对该组相同标注人脸图像中的每张图像执行向量化操作,以对该给定主体的一组相同标注人脸图像进行处理。例如,该训练数据集清洗模块可以采用深度神经网络对一组相同标注人脸图像中的每张图像执行欧几里德向量化(即特征提取),其中对该深度神经网络进行预先训练,从而两个特征向量之间的点积(文中也称之为“余弦相似性”、“欧几里德距离”和“匹配得分”)直接对应于两个对应人脸图像之间的人脸相似度。换言之,同一人的两张人脸图像的对应特征向量之间具有更高的匹配得分,与之相比,两个不同的人的两张人脸图像的对应特征向量之间具有较低的匹配得分。因此,该训练数据集清洗模块可以为该组图像构建相似度矩阵。一旦构建相似度矩阵,就可以将一个或多个设计合理的阈值应用于该组相同标注人脸图像的匹配得分中,从而实现该组相同标注人脸图像的人脸标注验证。需要说明,当采用上文描述的人脸图像的欧几里德向量化作为训练数据时,人脸识别就转化为K-NN分类问题,并且可以通过现有技术实现人脸聚类,该现有技术例如包括K-平均或凝聚聚类。

人脸识别模型训练数据准备系统

图1显示了根据本申请一些实施例的示例性人脸识别模型训练数据准备系统100的框图。从图1中可以看出,训练数据准备系统100包括以图示顺序串联连接的原始数据采集子系统102、原始训练数据集生成子系统104以及高质量训练数据集生成子系统106。图1还显示了人脸识别模型训练系统108,然而该人脸识别模型训练系统108仅从该训练数据准备系统100中接收高质量的训练数据集并将该高质量训练数据集作为输入,不构成本申请公开的训练数据准备系统100的一部分。

在图中所示的实施例中,原始数据采集子系统102采集一组具有较多数量的粗略标注图像110,这些粗略标注图像110标注着来自公共域的很多人的主体,其中该公共域例如为互联网114。由于这些图像的标注质量较低,该组粗略标注图像110通常是“不干净”或者有“噪声”的。该组粗略标注图像110相关的问题包括但不限于:主体标注错误的图像(即将某一人的图像标注为另一个人的姓名)、不具有人脸的图像、质量较差的图像(例如,人脸太小或者人脸模糊)。在一些实施例中,原始训练数据集生成子系统104用于接收一组粗略标注图像110,并且通过执行人脸检测来预处理该组粗略标注图像。在一些实施例中,原始训练数据集生成子系统104还用于对该人脸图像进行预处理,以生成原始训练数据集116,该原始训练数据集116包括大量人/主体的多组粗略标注人脸图像。在一些实施例中,高质量训练数据集生成子系统106用于接收原始训练数据集116并对该原始训练数据集116执行数据清洗和均衡化操作,进而生成洁净并均衡的训练数据集118,其中该训练数据集118包括与一群人相关的多组正确标注人脸图像。人脸识别模型训练子系统108可采用洁净并均衡的训练数据集118训练模型训练子系统120和模型精调子系统122,生成高性能人脸识别模型124并将该人脸识别模型124作为输出。本申请为训练数据准备系统内的三个子系统102-106分别提供了多个实施例。下面将对人脸识别模型训练数据准备系统100的三个子系统102-106分别作更加详细的描述。

原始数据采集子系统

在一些实施例中,原始数据采集子系统102用于从公共域中采集不同的人的大量的粗略标注图像,其中该组粗略标注图像由多组具有相同标注图像构成,因此,每组相同标注图像被标注为一个唯一的人。在一些实施例中,由该原始数据采集子系统102采集的该标注人脸图像大多包括名人的图像。从公共域采集来的该组粗略标注图像在下文中也被称为“初始标注图像”或“初始图像”。

在一些实施例中,原始数据采集子系统102包括与互联网114连接的图像爬虫112。例如,图像爬虫112可通过搜索引擎搜索名人的图像,例如通过谷歌、雅虎、必应或百度。在一具体实施例中,该原始数据采集子系统102既可以搜索中国本土名人,也可以搜索外国名人。对于中国名人,该图像爬虫112可以通过如谷歌和百度等搜索引擎利用该名人的中文姓名搜索该名人的图像数据。对于外国名人,图像爬虫112可以通过谷哥或者其他盛兴的搜索引擎利用相关的名人姓名搜索该名人的图像数据。在一些实施例中,在不同的国家,图像爬虫112可以利用该名人对应的多语种的姓名搜索该名人的图像。在数据爬虫之后,可以根据图像爬虫112采用的搜索术语/请求对互联网114发现或下载的图像进行整理,该搜索术语/词条包括名人姓名或者与该名人姓名唯一关联的名人ID。需要说明,一个名人可以具有多个不同的姓名以及/或者同一姓名具有多个语言版本。因此,为了唯一确定某一给定的名人,在一项实施例中为每个名人分配了可以唯一确定该给定名人的唯一ID。其中一个示例性系统为微软推出的MS-Celeb-1M系统。在该MS-Celeb-1M系统中提供有姓名列表,其中每个名人即使在多个语种中具有多个姓名,依然分配有唯一ID。在一些实施例中,网络爬虫112采集的标注人脸图像的数量约达数百万计甚至数千万计,而唯一ID的数量约有数千计至数十万计。

在一些实施例中,原始数据采集子系统102可与其他人脸图像数据采集技术结合,而无需图像爬虫。例如,可在人类图像捕捉应用过程中采集该组粗略标注图像110,例如通过视频监控过程。在另一示例中,可以通过图像众包过程采集该组粗略标注图像110。还可以通过一个或多个开源库获取该组粗略标注图像110。在一些实施例中,原始数据采集子系统102采用上述多种技术采集该组粗略标注图像110,例如将该图像爬虫获取的图像与从开源库获取的图像结合。

原始训练数据集生成子系统

图2显示了根据本申请一些实施例公开的训练数据准备系统100的原始训练数据集生成子系统104的示例性实施方式200的框图。从图2中可以看出,原始训练数据集生成子系统200包括以图示顺序串联连接的人脸检测模块202、人脸图像裁剪模块204以及原始人脸图像预处理模块206。

在一些实施例中,该原始训练数据集生成子系统200从该原始数据采集子系统102处接收多个人(例如名人)的粗略标注图像110,其中该粗略标注图像110被划分成对应于多个人的多组相同标注图像,并且将每组相同标注图像标注为唯一个人的主体,例如名人。

在一些实施例中,人脸检测模块202对该组粗略标注图像110中的每张图像进行处理,以检测该图像内的所有人脸。接下来,对于每张已处理的图像,将人脸图像裁剪模块204应用于该图像内的每张已检测到的人脸,进而裁剪出一张或多张人脸图像。需要说明,每张粗略标注图像可包含多张人脸,并且可生成多张人脸图像。在对粗略标注图像进行人脸检测和人脸图像裁剪之后,可以将该组粗略标注图像110舍弃。在一些实施例中,人脸检测模块202还用于检测该组粗略标注图像110中是否具有异常图像格式。如果检测到具有异常图像格式的粗略标注图像110,则可以将该图像舍弃。此外,人脸检测模块202还可用于当一组粗略标注图像110出现损坏图像时检测异常。如果在处理粗略标注图像110的同时接收到异常,则可将该图像舍弃。

在一些实施例中,该给定粗略标注图像110内检测到的所有人脸都被标注为该给定粗略标注图像110相应的主体。此外,在该组粗略标注图像110中,一组相同标注图像生成的所有人脸图像可以组合形成唯一个人的一组相同标注人脸图像。需要说明,如果粗略标注图像不包括人脸,则该图像对于该组相同标注人脸图像不具有任何用处。还需注意,即使通过对该相同标注图像执行人脸检测和裁剪有时可以识别和去除一些噪声数据,如不具任何人脸或者人脸非常小的粗略标注图像,但是上文所述的人脸图像生成过程通常还是不能去除其他类型的缺陷数据,例如错误标注人脸。事实上,原始训练数据集生成子系统200甚至可以创造更多错误标注人脸图像,这是由于每个错误标注初始图像可以生成多个错误标注人脸图像。因此,我们将原始训练数据集生成子系统200生成的多组相同标注人脸图像称为“原始人脸图像”。

在一些实施例中,当执行人脸图像裁剪,以生成图像内一张或多张已检测人脸的一个或多个人脸图像时,该人脸图像裁剪模块204包括该已裁剪图像内已检测人脸周边有大量的周边区域(即相关的边界框)。因此,在该已裁剪图像内保留有已检测人脸的大量初始信息(即背景信息)。例如,当基于已检测边界框裁剪人脸图像时,该人脸图像裁剪模块204可以在该已检测人脸相关的初始边界框边缘外还包括占比50%的边界。该裁剪技术确保了整个人脸被囊括在该已裁剪子图像中。关于人脸裁剪技术的更多细节可见下文。

在一些实施例中,原始训练数据集生成子系统200的人脸检测模块202可采用基于卷积神经网络(CNN)的人脸检测结构执行预期的人脸检测任务。例如,可采用级联CNN结构或者多任务级联CNN结构实现该人脸检测模块202,其中该级联CNN结构如“用于人脸检测的卷积神经网络级联”(AConvolutional Neural Network Cascade for Face Detection)(H.Li,Z.Lin,X.Shen,J.Brandt,and G.Hua,计算机视觉和模式识别,IEEE会议学报(Proc.IEEE Conf.on Computer Vision and Pattern Recognition),2015年6月1日)中所描述;该多任务级联CNN结构如“利用多任务级联卷积网络的接合人脸检测和对齐”(Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks)(K.Zhang,Z.Zhang,Z.Li,and Y.Qiao;IEEE信号处理学报(IEEE Signal Processing Letters),Vol.23,No.10,pp.1499-1503,2016年10月)中所描述。然而,还可以利用其他已知的或者未来开发的基于深度学习的人脸检测结构实现该人脸检测模块202。

在从该组粗略标注图像110中生成原始人脸图像之后,这些原始人脸图像通常具有不同的尺寸,并且该原始人脸图像内的多张人脸在不同的图中具有不同的位置(即非中心)。此外,该原始人脸图像内的人脸具有一定的旋转角度(即不具有正面姿态)。回到图1中的系统,需要说明,由该原始人脸图像形成的具有上文所述的不一致性的原始训练数据集可直接被发送至高质量训练数据集生成子系统106,用于数据清洗和均衡化操作。然而,这些人脸图像中的上述不一致性会对该高质量训练数据集生成子系统106的效率造成不良影响,该影响继而严重影响采用该高质量训练数据集生成子系统106的输出的人脸识别模型训练系统108的效率。例如,由于清洗操作的效率有赖于该原始人脸图像的效率,因此,该原始人脸图像的缺陷会直接影响原始训练数据清洗操作的结果。

在一些实施例中,在执行原始训练数据集清洗和均衡化之前,首先原始人脸图像预处理模块206会对该原始人脸图像进行预处理。更具体地,原始人脸图像预处理模块206对由人脸图像裁剪模块204生成的每张原始人脸图像进行尺寸调整和中心化,从而预处理的人脸图像均具有相同的图像尺寸,并且所有的人脸基本位于图像的中心。在一些实施例中,原始人脸图像预处理模块206还对该原始人脸图像执行人脸旋转,从而该预处理人脸图像内的所有人脸均具有基本正脸姿态。需要说明,如果在人脸裁剪过程中,该原始人脸图像在所有侧边均添加了上文描述的边界,则该已裁剪图像内的人脸已经基本上被中心化。因此,当该已裁剪人脸图像中包括该边界,则人脸图像预处理操作中的中心化操作是可选的。在一些实施例中,该具有附加边界的人脸裁剪操作可以用于人脸中心化。在该实施例中,该人脸图像裁剪模块204的人脸裁剪操作可以是整个原始人脸图像预处理过程的一部分。应用上述人脸图像预处理操作之后,该预处理人脸图像就形成了原始训练数据集208(即图1所示的原始训练数据集116),该原始训练数据集208随后由高质量训练数据集生成子系统106处理。

图3显示了用于描述根据本申请一些实施例的结合人脸裁剪操作预处理原始人脸图像的示例性过程300的流程图。

该过程300首先接收与粗略标注图像内已检测人脸相关的人脸检测数据(步骤302)。例如,该人脸检测数据可包括确定的边界框位置和该已检测人脸的人脸标注点位置。该过程还接收边界率r,以及目标图像尺寸(s1,s2)。该过程将边界添加到初始边界框,然后计算该已检测人脸的扩展边界框(步骤304)。在一具体示例中,该过程首先获得初始边界框信息,该初始边界框信息包括该边界框的左上角坐标(x,y)或其他角的坐标,以及该初始边界框的宽和高,w和h。随后,该过程利用下列公式计算出扩展边界框的位置:

x’=x-(w×r)/2;y’=y-(h×r)/2;

w’=w+(w×r);h’=h+(h×r),

其中,(x’,y’)为该扩展边界框左上角的位置,而w’和h’分别是该扩展边界框的宽和高。

该过程随后从该粗略标注图像中裁剪出对应于该扩展边界框的人脸图像,从而该被裁剪的人脸图像内的已检测人脸基本位于中心(步骤306)。在一些实施例,如果已检测人脸位于初始图像的边缘附近,则该初始图像不具有足够的边界用来扩展该已检测人脸的已确定边界框的一侧或多侧。在这些情况下,需要生成具有扩展后尺寸的一个或多个人工边界(基于上述公式),并将该边界修补至已裁剪人脸图像,从而该已检测人脸基本位于该原始人脸图像的中心。

基于该扩展边界框将该人脸图像裁剪出之后,该过程随后对该已裁剪人脸图像执行人脸旋转操作,从而该已旋转人脸具有基本正面姿态(步骤308)。例如,该过程可基于确定的人脸关键点位置确定两只眼睛的位置,并随后旋转该人脸图像,从而连接左眼和右眼的线是水平的。接下来,该过程将该已中心化并旋转的人脸图像的尺寸调整为目标图像尺寸(s1,s2)(步骤310)。在一示例中,输入目标尺寸为(160,160),而输入边界率在20/140和30/140之间。在一些实施例中,过程300中的旋转步骤308和调整尺寸步骤310的顺序是可以调换的。

在一些实施例中,预处理原始人脸图像可包括比上述描述更少的步骤。例如,一些实施例仅需调整尺寸和中心化该原始人脸图像的步骤,而无需人脸旋转或提供额外的边界。在一些实施例中,只需要对该原始人脸图像调整尺寸,而无需人脸中心化、人脸旋转或者增加额外的边界。在又一实施例中,在执行原始数据集清洗和均衡化之前,不需要对该原始人脸图像进行预处理。然而,在这些实施例中,在该原始训练模块208执行训练数据集清洗和均衡化操作之后,需要对剩余的人脸图像进行后处理。

高质量训练数据集生成子系统

如上文所述,高质量训练数据集生成子系统106接收原始训练数据集116,该原始训练数据集116包括多组来自于原始训练数据集生成子系统104的多组相同标注人脸图像。其中,每组相同标注人脸图像可以包括成百上千张标注为同一人的唯一身份的人脸图像。这些包含来自于该初始粗略标注图像110的数千个唯一主体的多组同相同标注人脸图像形成人脸识别模块的原始训练数据集。然而,每组相同标注人脸图像通常包括错误标注图像,而这些错误标注图像被是该原始训练数据集内的“噪声数据”。此外,不同组的相同标注人脸图像通常包含有不同数量的人脸图像,并且该数量的差异非常大,从而导致了该原始训练数据集的“失衡”。在一些实施例中,高质量训练数据集生成子系统106用于对该原始训练数据集116内多组相同标注人脸图像执行本申请已公开的数据清洗和均衡化操作,从而为该人脸识别模型训练子系统108生成清洗和均衡化训练数据集118。

图4显示了根据本申请一些实施例中的训练数据准备系统100的高质量训练数据集生成子系统106的示例性实施过程400的框图。如图4所示,该高质量训练数据生成子系统400包括以图示顺序串联连接的训练数据集清洗模块402、训练数据集均衡化模块404以及训练数据集后处理模块406。在一些实施例中,训练数据集清洗模块402接收原始训练数据集116并将该原始训练数据集116作为输入,其中该原始训练数据集116包括多组分属多个人的相同标注人脸图像,并且生成已清洗训练数据集412并将该已清洗训练数据集412作为输出。训练数据集均衡化模块404接收已清洗训练数据集412并将该已清洗训练数据集412作为输入,并生成已清洗的均衡化训练数据集414并将该已清洗的均衡化训练数据集414作为输出。在一些实施例中,训练数据集后处理模块406接收已清洗和均衡化的训练数据集414并将该已清洗和均衡化的训练数据集414作为输入,对该已接收人脸图像执行额外的人脸对齐和边界校正操作,并输出高质量训练数据集416(即如图1所示的高质量训练数据集118),其中该高质量训练数据集416包括多组已清洗和均衡化的人脸图像;其中,每组已清洗和均衡化的人脸图像包括一组具有相同尺寸的标准化人脸图像,以及基本位于中心并且具有相同对齐标准的人脸。现在我们分别对训练数据集清洗模块402、训练数据集均衡化模块404以及训练数据集后处理模块406进行更加详细的描述。

多级训练数据库清洗

如上文所述,原始训练数据集116被划分为对应于多个主体的多组相同标注人脸图像,其中每组相同标注人脸图像标注有相同的主体,并且任意两组相同标注人脸图像具有不同的主体。对于每组相同标注人脸图像,训练数据集清洗模块402用于执行数据清洗操作,从而在该组人脸图像中识别“噪声”或“不干净”的图像子集,例如被错误标注和/或具有非常差的图像质量。本申请公开的针对原始训练数据集116的数据清洗技术包括迭代运算,即对每组相同主体标注人脸图像重复执行相同的数据清洗操作。换言之,本申请公开的数据清洗操作通常每次仅对具有相同主体的一组相同标注人脸图像进行操作,而非将多组相同标注人脸图像作为一个整体统一操作。然而,可以对该数据清洗操作进行修改,执行并行处理或者同时对多组相同标注人脸图像进行处理。

随后,训练数据集清洗模块402输出多组已清洗相同标注人脸图像,其中每组已清洗相同标注人脸图像中均不具有“噪声”或“不干净”的图像。在一些实施例中,可以将清洗原始训练数据集116视为二元分类问题。其中一项数据清洗技术基于采用预先训练的人脸识别模型,从而提取出高度可靠的主体辨识特征,然后通过将已公开的多级数据清洗结构应用于该原始训练数据集,将噪声数据从洁净数据中剔除出。

图5显示了根据本申请一些实施例公开的高质量训练数据集生成子系统400中数据清洗模块402的示例性实施过程500的框图。如上文所讨论的,本申请公开的数据清洗技术为对原始训练数据集116内的每一组相同标注人脸图像进行的迭代操作,其中对不同组的相同标注人脸图像的数据清洗操作都是相互独立的。因此,虽然下文提供了数据清洗模块500用于对单组相同标注人脸图像执行数据清洗操作的多种示例性实施方式,但是,本申请公开的实施方式同样适用于所有组的相同标注人脸图像。需要注意,数据清洗模块500对多组相同标注人脸图像执行的迭代操作在图5中用虚线框表示,该虚线框内包含了该数据清洗模块500的多个模块。

从图5中可以看出,数据清洗模块500包括以图示顺序串联连接的相似度矩阵生成模块502、参考图像识别模块504和候选图像再收集模块506。此外,相似度矩阵生成模块502从原始训练数据集116内多组相同标注人脸图像中接收同一人/主体的一组相同标注人脸图像。在一些实施例中,相似度矩阵生成模块502从该组相同标注人脸图像508处提取出高度可靠的主体辨别特征向量,并基于确定的特征向量生成该组相同标注人脸图像508的相似度矩阵。

在一些实施例中,参考图像识别模块504用于从该组相同标注人脸图像508内识别图像子集,其中该图像子集中的每张图像均具有极高的可能性符合其主体身份,即已经被正确标注。将该已确定的图像子集指定为用于在该组相同标注人脸图像508中确定同样被正确标注的其他图像的参考数据集(即真实值)。在一些实施例中,候选人脸再收集模块506用于将该组相同标注人脸图像508的其余图像与该参考图像集进行比较,从而确定该组相同标注人脸图像508中其他被正确标注的图像,并且允许再收集该被确定为正确标注的图像。需要说明,再收集多张图像之后,可以将该再收集图像囊括到该参数数据集中,从而扩展该参考数据集,并且该候选图像再收集模块506可重复执行该再收集操作。作为一个循环,图5所示的重复程序从候选图像再收集模块506开始,并且以该候选图像再收集模块506结尾。最终,该候选图像再收集模块506输出不具有错误标注或者超低质量的人脸图像的一组洁净的相同标注人脸图像510。

图6显示了根据本申请一些实施例中采用本申请公开的数据清洗模块500执行数据清洗的示例性过程600的流程图。该过程600首先从多组相同标注人脸图像中接收同一人/主体的一组相同标注人脸图像(步骤602)。然后,该过程提取该组相同标注人脸图像的特征向量,随后基于已确定特征向量生成该组相同标注人脸图像的相似度矩阵(步骤604)。接下来,该过程从该相同标注人脸图像中确定一组图像子集作为正确标注参考图像集(步骤606)。然后,该过程将该组相同标注人脸图像中的其余图像(即非参考图像集中的图像)与参考图像集进行比较,从而在该组相同标注人脸图像中识别出更多正确标注的图像(步骤608)。接下来,该过程将新确认的正确标注图像与该参考图像集合并,从而形成扩展的参考图像集(步骤610)。至此,该过程可以选择重复执行步骤608和610一次或多次,从而再收集其他的正确标注的人脸图像。最终,该过程输出最终合并的参考图像集,并将该参考图像集作为输入的该组正确标注人脸图像的正确标注人脸图像洁净组。此外,还可以针对该原始训练数据集116中的不同组的相同标注人脸图像重复执行步骤610-612,从而对整个原始训练数据集116进行清洗。下面将更加详细地对该数据清洗模块500内的不同模块进行描述。

相似度矩阵生成模块

在一些实施例中,预先训练的向量化模型生成该组相同标注人脸图像中的每一张图像的特征向量。例如,该预先训练的向量化模型可包括基于来自图片网络(ImageNet)的数据训练的VGGNet人脸识别模型。然而,可以采用其他用于人脸识别应用的深度学习结构来代替VGGNet人脸识别模型,例如住宅能源服务网络(ResNet)、补充网(DenseNet)、双通道网络、移动网络(MobileNet)或者初始(Inception)v1-v3,并且用来对给定模块训练的训练数据集可以是图像网络之外的数据集。在一些实施例中,预先训练的人脸向量化模型在每个神经网络层均采用标准人脸特征。每个输入人脸图像的已提取特征向量均具有与该预先训练的人脸向量化模型一致的格式,例如,1024维度(或者在其他实施例中为2048或4096个维度)的1D特征向量。视觉上相似的人脸的提取特征向量之间在该1024维空间(或者在其他实施例中为2048维或4096维)中的欧几里得距离彼此接近。

在计算出该组相同标注图像中每张图像的特征向量之后,可以计算该组相同标注图像内每一对图像之间的相似度分数。例如,可以将该对图像的两个提取特征向量之间的余弦积作为该对图像之间的相似度分数,用于表示两张图像的相似程度。在一些实施例中,该相似度分数在-1和1之间,其中分数越高表示两张图像属于同一个人/主体的可能性越大。需要说明,对于具有N张图像的一组相同标注图像,计算出的相似度分数可以形成N×N相似度矩阵,其中该相似度矩阵内的每个元素表示该组N张图像内的两张图像之间的相似度分数。需要说明,由于该相似度矩阵的对角元素表示某张照片与其自身之间的相似度,因此,对角元素的值均为1。

参考图像识别模块

在一些实施例中,该参考图像识别模块504用于将第一阈值t1应用于该相似度矩阵中,从而将该相似度矩阵内的元素分为两种:第一组元素大于或等于t1,第二组元素小于t1。例如,值为1.0的相似度分数会落入第一组元素。在一些实施例中,该第一阈值t1的确定应该满足:两张不具有相同主体的图像的相似度大于或等于t1的概率低于一预设值。因此,可以将该预设值认定为用户定义的容错率,该容错率可由用户自定。例如,该用户定义容错率为0.001或0.0001。一旦确定该容错率,则可以基于同一个人的一组正确标注图像实验性地决定该第一阈值t1。可以理解,如果用户定义的容错率越低,则阈值t1越高。在一实施,该第一阈值t1设定为0.75,以获得可接受的容错率。

可以合理地认为,在采用阈值t1之后,可以从该第一组元素找出该组相同标注图像中的高度相似图像子集。此外,该组相同标注图像中的高度相似图像被正确标注主体的可能性很高。然而,也有可能该组相同标注图像中的一组高度相似图像不属于期望主体(即具有不同主体)。因此,参考图像识别模块504的设计目的在于识别该组相同标注图像508中实际属于该期望主体的高度相似图像子集,即被正确标注为该期望主体的人。如上所述,该识别图像子集可以作为正确标注图像参考集(即真实值),用于搜索该组相同标注图像中的其他正确标注图像。

图7显示了根据本申请一些实施例,在该组相同标注图像中识别参考图像集的示例性过程700的流程图。

该过程700首先将第一阈值t1应用于该相似度矩阵中,从而将该相似度矩阵内的元素分为两组:第一组元素大于或等于t1,第二组元素小于t1(步骤702)。上文已提供确定t1的值的示例性技术。该过程然后将该第一组相似度分数相关的图像分隔成一个或多个图像聚类,其中每个图像聚类包括该组相同标注图像内彼此高度相似的图像子集(步骤704)。在一些实施例中,基于彼此间相似度分数确定高度相似的图像可以计入同一图像聚类。因此,对于在步骤704过程中生成的一给定图像聚类,在该给定图像聚类内的任何两张图像之间的相似度分数均大于或者等于第一阈值t1。此外,如果步骤704生成两个或多个与第一组相似度分数相关的图像聚类,则可以合理地认为第一聚类A中的给定图像IA与第二聚类B中的任一图像之间的相似度分数均低于t1;而第二聚类B中的给定图像IB与第一聚类A中的任一图像之间的相似度分数均低于t1。换言之,在步骤704中,与第一组相似度分数相关的图像不太可能会被归类至两个不同的图像聚类。

在一些实施例中,将该第一组相似度分数相关的图像分隔成一个或多个图像聚类包括基于该第一组相似度分数构建一个或多个连通图。例如,为了构建给定连通图,可以为现有节点(即图像)创建新顶点和新节点,以获得第一组相似度分数中的旧节点和新节点之间的相似度分数。

将该第一组相似度分数相关的图像分隔成一个或多个图像聚类之后,该过程在该一个或多个图像聚类中找出具有最多数量图像的图像聚类,将该图像聚类作为第一参考图像集(即真实值)(步骤706)。有理由认为该最大图像聚类内的所有图像都被正确地标注成期望主体。事实上,即使步骤706中生成不止一个图像聚类,但是依然有理由相信其中一个图形聚类包含的图像明显多于任何其他图像聚类。如上所讨论的,这是因为第一组参考图像集中的图像最有可能被正确标注为期望主体。该过程还在该组正确标识图像中选定不属于第一参考图像集的第一候选图像集,用于后续再收集(步骤708)。需要说明,该第一候选图像集内的图像不仅包括与第一组相似度分数相关(但不属于最大的图像聚类)的图像,还包括与第二组相似度分数相关的图片。

需要说明,特殊情况下,上文描述的过程700中的第一组相似度分数相关的所有图像都被计为同一图像聚类。在这种情况下,与第一组相似度分数相关的图像均作为第一参考图像集;与第二组相似度分数相关的图像均作为第一候选图像集。

需要说明,由于第一阈值t1的设定方式(即为一较高的值)使得该第一参考图像集内的图像具有超大概率被正确标注,因此产生的缺陷在于该第一参考图像集将该组相同标注图像中的一些同样被正确标注的图像排除出去。因此,有必要从该第一候选图像集中找出同样被正确标注的图像,并将这些图像与第一参考图像集结合,从而形成期望主体的更大的训练数据集。换言之,需要从该第一候选图像集中再收集被正确标注的图像的结构。

候选图像再收集模块

图8示出了根据本申请一实施例的在第一候选图像集中识别同样被正确标注的图像子集的示例性过程800的流程图。

该过程800首先接收第一参考图像集和第一候选图像集(步骤802)。接下来,对于该第一候选图像集中的一个给定图像,该过程(1)(从先前计算的相似度矩阵中)重新计算或检索给定图像和该第一参考图像集中的每一张图像之间的相似度分数集(步骤804);并且(2)计算该给定图像相对于该第一参考图像集的合并相似度分数(步骤806)。需要说明,由于该第一参考图像集中的每张图像都被认为具有正确的主体,因此当第一候选图像集的给定图像相对于整个第一参考图像集的合并相似度分数高的情况下,则该给定图像被正确标注的可信度和可靠性很高。在一些实施例中,该过程通过计算该组已计算的相似度分数的加权平均值计算给定图像相对于整个第一参考图像集的合并相似度分数。在一特定实施例中,该过程计算该组加权值的方式为:为该组已计算的相似度分数中较高的相似度分数提供更高的加权值。例如,对于该组相似度分数中已计算的相似度分数s,可以基于因数exp(r·s)确定加权平均值内的与该相似度分数s相关的加权值,其中r是2到10之间的正数,优选为3到5之间的正数。在其他实施例中,该合并相似度分数可以计算为该组已计算相似度分数的非加权平均值。

对该第一候选图像集中的每张图像重复执行步骤804-806,从而生成该第一候选图像集的一组合并相似度分数。接下来,该过程将第二阈值t2应用于该组合并相似度分数,从而使该第一候选图像组划分为符合再收集条件的第一图像子集和不符合再收集条件的第二图像子集(步骤808)。在一些实施例中,可以通过类似于上文描述的确定t1的方式确定t2,即基于用户定义的容错率。更具体地,该第二阈值t2的确定应该满足:一张与该第一参考图像集具有不同主体的图像的合并相似度分数(相对于第一参考集)大于或等于t2的概率低于用户定义的预设值。例如,该用户定义容错率为0.001或0.0001。一旦确定该容错率,则可以实验性地决定该第二阈值t2。可以理解,用户定义的容错率越低,则第二阈值t2越高。在一实施例中,该第二阈值t2设定为0.4-0.65之间,以获得可接受的容错率。一般来讲,第二阈值t2小于第一阈值t1。这是合理的,因为第二阈值t2用来测量合并相似度分数,而该相似度分数是通过与大量的正确标注的图像对比而计算得出的;而第一阈值t1是用来测量基于两张图像之间计算的单个相似度分数。

在识别完其他符合条件(即正确标注)的图像之后,该过程随后将该第一参考图像组中的图像与该第一候选图像组中被确定为符合再收集条件的第一图像子集进行合并,从而获得该期望主体的正确标注图像扩展集(步骤810)。在一些实施例中,该第一候选图像集中不符合再收集条件的第二图像子集可被移除。

在一些实施例中,该期望主体的正确标注图像扩展集成为第二参考图像集(即新的真实值),而该组正确标注图像的剩余图像(即上文描述的不符合再收集条件的第二图像子集)成为第二候选图像集,该第二候选图像集在需要时用于额外的再收集操作。

图9示出了根据本申请一实施例,在第二候选图像集中识别同样被正确标注的图像子集的示例性过程900的流程图。

该过程900首先接收第二参考图像集和第二候选图像集(步骤902)。接下来,对于该第二候选图像集中的一个给定图像,该过程(1)(从先前计算的相似度矩阵中)重新计算或检索给定图像和该第二参考图像集中的每一张图像之间的相似度分数集(步骤904);并且(2)计算该给定图像相对于该第二参考图像集的合并相似度分数(步骤906)。需要说明,由于该第二参考图像集中的每张图像都被认为具有正确的主体,因此当第二候选图像集的给定图像相对于整个第二参考图像集的合并相似度分数高的情况下,则该给定图像被正确标注的可信度和可靠性很高。在一些实施例中,该过程通过计算该组已计算的相似度分数的加权平均值计算给定图像相对于整个第二参考图像集的合并相似度分数。在一特定实施例中,该过程计算该组加权值的方式为:为该组已计算的相似度分数中较高的相似度分数提供更高的加权值。例如,对于该组相似度分数中已计算的相似度分数s,可以基于因数exp(r·s)确定加权平均值内的与该相似度分数s相关的加权值值,其中r是2到10之间的正数,优选为3到5之间的正数。在其他实施例中,该合并相似度分数可以计算为该组已计算相似度分数的非加权平均值。

对该第二候选图像集中的每张图像重复执行步骤904-906,从而生成该第二候选图像集的一组合并相似度分数。接下,该过程将第三阈值t3应用于该组合并相似度分数,从而使该第二候选图像组划分为符合再收集条件的第三图像子集和不符合再收集条件的第四图像子集(步骤908)。在一些实施例中,可以通过类似于上文描述的确定t1和t2的方式确定t3主体。一般来讲,第三阈值t3小于第二阈值t2,而第二阈值t2小于第一阈值t1。这是合理的,因为与第二阈值t2相比,第三阈值t3是用来测量通过相对于更大量的正确标注的图像计算的合并相似度分数。在识别完其它符合条件(即正确标注)的图像之后,该过程随后将该正确标注图像扩展集与该第二候选图像组中被确定为符合再收集条件的第三图像子集进行合并,从而获得该期望主体的正确标注图像二次扩展集(步骤910)。在一些实施例中,该第二候选图像集中不符合再收集条件的第四图像子集可被移除。

上文所描述的从剩余图像中再收集其他正确标注图像的过程包括两次重复并相似的再收集过程(即如图6中所示的单循环)。如果必要(例如为了构建更大的训练数据集),则可以重复更多次(即如图6所示的两次或多次重复执行步骤608-610)上文所述的再收集过程。最终,可通过将该第一参考图像集与每次重复的再收集操作生成的再收集图像进行结合,获得一组洁净的相同标注图像。如图5所示,上文描述的用于清洗单组相同标注人脸图像的过程(包括结合图6-9描述的过程)也可以重复执行,用于处理具有不同主体/人的不同组的相同标注人脸图像,从而生成如图5所示的洁净训练数据集508。

需要说明,上文描述的再收集其他正确标注图像的过程利用该组相同标注人脸图像中的剩余图像(即未包括在当前参考图像集中的人脸图像)构建候选图像集(例如,该第一候选图像集或第二候选图像集)。从数学逻辑上讲,如果将一组相同标注人脸图像标注为S,并将当前参考图像集标注为S1(例如第一参考图像集或第二参考图像集),则S=S1+S2,其中S2表示S中除S1外的其他图像。在上文描述的一些实施例中,该候选图像集(例如该第一候选图像集或第二候选图像集)由S2(即未被包括在当前参考图像集S1中的图像)构成。在后续过程中,将该S2中的每张图像与参考集S1进行对比,从而实现后续的再收集。作为这些实施例的变换,可以用整组相同标注人脸图像,即S,构建候选图像集(例如,该第一候选图像集或第二候选图像集)。更具体地,在该参考图像集S1首先被识别并在后续被更新后,新的候选图像集依然是一个完整的图像集S。因此,对于每个再收集操作,可通过将该图像集S中的每张图像与当前参考集S1进行比较对该完整图像集S进行再收集。换言之,在这些实施例中,在每个再收集操作/程序中对该参考图像集S1进行创建并后续更新时,每次再收集操作中的候选图像集依然还是整组相同标注人脸图像。需要说明,采用整个图像集S作为候选图像集的其中一个后果在于,虽然对于每一次再收集操作/程序,都会有额外的正确标注图像被识别并被再收集入该组洁净的相同标注图像中,然而也有可能当前参考图像集S1中的一些图像被发现相对于给定阈值是次优的,并随后被从该参考图像集S1中移除,并最终形成该组洁净的相同标注图像。与之相比,如结合图6-9所描述的,当由剩余的图像S2构建该候选图像集时,该再收集操作/程序通常不会因为再收集操作而使当前参考图像集(包括第一参考图像集和后续再收集的图像)中的图像从该组洁净的相同标注图像中移除。

训练数据集均衡化模块

回到图4,本申请公开的高质量训练数据集生成子系统400还包括位于该训练数据集清洗模块402之后的训练数据集均衡化模块404。如上文所述,该训练数据集清洗模块402输出的洁净训练数据集412通常是失衡的。例如,一些主体/人具有500张甚至更多张人脸图像,而其他一些主体/人仅具有50张人脸图像。当利用柔性最大值传输数损失(softmax loss)训练深度神经网络时,该失衡训练数据集可将该预测模块偏向更加同一化的类别,因此严重影响了该训练预测模型的性能。因此,通常有必要将每个主体/人的人脸图像的数量限制为一个固定数(下文也称之为“目标数量”),从而均衡化该训练数据集。在一些实施例中,如果该组失衡的相同标注图像的数量大于该目标数量,则需要从该组失衡的相同标注图像中移除一些图像(例如一些重复的图像)。与之相比,如果该组失衡的相同标注图像的数量小于该目标数量,则需要将更多的图像添加至该组失衡的相同标注图像中。如图4所示,训练数据集均衡化模块404接收洁净的训练数据集412,并将该洁净的训练数据集412作为输入,基于目标数量对每组失衡图像执行上文所述的数据均衡化操作,生成洁净并均衡化的训练数据集414,并将该洁净并均衡化的训练数据集414作为输出。

图10显示了根据本申请一些实施例的从一组失衡的相同标注图像中移除重复图像的示例性过程1000的流程图。该过程1000首先接收同一人的一组图像,其中该组图像的数量大于目标数量(步骤1002)。在一些实施例中,该目标数量被预定义为100至500之间。接下来,该过程计算该组图像内每对图像之间的相似度分数(步骤1004)。在其中一实施例中,该过程利用预先训练的人脸向量化模块将每张人脸图像转化为一维(例如1024、2058或4096)特征向量,并计算出该对图像的两个对应的1D特征向量之间的余弦积,将该余弦积作为相似度分数,从而计算出一对给定图像之间的相似度分数。需要说明,步骤1004同样会生成该组图像的相似度矩阵。

接下来,该过程识别该组图像中所有相似度分数中的最高相似度分数(步骤1006)。在识别该最高相似度分数之前,该步骤以升序或降序的顺序对计算出的相似度分数进行排序,从而有利于识别出最高相似度分数。该过程随后删除该组图像中具有最高相似度分数的两张图像中的其中一张图像(步骤1008)。在一些实施例中,为了确定删除该最高相似度分数的两张图像中的哪一张图像,该过程首先基于组内相似度分数计算该两张图像中的每一张图像的平均相似度分数。例如,对于图像I1,该组内相似度分数的集可以表示为S1j,其中j=2,3,...,N,而平均相似度分数可表示为因此,该过程可以从该两张图像中移除具有较高平均相似度分数的图像,因为该具有较高平均相似度分数的图像为复制图像的可能性高于该两张图像中的另一张图像。

接下来,该过程确定该组图像中的剩余图像的数量是否满足目标数量的要求(步骤1010)。如果满足,则当前的该组相同标注图像的均衡化操作已经完成。否则,该过程通过移除最近删除的图像相关的所有元素,更新该相似度矩阵(步骤1012),并回到步骤1006。在一些实施例中,在回到步骤1006之前,该步骤以升序或降序的顺序对该更新后的相似度矩阵进行排序,从而有利于识别新的最高相似度分数。因此,包括步骤1006-1012的循环子过程一直重复,直至该组图像的剩余图像达到目标数量。还需要说明,为了均衡化整个清洗训练数据集412,还对具有大于目标数量的图像的所有组失衡人脸图像重复执行步骤1000。因此,最终的均衡化训练数据集414包括对应于多个人的多组均衡人脸图像,其中没有一组图像的图像数量是大于目标数量的。

在一些实施例中,可以将预定义的阈值相似度分数(或阈值分数)应用于相似度矩阵中,而无需如结合图10描述的那样,重复性地将该组输入图像的数量降低至目标数量。更具体地,在计算完相似度分数之后,识别出所有大于该阈值分数的相似度分数。接下来,对于每一个大于阈值分数的被识别的相似度分数对应的两张图像,删除该两张图像中的其中一张图像。例如,该过程可以采用上文描述的平均相似度分数技术来选择需要删除该两张图像中的哪一张图像。需要说明,本申请公开的过程可以应用于具有一定顺序的被识别的相似度分数,例如从具有最高被识别相似度分数开始。每当一张图像被删除时,则可以从被识别的相似度分数中将与该被删除图像相关的分数删除,进而更新该被识别的相似度分数。接下来,如果更新后的被识别的相似度分数集大于阈值分数,则针对该被识别的相似度分数重复执行该过程,其中该更新后的被识别的相似度分数集中的最高分数被处理。当完成该过程时,该组图像还剩余一图像子集,其中在该剩余图像中不存在相似度分数大于预定义阈值的一组图像。在一些实施例中,该预定义阈值为大于或等于0.85的值。需要说明,当该阈值用于均衡化该输入数据集,该组已被执行均衡化操作的图像的剩余图像的数量可以与目标数量不相等。

图11显示了根据本申请一些实施例中用于将图像添加入一组失衡相同标注图像的示例性过程1100的流程图。该过程1100首先接收属于同一个人的一组图像,其中该组图像中的图像数量小于目标数量(步骤1102)。在一些实施例中,该目标数量的预定义值在100至500之间。接下来,该过程从接收到的该组图像中随机选择图像(步骤1104)。随后,该过程随机选择图像增强技术(步骤1106)。

可选择的几个不同的图像增强技术包括图像压缩技术。例如JPEG压缩程序可应用于JPEG图像中,用于改变一些像素值。需要说明,虽然压缩图像丢失了一些原始信息,但是该图像的尺寸在压缩之后保持不变。另一个可在步骤1106中选择的图像增强技术包括均值滤波器,然而将均值滤波器应用于图像中时,该图像的质量会出现一定程度的下降。另一个可在步骤1106中选择的图像增强技术包括颜色失真,例如通过对三个颜色通道中的其中一个颜色通道与失真因子相乘,或者对该三个颜色通道分别与不同的失真因子相乘。在步骤1106中可选择的又一图像增强技术包括对输入图像进行降采样或上采样。

选择图像增强技术之后,该过程将选择好的图像增强技术应用于被选择的图像中,以生成新的图像,并且随后将该新的图像添加到该组失衡图像中(步骤1108)。接下来,该过程确定扩展后的该组图像的图像数量是否满足目标数量(步骤1110)。如果满足,则表示对当前组的相同标注图像的均衡化操作已经完成。否则,该过程回到步骤1104,从扩展后的该组图像中随机选择另一张图像,并再次随机选择图像增强技术。通过这种方式,包括步骤1104-1010的循环子过程一直重复,直至扩展后的该组图像达到目标数量,并成为一组均衡的图像。还需要说明,为了均衡化整个清洗训练数据集412,还对具有小于目标数量的图像的所有组失衡人脸图像重复执行步骤1100。因此,最终的均衡训练数据集414包括对应于多个人的多组均衡人脸图像,其中没有一组图像的图像数量是小于目标数量的。

训练数据后处理模块

如上文所述的,从互联网中发现的原始输入图像中检测并裁剪出人脸图像之后,该原始人脸图像通常具有不同的尺寸,并且该原始人脸图像内的人脸可能具有不同的位置(即未中心化)。因此,在执行图像清洗和均衡化之前,通常会对该原始人脸图像中的每张图像进行尺寸调整和中心化,以对该原始人脸图像进行预处理,从而预处理后的图像均具有相同的尺寸,并且图像内的人脸均基本上位于图像中心。该预处理后的图像然后由上文所述的清洗和均衡化模块继续处理。

回到图4,需要说明本申请公开的高质量训练数据集生成子系统400可选地包括位于该训练数据集均衡化模块404之后的训练数据集后处理模块406。在一些实施例中,清洗和均衡化之后的训练人脸图像数据集还可进一步被后处理。在该训练数据清洗和均衡化之后,被处理过的图像的依然是中心化的,并且图像尺寸相同。因此,一些后处理操作主要涉及人脸对齐和边界修正。在一些实施例中,在均衡化操作期间添加到训练数据集的图像可以具有不同于标准图像尺寸的其他尺寸。对于这些图像而言,该后处理操作还包括将这些图像的尺寸重新调整为标准图像尺寸。

采用高质量训练数据集

高质量训练数据集生成子系统400最终输出高质量训练数据集416,该高质量训练数据集416包括多组已清洗并均衡化的人脸图像,其中每组人脸图像中包括一组尺寸相同、人脸基本位于中心,并且基本具有相同位置的标准化人脸图像。在图1所示的示例性系统中,该高质量训练数据集416(即训练数据集118)用于训练基于深度神经网络的人脸识别模型训练系统108,并用于生成高性能的人脸识别模型124。

可实现人脸识别模型训练系统108的一些深度网络结构包括但不限于VGGNet、住宅能源服务网络(ResNet)、补充网(DenseNet)、双通道网络、移动网络(MobileNet)、人脸网络(FaceNet)以及初始(Inception)v1-v3。在一些实施例中,利用高质量训练数据集118训练人脸识别模型训练系统108首先涉及到训练模型训练子系统120上的小部分高质量训练数据集118,然而利用模型精调子系统122上的大部分高质量训练数据集118对该网络进行精校。

由训练系统108生成的训练人脸识别模块124可用于多个人脸识别系统/应用,例如家庭和建筑安全系统,以及监控视频分析,从而有助于事故调整或者在零售市场研究中的消费者分析。需要说明,本申请公开的技术有利于生成大规模、多样化、均衡、由高度精确标注人脸构成的人脸图像训练数据集。该人脸图像训练数据集可用于构建高质量人脸识别系统,从而提高现有人脸识别系统的精确度和可靠性。

图12概念性地描述了可结合本申请公开技术实现的计算机系统。计算机系统1200可以是嵌入式系统或者连接有一个或多个处理器的客户端、服务器、计算机、智能手机、PDA、掌上电脑或者笔记本电脑,或者任何其他类型的计算装置。该计算机系统包括多种类型的计算机可读介质以及用于与其他类型的计算机可读介质通信的接口。计算机系统1200包括总线1202、一个或多个处理单元1212、系统存储器1204、只读存储器(ROM)1210、永久存储装置1208、输入装置接口1214、输出装置接口1006和网络接口1216。

总线1202总体表示可与该计算机系统1200的多个内部装置通信连接的所有系统、外围和芯片的总线。例如,总线1202可以使处理单元1212与ROM1210、系统存储器1204和永久存储装置1208通信连接。

通过这些存储单元,处理单元1212可以检索用于执行的指令以及用于处理的数据,从而执行本申请结合图2-11描述的各个过程,包括训练数据集生成、预处理、清洗、均衡化和后处理。该处理单元1212可以包括任何类型的处理器,这包括但不限于微处理器、图形处理单元(GPU)、张量处理单元(TPU)、智能处理器单元(IPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)和特定用途集成电路(ASIC)。处理单元1212在不同的实施过程中可以是单个处理器,也可以为多核处理器。

ROM 1210存储该处理单元1212和该计算机系统中其他模块所需的静态数据和指令。另一方面,永久存储装置1208为读写存储装置。该装置为非易失性存储器单元。即使该计算机系统1200关闭时,该非易失性存储器单元依然保存该指令和数据。本申请公开的一些实施方式采用大容量存储器(例如磁盘或光盘,以及与该磁盘或光盘对应的驱动器)作为永久存储装置1208。

其他实施方式采用可移动存储装置(如软盘、闪存驱动器及其相应的磁盘驱动器)作为永久存储装置120。与永久存储装置1208类似的是,系统存储器1204是读写存储装置。然而与永久存储装置1208不同的是,系统存储器1204是易失性读写存储器,如随机存取存储器。系统存储器1204用于存储处理器在运行时需要的一些指令和数据。在一些实施过程中,本申请描述的各种过程都存储在系统存储器1204、永久性存储装置1208和/或ROM 1210中,其中该过程包括结合图1-11描述的对原始训练数据集执行预处理、清洗和均衡化的过程。通过这些存储器单元,处理单元1212可以检索要执行的指令和要处理的数据,以实现上文所述的实施方式中所需的过程。

总线1202还与输入装置接口1214和输出装置接口1206连接。该输入装置接口1214可使用户与计算机系统进行信息通信和选择向该计算机系统发出的指令。与输入装置接口1214结合使用的输入装置例如包括字母数字键盘和定点装置(也称为“光标控制装置”)。输出装置接口1206可显示如计算机系统1200生成的图像。与输出装置接口1206结合使用的输出装置例如包括打印机和显示装置,该显示装置例如为阴极射线管(CRT)或液晶显示器(LCD)。在一些实施过程中,包括例如作为输入和输出装置的触摸屏的装置。

最后,如图12所示,总线1202还通过网络接口1216将计算机系统1200连接到网络(未标示出)。通过这种方式,该计算机成为计算机网络的一部分(例如局域网(“LAN”),广域网(“WAN”)或内联网,或者如互联网的网络)。该计算机系统1200的任意或全部组件可以结合本申请使用。

这里所公开的各实施例所描述的各种说明性逻辑块、模块,电路、以及算法步骤,可以作为电子硬件、计算机软件或两者的组合来实现。为清楚地显示硬件和软件的此互换性,上文已经一般就其功能而言描述了各种说明性组件、单元、模块、电路,以及步骤。此类功能集是被实现为硬件还是软件取决于具体应用和整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能集,但此类设计决策不应被解释为能够脱离本公开的范围。

用于实现与本文所公开的各方面一起所描述的各种说明性逻辑、逻辑块、模块、以及电路的硬件可以与通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)或其他可编程逻辑器件,单独的栅极或晶体管逻辑、单独的硬件组件,或被设计为执行本文所描述的功能的其任何组合,来实现或执行。通用处理器可以是微处理器,但是在备选方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器也可以作为接收器装置的组合来实现,例如,DSP和微处理器的组合、多个微处理器、和DSP核一起的一个或多个微处理器,或任何其他这样的配置。可另选地,一些步骤或方法可以由给定功能特定的电路来执行。

在一个或更多示例性方面,所描述的功能可以以硬件、软件、固件,或其任何组合来实现。如果以软件来实现,则功能可以作为一个或多个指令或代码存储在非暂态的计算机可读取的存储介质上或非暂态的处理器可读取的存储介质上。本文所公开的方法或算法的步骤可以以能够驻留在非暂态的计算机可读取的或处理器可读取的存储介质上的处理器可执行指令来具体化。非暂态的计算机可读取的或处理器可读取的存储介质可以是能够被计算机或处理器访问的任何存储介质。作为示例但不作为限制,这样的非暂态的计算机可读取的或处理器可读取的存储介质可包括RAM、ROM、EEPROM、闪存、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储装置,或可以用来存储指令或数据结构形式的所需要的程序代码并可以被计算机访问的任何其他介质。如本文所使用的磁盘和光盘包括压缩光盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘,以及蓝光盘,其中,磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上述各项的组合也包括在非暂态的计算机可读取的和处理器可读取的介质的范围内。另外,方法或算法的操作可以作为一个代码和/或指令或代码和/或指令的任何组合或组,驻留在非暂态的处理器可读取的存储介质和/或计算机可读取的存储介质上,存储介质可以被包括到计算机程序产品中。

尽管本专利文件包含许多细节,但是,这些不应该被解释为对任何所公开的技术的或要求保护的东西的范围的限制,而是作为对特定的技术的特定实施例的特定的特征的描述。在本专利文件中在单独的实施例的上下文中所描述的某些特征也可以在单一实施例中组合地实现。相反,在单一实施例的上下文中所描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,虽然特征在上文可以被描述为以某些组合地起作用,甚至最初要求如此,来自要求保护的组合的一个或多个特征可以在某些情况下从组合中删除,要求保护的组合可以被定向到子组合或子组合的变体。

类似地,尽管操作在附图中是按特定顺序描绘的,但是,这不应该被理解为要求这样的操作以所示出的特定顺序或按先后顺序执行,或所有所示出的操作都被执行,以实现所需要的结果。此外,在本专利文件中所描述的各实施例中的各种系统组件的分离不应该被理解为在所有实施例中都要求这样的分离。

本专利文件只描述了几个实现和示例,可以基于在本专利文件中所描述的和示出的内容作出其他实现、增强和变化。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1