人脸识别方法、装置、计算机设备和存储介质与流程

文档序号:21825247发布日期:2020-08-11 21:46阅读:149来源:国知局
人脸识别方法、装置、计算机设备和存储介质与流程

本申请涉及人脸识别技术领域,特别是涉及一种人脸识别方法、装置、计算机设备和存储介质。



背景技术:

传统的图像、人脸检测识别方法主要是通过端到端的神经网络架构,通过采集的全幅图像数据输入至训练好的神经网络模型中,进行特征向量提取和识别。

这种传统人脸识别方法,在识别过程中受限于计算能力和神经网络模型输入限制,需要降低输入分辨率,造成人脸纹理特征损失,模型识别准确率降低。同时模型用于人脸位置检测的候选区需要遍历整个图像,使得模型计算参数增多、计算量大、耗时长。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高检测精度的人脸识别方法、装置、计算机设备和存储介质。

一种人脸识别方法,所述方法包括:

获取初始图像,并对所述初始图像进行分级人脸检测得到目标人脸区域,所述分级人脸识别包括对所述初始图像进行人体区域识别和对所识别出的人体区域进行人脸识别;

将所述目标人脸区域从所述初始图像裁剪后输入至人脸识别模型进行人脸特征提取,用于人脸识别。

在其中一个实施例中,所述对所述初始图像进行分级人脸检测得到目标人脸区域,包括:

对所述初始图像进行检测获得到目标人体区域;

对所得到的目标人体区域进行预处理得到标准尺寸的至少一个待处理图像;

对所述待处理图像进行人脸检测得到待处理人脸区域;

将所述待处理人脸区域映射到所述初始图像中得到目标人脸区域。

在其中一个实施例中,所述对所述初始图像进行检测获得到目标人体区域,包括:

对所述初始图像进行缩放处理以及灰度化处理得到待识别图像;

对所述待识别图像进行检测得到目标人体区域。

在其中一个实施例中,所述对所述待识别图像进行检测得到目标人体区域,包括:

将所述待识别图像输入至预先训练完成的人体检测模型中;

获取所述人体检测模型中预先确定的多个不同长宽比例和面积的候选框;

通过所述人体检测模型提取多个不同长宽比例和面积的候选框对应的图像特征,并根据所提取的图像特征计算得到每个候选框的目标置信度;

通过非极大值抑制操作并根据每个所述候选框的目标置信度计算得到目标人体区域;

其中,所述人体检测模型的训练方式包括:

获取已标注真实人体区域的训练集;

对训练集中的每个第一训练图像进行下采样得到第一特征图;

根据所述第一特征图生成多个不同长宽比例和面积的第一训练候选框;

计算所述第一训练候选框的第一训练误差;

根据所述训练集中已标注的真实人体区域和所述第一训练误差,调整模型参数,进行训练得到人体检测模型。

在其中一个实施例中,所述第一训练候选框的长宽比例是预先设定的;或者

所述第一训练候选框的长宽比例是通过所述第一训练图像中的已标注的真实人体区域进行聚类得到的;所述第一训练候选框的面积是根据所述第一训练图像中的已标注的人体区域聚类后,每一类中标注好的真实人体区域的面积确定的;或者

所述第一训练候选框的面积是标注好的人体区域由于远近不同所导致的面积不同而确定的。

在其中一个实施例中,所述对所述待处理图像进行人脸检测得到待处理人脸区域,包括:

分别将所述待处理图像输入至人脸检测模型中;

通过所述人脸检测模型分别提取至少一个所述待处理图像的预设位置区域;

根据所述预设位置区域生成不同比例和尺寸的人脸候选框;

计算所述人脸候选框区域对应的置信度;

通过非极大值抑制操作并根据每个所述人脸候选框的置信度计算得到人脸区域;

其中,所述人脸检测模型的训练方式包括:

从已标注真实人体区域的训练集中提取真实人体区域,所述真实人体区域中标注了真实人脸区域;

将所述真实人体区域进行尺度变换得到标准尺寸的多个第二训练图像;

生成多个所述第二训练图像的预设位置区域;

根据所述预设位置区域生成多个不同比例和尺寸的第二训练候选框;

计算所述第二训练候选框区域对应的第二训练误差;

根据标注好的真实人脸区域和所述置信度进行训练得到人脸检测模型。

在其中一个实施例中,所述对所得到的目标人体区域进行尺度变换得到标准尺寸的多个待处理图像,包括:

将所述目标人体区域映射到所述初始图像得到目标人体区域的位置;

根据所述位置从所述初始图像中提取目标人体区域对应的人体图像;

对所述人体图像进行尺度变换得到标准尺寸的多个待处理图像。

一种人脸识别装置,所述装置包括:

人脸区域检测模块,用于获取初始图像,并对所述初始图像进行分级人脸检测得到目标人脸区域,所述分级人脸识别包括对所述初始图像进行人体区域识别和对所识别出的人体区域进行人脸识别;

人脸识别模块,用于将所述目标人脸区域从所述初始图像裁剪后输入至人脸识别模型进行人脸特征提取,用于人脸识别。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

