掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度学习的面部区域定位方法及系统

文献发布时间:2023-06-19 11:11:32


一种基于深度学习的面部区域定位方法及系统

技术领域

本发明涉及计量校准领域,并且更具体地,涉及一种基于深度学习的面部区域定位方法及系统。

背景技术

在对人脸各个区域进行分析之前,需要将人脸及人脸中每个区域检测并分割出,可以用到的方法有传统的图像处理算法与深度学习算法。

深度学习是机器学习的一种,而机器学习是实现人工智能的必经路径。深度学习的概念源于人工神经网络的研究,含多个隐藏层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。研究深度学习的动机在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本等。

但是,如何利用深度学习算法朱取缔定位面部各区域是继续解决的问题。

发明内容

本发明提出一种基于深度学习的面部区域定位方法及系统,以解决如何准确地定位面部各区域的问题。

为了解决上述问题,根据本发明的一个方面,提供了一种基于深度学习的面部区域定位方法,所述方法包括:

对获取的人脸基本集进行人脸标注,并将经过人脸标注的人脸基本集分为人脸训练集和人脸测试集;

利用所述人脸训练集对基于ResNet-SSD网络的人脸检测模型进行优化训练,并利用所述人脸测试集对优化训练后的人脸检测模型进行测试,以确定人脸检测最优模型;

利用所述人脸检测最优模型确定人脸基本集中每个人脸图像的面部图像,并将面部图像分割出来构建面部样本集;

对获取的面部样本集进行鼻部标注,并将经过鼻部标注的面部样本集分为面部训练集和面部测试集;

利用所述面部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,并利用所述面部测试集对优化训练后的鼻部检测模型进行测试,以确定鼻部检测最优模型;

分别利用所述人脸检测最优模型和鼻部检测最优模型确定待定位人脸图像的面部定位框的坐标信息和鼻部定位框的坐标信息,并利用所述面部定位框的坐标信息和鼻部定位框的坐标信息根据预设的计算规则确定面部的每个区域的坐标信息。

优选地,其中利用所述人脸训练集对基于ResNet-SSD网络的人脸检测模型进行优化训练,并利用所述人脸测试集对优化训练后的人脸检测模型进行测试,以确定人脸检测最优模型,包括:

初始化设置,包括:第一最大迭代次数、第一测试周期、第一权重衰减率、第一学习率和第一优化算法的参数;

按照当前的设置方式利用所述人脸训练集对基于ReNet-SSD网络的人脸检测模型进行优化训练,以获取人脸检测中间模型;

利用所述人脸测试集对人脸检测中间模型进行测试,并判断测试得到的第一mAP实际值(mean Average Precision,平均精度均值)是否大于第一预设比较阈值;若所述第一mAP实际值大于第一预设比较阈值,则确定当前的人脸检测中间模型即为人脸检测最优模型;反之,重新进行初始化设置,直至确定人脸检测最优模型。

优选地,其中利用所述面部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,并利用所述面部测试集对优化训练后的鼻部检测模型进行测试,以确定鼻部检测最优模型,包括:

初始化设置,包括:第二最大迭代次数、第二测试周期、第二权重衰减率、第二学习率和第二优化算法的参数;

按照当前的设置方式利用所述鼻部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,以获取鼻部检测中间模型;

利用所述鼻部测试集对鼻部检测中间模型进行测试,并判断测试得到的第二mAP实际值是否大于第二预设比较阈值;若所述第二mAP实际值大于第二预设比较阈值,则确定当前的鼻部检测中间模型即为鼻部检测最优模型;反之,重新进行初始化设置,直至确定鼻部检测最优模型。

优选地,其中所述方法还包括:

利用Colabeler分别进行人脸标注和鼻部标注。

根据本发明的另一个方面,提供了一种基于深度学习的面部区域定位系统,所述系统包括:

人脸标注单元,用于对获取的人脸基本集进行人脸标注,并将经过人脸标注的人脸基本集分为人脸训练集和人脸测试集;

人脸检测最优模型确定单元,用于利用所述人脸训练集对基于ResNet-SSD网络的人脸检测模型进行优化训练,并利用所述人脸测试集对优化训练后的人脸检测模型进行测试,以确定人脸检测最优模型;

面部样本集构建单元,用于利用所述人脸检测最优模型确定人脸基本集中每个人脸图像的面部图像,并将面部图像分割出来构建面部样本集;

