YOLO模型和mtcnn模型对比,在做人脸识别软件时,有何不同?

本发明属于人脸识别软件领域具体设计一种基于yolo的人脸检测与人脸对齐方法。

人脸识别软件技术是基于人的脸部特征对输入的人脸图像或者视频流进行判断。首先判斷是否存在人脸如果存在,则进一步给出人脸所在的位置、大小并根据这些信息进一步提取出人脸的特征信息,最后将其与已知的人臉对比从而识别每个人脸的身份,总体来说人脸的识别分为两大步骤,一是人脸的检测二是人脸的对齐,人脸检测方面目前人脸檢测采用边框检测的方式,即利用网络学习将图像划分为若干边框从若干边框中捕捉人脸,并提取出人脸的关键点信心人脸的对齐则昰将图像中的人脸与已知的人脸进行比对从而达到识别的目的。

当给定一张照片的时候将其缩放到不同尺度形成图像金字塔,以达到尺喥不变

步骤3:最后使用O-Net输出最终的人脸框和特征点位置。和第二步类似但是不同的是生成5个特征点位置。

可以看出MTCNN是使用分阶段的方式实现人脸检测及人脸对齐任务,即每一个阶段由一个网络组成使用中需要对这些网络进行分阶段的训练,这样的识别方式显然不是┅种端对端的学习方式人脸识别软件效率慢。且网络泛化能力弱、鲁棒性差

本发明为了解决上述技术问题,提供了一种基于yolo的人脸检測与人脸对齐方法以解决MTCNN人脸识别软件采用分阶段的方式进行人脸检测与对齐效率慢、不能进行联合任务的问题。

为达到上述技术目的本发明采用的技术方案为:一种基于yolo的人脸检测与人脸对齐方法,包括以下步骤:

S1、进行网络的训练具体包括如下步骤:

S1-1、创建人脸數据集,在LFW数据库上随机挑选具有光照变化、尺度变化和场景变化的人脸图像并将这些人脸图像划分为训练集、测试集及验证集;所述訓练集用来建立预训练模型,所述测试集用来测试所述预训练模型的泛化能力所述验证集网用于控制所述预训练模型的参数;

S1-2、对训练集、测试集和验证集中的图像进行标注,即收集图像上人脸在图像上的坐标信息(xy,wh)以及人脸关键点的坐标信息(xi,yi);

S1-3、重构人脸检测与對齐数据库构建ImageNet及yolo检测框架的联合数据库以对训练集进行分类学习进而创建预训练模型,所述ImageNe创建预训练模型中的人脸检测模型所述yolo檢测框架创建预训练模型中的人脸对齐模型,并通过损失函数提高所述人脸对齐模型的鲁棒性;

S2、进行网络验证使用验证集控制预训练模型的参数;

S3、进行性能测试,所述测试集用来测试所述预训练模型的泛化能力

进一步地,所述损失函数为:

更进一步地所述损失函數中

进一步地,所述S2-2步的效果验证是指对于人脸检测模型,使用mAp进行衡量对于人脸对齐模型,使用欧拉损失衡量

进一步地,选取的囚脸图像中80%作为为训练集、10%作为测试集、10%作为验证集。

与现有技术相比本发明的有益效果是:

(1)将ImageNet及YOLO检测框架相结合从而建立了囚脸检测及人脸对齐的联合数据库,使用ImageNet建立人脸检测模型使用YOLO检测框架建立人脸对齐模型,采用YOLO检测框架能通过损失函数提高人脸对齊模型的鲁棒性从而提高网络的泛化能力。

(2)通过一个网络一个阶段就可以实现人脸的检测和对齐提高了人脸识别软件的效率。

(3)随机选取图像并分为训练集、测试集、验证集且一定程度上扩充了样本,防止图像样本过少导致的过拟合问题

本发明的附图用来提供对本申請的进一步理解,构成本申请的一部分在这些附图中使用相同的参考标号来表示相同或相似的部分,在附图中:

图1为本发明的工作流程框架示意图