上述人脸识别方法、装置、计算机设备和存储介质,对初始图像进行分级人脸检测,即首先检测人体区域,然后对检测出的人体区域进行人脸识别,这样首先检测到人体区域,使得人脸检测时位置相对确定,从而提高了检测的精度。

附图说明

图1为一个实施例中人脸识别方法的流程示意图;

图2为图1所示实施例中的步骤s102的流程图;

图3为一个实施例中的人脸识别方法的图像变换图;

图4为一个实施例中训练集中一个第一训练图像的示意图;

图5是一个实施例中目标人体区域的示意图;

图6为一个实施例中对目标人体区域进行预处理得到的第二训练图像的示意图;

图7为另一个实施例中的人脸识别方法的示意图;

图8为一个实施例中人脸识别装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种人脸识别方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:

s102:获取初始图像,并对初始图像进行分级人脸检测得到目标人脸区域,分级人脸识别包括对初始图像进行人体区域识别和对所识别出的人体区域进行人脸识别。

具体地,初始图像可以是指摄像头拍摄的图像,且一般拍摄的初始图像的像素是固定的,分级人脸识别包括对初始图像进行人体区域识别和对所识别出的人体区域进行人脸识别,其中人体区域识别是指从初始图像中识别得到拍摄了完整的人脑图像的人体区域,人脸识别则是从所识别的人体区域中确定人脸区域。其中对于人体区域的识别可以是通过对初始图像进行将精度处理后的待识别图像进行检测处理,这样可以减少数据的处理量,从而提高处理效率。终端在得到目标人体区域后,则映射到初始图像或待识别图像中以得到人体区域,然后对人体区域进行人脸检测,以得到人脸区域,从而再将人脸区域映射到高精度的初始图像中进行裁剪,然后通过对初始图像进行裁剪得到高精度的人脸区域,便于后续进行人脸识别。

以1080p为例,在一般终端设备进行人脸识别由于算力、功耗等因素限制因此输入神经网络的图像都会进行降分辨率操作,但由于图像中的人脸区域可能由于拍摄远近关系,在原始图像降分辨率后,较远的人脸可能会丢失用于人脸识别的纹理、颜色等细节特征,同时在整幅图中遍历搜素人脸区域对于终端有限的算力、内存、电量等来说需求较大,因此为更加快速且、准确的完成人脸识别任务,通过分级人脸检测的方式完成人脸的检测识别,且通过在初始图像映射人脸区域位置,直接从初始图像中裁剪获取人脸图像作为人脸识别的输入,可大大提高识别精度。其中可选地,终端可以对初始图像进行缩放处理以及灰度化处理得到待识别图像,这样通过采用粗纹理特征图像,即待识别图像作为检测网络输入可大大降低对终端硬件设备算力、内存、功耗等要求以及模型的复杂度。

s104:将目标人脸区域从初始图像裁剪后输入至人脸识别模型进行人脸特征提取,用于人脸识别。

具体地,终端在识别得到目标人脸区域后,则根据目标人脸区域的位置坐标映射到初始图像中,从而可以根据该位置坐标对初始图像进行裁剪得到高精度的目标人脸区域,进而将该高精度的目标人脸区域输入至人脸识别模型进行人脸特征提取,用于人脸识别。可选地,在得到高精度的目标人脸区域后,终端可以对该高精度的目标人脸区域进行特征提取等,以便于后续的处理。例如终端可以将高精度的目标人脸区域进行统一缩放至一定的分辨率,例如都是250*250,这样后续可以将人脸图像输入至人脸特征提取网络以提取人脸特征,进而可以进行其他的处理。

上述人脸识别方法,对初始图像进行分级人脸检测,即首先检测人体区域,然后对检测出的人体区域进行人脸识别,这样首先检测到人体区域,使得人脸检测时位置相对确定,从而提高了检测的精度。

在其中一个实施例中,参见图2,对初始图像进行分级人脸检测得到目标人脸区域,包括:

s202:对初始图像进行检测获得到目标人体区域。

首先,目标人体区域是指初始图像中存在完整的人脸区域的人体的区域,首先终端对初始图像进行粗粒度检测这样得到初始图像中所存在的包括完整的人脸区域的人体区域,具体地,可以参照图3所示,图3为一个实施例中的人脸识别方法的图像变换图;其中初始图像1000px*1000px中存在两个人体,在其他实施例中,可以是存在多个或者是1个,在此不做具体的限制,终端对初始图像进行识别得到目标人体区域f1和f2。

可选地,终端可以通过预先训练的人体检测模型来对初始图像进行处理以得到目标人体区域。该人体检测模型可以是预先根据多个标注好人体区域的训练图像进行训练得到的。且该人体检测模型中的候选框的尺寸和面积可以是根据训练时的训练图像预先确定的,且该尺寸是根据实际人体距离摄像头不同距条件离下,的高宽比和尺寸面积所确定的,这样可以提高候选检测窗口(anchorbox)的检测效率。

s204:对所得到的目标人体区域进行预处理换得到标准尺寸的多个待处理图像。