鼻部标注单元,用于对获取的面部样本集进行鼻部标注,并将经过鼻部标注的面部样本集分为面部训练集和面部测试集;

鼻部检测最优模型确定单元,用于利用所述面部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,并利用所述面部测试集对优化训练后的鼻部检测模型进行测试,以确定鼻部检测最优模型;

面部各区域定位单元,用于分别利用所述人脸检测最优模型和鼻部检测最优模型确定待定位人脸图像的面部定位框的坐标信息和鼻部定位框的坐标信息,并利用所述面部定位框的坐标信息和鼻部定位框的坐标信息根据预设的计算规则确定面部的每个区域的坐标信息。

优选地,其中所述人脸检测最优模型确定单元,利用所述人脸训练集对基于ResNet-SSD网络的人脸检测模型进行优化训练,并利用所述人脸测试集对优化训练后的人脸检测模型进行测试,以确定人脸检测最优模型,包括:

初始化设置,包括:第一最大迭代次数、第一测试周期、第一权重衰减率、第一学习率和第一优化算法的参数;

按照当前的设置方式利用所述人脸训练集对基于ReNet-SSD网络的人脸检测模型进行优化训练,以获取人脸检测中间模型;

利用所述人脸测试集对人脸检测中间模型进行测试,并判断测试得到的第一mAP实际值是否大于第一预设比较阈值;若所述第一mAP实际值大于第一预设比较阈值,则确定当前的人脸检测中间模型即为人脸检测最优模型;反之,重新进行初始化设置,直至确定人脸检测最优模型。

优选地,其中所述鼻部检测最优模型确定单元,利用所述面部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,并利用所述面部测试集对优化训练后的鼻部检测模型进行测试,以确定鼻部检测最优模型,包括:

初始化设置,包括:第二最大迭代次数、第二测试周期、第二权重衰减率、第二学习率和第二优化算法的参数;

按照当前的设置方式利用所述鼻部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,以获取鼻部检测中间模型;

利用所述鼻部测试集对鼻部检测中间模型进行测试,并判断测试得到的第二mAP实际值是否大于第二预设比较阈值;若所述第二mAP实际值大于第二预设比较阈值,则确定当前的鼻部检测中间模型即为鼻部检测最优模型;反之,重新进行初始化设置,直至确定鼻部检测最优模型。

优选地,其中所述人脸标注单元和鼻部标注单元,还包括:

利用Colabeler分别进行人脸标注和鼻部标注。

本发明提供了一种基于深度学习的面部区域定位方法及系统,采用基于深度学习目标检测方法实现对面部区域进行快速、准确地定位,以ResNet作为前置网络的SSD进行目标提取检测,使得检测网络在经过迭代后可以得到较高精确度的检测模型,使用MobileNet-SSD对鼻子部位进行检测时,以MobileNet为前置网络的SSD目标检测所训练出来的模型规模较小,并且有相当高的准确度,最后,分别利用人脸检测最优模型和鼻部检测最优模型确定待定位人脸图像的面部定位框的坐标信息和鼻部定位框的坐标信息,并利用所述面部定位框的坐标信息和鼻部定位框的坐标信息根据预设的计算规则确定面部的每个区域的坐标信息,为基于面部各区域特征的分析奠定良好的基础。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明实施方式的基于深度学习的面部区域定位方法100的流程图;

图2为根据本发明实施方式的人脸基本集中的一个人脸图像的原图;

图3为根据本发明实施方式的进行人脸标注的示意图;

图4为根据本发明实施方式的利用人脸检测最优模型进行检测后得到的标有人脸定位框的示意图;

图5为根据本发明实施方式的人脸分割效果图;

图6为根据本发明实施方式的利用鼻部检测最优模型进行检测后得到的标有鼻部定位框的示意图;

图7为利用传统方法进行人脸检测得到的标有人脸定位框的示意图;

图8为利用传统方法得到的面部区域定位效果图;

图9为根据本发明实施方式的面部区域定位效果图;以及