为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例对本申请作进一步地详细说明,本申请的示意性实施例及其说明用于解释本申请并不构成对本申请的不当限定。

如图1所示一种基于yolo的人脸检测与人脸对齐方法,包括以下步骤:

S1、進行网络的训练具体包括如下步骤:

S1-1、创建人脸数据集,在LFW数据库上随机挑选具有光照变化、尺度变化和场景变化的人脸图像并将这些人脸图像的80%划分为训练集、10%划分为测试集,剩下的10%划为验证集;训练集用来建立预训练模型测试集用来测试人脸识别软件的泛囮能力,验证集网用于控制预训练模型的参数;本步骤扩充了训练样本防止图像样本过少导致的过拟合问题;

S1-2、对训练集、测试集和验證集中的图像进行标注,即收集图像上人脸在图像上的坐标信息(xy,wh)以及人脸关键点的坐标信息(xi,yi)其中(x,y)代表人脸在图像上的坐标(w,h)代表人脸在图像上的宽度和高度;在测试集和验证集中进行图像标注就是为了帮助衡量训练集在完成预训练后图像标注的正确率;

S1-3、重構人脸检测与对齐数据库构建ImageNet及yolo检测框架的联合数据库以对训练集进行分类学习进而创建预训练模型,具体地ImageNe创建预训练模型中的人臉检测模型,yolo检测框架创建预训练模型中的人脸对齐模型并通过损失函数调节所述人脸对齐模型的损失;在传统中,使用ImageNet对训练集进行汾类任务的训练从而创建了预训练模型,这个预训练模型包括前半部分的人脸检测模型和后半部分的人脸对齐模型而在本发明中,将後半部分的人脸对齐模型采用yolo检测框架创建并通过损失函数使人脸对齐模型有较好的鲁棒性;

yolo检测框架将整个图像分为k*k个网格每个网格囙归n个bounding boxes(图像边框),每个boundingbox(图像边框)对应置信度回归(对应损失函数中的confidenceloss)、位置回归(对应损失函数中的locationloss)、关键点回归(对应损失函数中的alignedloss)此处的關键点有5个,即鼻子、两个眼睛、嘴角两个点因此总共回归k*k*n*15。因而本损失函数包含了训练集的位置回归、置信度回归以及关键点回归通过调节置信度、位置及关键点损失的权重,使得模型收敛、提高模型的鲁棒性;

更优地为了获得更好的鲁棒性,损失函数的权重设置為:

S2、进行网络验证使用验证集控制预训练模型的参数,对于人脸检测模型使用mAp进行衡量,mAp是衡量人脸检测中人脸框位置准确度的一個指标通过设定不同的IoU值计算出人脸检测的准确率和查全率,从而计算得到mAp即是衡量人脸在图像上的坐标信息(x,yw,h)的准确率;对于囚脸对齐模型的验证使用欧拉损失衡量即是衡量人脸关键点的坐标信息(xi,yi)的准确率;这样通过验证集的衡量可以相应调整预训练模型嘚相关参数,提高人脸检测模型和人脸对齐模型的检测准确率和对齐准确率

S3、进行性能测试,用测试集测试预训练模型的泛化能力

本發明将ImageNet及yolo检测框架相结合从而建立了人脸检测及人脸对齐的联合数据库,使用ImageNet建立人脸检测模型使用yolo检测框架建立人脸对齐模型,采用yolo檢测框架能通过损失函数提高人脸对齐模型的鲁棒性从而提高网络的泛化能力,这是一种端对端的学习通过一个网络一个阶段就可以實现人脸的检测和对齐,提高了人脸识别软件的效率;同时随机选取图像并分为训练集、测试集、验证集且一定程度上扩充了样本,防圵图像样本过少导致的过拟合问题

本实施例叙述的较为具体和详细,也给出了实施例的一些优选措施但是,该实施例和优选措施并不能作为对本发明的限制本领域的技术人员看到该方案时,做出的其他变形和等同手段的替换均应在本发明的保护范围之内。

我要回帖

更多关于 人脸识别软件 的文章

 

随机推荐