具体地,预处理过程包括裁剪、尺度变换以及填充,该预处理过程为了将经人体检测模型检测得到的目标人体区域经过裁剪、同比例缩放、填充到同一分辨率下,这样后续终端则仅需要用固定尺寸的人脸检测框检测人脸获得人脸区域即可,不需要根据人脸在图像中尺寸大小不同而调整,且由于一般地人脸和人体的大小比例是固定在一定范围内的,因此将所得到的目标人体区域进行尺度变换后,可以方便后续的人脸区域的识别。结合图3,所得到的两个人体区域的分辨率分别为350px*950px以及190px*520px,因此终端可以将所得到的人体区域进行同比例缩放到同一分辨率。此外可选地,终端在识别得到目标人体区域后,对该目标人体区域进行位置微调后,将该人体区域从初始图像中裁剪出来,然后再对裁剪出来的人体区域进行尺度变换。且该人脸检测模型中的候选框的尺寸和面积可以是根据训练时的训练图像预先确定的,且该尺寸是根据实际人体中人脸的高宽比所确定的,这样可以提高检测效率。

s206:对待处理图像进行人脸检测得到待处理人脸区域。

具体地,待处理人脸区域是指从经过预处理所得到的待处理图像中提取出来的人脸区域。可选地,终端可以将待处理图像输入至人脸检测模型中以得到待处理人脸区域,该人脸检测模型可以是预先训练得到的,例如根据标注好人体区域和人脸区域的训练图像,首先从训练图像中提取出标注好的人体区域,然后将标注好的人脸区域的提取出来的人体区域作为样本进行训练即可。

s208:将待处理人脸区域映射到初始图像中得到目标人脸区域。

具体地,映射操作是指确定待处理人脸区域在初始图像中的位置的过程,这样由于对进行人脸识别时是对待处理图像进行操作的,其精度较低,将其映射到高精度的初始图像中,则可以获取到分辨率较高的目标人脸区域,这样方便后续进行人脸特征提取以进行人脸识别。

终端在识别得到待处理人体区域时,需要记录待处理人脸区域在待处理图像中的坐标位置,这样可以根据待处理图像和人体区域的尺寸变换确定待处理人脸区域在所识别出来的人体区域中的坐标位置。进而根据人体区域在初始图像中的位置确定待处理人脸区域在初始图像中的位置,从而终端可以通过待处理人脸区域在初始图像中的位置确定初始图像中的目标人脸区域。

上述人脸识别方法,首先对初始图像进行识别得到了目标人体区域,这样再将目标人体区域进行尺度变化得到标准尺寸的多个待处理图像,从而可以对待处理图像进行人脸识别得到待处理人脸区域,再将待处理人脸区域映射到初始图像中就可以得到高分辨率目标人脸区域,这样首先检测到人体区域,然后再统一尺度,从而使得人脸检测时位置相对确定,从而提高了检测的精度。

在其中一个实施例中,对初始图像进行检测获得到目标人体区域,包括:对初始图像进行缩放处理以及灰度化处理得到待识别图像;对待识别图像进行检测得到目标人体区域。

具体地,由于初始图像的分辨率较高,而此处仅需要检测出目标人体区域,不需要分辨率过高的图像,因此终端可以首先对初始图像作缩放处理以及灰度化处理,例如首先将初始图像转换为灰度图像,然后对灰度图像进行归一化处理,只需要保留人体的轮廓和大致细节,作为模型检测的输入数据,这样可以减少输入数据的大小,从而提高目标人体区域的识别效率,且由于输入数据减少,这样对硬件端算力需求也就降低,同时也降低了内存的开销。

上述实施例中,预先对初始图像进行缩放处理以及灰度化处理,减少输入数据的大小,从而提高目标人体区域的识别效率。

在其中一个实施例中,对待识别图像进行识别得到目标人体区域,包括:将待识别图像输入至预先训练完成的人体检测模型中;获取人体检测模型中预先确定的多个不同长宽比例和面积的候选框;通过人体检测模型提取多个不同长宽比例和面积的候选框对应的图像特征,并根据所提取的图像特征计算得到每个候选框的目标置信度;通过非极大值抑制操作并根据每个候选框的目标置信度计算得到目标人体区域。

其中候选框是预先设定的,该候选框的长宽比例是预先设定的;或者该候选框的长宽比例是根据人体检测模型在训练的时候的训练图像中的已标注的真实人体区域的长宽比进行聚类得到的。该处理候选框可以是根据经验预先设定的,例如1:4、5:8、1:1三种不同长宽比例的候选框。或者是根据人体检测模型训练的时候直接通过对标注数据集中的标注框进行聚类分析,以此来选取合适的候选框比例,这样可以提高模型的自适应性和检测效率。

而候选框的面积则可以是根据远近目标不同所设定的,该面积的设定也可以是训练过程中预先确定的,例如根据经验或者是聚类分析确定的。

终端将待识别图像输入至预先训练完成的人体检测模型中,这样通过该人体检测模型可以首先获取到预先确定的多个不同长宽比例和面积的候选框,然后提取多个不同长宽比例和面积的候选框对应的图像特征,并根据所提取的图像特征计算得到每个候选框的目标置信度,这样终端则可以获取到多个非0的目标置信度对应的目标人体区域,再通过非极大值抑制即可以得到目标人体区域,例如,终端把这些目标置信度全部排序。选取目标置信度最高的那个候选框,然后计算其他的候选框与当前候选框的重合程度(iou),如果重合程度大于一定阈值就删除,因为在同一个人可能会有好几个高得分的候选框,都是同一个人但是不需要那么多框,仅需要一个就够了。