图10为根据本发明实施方式的基于深度学习的面部区域定位系统1000的结构示意图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为根据本发明实施方式的基于深度学习的面部区域定位方法100的流程图。如图1所示,本发明的实施方式提供的基于深度学习的面部区域定位方法,采用基于深度学习目标检测方法实现对面部区域进行快速、准确地定位,以ResNet作为前置网络的SSD进行目标提取检测,使得检测网络在经过迭代后可以得到较高精确度的检测模型,使用MobileNet-SSD对鼻子部位进行检测时,以MobileNet为前置网络的SSD目标检测所训练出来的模型规模较小,并且有相当高的准确度,最后,分别利用人脸检测最优模型和鼻部检测最优模型确定待定位人脸图像的面部定位框的坐标信息和鼻部定位框的坐标信息,并利用所述面部定位框的坐标信息和鼻部定位框的坐标信息根据预设的计算规则确定面部的每个区域的坐标信息,为基于面部各区域特征的分析奠定良好的基础。本发明的实施方式提供的基于深度学习的面部区域定位方法100从步骤101处开始,在步骤101对获取的人脸基本集进行人脸标注,并将经过人脸标注的人脸基本集分为人脸训练集和人脸测试集。

优选地,其中所述方法还包括:利用Colabeler分别进行人脸标注和鼻部标注。

图2为根据本发明实施方式的人脸基本集中的一个人脸图像的原图。如图2所示,人脸清晰可见无遮挡物。在本发明的实施方式中,采用开源软件Colabeler进行人脸样本的标注,形成的标注的人脸数据集将用在人脸检测模型的训练中。在标注过程中,每个人脸样本都有一个对应的标签face。对图2所示的人脸图像进行标注标注的结果如图3所示。

在步骤102,利用所述人脸训练集对基于ResNet-SSD网络的人脸检测模型进行优化训练,并利用所述人脸测试集对优化训练后的人脸检测模型进行测试,以确定人脸检测最优模型。

优选地,其中利用所述人脸训练集对基于ResNet-SSD网络的人脸检测模型进行优化训练,并利用所述人脸测试集对优化训练后的人脸检测模型进行测试,以确定人脸检测最优模型,包括:

初始化设置,包括:第一最大迭代次数、第一测试周期、第一权重衰减率、第一学习率和第一优化算法的参数;

按照当前的设置方式利用所述人脸训练集对基于ReNet-SSD网络的人脸检测模型进行优化训练,以获取人脸检测中间模型;

利用所述人脸测试集对人脸检测中间模型进行测试,并判断测试得到的第一mAP实际值是否大于第一预设比较阈值;若所述第一mAP实际值大于第一预设比较阈值,则确定当前的人脸检测中间模型即为人脸检测最优模型;反之,重新进行初始化设置,直至确定人脸检测最优模型。

在本发明的实施方式中,利用构建的人脸训练集与人脸测试集进行ResNet-SSD人脸检测模型的训练。在模型开始训练之前对网络结构训练中的数据进行设置,并确定优化算法。例如,设置最大迭代次数max_iter、测试周期test_iter、学习率base_lr、优化算法lr_policy以及权重衰减率weight_decay。在训练过程中,通过对ResNet-SSD网络中的参数进行不断调整,来确定人脸检测中间模型。当利用人脸测试集对人脸检测中间模型进行测试,得到的mAP值大于第一预设比较阈值时,则确定当前的模型为人脸检测最优模型。对于第一预设比较阈值,可以测试根据需求进行设定。

在步骤103,利用所述人脸检测最优模型确定人脸基本集中每个人脸图像的面部图像,并将面部图像分割出来构建面部样本集。

在确定人脸检测最优模型后,可以利用该模型确定任一个人脸图像的面部图像。如图4所示,为根据本发明实施方式的利用人脸检测最优模型进行检测后得到的标有人脸定位框的示意图。通过定位坐标定位框可以得到该人脸定位框的坐标信息,包括:xLeftBottom_Face和yLeftBottom_Face分别为人脸定位框左上角的横坐标和纵坐标;xRightTop_Face和yRightTop_Face分别为人脸定位框右下角的横坐标和纵坐标。

利用本发明实施方式的方法进行分割后得到的面部图像如图5所示。

在步骤104,对获取的面部样本集进行鼻部标注,并将经过鼻部标注的面部样本集分为面部训练集和面部测试集。

本发明的实施方式中,同人脸标注一样,采用开源软件Colabeler进鼻部样本的标注,形成的标注的面部数据集将用在鼻部检测模型的训练中。