上述实施例中给出了目标人体区域的识别过程,该过程仅需要对分辨率低的待识别图像进行处理即可,速度快。

在其中一个实施例中,人脸检测模型的训练方式包括:获取已标注真实人体区域的训练集;对训练集中的每个第一训练图像进行下采样得到第一特征图;根据第一特征图生成多个不同长宽比例和面积的第一训练候选框;计算第一训练候选框的第一训练误差;根据训练集中已标注的真实人体区域和第一训练误差,调整模型参数,进行训练得到人体检测模型。

具体地,终端可以首先获取到标注好真实人体区域的训练集,例如图4所示,其中将训练集中每个第一训练图像中的没有拍摄到脑袋或者是所拍摄的脑袋不全的人体区域作为负样本。然后为了提高处理效率,终端可以将每个第一训练图像进行预处理,灰度化并缩放至统一的尺寸。这样将处理后的第一训练图像输入至预设的检测网络中,该检测网络的结构可以预先根据需要进行设置,该检测网络经过训练即可得到人体检测模型。

终端将第一训练图像进行采样得到多个第一特征图,例如终端可以对第一训练图像进行下采样得到多个第一特征图,并将第一特征图划分为n*n个cell(网络单元格,将特定层的特征图分割成面积大小的单元格)。然后终端以每个网格单位生成多个不同长宽比例和面积的第一训练候选框,这样即可以对第一候选框进行位置逻辑回归和计算第一训练候选框的第一训练误差,即x,y,w,h,confidence:这个候选框中有多大的可能包含目标,该第一训练误差可以包含两个方面,一是这个第一候选框含有目标的可能性大小,二是这个第一候选框的准确度。前者记为pr(object),当该第一候选框是背景等负样本时,即不包含目标,此时pr(object)=0。而当该第一候选框包含目标时,pr(object)=1。第一候选框的准确度可以用第一候选框与实际框(groundtruth)的重合程度iou来表征,记为ioutruthpred。因此第一训练误差可以定义为confidence=pr(object)*ioutruthpred(样本标注的真实人体区域的框和第一训练候选框的交并比);其中如果有人工标记的真实人体区域落在一个cell里,第一项pr(object)取1,否则取;第二项ioutruth_pred是预测的第一训练候选框和实际的标注的真实人体区域的框之间的重合程度iou值。

其中,可选地,由于人体的长宽比例相对比较固定,因此终端可以通过采用多个固定比例尺寸的第一候选框作为人体检测窗口。在其中一个实施例中,第一训练候选框的长宽比例是预先设定的;或者第一训练候选框的长宽比例是通过第一训练图像中的已标注的真实人体区域进行聚类得到的。也就是说该第一候选框的长宽比可根据经验或k-means聚类获得。其中若采用经验参数则可以选取1:4、5:8、1:1三种不同长宽比例的候选框。若通过聚类来获得,则终端直接通过对标注了真实人体区域的第一训练图像中的真实人体区域的框进行聚类分析,以此来选取合适的候选框比例。

在其中一个实施例中,上述第一训练候选框的面积也是可以预先定义的,例如第一训练候选框的面积是根据第一训练图像中的已标注的人体区域聚类后,根据每一类中标注好的真实人体区域的面积确定的;或者第一训练候选框的面积是标注好的人体区域由于远近不同所导致的面积不同而确定的,这样用户可以根据面积的不同来设定不同面积的第一训练候选框。这样可以进一步提高人体检测模型针对不同大小目标敏感性。

在实际应用中,可通过聚类分析训练集中的人体区域的大小来生成不同面积大小的候选框,或通过第一训练图像中人体区域由于远近不同所占面积不同来确定候选区面积。

其中w为第一训练候选框的宽度,h为第一训练候选框的长度,s为第一训练候选框的面积,ratio为第一训练候选框的宽长比。

例如,假设第一训练图像的输入尺寸大小为416*416,经过采样所得到的特征层大小为13*13,则其中一个候选框的长宽比为0.2:0.6或0.2:0.2,在416*416基础上做了归一化处理,则该特征层的候选框大小为:32为下采样倍率或缩小倍率,一般的s取值范围为0.2~0.9,

w=0.2*416/32=0.2*13=2.6h=0.6*416/32=0.6*13=7.8

w=0.2*416/32=0.1*13=2.6h=0.2*416/32=0.2*13=2.6

这样终端可以进一步地对第一特征图继续下采样,获得第二特征图(16倍下采样)、第三特征图(32倍下采样)……第n特征图。且下采样倍数根据实际情况设置或在以第n特征图为基础进行上采样操作。如第n特征图为32倍采样获得,则对第n特征图上采样2倍获得16倍第二特征图,同理在第二特征图基础上上采样2倍获得第8特征图;特别的每一次上采样获得的特征图可与相对应的下采样所输出的同大小的特征图进行融合操作,然后在该上采样特征图基础上做候选框逻辑回归和计算候选框的第一训练误差的操作。

从而终端通过上述操作,逐渐迭代,直至人体检测模型收敛。可选地,终端还可以获取到验证集对该人体检测模型进行验证以判断人体检测模型是否符合要求,若不符合要求,则继续进行训练。

上述实施例中,通过固定候选框的长宽比以及面积取值范围,从而提高人体检测模型的训练速度和自适应性。

在其中一个实施例中,对待处理图像进行人脸识别得到待处理人脸区域,包括:分别将待处理图像输入至人脸检测模型中;通过人脸检测模型分别提取至少一个待处理图像的预设位置区域;根据预设位置区域生成多个不同比例和尺寸的人脸候选框;计算人脸候选框区域对应的置信度;通过非极大值抑制操作并根据每个人脸候选框的置信度计算得到人脸区域。

其中由于人脸区域一般是位于人体区域的上部,因此终端可以通过人脸检测模型分别提取多个待处理图像的预设位置区域,例如终端可以对待处理图像进行下采样,一般为1*8个网格单元,然后提取前4个网格单元区域作为预设位置区域,以进行人脸区域的识别。

其中人脸候选框是预先设定的,该人脸候选框可以是根据经验预先设定的。或者是根据人脸检测模型训练的时候直接通过对标注数据集中的标注框进行聚类分析,以此来选取合适的候选框比例,这样可以提高模型的自适应性。

终端将预设位置区域输入至预先训练完成的人脸检测模型中,这样通过该人脸检测模型可以首先获取到预先确定的多个不同长宽比例和面积的候选框,然后提取多个不同长宽比例和面积的候选框对应的图像特征,并根据所提取的图像特征计算得到每个人脸候选框的置信度,这样终端则可以获取到多个非0的置信度对应的人脸区域,再通过非极大值抑制即可以得到人脸区域,例如,终端把这些目标置信度全部排序。选取目标置信度最高的那个人脸候选框,然后计算其他的人脸候选框与当前人脸候选框的重合程度(iou),如果重合程度大于一定阈值就删除,因为在同一人脸可能会有好几个高得分的人脸候选框,都是同一人脸但是不需要那么多框,仅需要一个就够了。

上述实施例中给出了人脸区域的识别过程,该过程仅需要对分辨率低的待识别图像进行处理即可,速度快。

在其中一个实施例中,人脸检测模型的训练方式包括:从已标注真实人体区域的训练集中提取真实人体区域,真实人体区域中标注了真实人脸区域;将真实人体区域进行尺度变换得到标准尺寸的多个第二训练图像;生成多个第二训练图像的预设位置区域;根据预设位置区域生成多个不同比例和尺寸的第二训练候选框;计算第二训练候选框区域对应的第二训练误差;根据标注好的真实人脸区域和置信度进行训练得到人脸检测模型。

具体地,结合图5和图6所示,其中图5是一个实施例中目标人体区域的示意图。图6为一个实施例中对目标人体区域进行尺度变换得到的第二训练图像的示意图。由于人在图像中远近、位置不同,因此获得图像面积有大有小,有全的有不全的,为了后续人脸位置检测模型便于处理,因此终端将从初始图像中截取目标人体区域,进行同比例缩放、填充至同一分辨率下(也就是标准尺寸)如图6,终端通过同比例缩放和填充后的作为人脸检测模型的输入,得到人脸区域位置,然后把人脸区域位置映射到初始图像(高分辨图像)中,截取对应的人脸图像,输入至人脸识别网络中,进行人脸特征提取用于人脸识别。

其中在训练的时候,终端从已标注真实人体区域的训练集中提取真实人体区域,且该真实人体区域中标注了真实人脸区域;这样终端可以将真实人体区域进行尺度变换得到标准尺寸的多个第二训练图像。

然后终端对第二训练图像进行下采样,获得第二特征图,并将所述第二特征图化分成n*m个cell,作为优选的划分成1*8个cell。然后终端可以获取预设位置区域,例如取前4个cell用于生成多个不同比例和尺寸的第二训练候选框。这样终端再计算第二训练候选框区域对应的第二训练误差,例如对第二候选框区域进行位置逻辑回归和计算第二训练候选区域第二训练误差,以用于检测人脸;其他cell抛弃。

最后,终端根据标注好的真实人脸区域和置信度进行训练直至模型收敛,即可以得到人脸检测模型。

在其中一个实施例中,对所得到的目标人体区域进行尺度变换得到标准尺寸的多个待处理图像,包括:将目标人体区域映射到初始图像得到目标人体区域的位置;根据位置从初始图像中提取目标人体区域对应的人体图像;对人体图像进行尺度变换得到标准尺寸的多个待处理图像。