在步骤105,利用所述面部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,并利用所述面部测试集对优化训练后的鼻部检测模型进行测试,以确定鼻部检测最优模型。

优选地,其中利用所述面部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,并利用所述面部测试集对优化训练后的鼻部检测模型进行测试,以确定鼻部检测最优模型,包括:

初始化设置,包括:第二最大迭代次数、第二测试周期、第二权重衰减率、第二学习率和第二优化算法的参数;

按照当前的设置方式利用所述鼻部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,以获取鼻部检测中间模型;

利用所述鼻部测试集对鼻部检测中间模型进行测试,并判断测试得到的第二mAP实际值是否大于第二预设比较阈值;若所述第二mAP实际值大于第二预设比较阈值,则确定当前的鼻部检测中间模型即为鼻部检测最优模型;反之,重新进行初始化设置,直至确定鼻部检测最优模型。

在本发明的实施方式中,根据确定人脸检测最优模型的原理确定鼻部检测最优模型。具体地,包括:利用构建的面部训练集与面部测试集进行MobileNet-SSD鼻部检测模型的训练。在模型开始训练之前对网络结构训练中的数据进行设置,并确定优化算法。例如,设置最大迭代次数max_iter、测试周期test_iter、学习率base_lr、优化算法lr_policy以及权重衰减率weight_decay。在训练过程中,通过对MobileNet-SSD网络中的参数进行不断调整,来确定鼻部检测中间模型。当利用鼻部测试集对鼻部检测中间模型进行测试,得到的mAP值大于第二预设比较阈值时,则确定当前的模型为鼻部检测最优模型。对于第二预设比较阈值,可以测试根据需求进行设定。

在步骤106,分别利用所述人脸检测最优模型和鼻部检测最优模型确定待定位人脸图像的面部定位框的坐标信息和鼻部定位框的坐标信息,并利用所述面部定位框的坐标信息和鼻部定位框的坐标信息根据预设的计算规则确定面部的每个区域的坐标信息。

在确定鼻部检测最优模型后,可以利用该模型确定任一个面部图像中的鼻部。如图6所示,为根据本发明实施方式的利用鼻部检测最优模型进行检测后得到的标有鼻部定位框的示意图。通过定位坐标定位框可以得到该鼻部定位框的坐标信息,包括:xLeftBottom_Nose和yLeftBottom_Nose分别为鼻部定位框左上角的横坐标和纵坐标;xRightTop_Nose和yRightTop_Nose分别为鼻部定位框右下角的横坐标和纵坐标。

在本发明的实施方式中,对于任一个待定位人脸图像,在分别利用所述人脸检测最优模型和鼻部检测最优模型确定待定位人脸图像的面部定位框的坐标信息和鼻部定位框的坐标信息后,将采用人脸定位框与鼻子定位框的坐标信息进行计算,得到基于原图的面部各区域的坐标信息。

在本发明的实施方式中,利用预设的计算规则确定面部各区域的坐标信息。由于脸每个区域的分布是有规律的,在通过多次实验和调整计算关系式后,即可得到本发明实施方式中的计算规则。

在本发明的实施方式中,设置xLeftBottom_Nose、yLeftBottom_Nose、xRightTop_Nose和yRightTop_Nose分别为鼻子区域相对于人脸样本的左上角和右下角的横坐标和纵坐标;设置xLeftBottom_Face和yLeftBottom_Face分别为人脸定位框左上角的横坐标和纵坐标;xRightTop_Face和yRightTop_Face分别为人脸定位框右下角的横坐标和纵坐标,则利用如下公式可以得到鼻子区域相对于原图的坐标信息为:

xLeftBottom=xLeftBottom_Nose+xLeftBottom_Face,

yLeftBottom=yLeftBottom_Nose+yLeftBottom_Face,

xRightTop=xRightTop_Nose+xLeftBottom_Face,

yRightTop=yRightTop_Nose+yLeftBottom_Face,

其中,xLeftBottom、yLeftBottom、xRightTop和yRightTop分别为鼻子区域的定位框相对于原图的左上角和右下角的横坐标和纵坐标。

采用鼻子区域相对于原图的坐标信息计算出面部其他关键部位的坐标信息,包括改进后的鼻子区域坐标信息,具体算法如下所示:

(1)鼻子区域Nose_P1至Nose_P6共6个点的坐标信息为:

Nose_P1=(xLeftBottom+((xRightTop-xLeftBottom)/3-5),yLeftBottom);

Nose_P2=(xLeftBottom+2*((xRightTop-xLeftBottom)/3+5),yLeftBottom);

Nose_p3=(xLeftBottom+2*((xRightTop-xLeftBottom)/3+5),yLeftBottom+((yRightTop-yLeftBottom)/2));

Nose_p4=((xRightTop+30),yRightTop));

Nose_p5=((xLeftBottom-30),yRightTop));

Nose_p6=(xLeftBottom+((xRightTop-xLeftBottom)/3-5);yLeftBottom+((yRightTop-yLeftBottom)/2))。

(2)左眼眶区域eyeLeft_p1至eyeLeft_p8共8个点的坐标信息为:

eyeLeft_x=40+xLeftBottom_Face;

eyeLeft_p1=(eyeLeft_x,yLeftBottom);

eyeLeft_p2=(xLeftBottom+((xRightTop-xLeftBottom)/3-40),yLeftBottom);

eyeLeft_p3=(xLeftBottom+((xRightTop-xLeftBottom)/3-20),yLeftBottom+20);

eyeLeft_p4=(xLeftBottom+((xRightTop-xLeftBottom)/3-20),yLeftBottom+((yRightTop-yLeftBottom)/2-20));

eyeLeft_p5=(xLeftBottom+((xRightTop-xLeftBottom)/3-40),yLeftBottom+((yRightTop-yLeftBottom)/2));

eyeLeft_p6=(eyeLeft_x,yLeftBottom+((yRightTop-yLeftBottom)/2));

eyeLeft_p7=((eyeLeft_x-20),yLeftBottom+((yRightTop-yLeftBottom)/2-20));

eyeLeft_p8=((eyeLeft_x-20),yLeftBottom+20)。

(3)右眼眶区域eyeRight_p1至eyeRight_p8共8个点的坐标信息为:

eyeRight_x=xRightTop-40;

eyeRight_p1=(xLeftBottom+2*((xRightTop-xLeftBottom)/3+5)+35,yLeftBottom);

eyeRight_p2=(eyeRight_x,yLeftBottom);

eyeRight_p3=((eyeRight_x+20),(yLeftBottom+20));

eyeRight_p4=((eyeRight_x+20),yLeftBottom+((yRightTop-yLeftBottom)/2-20));

eyeRight_p5=(eyeRight_x,yLeftBottom+((yRightTop-yLeftBottom)/2));

eyeRight_p6=(xLeftBottom+2*((xRightTop-xLeftBottom)/3+5)+35,yLeftBottom+((yRightTop-yLeftBottom)/2));

eyeRight_p7=(xLeftBottom+2*((xRightTop-xLeftBottom)/3+5)+15,yLeftBottom+((yRightTop-yLeftBottom)/2-20));

eyeRight_p8=(xLeftBottom+2*((xRightTop-xLeftBottom)/3+5)+15,(yLeftBottom+20))。

(4)左脸颊区域checkLeft_p1至checkLeft_p6共6个点的坐标信息为:

checkLeft_x=40+xLeftBottom_Face;

checkLeft_p1=(checkLeft_x,yLeftBottom+((yRightTop-yLeftBottom)/2)+5);

checkLeft_p2=(xLeftBottom+((xRightTop-xLeftBottom)/3-20),yLeftBottom+((yRightTop-yLeftBottom)/2)+5)

checkLeft_p3=((xLeftBottom-40),yRightTop);

checkLeft_p4=((xLeftBottom-(xLeftBottom-checkLeft_x)/2),yRightTop+60);

checkLeft_p5=((checkLeft_x-10),yRightTop);

checkLeft_p6=((checkLeft_x-20),yLeftBottom+((yRightTop-yLeftBottom)/2)+30)

(5)右脸颊区域checkRight_p1至checkRight_p6共6个点的坐标信息为:

checkRight_x=xRightTop–40;

checkRight_p1=(xLeftBottom+2*((xRightTop-xLeftBottom)/3+5)+15,yLeftBottom+((yRightTop-yLeftBottom)/2)+5);

checkRight_p2=(checkRight_x,yLeftBottom+((yRightTop-yLeftBottom)/2)+5);

checkRight_p3=(checkRight_x+20,yLeftBottom+((yRightTop-yLeftBottom)/2)+30);