具体地,由于目标人体区域是根据待识别图像进行识别得到的,目标人体区域是针对低分辨率的待识别图像的基础上识别得到的,这样模型的参数成倍地减少,终端可以根据目标人体区域在待识别图像中的位置得到目标人体区域在初始图像中的位置,这样,终端可以根据所确定的位置从初始图像中提取目标人体区域对应的人体图像,然后终端对提取出的人体图像进行尺度变换以及填充等处理得到标准尺寸的多个待处理图像(其中此处的尺度变换是由于人脸识别网络等对输入图像的大小的限制,因此终端若是仅通过简单粗暴的缩放,这样人体区域就会变形,因此有些图像终端需要通过填充保证图像比例尺寸不变)。这样后续终端进行人脸检测的多个待处理图像其尺寸是一样的,方便处理。这样终端通过分级分布,首先在粗粒度的低分辨率图像(二值化图像,数据只有0和1,因此整个数据量很小)中做检测,获得目标人体区域以及人脸位置信息,然后把人脸位置信息映射到搞分辨率的初始图像中,以从中截取高分辨人脸图像。

需要说明的是此处的从初始图像中提取目标人体区域对应的人体图像是指对初始图像进行裁剪得到目标人体区域,然后对目标人体区域进行边缘扩充,填零以及放大至统一标准尺寸以得到待处理图像。上述实施例中,根据目标人体区域从初始图像中提取到了人体图像,这样分辨率是符合要求的,进而对人体图像进行尺度变换得到标准尺寸的多个待处理图像,为后续的人脸检测奠定了基础。

在其中一个实施例中,参见图7所示,图7为另一个实施例中的人脸识别方法的示意图,在该实施例中,终端获取到初始图像,然后对初始图像进行预处理,包括灰度化处理和缩放归一化处理等得到待识别图像,这样使得数据量减少,从而将待处理图像输入至训练好的人体检测模型中,通过人体检测模型生成多个不同比例和面积的候选框,并提取多个不同长宽比例和面积的候选框对应的图像特征,并根据所提取的图像特征计算得到每个候选框的目标置信度;通过非极大值抑制操作并根据每个候选框的目标置信度计算得到目标人体区域。这样终端将目标人体区域映射到初始图像中,并根据目标人体区域映射后的坐标从初始图像中裁剪获得人体图像,并对人体对象进行扩充、放大处理得到多个标准尺寸的待处理图像。最后终端将待处理图像输入至人脸检测模型中得到人脸区域,其中人脸检测模型可以首先提取待处理图像中的预设位置区域;根据预设位置区域生成多个不同比例和尺寸的人脸候选框;计算人脸候选框区域对应的置信度;通过非极大值抑制操作并根据每个人脸候选框的置信度计算得到人脸区域。这样最后将人脸区域映射到原始图像中从而得到目标人脸区域。

上述实施例中,终端先检测人体区域,然后再对人体区域进行检测得到人脸区域,这样检测精度得到了提高,其次,由于对人体区域检测仅采用灰度图即可,这样可以提高速度,再者,首先确定人体区域然后再有针对性地对人体区域的部分区域进行人脸检测,这样大大减少了图像处理的计算量,因为若是直接对原始图像进行人脸检测,则其窗口数量巨大,会耗费大量的算力资源。

应该理解的是,虽然图1、图2和图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图2和图7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种人脸识别装置,包括:人脸区域检测模块100和人脸识别模块200,其中

人脸区域检测模块100,用于获取初始图像,并对所述初始图像进行分级人脸检测得到目标人脸区域,所述分级人脸识别包括对所述初始图像进行人体区域识别和对所识别出的人体区域进行人脸识别;

人脸识别模块200,用于将所述目标人脸区域从所述初始图像裁剪后输入至人脸识别模型进行人脸特征提取,用于人脸识别。

在其中一个实施例中,上述的人脸区域检测模块100可以包括:

人体区域识别单元,用于获取初始图像,并对初始图像进行检测获得到目标人体区域;

尺寸变换单元,用于对所得到的目标人体区域进行预处理得到标准尺寸的多个待处理图像;

人脸区域识别单元,用于对待处理图像进行人脸检测得到待处理人脸区域;

映射单元,用于将待处理人脸区域映射到初始图像中得到目标人脸区域。

在其中一个实施例中,上述的人体区域识别单元可以包括:

预处理单元,用于对初始图像进行缩放处理以及灰度化处理得到待识别图像;

人体识别单元,用于对待识别图像进行检测得到目标人体区域。

在其中一个实施例中,上述的人体区域识别单元可以包括:

第一输入单元,用于将待识别图像输入至预先训练完成的人体检测模型中;

候选框获取单元,用于获取人体检测模型中预先确定的多个不同长宽比例和面积的候选框;

目标置信度计算单元,用于通过人体检测模型提取多个不同长宽比例和面积的候选框对应的图像特征,并根据所提取的图像特征计算得到每个候选框的目标置信度;

人体区域确定单元,用于通过非极大值抑制操作并根据每个候选框的目标置信度计算得到目标人体区域。

其中,上述的人脸识别装置还可以包括:

第一训练集获取模块,用于获取已标注真实人体区域的训练集;

采样模块,用于对训练集中的每个第一训练图像进行下采样得到第一特征图;

第一训练候选框生成模块,用于根据第一特征图生成多个不同长宽比例和面积的第一训练候选框;

第一训练误差计算模块,用于计算第一训练候选框的第一训练误差;