checkRight_p4=((checkRight_x+10),yRightTop);

checkRight_p5=((xRightTop+(checkRight_x-xRightTop)/2),yRightTop+60);

checkRight_p6=((xRightTop+40),yRightTop)。

(6)嘴唇区域Lip_p1至Lip_p7共7个点的坐标信息为:

Lip_p1=((xLeftBottom-(xLeftBottom-checkLeft_x)/2+5),yRightTop+60*4);

Lip_p2=((xLeftBottom),(yRightTop+30));

Lip_p3=((xLeftBottom+(xRightTop-xLeftBottom)/2),(yRightTop+25));

Lip_p4=(xRightTop),(yRightTop+30));

Lip_p5=((xRightTop+(checkRight_x-xRightTop)/2-5),yRightTop+60);

Lip_y=yRightTop+90;

判断条件:

如果Lip_y>yRightTop_Face则Lip_y=yRightTop_Face-20;

Lip_p6=((xRightTop-10),Lip_y);

Lip_p7=((xLeftBottom+10),Lip_y)。

(7)下巴区域chin_p1至chin_p5共5个点的坐标信息为:

chin_p1=((xLeftBottom-(xLeftBottom-checkLeft_x)/2+5),Lip_y);

chin_y=yRightTop_Face–2;

chin_2_y=yRightTop+110;

判断条件:

如果chin_y-chin_2_y<0或者chin_y-chin_2_y<10则

chin_2_y=Lip_y;

chin_p2=((xLeftBottom+(xRightTop-xLeftBottom)/2),chin_2_y);

chin_p3=((xRightTop+(checkRight_x-xRightTop)/2-5),Lip_y);

chin_p4=((xRightTop-10),chin_y);

chin_p5=((xLeftBottom+10,chin_y)。

(8)额头区域foreHead_p1至foreHead_p4共四个点的坐标信息为:

foreHead_y=yLeftBottom_Face+2;

foreHead_2_y=yLeftBottom_Face–40;

判断条件:

如果foreHead_2_y-foreHead_y<0或者foreHead_2_y-foreHead_y<10;

则foreHead_2_y=foreHead_y+20;

foreHead_p1=(xLeftBottom+((xRightTop-xLeftBottom)/3-40),foreHead_y);

foreHead_p2=(xLeftBottom+2*((xRightTop-xLeftBottom)/3+5)+35,foreHead_y);

foreHead_p3=(eyeRight_x,foreHead_2_y);

foreHead_p4=(eyeLeft_x,foreHead_2_y)。

利用本发明的实施方式得到的定位效果如图7所示。

本发明的实施方式基于深度学习目标检测方法对面部区域进行定位,具体原理为:在面部区域中,分布有鼻子、眼睛、脸颊、嘴唇、下颏以及额头等部位,显而易见,不同的人脸分布以及每个部位的位置与形态,只有鼻子部位相对于其他部位的位置与形态是相对固定的(例如嘴可以张开及左右扭动、眼睛可以闭合睁开),这就为面部各区域的定位创造了良好条件。通过鼻子部位位置与形态的稳定性,可以通过鼻子部位的位置信息进而推断出面部其他部位的位置信息。

传统的基于Haar特征的cascade分类器对人脸检测的结果如图8所示。比较图4与图8,可以得出基于Haar特征的人脸检测与深度学习目标检测的结果相比,在精准度上没有达到应用要求。传统方法对每个部位分别定位,如眼睛(分左眼与右眼)、脸颊(分左脸颊与右脸颊)以及嘴唇等部位,这种定位方法容易使不同部位的定位相互交叉,定位结果如图8所示。定位准确度不高。由图9与图7可以看出,基于传统方法的面部区域定位对眼睛、鼻子以及脸颊定位不够准确,不仅脸颊定位框已经过界(将背景区域包含进去),而且面部各区域定位框存在相互交叉的现象。

而本发明根据面部中鼻子部位的位置不变性,对鼻子进行检测操作,进而采用鼻子的坐标信息映射出人脸其他部位的坐标信息。首先应用基于深度学习的目标检测对人脸进行定位检测并将人脸分割出来,再对面部鼻子部位进行检测,最后结合人脸每个部位的特征与鼻子的坐标信息映射得到人脸中每个部位的坐标信息。本发明实施方式的面部区域定位方法能够达到良好的区域定位效果。

图10为根据本发明实施方式的基于深度学习的面部区域定位系统1000的结构示意图。如图10所示,本发明的实施方式提供的基于深度学习的面部区域定位系统1000,包括:人脸标注单元1001、人脸检测最优模型确定单元1002、面部样本集构建单元1003、鼻部标注单元1004、鼻部检测最优模型确定单元1005和面部各区域定位单元1006。

优选地,所述人脸标注单元1001,用于对获取的人脸基本集进行人脸标注,并将经过人脸标注的人脸基本集分为人脸训练集和人脸测试集。

优选地,所述人脸检测最优模型确定单元1002,用于利用所述人脸训练集对基于ResNet-SSD网络的人脸检测模型进行优化训练,并利用所述人脸测试集对优化训练后的人脸检测模型进行测试,以确定人脸检测最优模型。

优选地,其中所述人脸检测最优模型确定单元1002,利用所述人脸训练集对基于ResNet-SSD网络的人脸检测模型进行优化训练,并利用所述人脸测试集对优化训练后的人脸检测模型进行测试,以确定人脸检测最优模型,包括:

初始化设置,包括:第一最大迭代次数、第一测试周期、第一权重衰减率、第一学习率和第一优化算法的参数;

按照当前的设置方式利用所述人脸训练集对基于ReNet-SSD网络的人脸检测模型进行优化训练,以获取人脸检测中间模型;

利用所述人脸测试集对人脸检测中间模型进行测试,并判断测试得到的第一mAP实际值是否大于第一预设比较阈值;若所述第一mAP实际值大于第一预设比较阈值,则确定当前的人脸检测中间模型即为人脸检测最优模型;反之,重新进行初始化设置,直至确定人脸检测最优模型。

优选地,所述面部样本集构建单元1003,用于利用所述人脸检测最优模型确定人脸基本集中每个人脸图像的面部图像,并将面部图像分割出来构建面部样本集。

优选地,所述鼻部标注单元1004,用于对获取的面部样本集进行鼻部标注,并将经过鼻部标注的面部样本集分为面部训练集和面部测试集。

优选地,所述鼻部检测最优模型确定单元1005,用于利用所述面部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,并利用所述面部测试集对优化训练后的鼻部检测模型进行测试,以确定鼻部检测最优模型。

优选地,其中所述鼻部检测最优模型确定单元1005,利用所述面部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,并利用所述面部测试集对优化训练后的鼻部检测模型进行测试,以确定鼻部检测最优模型,包括:

初始化设置,包括:第二最大迭代次数、第二测试周期、第二权重衰减率、第二学习率和第二优化算法的参数;

按照当前的设置方式利用所述鼻部训练集对基于MobileNet-SSD网络的鼻部检测模型进行优化训练,以获取鼻部检测中间模型;

利用所述鼻部测试集对鼻部检测中间模型进行测试,并判断测试得到的第二mAP实际值是否大于第二预设比较阈值;若所述第二mAP实际值大于第二预设比较阈值,则确定当前的鼻部检测中间模型即为鼻部检测最优模型;反之,重新进行初始化设置,直至确定鼻部检测最优模型。

优选地,所述面部各区域定位单元1006,用于分别利用所述人脸检测最优模型和鼻部检测最优模型确定待定位人脸图像的面部定位框的坐标信息和鼻部定位框的坐标信息,并利用所述面部定位框的坐标信息和鼻部定位框的坐标信息根据预设的计算规则确定面部的每个区域的坐标信息。

优选地,其中所述人脸标注单元和鼻部标注单元,还包括:利用Colabeler分别进行人脸标注和鼻部标注。

本发明的实施例的基于深度学习的面部区域定位系统1000与本发明的另一个实施例的基于深度学习的面部区域定位方法100相对应,在此不再赘述。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方定位框图来描述的。应理解可由计算机程序指令实现流程图和/或方定位框图中的每一流程和/或方定位框、以及流程图和/或方定位框图中的流程和/或方定位框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方定位框图一个方定位框或多个方定位框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方定位框图一个方定位框或多个方定位框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方定位框图一个方定位框或多个方定位框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

相关技术
  • 一种基于深度学习的面部区域定位方法及系统
  • 一种基于深度学习的病理图像目标区域定位方法及系统
技术分类

06120112836389