第一训练模块,用于根据训练集中已标注的真实人体区域和第一训练误差,调整模型参数,进行训练得到人体检测模型。

在其中一个实施例中,第一训练候选框的长宽比例是预先设定的;或者

第一训练候选框的长宽比例是通过第一训练图像中的已标注的真实人体区域进行聚类得到的。

在其中一个实施例中,第一训练候选框的面积是根据第一训练图像中的已标注的人体区域聚类后,每一类中标注好的真实人体区域的面积确定的;或者

第一训练候选框的面积是标注好的人体区域由于远近不同所导致的面积不同而确定的。

在其中一个实施例中,上述的人脸区域识别模块300可以包括:

第二输入单元,用于分别将待处理图像输入至人脸检测模型中;

位置提取单元,用于通过人脸检测模型分别提取至少一个待处理图像的预设位置区域;

人脸候选框获取单元,用于根据预设位置区域生成不同比例和尺寸的人脸候选框;

置信度计算单元,用于计算人脸候选框区域对应的置信度;

人脸区域确定单元,用于通过非极大值抑制操作并根据每个人脸候选框的置信度计算得到人脸区域。

其中,上述的人脸识别装置还可以包括:

第二训练集获取模块,用于从已标注真实人体区域的训练集中提取真实人体区域,真实人体区域中标注了真实人脸区域;

第二训练图像获取模块,用于将真实人体区域进行尺度变换得到标准尺寸的多个第二训练图像;

预设位置区域提取模块,用于生成多个第二训练图像的预设位置区域;

第二训练候选框生成模块,用于根据预设位置区域生成多个不同比例和尺寸的第二训练候选框;

第二训练误差计算模块,用于计算第二训练候选框区域对应的第二训练误差;

第二训练模块,用于根据标注好的真实人脸区域和置信度进行训练得到人脸检测模型。

在其中一个实施例中,上述的尺寸变换单元包括:

第一映射单元,用于将目标人体区域映射到初始图像得到目标人体区域的位置;

人体图像提取单元,用于根据位置从初始图像中提取目标人体区域对应的人体图像;

尺度变换单元,用于对人体图像进行尺度变换得到标准尺寸的多个待处理图像。

关于人脸识别装置的具体限定可以参见上文中对于人脸识别方法的限定,在此不再赘述。上述人脸识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器,当其为终端时,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种人脸识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取初始图像,并对所述初始图像进行分级人脸检测得到目标人脸区域,所述分级人脸识别包括对所述初始图像进行人体区域识别和对所识别出的人体区域进行人脸识别;将所述目标人脸区域从所述初始图像裁剪后输入至人脸识别模型进行人脸特征提取,用于人脸识别。

在一个实施例中,处理器执行计算机程序时所实现的所述对所述初始图像进行分级人脸检测得到目标人脸区域,包括:对所述初始图像进行检测获得到目标人体区域;对所得到的目标人体区域进行预处理得到标准尺寸的至少一个待处理图像;对所述待处理图像进行人脸检测得到待处理人脸区域;将所述待处理人脸区域映射到所述初始图像中得到目标人脸区域。

在一个实施例中,处理器执行计算机程序时所实现的所述对所述初始图像进行检测获得到目标人体区域,包括:对所述初始图像进行缩放处理以及灰度化处理得到待识别图像;对所述待识别图像进行检测得到目标人体区域。

在一个实施例中,处理器执行计算机程序时所实现的所述对所述待识别图像进行检测得到目标人体区域,包括:将所述待识别图像输入至预先训练完成的人体检测模型中;获取所述人体检测模型中预先确定的多个不同长宽比例和面积的候选框;通过所述人体检测模型提取多个不同长宽比例和面积的候选框对应的图像特征,并根据所提取的图像特征计算得到每个候选框的目标置信度;通过非极大值抑制操作并根据每个所述候选框的目标置信度计算得到目标人体区域。

其中,处理器执行计算机程序时所涉及的所述人体检测模型的训练方式包括:获取已标注真实人体区域的训练集;对训练集中的每个第一训练图像进行下采样得到第一特征图;根据所述第一特征图生成多个不同长宽比例和面积的第一训练候选框;计算所述第一训练候选框的第一训练误差;根据所述训练集中已标注的真实人体区域和所述第一训练误差,调整模型参数,进行训练得到人体检测模型。

在一个实施例中,处理器执行计算机程序时所涉及的所述第一训练候选框的长宽比例是预先设定的;或者所述第一训练候选框的长宽比例是通过所述第一训练图像中的已标注的真实人体区域进行聚类得到的;处理器执行计算机程序时所涉及的所述第一训练候选框的面积是根据所述第一训练图像中的已标注的人体区域聚类后,每一类中标注好的真实人体区域的面积确定的;或者所述第一训练候选框的面积是标注好的人体区域由于远近不同所导致的面积不同而确定的。

在一个实施例中,处理器执行计算机程序时所实现的所述对所述待处理图像进行人脸检测得到待处理人脸区域,包括:分别将所述待处理图像输入至人脸检测模型中;通过所述人脸检测模型分别提取至少一个所述待处理图像的预设位置区域;根据所述预设位置区域生成不同比例和尺寸的人脸候选框;计算所述人脸候选框区域对应的置信度;通过非极大值抑制操作并根据每个所述人脸候选框的置信度计算得到人脸区域。

其中,处理器执行计算机程序时所涉及的所述人脸检测模型的训练方式包括:从已标注真实人体区域的训练集中提取真实人体区域,所述真实人体区域中标注了真实人脸区域;将所述真实人体区域进行尺度变换得到标准尺寸的多个第二训练图像;生成多个所述第二训练图像的预设位置区域;根据所述预设位置区域生成多个不同比例和尺寸的第二训练候选框;计算所述第二训练候选框区域对应的第二训练误差;根据标注好的真实人脸区域和所述置信度进行训练得到人脸检测模型。

在一个实施例中,处理器执行计算机程序时所实现的所述对所得到的目标人体区域进行尺度变换得到标准尺寸的多个待处理图像,包括:将所述目标人体区域映射到所述初始图像得到目标人体区域的位置;根据所述位置从所述初始图像中提取目标人体区域对应的人体图像;对所述人体图像进行尺度变换得到标准尺寸的多个待处理图像。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取初始图像,并对所述初始图像进行分级人脸检测得到目标人脸区域,所述分级人脸识别包括对所述初始图像进行人体区域识别和对所识别出的人体区域进行人脸识别;将所述目标人脸区域从所述初始图像裁剪后输入至人脸识别模型进行人脸特征提取,用于人脸识别。

在一个实施例中,计算机程序被处理器执行时所实现的所述对所述初始图像进行分级人脸检测得到目标人脸区域,包括:对所述初始图像进行检测获得到目标人体区域;对所得到的目标人体区域进行预处理得到标准尺寸的至少一个待处理图像;对所述待处理图像进行人脸检测得到待处理人脸区域;将所述待处理人脸区域映射到所述初始图像中得到目标人脸区域。

在一个实施例中,计算机程序被处理器执行时所实现的所述对所述初始图像进行检测获得到目标人体区域,包括:对所述初始图像进行缩放处理以及灰度化处理得到待识别图像;对所述待识别图像进行检测得到目标人体区域。

在一个实施例中,计算机程序被处理器执行时所实现的所述对所述待识别图像进行检测得到目标人体区域,包括:将所述待识别图像输入至预先训练完成的人体检测模型中;获取所述人体检测模型中预先确定的多个不同长宽比例和面积的候选框;通过所述人体检测模型提取多个不同长宽比例和面积的候选框对应的图像特征,并根据所提取的图像特征计算得到每个候选框的目标置信度;通过非极大值抑制操作并根据每个所述候选框的目标置信度计算得到目标人体区域。

其中,计算机程序被处理器执行时所涉及的所述人体检测模型的训练方式包括:获取已标注真实人体区域的训练集;对训练集中的每个第一训练图像进行下采样得到第一特征图;根据所述第一特征图生成多个不同长宽比例和面积的第一训练候选框;计算所述第一训练候选框的第一训练误差;根据所述训练集中已标注的真实人体区域和所述第一训练误差,调整模型参数,进行训练得到人体检测模型。

在一个实施例中,计算机程序被处理器执行时所涉及的所述第一训练候选框的长宽比例是预先设定的;或者所述第一训练候选框的长宽比例是通过所述第一训练图像中的已标注的真实人体区域进行聚类得到的;计算机程序被处理器执行时所涉及的所述第一训练候选框的面积是根据所述第一训练图像中的已标注的人体区域聚类后,每一类中标注好的真实人体区域的面积确定的;或者所述第一训练候选框的面积是标注好的人体区域由于远近不同所导致的面积不同而确定的。

在一个实施例中,计算机程序被处理器执行时所实现的所述对所述待处理图像进行人脸检测得到待处理人脸区域,包括:分别将所述待处理图像输入至人脸检测模型中;通过所述人脸检测模型分别提取至少一个所述待处理图像的预设位置区域;根据所述预设位置区域生成不同比例和尺寸的人脸候选框;计算所述人脸候选框区域对应的置信度;通过非极大值抑制操作并根据每个所述人脸候选框的置信度计算得到人脸区域。

其中,计算机程序被处理器执行时所涉及的所述人脸检测模型的训练方式包括:从已标注真实人体区域的训练集中提取真实人体区域,所述真实人体区域中标注了真实人脸区域;将所述真实人体区域进行尺度变换得到标准尺寸的多个第二训练图像;生成多个所述第二训练图像的预设位置区域;根据所述预设位置区域生成多个不同比例和尺寸的第二训练候选框;计算所述第二训练候选框区域对应的第二训练误差;根据标注好的真实人脸区域和所述置信度进行训练得到人脸检测模型。

在一个实施例中,计算机程序被处理器执行时所实现的所述对所得到的目标人体区域进行尺度变换得到标准尺寸的多个待处理图像,包括:将所述目标人体区域映射到所述初始图像得到目标人体区域的位置;根据所述位置从所述初始图像中提取目标人体区域对应的人体图像;对所述人体图像进行尺度变换得到标准尺寸的多个待处理图像。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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