CN110334587B - 人脸关键点定位模型的训练方法、装置及关键点定位方法 - Google Patents
人脸关键点定位模型的训练方法、装置及关键点定位方法 Download PDFInfo
- Publication number
- CN110334587B CN110334587B CN201910432324.5A CN201910432324A CN110334587B CN 110334587 B CN110334587 B CN 110334587B CN 201910432324 A CN201910432324 A CN 201910432324A CN 110334587 B CN110334587 B CN 110334587B
- Authority
- CN
- China
- Prior art keywords
- layer
- pooling
- convolution
- neural network
- face
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Geometry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种人脸关键点定位模型的训练方法、装置及关键点定位方法。该方法将人脸关键点定位模型的训练分为两个阶段,在第一个阶段将人脸图像数据集作为第一卷积神经网络的输入,第一卷积神经网络输出第一人脸关键点特征数据,从而根据第一人脸关键点特征数据生成对应的人脸关键点热度图。在第二个阶段,将人脸图像数据集和生成的人脸关键点热度图共同输入至第二卷积神经网络,则通过在网络的第二阶段输入两种不同类型的特征,使得网络能够学习到人脸特征部位更加广泛的特征,从而解决传统技术中神经网络收敛效果较差的技术问题。
Description
技术领域
本发明涉及图像识别技术领域,特别是涉及一种人脸关键点定位模型的训练方法、装置及关键点定位方法。
背景技术
人脸关键点定位也称为人脸五官定位,是指从人脸图像中识别出诸如眼睛、眉毛、鼻子、嘴巴等关键点的的二维坐标信息,以便于后期的人脸对齐(FaceAlignment)任务。根据不同的任务,需要定位的关键点位置的数量不同,有的需要定位两只眼睛的坐标位置,有的需要定位眼睛、嘴巴和鼻子的5个坐标位置,有的甚至需要68个坐标位置,其包含了五官的轮廓信息。
传统技术中出现了基于深度学习的人脸关键点定位技术,例如,通过构建用于人脸关键点定位的卷积神经网络模型,并利用样本集训练该卷积神经网络模型,且最终训练得到的模型在性能上有了明显提升,但是,在传统技术中,由于神经网络前向传输特征单一,会导致神经网络的收敛效果较差,使得关键点定位不准确。
发明内容
基于此,有必要针对传统技术中由于神经网络前向传输特征单一导致的人脸关键点定位不准确的技术问题,提供一种人脸关键点定位模型的训练方法、装置、关键点定位方法及计算机设备。
一种人脸关键点定位模型的训练方法,所述方法包括:获取人脸图像数据集;将所述人脸图像数据集输入至第一卷积神经网络,并通过所述第一卷积神经网络输出第一人脸关键点特征数据和所述第一卷积神经网络的第一损失函数值;当所述第一损失函数值趋于收敛时,根据所述第一人脸关键点特征数据生成所述人脸图像数据集对应的人脸关键点热度图;将所述人脸关键点热度图和所述人脸图像数据集共同输入至第二卷积神经网络,并通过所述第二卷积神经网络输出第二人脸关键点特征数据和所述第二卷积神经网络的第二损失函数值;当所述第二损失函数值趋于收敛时,停止对所述第二卷积神经网络的训练。
上述人脸关键点定位模型的训练方法,将人脸关键点定位模型的训练分为两个阶段,在第一个阶段将人脸图像数据集作为第一卷积神经网络的输入,第一卷积神经网络输出第一人脸关键点特征数据,从而根据第一人脸关键点特征数据生成对应的人脸关键点热度图。在第二个阶段,将人脸图像数据集和生成的人脸关键点热度图共同输入至第二卷积神经网络,则通过在网络的第二阶段输入两种不同类型的特征,使得网络能够学习到人脸特征部位更加广泛的特征,解决传统技术中神经网络收敛效果较差的技术问题,提升了关键点定位的准确性。
附图说明
图1为一个实施例中人脸关键点定位模型的训练方法的应用环境图;
图2为一个实施例中人脸关键点定位模型的训练方法的流程示意图;
图3为一个实施例中生成人脸图像数据集的流程示意图;
图4为一个实施例中人脸关键点定位模型的训练方法中步骤S210之前的流程示意图;
图5a至图5b为一个实施例中第一卷积神经网络模型的示意图;
图5c为一个实施例中人脸关键点定位模型的训练方法中步骤S210的流程示意图;
图6a为一个实施例中人脸关键点定位模型的训练方法中步骤S210的流程示意图;
图6b为一个实施例中第一卷积神经网络模型的示意图;
图7a至图7b为一个实施例中第二卷积神经网络模型的示意图;
图7c为一个实施例中人脸关键点定位模型的训练方法中步骤S240的流程示意图;
图8a为一个实施例中人脸关键点定位模型的训练方法中步骤S240的流程示意图;
图8b为一个实施例中第二卷积神经网络模型的示意图;
图9为一个实施例中人脸关键点定位模型的训练装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,本申请一个实施例提供的应用环境的示意图。该应用环境可以包括:计算机设备110和终端120。计算机设备110是指具有较强的数据存储和计算能力的电子设备,例如计算机设备110可以是PC(Personal Computer,个人计算机)或服务器。如图1所示,技术人员可以在计算机设备110上构建人脸关键点定位模型,并通过计算机设备110对人脸关键点定位模型进行训练。完成训练的人脸关键点定位模型可以从计算机设备110发布至终端120中,由终端120采用该人脸关键点定位模型对用户提供的人脸图像进行人脸关键点定位。终端120可以是诸如手机、平板电脑、电子书阅读器、多媒体播放设备、可穿戴设备、PC等电子设备。
请参见图2,本申请提供一种人脸关键点定位模型的训练方法,该方法可应用于上文介绍的计算机设备110中。该方法包括以下步骤:
S210、获取人脸图像数据集。
其中,人脸图像指的是从对各种图像进行人脸检测后所截取或者裁剪的图像。人脸图像数据集指的是用于训练人脸关键点定位模型的人脸图像的训练数据集,训练数据集也称为训练集,且人脸图像数据集是单通道灰度图。可以理解的是,人脸图像也可以包括直接对人体脸部进行拍摄的图像。人脸图像数据集还可以包括验证集和测试集,验证集用于确定网络结构或者控制模型复杂程度的参数,测试集用来评价网络或者模型的表现。
具体地,通过多种方式获取人脸图像数据集,比如计算机设备通过有线连接方式或者无线连接方式从存储有人脸图像数据集的服务器中获取。或者,人脸图像数据集事先存储在计算机设备本地,计算机设备从本地获取人脸图像数据集。
S220、将人脸图像数据集输入至第一卷积神经网络,并通过第一卷积神经网络输出第一人脸关键点特征数据和第一卷积神经网络的第一损失函数值。
其中,卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元。由于对于图像处理有出色表现,可以利用卷积神经网络进行人脸图像关键点特征的提取。卷积神经网络可以包含卷积层、池化层、全连接层等。卷积层可以用于提取图像特征。池化层可以用于对输入的信息进行降采样。全连接层可以用于整合卷积层或者池化层中具有类别区分性的局部信息。人脸关键点指的是人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等。人脸关键点特征数据用于表征人脸面部的关键点的位置。人脸关键点特征数据可以通过若干关键特征点(landmarks)的坐标依次串联形成一个形状向量来表示。在模型训练的过程中,损失函数(Loss Function)用于衡量预测值与真实值之间的误差,损失函数值一般为非负数,损失函数值越小表示误差越小,一般采用平方函数。
具体地,人脸关键点定位模型的训练可以包括两个阶段,在训练的第一阶段使用的网络为第一卷积神经网络。第一卷积神经网络包括多个卷积层、多个池化层和全连接层。将人脸图像数据集输入至第一卷积神经网络,经过卷积层、池化层和全连接层的处理后,第一卷积神经网络输出预测的第一人脸关键点特征数据。根据预测的第一人脸关键点特征数据和人脸图像数据集的标签值,通过损失函数计算出第一卷积神经网络的第一损失函数值。
S230、当第一损失函数值趋于收敛时,根据第一人脸关键点特征数据生成人脸图像数据集对应的人脸关键点热度图。
人脸关键点热度图指的是用于表征人脸关键点位置的图像。第一损失函数值用于评价第一卷积神经网络,在训练第一卷积神经网络的过程中,第一损失函数值在不断下降,直至趋于稳定不再发生变化,此时说明第一损失函数值趋于收敛,且已经完成第一卷积神经网络的训练。本申请中的人脸关键点定位模型设有网络转换层,通过该网络转换层根据第一卷积神经网络预测的第一人脸关键点特征数据生成对应的人脸关键点热度图。
S240、将人脸关键点热度图和人脸图像数据集共同输入至第二卷积神经网络,并通过第二卷积神经网络输出第二人脸关键点特征数据和第二卷积神经网络的第二损失函数值。
其中,在训练的第二阶段使用的网络为第二卷积神经网络。第二卷积神经网络包括多个卷积层、多个池化层和全连接层。第二阶段的输入包括两部分,第一部分与第一阶段的输入是一致的,即人脸图像数据集;第二部分为由预测的第一人脸关键点特征数据生成的人脸关键点热度图。人脸关键点热度图和人脸图像数据集构成双通道图像,并输入至第二卷积神经网络。经过卷积层、池化层和全连接层的处理后,得到第二阶段预测的第二人脸关键点特征数据。根据预测的第二人脸关键点特征数据和人脸图像数据集的标签值,通过损失函数第二卷积神经网络输出第二卷积神经网络的第二损失函数值。
S250、当第二损失函数值趋于收敛时,停止对第二卷积神经网络的训练。
第二损失函数值用于评价第二卷积神经网络,在训练第二卷积神经网络的过程中,第二损失函数值在不断下降,直至趋于稳定不再发生变化,此时说明第二损失函数值趋于收敛,且已经完成第二卷积神经网络的训练,则可以停止对第二卷积神经网络的训练。
本实施例中,将人脸关键点定位模型的训练分为两个阶段,在第一个阶段将人脸图像数据集作为第一卷积神经网络的输入,第一卷积神经网络输出第一人脸关键点特征数据,从而根据第一人脸关键点特征数据生成对应的人脸关键点热度图。在第二个阶段,将人脸图像数据集和生成的人脸关键点热度图共同输入至第二卷积神经网络,则通过在网络的第二阶段输入两种不同类型的特征,使得网络能够学习到人脸特征部位更加广泛的特征,从而解决传统技术中神经网络收敛效果较差的技术问题,并提高网络的拟合能力和鲁棒性。因此,网络输出的预测结果也会更加准确。
在一个实施例中,请参见图3,人脸图像数据集的生成方式,包括以下步骤:
S310、获取原始人脸图像数据集。
其中,原始人脸图像数据集指的是通过人脸检测并对其进行截取或者裁剪的图像,以得到原始人脸图像数据集所包含的人脸图像。具体地,通过多种方式获取原始人脸图像数据集,比如计算机设备通过有线连接方式或者无线连接方式从存储有原始人脸图像数据集的服务器中获取。或者,原始人脸图像数据集事先存储在计算机设备本地,计算机设备从本地获取原始人脸图像数据集。
S320、通过人脸检测算法获取原始人脸图像数据集中的人脸位置数据。
其中,人脸检测算法指的是利用滑动窗口对一张图像进行扫描以找出该张图像中所包含的人脸并计算出人脸位置的算法。人脸检测算法的输出是人脸外接矩形或者人脸检测框在该张图像中的坐标,可能还包括姿态如倾斜角度等信息。人脸位置数据指的是与人脸在原始人脸图像中的位置相关的数据,可以是人脸外接矩形或者人脸检测框在该张图像中的坐标。具体地,原始人脸图像数据集包括至少一张原始人脸图像,原始人脸图像包含至少一个人脸。通过人脸检测算法对原始人脸图像数据集中的人脸进行检测,通过人脸检测算法,原始人脸图像中的人脸周围出现一个外接矩形(人脸检测框),并计算出人脸外接矩形在原始人脸图像中的人脸位置数据。
S330、根据获取的人脸位置数据从原始人脸图像数据集中裁剪出人脸图像。
由于原始人脸图像数据集包括至少一张原始人脸图像,原始人脸图像包含至少一个人脸。通过人脸检测算法从原始人脸图像数据集中计算出人脸位置数据,接着,可以根据人脸位置数据对原始人脸图像数据集中的原始人脸图像进行裁剪,得到包含在原始人脸图像的至少一张人脸图像,且裁剪得到的人脸图像具有一样的大小,比如图像大小可以为112*112。
S340、对裁剪得到的人脸图像进行数据增强操作,生成人脸图像数据集。
其中,数据增强指的是通过图像变形或者增加噪声等方式增加训练集的数量的一种手段。数据增强操作可以包括旋转、缩放、镜像中的至少一个。具体地,对裁剪得到的人脸图像进行旋转、缩放、mirror等操作,将人脸图像扩充为预设数量的不同形态的图片,比如,将原来的一张图片扩充为20张不同形态的图片,从而生成人脸图像数据集作为第一卷积神经网络的训练集。
本实施中,由于人脸关键点定位的准确度依赖于人脸检测算法,如果人脸检测算法输出的效果存在一定偏差,会导致人脸关键点定位是不准确的。因此,通过数据增强对人脸检测算法检测到的人脸图像进行扩充,从而获得不同姿态、不同大小的人脸图像,这些不同姿态、不同大小的人脸图像构成用于模型训练的人脸图像数据集。使得模型对输入的人脸状态具有更好的鲁棒性,即使在人脸检测算法不准确的情形下,人脸关键点定位依然保持准确。
在一个实施例中,该人脸关键点定位模型的训练方法还包括:
S410、获取原始人脸图像数据集中的关键点位置坐标。
其中,原始人脸图像数据集中关键点位置坐标指的是人脸面部的关键点(眉毛、眼睛、鼻子、嘴巴、脸部轮廓等)在原始人脸图像中的位置坐标。为了建立模型,需要事先对原始人脸图像数据集中的原始人脸图像进行关键点的标记,则原始人脸图像数据集中的人脸图像标有若干个关键点,一般情况下,关键点位于脸的外部轮廓和器官的边缘,且各个关键点的顺序在各张图像是中一致的。除了构建人脸图像数据集作为训练集之外,在模型训练的过程中可能涉及其他的要素,比如样本(sample)、标签(label)和特征(feature)。人脸图像数据集中的一张人脸图像可以作为一个样本,人脸关键点在人脸图像中的真实位置可以作为标签,用于预测人脸关键点在人脸图像中的位置的参数或因素可以作为特征。具体地,为了确定第一卷积神经网络的训练标签,要获取原始人脸图像数据集中标记的关键点位置坐标。
S420、计算原始人脸图像数据集和人脸图像数据集之间的转换矩阵。
通过对原始人脸数据集进行裁剪和数据扩充得到人脸图像数据集,则原始人脸数据集与人脸图像数据集必然存在一转换矩阵,通过原始人脸数据集和人脸图像数据集计算两者之间的转换矩阵。
S430、通过转换矩阵,根据原始人脸图像数据集的关键点位置坐标生成人脸图像数据集的关键点位置坐标。
由于已知原始人脸图像数据集中标记的关键点位置坐标,则将原始人脸图像数据集中的关键点位置坐标经过原始人脸图像数据集和人脸图像数据集之间的转换矩阵生成人脸图像数据集的关键点位置坐标。
S440、根据人脸图像数据集的关键点位置坐标,计算人脸图像数据集的平均关键点坐标。
S450、将人脸图像数据集的关键点位置坐标与人脸图像数据集的平均关键点坐标之间的差值作为第一卷积神经网络的训练标签。
为了提升网络的训练效果和人脸关键点定位的准确性,本实施例中并没有直接使用生成的人脸图像数据集的关键点位置坐标作为训练标签。因为在第一卷积神经网络训练的过程中,若直接使用人脸图像数据集的关键点位置坐标对第一卷积神经网络进行训练,第一卷积神经网络需要学习的人脸关键点的误差比较大。因此,考虑使用人脸图像数据集的平均关键点坐标(mean shape)对训练标签进行初始化设置,则根据人脸图像数据集的关键点位置坐标,计算出人脸图像数据集的平均关键点坐标以及人脸图像数据集的关键点位置坐标与人脸图像数据集的平均关键点坐标之间的差值,利用该差值对且第一卷积神经网络进行训练。将第一卷积神经网络的输出加上平均关键点坐标即可得到第一卷积神经网络预测的第一人脸关键点特征数据。
在一个实施例中,请参见图5a,第一卷积神经网络包括多个第一卷积层、多个第一池化层、至少一个第二卷积层、多个第二池化层、第一丢弃层、第一连接层;其中,按照第一卷积神经网络所包括的第一池化层顺序,第一卷积层连接一个第一池化层,在多个第一池化层中,除最后一个第一池化层之外,每个第一池化层分别连接一个第一卷积层和一个第二卷积层,第二卷积层连接一个第二池化层;最后一个第一池化层连接第一丢弃层,第一丢弃层连接一个第二池化层;每个第二池化层均连接第一连接层。
本实施例中,除最后一个第一池化层之外的第一池化层的输出同时传入与其后连接的下一个第一卷积层和第二卷积层,并通过利用第二卷积层和第二池化层的结构保存其前连接的第一卷积层的特征图像。对于最后一个第一池化层,通过第一丢弃层和第二池化层保存其前连接的第一卷积层的特征图像。一方面,通过第一连接层将各个第二池化层输出的不同特征结合起来,提高了模型的鲁棒性。另一方面,利用第二卷积层和第二池化层的结构替换传统技术中的全连接层进行对应的整合计算,不仅减小模型的尺寸,而且提升了计算速度,为模型在移动终端的部署打下基础。
需要说明的是,当一个元件被认为是“连接”另一个元件,它可以是直接与另一个元件连接或者可能同时存在居中元件,比如,“第一卷积层连接一个第一池化层”可以是第一池化层与第一卷积层之间可能存在其他的层,“第一池化层连接第一丢弃层”可以是第一丢弃层直接连接到第一池化层。本申请中此类的表述只是为了说明的目的,并不表示是唯一的实施方式。
进一步地,第一丢弃层采用Dropout层,第一连接层采用Concat层时,请参见图5b,第一卷积神经网络包括第一输入层、多个第一卷积层和多个第一池化层、连接至所述第一Concat层的第一输出层;其中,按照第一卷积神经网络所包括的第一卷积层顺序,在多个第一卷积层中,除第一个第一卷积层之外的每个第一卷积层分别连接一个第一池化层;在多个第一池化层中,除最后一个第一池化层之外的每个第一池化层分别连接一个第二卷积层和连接到第二卷积层的第二池化层;第一卷积神经网络还包括连接到最后一个第一池化层的第一Dropout层、连接到第一Dropout层的第二池化层和与每个第二池化层连接的第一Concat层。
其中,第一输入层用于接收数据增强后生成的人脸图像数据集。第一卷积层(Conv1)用于对输入的图像进行卷积操作输出一特征图像(Feature Map)。第一池化层(Pooling1)用于对输入的特征图像进行池化操作,第一池化层主要的作用是下采样,通过去掉Feature Map中不重要的样本,进一步减少参数数量。池化的方法很多,最常用的是MaxPooling。Max Pooling实际上就是在m*n的样本中取最大值,作为采样后的样本值。第一Dropout层用于在模型训练的时候随机地丢弃一些神经元的激活,从而让模型更鲁棒。第一Concat层的作用是将两个以上的特征图像按照通道或者维度进行拼接。
在卷积神经网络中,我们经常会碰到池化操作,且池化层往往连接到卷积层后面,通过池化来降低卷积层输出的特征向量的维度,同时可以改善结果,防止过拟合的出现。具体地,第一卷积神经网络中的每个第一卷积神经网络可以分别连接一个第一池化层。优选地,第一卷积神经网络包括三个以上的第一卷积神经网络由于第一个第一卷积层输出的特征图像的池化运算需要耗费较长的时间,为了减少模型的计算量,提升模型的运行效率,按照第一卷积神经网络所包括的第一卷积层顺序,在多个第一卷积层中,除第一个第一卷积层之外的每个第一卷积层分别连接一个第一池化层。
进一步地,由于模型体积较大需要较为庞大的存储空间,导致该模型不适合在诸如手机之类的移动终端上进行部署。为了缩小模型的体积,在多个第一池化层中,除最后一个第一池化层之外的每个第一池化层分别连接一个第二卷积层和连接到第二卷积层的第二池化层。且第一卷积神经网络还包括连接到最后一个第一池化层的第一Dropout层、连接到第一Dropout层的第二池化层和与每个第二池化层连接的第一Concat层。
在传统技术中,一般利用全连接层(Full Connected Layers)将前面经过多次卷积后高度抽象化的特征进行整合,但是全连接层具有参数量过大且尺寸较大的缺点,不仅增加计算量,降低速度,而且易导致过拟合。而在本实施例中,利用第二卷积层和第二池化层的结构保存不同层次的特征,且经过不同的第一卷积层提取的特征是不同的,有的比较粗,有的比较细,通过第一Concat层将这些粗细不同的特征结合起来,提高了模型的鲁棒性。具体地,第二卷积层和第二池化层用于保存当前第一池化层连接的当前第一卷积层的特征。比如经过第二池化层的作用,输入第二卷积层的特征图像可以降为一个值,第二池化层可以采用Global Max Pooling或者Global Mean Pooling,用于保存当前第一卷积层的特征。而且每一个第二池化层均连接到第一Concat层,第一Concat层将各个第二池化层输出的特征进行拼接,则第一Concat层可以输出多层次的特征。利用第二卷积层和第二池化层的结构替换传统技术中的全连接层进行对应的整合计算,不仅减小模型的尺寸,而且提升了计算速度,为模型在移动终端的部署打下基础。在一个实施例中,请参见图5c,第一卷积神经网络还包括第一输入层、连接至第一连接层的第一输出层。将人脸图像数据集输入至第一卷积神经网络,并通过第一卷积神经网络输出第一人脸关键点特征数据,包括以下步骤:
S510、将人脸图像数据集输入至第一输入层进行归一化处理。
S520、将归一化之后的人脸图像数据集输入第一卷积神经网络的第一卷积层进行卷积处理,对第一卷积层的输出进行规范化和激活处理后,将第一卷积层的输出传入至对应的第一池化层进行池化处理。
S530、将第一池化层的输出传入至对应的第二卷积层,并经过与第二卷积层连接的第二池化层的池化处理,与第二卷积层连接的第二池化层输出对应第一卷积层的特征图像。
S540、同时将第一池化层的输出传入至下一个第一卷积层进行卷积处理,对下一个第一卷积层的输出进行规范化和激活处理后,将下一个第一卷积层的输出传入至对应的第一池化层进行池化处理,直至最后一个第一池化层,将最后一个第一池化层的输出传入第一丢弃层,并经过与第一丢弃层连接的第二池化层的池化处理,与第一丢弃层连接的第二池化层输出对应第一卷积层的特征图像。
S550、通过第一连接层将各个第二池化层输出的特征图像进行联合,并将联合得到的特征图像传入至第一输出层。
S560、通过第一输出层输出第一人脸关键点特征数据。
在一个实施例中,第一卷积神经网络还包括连接到第一卷积层的第一ReLU层,在第一卷积层与第一ReLU层之间包括依次连接的第一BN层、第一Scale层。其中,由于线性模型的表达能力不够,因此采用激活函数加入非线性因素。第一ReLU层可以使第一卷积神经网络的一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数之间互相依存的关系,缓解了过拟合的发生。BN层即BatchNorm层,在第一卷积神经网络的训练过程中,第一BN层可以将神经元的输出规范化到的相同分布,比如均值为0,方差为1的分布,使得数据分布更容易被网络学习且不容易过拟合。经过第一BN层,所有神经元的输出均限制为一种分布,导致网络的表达能力变弱,并破坏了前面层学习到的特征。因此需要第一BN层在加入第一Scale层,第一Scale层通过加入学习到的重构参数,逆转对特征的破坏,逆转的程序由模型训练时调整。如此,既将神经元做了规范化又保留前面层所学到的特征,由于输入变得稳定,促进了模型的收敛并一定程度上阻止了过拟合。通过逐层尺度归一,避免了梯度消失和梯度溢出,而且加速收敛,同时作为一种正则化技术也提高了泛化能力。
进一步地,请参见图6b,将人脸图像数据集输入至第一卷积神经网络,并通过第一卷积神经网络输出第一人脸关键点特征数据,包括以下步骤:
S610、将人脸图像数据集输入至第一输入层进行归一化处理。
具体地,第一输入层对输入的人脸图像数据集进行归一化操作得到标准形式图像,且该标准形式图像对平移、旋转、缩放等仿射变换具有不变的特性,使得图像可以抵抗几何变换的攻击。因此,在第一卷积神经网络在进行各种非线性变换时,能够找出图像中的不变量。
S620、将归一化之后的人脸图像数据集输入第一卷积神经网络的第一个第一卷积层。
第一卷积神经网络包括多个第一卷积层,第一输入层输出归一化之后的人脸图像数据集,并输入至多个卷积层中的第一个第一卷积层。第一个第一卷积层包括多个卷积核,且第一个卷积层后面连接有第一个第一BN层、第一个第一Scale层、第一个第一ReLU层。每层分别设有对应的模型参数,且每层的模型参数可以是多个,分别通过第一个第一BN层、第一个第一Scale层、第一个第一ReLU层的模型参数对输入进行运算,得到对应的特征图像作为运算结果,将该特征图像直接作为下一个第一卷积层的输入。
S630、按照第一卷积神经网络所包括的第一卷积层顺序,将第一卷积神经网络所包括的第一卷积层、第一BN层、第一Scale层和第一ReLU层依次作为当前第一卷积层、当前第一BN层、当前第一Scale层和当前第一ReLU层进行规范化和激活过程。
其中,第一卷积神经网络是由多层互相连接而形成的复杂网络模型,包括多个第一卷积层、多个第一BN层、多个第一Scale层、多个第一ReLU层和多个第一池化层。具体地,按照第一卷积神经网络所包括的第一卷积层顺序,将第一卷积神经网络所包括的第一卷积层、第一BN层、第一Scale层和第一ReLU层依次作为当前第一卷积层、当前第一BN层、当前第一Scale层和当前第一ReLU层,经过当前第一卷积层进行特征提取的操作,当前第一卷积层的输出依次进入当前第一BN层、当前第一Scale层和当前第一ReLU层进行规范化和激活的运算,得到对应的特征图像作为运算结果。将该特征图像直接作为连接到当前第一ReLU层的第一卷积层或者第一池化层的输入。
可以理解的是,为了减少模型的计算量,提升模型的运行效率,按照第一卷积神经网络所包括的第一卷积层顺序,在多个第一卷积层中,除第一个第一卷积层之外的每个第一卷积层分别连接一个第一池化层。因此,当前第一ReLU层输出的特征图像直接输入连接到当前第一ReLU层的第一卷积层,或者,当前第一ReLU层输出的特征图像直接输入连接到当前第一ReLU层的第一池化层。
S640、对于除最后一个第一池化层之外的每一个当前第一池化层,将当前第一池化层的输出作为下一个第一卷积层的输入,同时当前第一池化层的输出传入第二卷积层和第二池化层分别进行卷积处理和池化处理,并输出当前第一池化层对应的当前第一卷积层的特征图像。
具体地,对于除最后一个第一池化层之外的每一个当前第一池化层来说,一方面,当前第一池化层连接有下一个第一卷积层,则当前第一池化层输出的特征图像进入下一个第一第一卷积层以进行网络的前行传输;另一方面,当前第一池化层依次连接有一个第二卷积层、一个第二池化层,则当前第一池化层输出的特征图像依次进入第二卷积层和第二池化层进行特征提取,并输出当前第一卷积层的特征图像,且当前卷积层与本层的当前第一池化层相对应。本实施例中,通过第二卷积层和第二池化层的结构替换传统技术中的全连接层进行对应的计算,减小模型的尺寸,提升了计算速度,为模型在移动终端的部署打下基础。
S650、对于最后一个第一池化层,将最后一个第一池化层的输出作为第一Dropout层的输入,且第一Dropout层的输出经过第二池化层的池化处理,并输出最后一个第一卷积层的特征图像。
具体地,对于最后一个第一池化层来说,最后一个第一池化层连接有第一Dropout层,将最后一个第一池化层的输出传入至第一Dropout层,第一Dropout层随机让第一卷积神经网络某些隐含层节点的权重不工作。且第一Dropout层连接有一个第二池化层,通过该第二池化层输出最后一个第一卷积层的特征图像。
S660、通过第一Concat层将各个第二池化层输出的特征图像进行联合,并输入至第一输出层。
其中,第一输出层可以采用全连接层。由于全连接层的缺点,第一输出层也可以是GAP层(Global Average Pooling Lanyer)。具体地,每一个第二池化层均连接到第一Concat层,通过第一Concat层可以按照通道将各个第二池化层输出的特征图像进行联合,并输出多通道的特征图像至第一输出层。
S670、通过第一输出层输出第一人脸关键点特征数据。
具体地,在第一卷积神经网络中,利用第一输出层接收的多通道的特征图像预测第一人脸关键点特征数据。需要说明的是,若第一输出层采用全连接层,本实施例中的全连接层并没有参与到之前的步骤如S640、S660的运算,本实施中的全连接层用于根据之前各层的输出计算预测的第一人脸关键点特征数据。
进一步地,第一卷积神经网络还包括连接到第一输出层的欧氏距离层,该欧氏距离层接收预测的第一人脸关键点特征数据,并计算第一卷积神经网络的第一损失函数值。
下面举例说明第一卷积神经网络的结构,并利用第一卷积神经网络进行第一阶段的训练,人脸图像数据集可以分为1000个batch,每个batch大小为32。人脸图像数据集为单通道灰度图,且大小为112*112,人脸图像标记有68个坐标位置。第一输入层对人脸图像数据集进行归一化处理,比如,本实施例采用的归一化方式是通过将每一张输入的图像减去均值,然后除以方差,使其数据符合均值为0,方差为1的分布。请参见图6b,第一卷积神经网络包括4个第一卷积层。
关于第一个第一卷积层Conv1_1,第一个第一卷积层Conv1_1包括多个卷积核,第一卷积层连接一个第一BN层BN1_1、第一Scale层Scale1_1、第一ReLU层ReLU1_1,第一ReLU层ReLU1_1输出的特征图像直接进入第二个第一卷积层Conv1_2。
具体地,第一个第一卷积层的卷积核的个数为16个,每个卷积核的大小为3*3,卷积操作的步长为2,经过第一个第一卷积层后得到16个像素为56*56的特征图像,在每一个第一卷积层和第一ReLU层之间依次连接一个第一BatchNorm层和一个第一Scale层,经过第一BN层、第一Scale层、第一ReLU层并不改变特征图像的大小。
关于第二个第一卷积层Conv1_2,第二个第一卷积层包括多个卷积核,第二个第一卷积层Conv1_2连接一个第一BN层BN1_2、第一Scale层Scale1_2、第一ReLU层ReLU1_2和第一池化层Max-pooling1_2,特征图像经过第二个第一卷积层Conv1_2后得到与第二个第一卷积层Conv1_2的卷积核对应数量的特征图像。第一池化层Max-pooling1_2后连接相同大小输出的第二卷积层Conv1_2.1和第二池化层Pooling1_2.1用于保存当前卷积层Conv1_2的特征。第一池化层Max-pooling1_2输出的特征图像一方面进入第二卷积层Conv1_2.1,另一方面同时进入第三个第一卷积层Conv1_3进行网络的前向传输。
具体地,第二个第一卷积层Conv1_2包括32个卷积核,每个卷积核的大小为3*3,卷积操作的步长为2,经过第二个卷积层后得到32个像素为28*28的特征图像。第一池化层Max-pooling1_2的大小为2*2,步长为2,边界填充为1,则特征图像经过第一池化层Max-pooling1_2后,得到32个像素为14*14的特征图像。第二卷积层Conv1_2.1层包含128个卷积核,每个卷积核的大小为3*3,卷积操作的步长为2,经过这个卷积层后得到128个像素为7*7的特征图像,特征图像经过第二池化层Pooling1_2.1后,得到128个像素为1*1的特征图像,第二池化层Pooling1_2.1采用Global-pooling层。
关于第三个第一卷积层Conv1_3,第三个第一卷积层包括多个卷积核,第三个第一卷积层Conv1_3连接一个第一BN层BN1_3、第一Scale层Scale1_3、第一ReLU层ReLU1_3和第一池化层Max-pooling1_3,特征图像经过第三个第一卷积层Conv1_3后得到与第三个第一卷积层Conv1_3的卷积核对应数量的特征图像。第一池化层Max-pooling1_3后连接相同大小输出的第二卷积层Conv1_3.1和第二池化层Pooling1_3.1用于保存当前卷积层Conv1_3的特征。第一池化层Max-pooling1_3输出的特征图像一方面进入第二卷积层Conv1_3.1,另一方面同时进入第四个第一卷积层Conv1_4。
具体地,第一卷积层Conv1_3包括128个卷积核,每个卷积核的大小为3*3,边界补充1,卷积操作的步长为2,经过第一卷积层Conv1_3后得到128个像素为7*7的特征图像,经过第一池化层Max-pooling1_3后,得到128个像素为4*4的特征图像。第一池化层Max-pooling1_3一方面将特征图像传入到第二卷积层Conv1_3.1和第二池化层Pooling1_3.1的结构用于保存本层第一卷积层Conv1_3的特征;另一方面将特征图像传入到下一第一卷积层Conv1_4进行网络的前向传输。第二卷积层Conv1_3.1包含128个卷积核,每个卷积核的大小为3*3,卷积操作的步长为2,经过第二卷积层Conv1_3.1后得到128个像素为2*2的特征图像,特征图像经过第二池化层Pooling1_3.1后,得到128个像素为1*1的特征图像,第二池化层Pooling1_3.1采用Global-pooling层。
关于第四个第一卷积层Conv1_4,第一卷积层Conv1_4包括多个卷积核,第四个第一卷积层Conv1_4连接一个第一BN层BN1_4、第一Scale层Scale1_4、第一ReLU层ReLU1_4和第一池化层Max-pooling1_4,特征图像经过第四个第一卷积层Conv1_4后得到与第四个第一卷积层Conv1_4的卷积核对应数量的特征图像。第一池化层Max-pooling1_4后连接一个第一Dropout层Dropout1。
具体地,第一卷积层Conv1_4包括128个卷积核,每个卷积核的大小为3*3,边界补充1,卷积操作的步长为2,经过第一卷积层Conv1_4后得到128个像素为2*2的特征图像,第一池化层Max-pooling1_4的大小为2*2,步长为2,则经过第一池化层Max-pooling1_4后,得到128个像素为1*1的特征图像。
关于第一Dropout层Dropout1,第一Dropout层Dropout1后连接有第二池化层Pooling1_4.1。Dropout1层通过训练时,随机让卷积神经网络某些隐含层节点的权重不工作,Dropout1层之后用一个第一Concat层Concat1将第二池化层Pooling1_2.1、第二池化层Pooling1_3.1和第二池化层Pooling1_4.1的特征联合在一起,输出三个单通道灰度图3*112*112,该特征图像包含多层次的特征。
第一Dropout层Dropout1之后连接有全连接层Fc1,经过运算,全连接层Fc1输出1*136维的人脸关键点特征向量。
第一卷积神经网络还包括连接到全连接层Fc1的欧氏距离层EuclideanLoss,该欧氏距离层EuclideanLoss接收1*136维的人脸关键点特征向量,并计算第一阶段预测的人脸特征点与真实值Ground Truth的loss损失。
本实施例中,第一卷积神经网络还包括连接到第一卷积层的第一ReLU层,在第一卷积层与第一ReLU层之间包括依次连接的第一BN层、第一Scale层。经过第一BN层、第一Scale层和第一ReLU层的处理并没有改变特征图像的大小,并可以有效避免梯度弥散和梯度爆炸。第一Scale层逆转第一BN层对特征的破坏,以克服深度神经网络难以训练的弊病。由于深度网络在训练时,因为前面一层的参数更新会导致后面一层的输入数据的分布,每一层的输入数据分布一直是在发生变化的,而本申请中的第一BN层和第一Scale层可以解决训练时网络中间层的数据分布发生改变的问题。另一方面,本申请的第一ReLU层与传统技术中的sigmoid和tanh激活函数相比,使用sigmoid和tanh作激活函数,计算量大,反向传播求误差梯度时,求导计算量也很大,并且sigmoid tanh函数容易饱和,出现梯度消失情况,即在接近收敛时,变换太缓慢,造成信息丢失。而第一ReLU层会使部分神经元输出为0,造成稀疏性,不仅缓解了过拟合,也更接近真实的神经元激活模型,克服了梯度消失,在没有无监督预训练的情况下相比sigmoid和tanh激活函数可以显著加快收敛。进一步地,利用第二卷积层和第二池化层的结构替换传统技术中的全连接层进行对应的计算,减小模型的尺寸,提升了计算速度,为模型在移动终端的部署打下基础。
在一个实施例中,请参见图7a,所述第二卷积神经网络包括多个第三卷积层、多个第三池化层、至少一个第四卷积层、多个第四池化层、第二丢弃层、第二连接层;其中,所述第三卷积层与所述第三池化层依次间隔连接,在多个所述第一池化层中,除第一个和最后一个所述第三池化层之外,每个所述第三池化层还分别连接一个所述第四卷积层,所述第四卷积层连接一个所述第四池化层;最后一个所述第三池化层连接所述第二丢弃层,所述第二丢弃层连接一个所述第四池化层;每个所述第四池化层均连接所述第二连接层。
本实施例中,除第一个和最后一个之外的第三池化层的输出同时传入与其后连接的下一个第三卷积层和第四卷积层,并通过利用第四卷积层和第四池化层的结构保存其前连接的第三卷积层的特征图像。对于最后一个第三池化层,通过第二丢弃层和第四池化层保存其前连接的第三卷积层的特征图像。一方面,通过第三连接层将各个第四池化层输出的不同特征结合起来,提高了模型的鲁棒性。另一方面,利用第四卷积层和第四池化层的结构替换传统技术中的全连接层进行对应的整合计算,不仅减小模型的尺寸,而且提升了计算速度,为模型在移动终端的部署打下基础。
进一步地,第二丢弃层采用Dropout层,第二连接层采用Concat层时,请参见图7b,第二卷积神经网络包括第二输入层、依次间隔连接的多个第三卷积层和多个第三池化层、第二输出层和连接到第二输出层的欧氏距离层;在多个第三池化层中,除第一个和最后一个之外其他的第三池化层分别连接一个第四卷积层和连接到第四卷积层的第四池化层;第二卷积神经网络还包括连接到最后一个第三池化层的第二Dropout层、连接到第二Dropout层的第四池化层和与每个第四池化层连接的第二Concat层。
关于本实施例中,第二卷积神经网络中各层的连接关系,以及第二卷积神经网络中各层的输入输出关系可以参见前述关于第一卷积神经网络实施例中的相关步骤的具体实现过程,由于两者具有一定的类似性,在此不再赘述。需要说明的是,第二卷积神经网络与第一卷积神经网络的模型参数可以相同,也可以不同,可以根据实际情况进行设定。
在一个实施例中,请参见图7c,第二卷积神经网络包括第二输入层、连接至第二连接层的第二输出层。将人脸关键点热度图和人脸图像数据集共同输入至第二卷积神经网络,并通过第二卷积神经网络输出第二人脸关键点特征数据,包括以下步骤:
S710、将热度图和人脸图像数据集输入至第二输入层,对人脸图像数据集进行归一化处理。
S720、将热度图和归一化之后的人脸图像数据集联合输入至第二卷积神经网络的第三卷积层进行卷积处理,对第三卷积层的输出进行规范化和激活处理后,将第三卷积层的输出传入至对应的第三池化层进行池化处理。
S730、将第三池化层的输出传入至对应的第四卷积层,并经过与第四卷积层连接的第四池化层的池化处理,与第四卷积层连接的第四池化层输出对应第三卷积层的特征图像。
S740、同时将第三池化层的输出传入至下一个第三卷积层进行卷积处理,对下一个第三卷积层的输出进行规范化和激活处理后,将下一个第三卷积层的输出传入至对应的第三池化层进行池化处理,直至最后一个第三池化层,将最后一个第三池化层的输出传入第二丢弃层,并经过与第二丢弃层连接的第四池化层的池化处理,与第二丢弃层连接的第四池化层输出对应第三卷积层的特征图像。
S750、通过第二连接层将各个第四池化层输出的特征图像进行联合,并将联合得到的特征图像传入至第二输出层。
S760、通过第二输出层输出第二人脸关键点特征数据。
在一个实施例中,在第三卷积层与第三池化层之间包括依次连接的第二BN层、第二Scale层和第二ReLU层。请参见图8a,将热度图和人脸图像数据集共同输入至第二卷积神经网络,并通过第二卷积神经网络输出第二卷积神经网络的第二损失函数值,包括以下步骤:
S810、将热度图和人脸图像数据集输入至第二输入层,对人脸图像数据集进行归一化处理。
S820、将热度图和归一化之后的人脸图像数据集联合输入第二卷积神经网络的第一个第三卷积层。
S830、按照第二卷积神经网络所包括的第三卷积层顺序,将第二卷积神经网络所包括的第三卷积层、第二BN层、第二Scale层、第二ReLU层和第三池化层依次作为当前第三卷积层、当前第二BN层、当前第二Scale层、当前第二ReLU层和当前第三池化层进行规范化和激活过程。
S840、对于每一个当前第三池化层,将当前第三池化层的输出作为下一个第三卷积层的输入。同时,对于除第一个和最后一个之外其他的当前第三池化层,当前第三池化层的输出传入第四卷积层和第四池化层分别进行卷积处理和池化处理,以保存当前第三池化层对应的当前第三卷积层的特征图像。
S850、对于最后一个第三池化层,将最后一个第三池化层的输出作为第二Dropout层的输入,且第二Dropout层的输出经过第四池化层的池化处理,并输出最后一个第三卷积层的特征图像。
S860、通过第二Concat层将各个第二池化层输出的特征进行联合,并输入至第二输出层,且通过第二输出层输出第二人脸关键点特征数据。
S870、通过连接到第二输出层的欧氏距离层输出第二卷积神经网络的第二损失函数值。
关于本实施例中,第二卷积神经网络中各层的连接关系,以及第二卷积神经网络中各层的输入输出关系可以参见前述关于第一卷积神经网络实施例中的相关步骤的具体实现过程,由于两者具有一定的类似性,在此不再赘述。需要说明的是,第二卷积神经网络与第一卷积神经网络的模型参数可以相同,也可以不同,可以根据实际情况进行设定。
下面举例说明第二卷积神经网络的结构,并利用第二卷积神经网络进行第二阶段的训练。第二阶段的输入由两部分组成,第一部分与第一阶段一致,即112*112大小的灰度图像,第二部分为人脸关键点热度图,则第二阶段输入层的图像为双通道图像,将训练集分为1000个batch,每个batch大小为32。需要说明的是,本申请训练的人脸关键点定位模型除第一卷积神经网络、第二卷积神经网络之外,还包括网络转换层。一方面,通过该网络转换层根据第一卷积神经网络预测的1*136维的人脸关键点特征向量生成对应的人脸关键点热度图,且人脸关键点热度图是经过归一化的,人脸关键点热度图的大小也为112*112。另一方面,第二阶段训练用的标签也通过该网络转换层进行计算,第二卷积神经网络的训练标签为人脸图像数据集的关键点位置坐标与第一阶段预测的关键点位置坐标之间差值。请参见图8b,第二卷积神经网络包括4个第三卷积层。
关于第一个第三卷积层Conv2_1,第一个第三卷积层Conv2_1包括多个卷积核,第三卷积层连接一个第二BN层BN2_1、第二Scale层Scale2_1、第二ReLU层ReLU2_1和第三池化层Max-pooling2_1,第三池化层Max-pooling2_1输出的特征图像直接进入第二个第三卷积层Conv2_2。
具体地,第一个第三卷积层的卷积核的个数为8个,每个卷积核的大小为3*3,卷积操作的步长为2,经过第一个第三卷积层后得到8个像素为56*56的特征图像,在每一个第三卷积层和第二ReLU层之间依次连接一个第二BatchNorm层和一个第二Scale层,经过第二BN层、第二Scale层、第二ReLU层并不改变特征图像的大小。第三池化层Max-pooling2_1的大小为2*2,步长为2,,边界填充为1,则特征图像经过第三池化层Max-pooling2_1后,得到8个像素为28*28的特征图像。
关于第二个第三卷积层Conv2_2,第二个第三卷积层包括多个卷积核,第二个第三卷积层Conv2_2连接一个第二BN层BN2_2、第二Scale层Scale2_2、第二ReLU层ReLU2_2和第三池化层Max-pooling2_2,特征图像经过第二个第三卷积层Conv2_2后得到与第二个第三卷积层Conv2_2的卷积核对应数量的特征图像。第三池化层Max-pooling2_2后连接相同大小输出的第四卷积层Conv2_2.1和第四池化层Pooling2_2.1用于保存当前卷积层Conv2_2的特征。第三池化层Max-pooling2_2输出的特征图像一方面进入第四卷积层Conv2_2.1,另一方面同时进入第三个第三卷积层Conv2_3进行网络的前向传输。
具体地,第三卷积层Conv2_2包括16个卷积核,每个卷积核的大小为3*3,卷积操作的步长为1,经过第二个卷积层后得到16个像素为28*28的特征图像。第三池化层Max-pooling2_2的大小为2*2,步长为2,边界填充为1。特征图像经过第三池化层Max-pooling2_2后,得到16个像素为14*14的特征图像。一方面,第三池化层Max-pooling2_2将特征图像传入到第四卷积层Conv2_2.1和第四池化层Pooling2_2.1,用于保存第三卷积层Conv2_2的特征,另一方面,第三池化层Max-pooling2_2将特征图像传入到下一第三卷积层Conv2_3进行网络的前向传输。第四卷积层Conv2_2.1包含64个卷积核,每个卷积核的大小为3*3,卷积操作的步长为1,经过第四卷积层Conv2_2.1后得到64个像素为14*14的特征图像,特征图像经过第四池化层Pooling2_2.1后,得到64个像素为1*1的特征图像。第四池化层Pooling2_2.1采用Global-pooling层。
关于第三个第三卷积层Conv2_3,第三个第三卷积层包括多个卷积核,第三个第三卷积层Conv2_3连接一个第二BN层BN2_3、第二Scale层Scale2_3、第二ReLU层ReLU2_3和第三池化层Max-pooling2_3,特征图像经过第三个第三卷积层Conv2_3后得到与第三个第三卷积层Conv2_3的卷积核对应数量的特征图像。第三池化层Max-pooling2_2后连接相同大小输出的第四卷积层Conv2_3.1和第四池化层Pooling2_3.1用于保存当前卷积层Conv2_2的特征。第三池化层Max-pooling2_2输出的特征图像一方面进入第四卷积层Conv2_3.1,另一方面同时进入第四个第三卷积层Conv2_4进行网络的前向传输。
具体地,第三卷积层Conv2_3包括64个卷积核,每个卷积核的大小为3*3,边界补充1,卷积操作的步长为2,经过第二个卷积层后得到64个像素为7*7的特征图像。特征图像经过第三池化层Max-pooling2_3后,得到16个像素为3*3的特征图像。一方面,第三池化层Max-pooling2_3将特征图像传入到第四卷积层Conv2_3.1和第四池化层Pooling2_3.1,用于保存第三卷积层Conv2_3的特征,另一方面,第三池化层Max-pooling2_3将特征图像传入到下一第三卷积层Conv2_4进行网络的前向传输。第四卷积层Conv2_2.1包含64个卷积核,每个卷积核的大小为3*3,卷积操作的步长为1,经过第四卷积层Conv2_3.1后得到64个像素为3*3的特征图像,特征图像经过第四池化层Pooling2_3.1后,得到64个像素为1*1的特征图像。第四池化层Pooling2_3.1采用Global-pooling层。
关于第四个第三卷积层Conv2_4,第四个第三卷积层包括多个卷积核,第四个第三卷积层Conv2_4连接一个第二BN层BN2_4、第二Scale层Scale2_4、第二ReLU层ReLU2_4和第三池化层Max-pooling2_4,特征图像经过第三个第三卷积层Conv2_4后得到与第三个第三卷积层Conv2_4的卷积核对应数量的特征图像。第三池化层Max-pooling2_4后连接第二Dropout层Dropout2。
具体地,第三卷积层Conv2_4包括64个卷积核,每个卷积核的大小为3*3,边界补充1,卷积操作的步长为2,经过第三卷积层Conv2_4后得到64个像素为2*2的特征图像。第三池化层Max-pooling2_4的大小为2*2,步长为2,经过第三池化层Max-pooling2_4后,得到64个像素为1*1的特征图像。
关于第二Dropout层Dropout2,第二Dropout层Dropout2后连接有第四池化层Pooling2_4.1。Dropout2层通过训练时,随机让卷积神经网络某些隐含层节点的权重不工作,Dropout2层之后用一个第二Concat层Concat2将第四池化层Pooling2_2.1、第四池化层Pooling2_3.1和第四池化层Pooling2_4.1的特征联合在一起,输出的特征图像包含多层次的特征。
第二Dropout层Dropout2之后连接有全连接层Fc2,经过运算,全连接层Fc2输出1*136维的人脸关键点特征向量。
第二卷积神经网络还包括连接到全连接层Fc2的欧氏距离层EuclideanLoss,该欧氏距离层EuclideanLoss接收1*136维的人脸关键点特征向量,并计算第二阶段预测的人脸特征点与真实值Ground Truth的loss损失。
本实施例中,第二阶段的输入由生成的人脸关键点热度图以及第一阶段的输入原图组成两通道输入第二卷积神经网络进行训练,后面同样接入多层卷积、BN、Scale层、Relu层、Max-pooling层、Global-pooling层等对第一阶段的预测值进行微调,得到更为精准的关键点位置坐标。
在一个实施例中,本申请提供一种人脸关键点定位模型的训练方法,该方法包括以下步骤:
S902、获取原始人脸图像数据集。
S904、通过人脸检测算法获取原始人脸图像数据集中的人脸位置数据。
S906、根据获取的人脸位置数据从原始人脸图像数据集中裁剪出人脸图像。
S908、对裁剪得到的人脸图像进行数据增强操作,生成人脸图像数据集。
S910、获取原始人脸图像数据集中的关键点位置坐标。
S912、计算原始人脸图像数据集和人脸图像数据集之间的转换矩阵。
S914、通过转换矩阵,根据原始人脸图像数据集的关键点位置坐标生成人脸图像数据集的关键点位置坐标。
S916、根据人脸图像数据集的关键点位置坐标,计算人脸图像数据集的平均关键点坐标。
S918、将人脸图像数据集的关键点位置坐标与人脸图像数据集的平均关键点坐标之间的差值作为第一卷积神经网络的训练标签。
S920、获取人脸图像数据集。
S922、将人脸图像数据集输入至第一卷积神经网络,并通过第一卷积神经网络输出第一人脸关键点特征向量和第一卷积神经网络的第一损失函数值。
其中,第一卷积神经网络包括第一输入层、多个第一卷积层和多个第一池化层、第一输出层;其中,按照第一卷积神经网络所包括的第一卷积层顺序,在多个第一卷积层中,除第一个第一卷积层之外的每个第一卷积层分别连接一个第一池化层;在多个第一池化层中,除最后一个第一池化层之外的每个第一池化层分别连接一个第二卷积层和连接到第二卷积层的第二池化层;第一卷积神经网络还包括连接到最后一个第一池化层的第一Dropout层、连接到第一Dropout层的第二池化层和与每个第二池化层连接的第一Concat层。
S924、当第一损失函数值趋于收敛时,根据第一人脸关键点特征向量生成人脸图像数据集对应的人脸关键点热度图。
S926、将人脸关键点热度图和人脸图像数据集共同输入至第二卷积神经网络,并通过第二卷积神经网络输出第二卷积神经网络的第二损失函数值。
其中,第二卷积神经网络包括第二输入层、依次间隔连接的多个第三卷积层和多个第三池化层、第二输出层和连接到第二输出层的欧氏距离层;在多个第三池化层中,除第一个和最后一个之外其他的第三池化层分别连接一个第四卷积层和连接到第四卷积层的第四池化层;第二卷积神经网络还包括连接到最后一个第三池化层的第二Dropout层、连接到第二Dropout层的第四池化层和与每个第四池化层连接的第二Concat层。
S928、当第二损失函数值趋于收敛时,停止对第二卷积神经网络的训练。
在一个实施例中,本申请提供一种人脸关键点定位方法,该方法包括:获取需要定位的人脸图像;通过上述任一实施例训练的人脸关键点定位模型,生成人脸图像对应的关键点位置坐标。
应该理解的是,虽然上述各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,本申请提供一种人脸关键点定位方法,该方法包括:获取需要定位的人脸图像;将需要定位的人脸图像输入至上述任一实施例训练得到的人脸关键点定位模型,人脸关键点定位模型包括第一卷积神经网络和第二卷积神经网络。通过第一卷积神经网络预测人脸图像的第一人脸关键点特征数据;根据第一人脸关键点特征数据生成人脸图像对应的人脸关键点热度图;将人脸图像和人脸图像对应的人脸关键点热度图共同输入至第二卷积神经网络;通过第二卷积神经网络预测人脸图像的第二人脸关键点特征数据。
在一个实施例中,人脸关键点定位模型的第一卷积神经网络包括多个第一卷积层、多个第一池化层、至少一个第二卷积层、多个第二池化层、第一丢弃层、第一连接层;其中,按照第一卷积神经网络所包括的第一池化层顺序,第一卷积层连接一个第一池化层,在多个第一池化层中,除最后一个第一池化层之外,每个第一池化层分别连接一个第一卷积层和一个第二卷积层,第二卷积层连接一个第二池化层;最后一个第一池化层连接第一丢弃层,第一丢弃层连接一个第二池化层;每个第二池化层均连接第一连接层。
在一个实施例中,人脸关键点定位模型的第二卷积神经网络包括多个第三卷积层、多个第三池化层、至少一个第四卷积层、多个第四池化层、第二丢弃层、第二连接层;其中,第三卷积层与第三池化层依次间隔连接,在多个第一池化层中,除第一个和最后一个第三池化层之外,每个第三池化层还分别连接一个第四卷积层,第四卷积层连接一个第四池化层;最后一个第三池化层连接第二丢弃层,第二丢弃层连接一个第四池化层;每个第四池化层均连接第二连接层。
在一个实施例中,本申请提供一种人脸关键点定位模型的训练装置,请参见图9,该训练装置900包括获取模块910、第一输出模块920、热度图生成模块930、第二输出模块940和停止训练模块950。
获取模块910,用于获取人脸图像数据集。
第一输出模块920,用于将人脸图像数据集输入至第一卷积神经网络,并通过第一卷积神经网络输出第一人脸关键点特征数据和第一卷积神经网络的第一损失函数值。
热度图生成模块930,用于当第一损失函数值趋于收敛时,根据第一人脸关键点特征数据生成人脸图像数据集对应的人脸关键点热度图。
第二输出模块940,用于将人脸关键点热度图和人脸图像数据集共同输入至第二卷积神经网络,并通过第二卷积神经网络输出第二人脸关键点特征数据和第二卷积神经网络的第二损失函数值。
停止训练模块950,用于当第二损失函数值趋于收敛时,停止对第二卷积神经网络的训练。
关于人脸关键点定位模型的训练装置的具体限定可以参见上文中对于人脸关键点定位模型的训练方法的限定,在此不再赘述。上述人脸关键点定位模型的训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人脸关键点定位模型的训练方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的方法步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的方法步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种人脸关键点定位模型的训练方法,其特征在于,所述方法包括:
获取人脸图像数据集;
将所述人脸图像数据集输入至第一卷积神经网络,并通过所述第一卷积神经网络输出第一人脸关键点特征数据和所述第一卷积神经网络的第一损失函数值;
当所述第一损失函数值趋于收敛时,根据所述第一人脸关键点特征数据生成所述人脸图像数据集对应的人脸关键点热度图;
将所述人脸关键点热度图和所述人脸图像数据集共同输入至第二卷积神经网络,并通过所述第二卷积神经网络输出第二人脸关键点特征数据和所述第二卷积神经网络的第二损失函数值;
当所述第二损失函数值趋于收敛时,停止对所述第二卷积神经网络的训练;
其中,所述第二卷积神经网络包括第二输入层、多个第三卷积层、多个第三池化层、至少一个第四卷积层、多个第四池化层、第二丢弃层、第二连接层以及连接至所述第二连接层的所述第二输出层;所述将所述人脸关键点热度图和所述人脸图像数据集共同输入至第二卷积神经网络,并通过所述第二卷积神经网络输出第二人脸关键点特征数据,包括:
将所述热度图和所述人脸图像数据集输入至所述第二输入层,对所述人脸图像数据集进行归一化处理;
将所述热度图和归一化之后的人脸图像数据集联合输入至所述第二卷积神经网络的第三卷积层进行卷积处理,对所述第三卷积层的输出进行规范化和激活处理后,将所述第三卷积层的输出传入至对应的第三池化层进行池化处理;
将所述第三池化层的输出传入至对应的所述第四卷积层,并经过与所述第四卷积层连接的第四池化层的池化处理,与所述第四卷积层连接的第四池化层输出对应第三卷积层的特征图像;
同时将所述第三池化层的输出传入至下一个第三卷积层进行卷积处理,对所述下一个第三卷积层的输出进行规范化和激活处理后,将所述下一个第三卷积层的输出传入至对应的第三池化层进行池化处理,直至最后一个第三池化层,将所述最后一个第三池化层的输出传入所述第二丢弃层,并经过与所述第二丢弃层连接的第四池化层的池化处理,与所述第二丢弃层连接的第四池化层输出对应第三卷积层的特征图像;
通过所述第二连接层将各个第四池化层输出的特征图像进行联合,并将联合得到的特征图像传入至所述第二输出层;
通过所述第二输出层输出所述第二人脸关键点特征数据。
2.根据权利要求1所述的方法,其特征在于,所述人脸图像数据集的生成方式,包括:
获取原始人脸图像数据集;
通过人脸检测算法获取所述原始人脸图像数据集中的人脸位置数据;
根据获取的人脸位置数据从所述原始人脸图像数据集中裁剪出人脸图像;
对裁剪得到的人脸图像进行数据增强操作,生成所述人脸图像数据集。
3.根据权利要求2所述的方法,其特征在于,所述数据增强操作包括旋转、缩放、镜像中的至少一个。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述原始人脸图像数据集中的关键点位置坐标;
计算所述原始人脸图像数据集和所述人脸图像数据集之间的转换矩阵;
通过所述转换矩阵,根据所述原始人脸图像数据集的关键点位置坐标生成所述人脸图像数据集的关键点位置坐标;
根据所述人脸图像数据集的关键点位置坐标,计算所述人脸图像数据集的平均关键点坐标;
将所述人脸图像数据集的关键点位置坐标与所述人脸图像数据集的平均关键点坐标之间的差值作为所述第一卷积神经网络的训练标签。
5.根据权利要求1所述的方法,其特征在于,所述第一卷积神经网络包括多个第一卷积层、多个第一池化层、至少一个第二卷积层、多个第二池化层、第一丢弃层、第一连接层;
其中,按照所述第一卷积神经网络所包括的第一池化层顺序,所述第一卷积层连接一个所述第一池化层,在多个所述第一池化层中,除最后一个所述第一池化层之外,每个所述第一池化层分别连接一个所述第一卷积层和一个所述第二卷积层,所述第二卷积层连接一个所述第二池化层;
最后一个所述第一池化层连接所述第一丢弃层,所述第一丢弃层连接一个所述第二池化层;
每个所述第二池化层均连接所述第一连接层。
6.根据权利要求5所述的方法,其特征在于,所述第一卷积神经网络还包括第一输入层、连接至所述第一连接层的所述第一输出层;所述将所述人脸图像数据集输入至第一卷积神经网络,并通过所述第一卷积神经网络输出第一人脸关键点特征数据,包括:
将所述人脸图像数据集输入至所述第一输入层进行归一化处理;
将归一化之后的人脸图像数据集输入所述第一卷积神经网络的所述第一卷积层进行卷积处理,对所述第一卷积层的输出进行规范化和激活处理后,将所述第一卷积层的输出传入至对应的第一池化层进行池化处理;
将与所述第二卷积层连接的第一池化层的输出传入至对应的所述第二卷积层,并经过与所述第二卷积层连接的第二池化层的池化处理,与所述第二卷积层连接的第二池化层输出对应第一卷积层的特征图像;
同时将所述第一池化层的输出传入至下一个第一卷积层进行卷积处理,对所述下一个第一卷积层的输出进行规范化和激活处理后,将所述下一个第一卷积层的输出传入至对应的第一池化层进行池化处理,直至最后一个第一池化层,将所述最后一个第一池化层的输出传入所述第一丢弃层,并经过与所述第一丢弃层连接的第二池化层的池化处理,与所述第一丢弃层连接的第二池化层输出对应第一卷积层的特征图像;
通过所述第一连接层将各个第二池化层输出的特征图像进行联合,并将联合得到的特征图像传入至所述第一输出层;
通过所述第一输出层输出所述第一人脸关键点特征数据。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第三卷积层与所述第三池化层依次间隔连接,在多个所述第三池化层中,除第一个和最后一个所述第三池化层之外,每个所述第三池化层还分别连接一个所述第四卷积层,所述第四卷积层连接一个所述第四池化层;
最后一个所述第三池化层连接所述第二丢弃层,所述第二丢弃层连接一个所述第四池化层;
每个所述第四池化层均连接所述第二连接层。
8.一种人脸关键点定位方法,其特征在于,所述方法包括:
将需要定位的人脸图像输入至权利要求1至7中任一项训练得到的人脸关键点定位模型;所述人脸关键点定位模型包括第一卷积神经网络和第二卷积神经网络;
通过所述第一卷积神经网络预测所述人脸图像的第一人脸关键点特征数据;
根据所述第一人脸关键点特征数据生成所述人脸图像对应的人脸关键点热度图;
将所述人脸图像和所述人脸图像对应的人脸关键点热度图共同输入至所述第二卷积神经网络;
通过所述第二卷积神经网络预测所述人脸图像的第二人脸关键点特征数据;
其中,所述第二卷积神经网络包括第二输入层、多个第三卷积层、多个第三池化层、至少一个第四卷积层、多个第四池化层、第二丢弃层、第二连接层以及连接至所述第二连接层的所述第二输出层;所述通过所述第二卷积神经网络预测所述人脸图像的第二人脸关键点特征数据包括:
将所述热度图和所述人脸图像输入至所述第二输入层,对所述人脸图像进行归一化处理;
将所述热度图和归一化之后的人脸图像联合输入至所述第二卷积神经网络的第三卷积层进行卷积处理,对所述第三卷积层的输出进行规范化和激活处理后,将所述第三卷积层的输出传入至对应的第三池化层进行池化处理;
将所述第三池化层的输出传入至对应的所述第四卷积层,并经过与所述第四卷积层连接的第四池化层的池化处理,与所述第四卷积层连接的第四池化层输出对应第三卷积层的特征图像;
同时将所述第三池化层的输出传入至下一个第三卷积层进行卷积处理,对所述下一个第三卷积层的输出进行规范化和激活处理后,将所述下一个第三卷积层的输出传入至对应的第三池化层进行池化处理,直至最后一个第三池化层,将所述最后一个第三池化层的输出传入所述第二丢弃层,并经过与所述第二丢弃层连接的第四池化层的池化处理,与所述第二丢弃层连接的第四池化层输出对应第三卷积层的特征图像;
通过所述第二连接层将各个第四池化层输出的特征图像进行联合,并将联合得到的特征图像传入至所述第二输出层;
通过所述第二输出层输出所述第二人脸关键点特征数据。
9.一种人脸关键点定位模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取人脸图像数据集;
第一输出模块,用于将所述人脸图像数据集输入至第一卷积神经网络,并通过所述第一卷积神经网络输出第一人脸关键点特征数据和所述第一卷积神经网络的第一损失函数值;
热度图生成模块,用于当所述第一损失函数值趋于收敛时,根据所述第一人脸关键点特征数据生成所述人脸图像数据集对应的人脸关键点热度图;
第二输出模块,用于将所述人脸关键点热度图和所述人脸图像数据集共同输入至第二卷积神经网络,并通过所述第二卷积神经网络输出第二人脸关键点特征数据和所述第二卷积神经网络的第二损失函数值;
停止训练模块,用于当所述第二损失函数值趋于收敛时,停止对所述第二卷积神经网络的训练;
其中,所述第二卷积神经网络包括第二输入层、多个第三卷积层、多个第三池化层、至少一个第四卷积层、多个第四池化层、第二丢弃层、第二连接层以及连接至所述第二连接层的所述第二输出层;
第二输出模块,还用于将所述热度图和所述人脸图像数据集输入至所述第二输入层,对所述人脸图像数据集进行归一化处理;将所述热度图和归一化之后的人脸图像数据集联合输入至所述第二卷积神经网络的第三卷积层进行卷积处理,对所述第三卷积层的输出进行规范化和激活处理后,将所述第三卷积层的输出传入至对应的第三池化层进行池化处理;将所述第三池化层的输出传入至对应的所述第四卷积层,并经过与所述第四卷积层连接的第四池化层的池化处理,与所述第四卷积层连接的第四池化层输出对应第三卷积层的特征图像;同时将所述第三池化层的输出传入至下一个第三卷积层进行卷积处理,对所述下一个第三卷积层的输出进行规范化和激活处理后,将所述下一个第三卷积层的输出传入至对应的第三池化层进行池化处理,直至最后一个第三池化层,将所述最后一个第三池化层的输出传入所述第二丢弃层,并经过与所述第二丢弃层连接的第四池化层的池化处理,与所述第二丢弃层连接的第四池化层输出对应第三卷积层的特征图像;通过所述第二连接层将各个第四池化层输出的特征图像进行联合,并将联合得到的特征图像传入至所述第二输出层;通过所述第二输出层输出所述第二人脸关键点特征数据。
10.一种计算机设备,包括存储器和处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910432324.5A CN110334587B (zh) | 2019-05-23 | 2019-05-23 | 人脸关键点定位模型的训练方法、装置及关键点定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910432324.5A CN110334587B (zh) | 2019-05-23 | 2019-05-23 | 人脸关键点定位模型的训练方法、装置及关键点定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334587A CN110334587A (zh) | 2019-10-15 |
CN110334587B true CN110334587B (zh) | 2021-01-22 |
Family
ID=68139084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910432324.5A Active CN110334587B (zh) | 2019-05-23 | 2019-05-23 | 人脸关键点定位模型的训练方法、装置及关键点定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334587B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111126272B (zh) * | 2019-12-24 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 姿态获取方法、关键点坐标定位模型的训练方法和装置 |
CN111179419B (zh) * | 2019-12-31 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 三维关键点预测及深度学习模型训练方法、装置及设备 |
CN113128277A (zh) * | 2019-12-31 | 2021-07-16 | Tcl集团股份有限公司 | 一种人脸关键点检测模型的生成方法及相关设备 |
CN111209873A (zh) * | 2020-01-09 | 2020-05-29 | 杭州趣维科技有限公司 | 一种基于深度学习的高精度人脸关键点定位方法及系统 |
CN111274977B (zh) * | 2020-01-22 | 2023-05-23 | 中能国际高新科技研究院有限公司 | 多任务卷积神经网络模型及使用方法、装置和存储介质 |
CN113743157B (zh) * | 2020-05-28 | 2024-07-19 | 北京沃东天骏信息技术有限公司 | 关键点检测模型训练方法和装置、关键点检测方法和装置 |
CN111667518B (zh) * | 2020-06-24 | 2023-10-31 | 北京百度网讯科技有限公司 | 人脸图像的显示方法、装置、电子设备及存储介质 |
CN112017212B (zh) * | 2020-08-26 | 2022-10-04 | 北京紫光展锐通信技术有限公司 | 人脸关键点跟踪模型的训练、跟踪方法及系统 |
CN112115860B (zh) * | 2020-09-18 | 2024-07-26 | 深圳市威富视界有限公司 | 人脸关键点定位方法、装置、计算机设备和存储介质 |
CN114529731B (zh) * | 2020-10-30 | 2024-07-12 | 北京眼神智能科技有限公司 | 人脸特征点定位及属性分析方法、装置、存储介质及设备 |
CN112257645B (zh) * | 2020-11-02 | 2023-09-01 | 浙江大华技术股份有限公司 | 人脸的关键点定位方法和装置、存储介质及电子装置 |
CN112560639B (zh) * | 2020-12-11 | 2023-12-12 | 上海明略人工智能(集团)有限公司 | 人脸关键点数目转换方法、系统、电子设备及存储介质 |
CN113435267B (zh) * | 2021-06-09 | 2023-06-23 | 江苏第二师范学院 | 一种基于改进的卷积神经网络的在线教育学生专注力判别方法 |
CN113449656B (zh) * | 2021-07-01 | 2022-08-02 | 淮阴工学院 | 一种基于改进的卷积神经网络的驾驶员状态识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203376A (zh) * | 2016-07-19 | 2016-12-07 | 北京旷视科技有限公司 | 人脸关键点定位方法及装置 |
CN106339680A (zh) * | 2016-08-25 | 2017-01-18 | 北京小米移动软件有限公司 | 人脸关键点定位方法及装置 |
CN109063695A (zh) * | 2018-09-18 | 2018-12-21 | 图普科技(广州)有限公司 | 一种人脸关键点检测方法、装置及其计算机存储介质 |
CN109214343A (zh) * | 2018-09-14 | 2019-01-15 | 北京字节跳动网络技术有限公司 | 用于生成人脸关键点检测模型的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833654B (zh) * | 2010-04-02 | 2012-01-11 | 清华大学 | 基于约束采样的稀疏表示人脸识别方法 |
CN102831396A (zh) * | 2012-07-23 | 2012-12-19 | 常州蓝城信息科技有限公司 | 一种计算机人脸识别方法 |
-
2019
- 2019-05-23 CN CN201910432324.5A patent/CN110334587B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203376A (zh) * | 2016-07-19 | 2016-12-07 | 北京旷视科技有限公司 | 人脸关键点定位方法及装置 |
CN106339680A (zh) * | 2016-08-25 | 2017-01-18 | 北京小米移动软件有限公司 | 人脸关键点定位方法及装置 |
CN109214343A (zh) * | 2018-09-14 | 2019-01-15 | 北京字节跳动网络技术有限公司 | 用于生成人脸关键点检测模型的方法和装置 |
CN109063695A (zh) * | 2018-09-18 | 2018-12-21 | 图普科技(广州)有限公司 | 一种人脸关键点检测方法、装置及其计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110334587A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334587B (zh) | 人脸关键点定位模型的训练方法、装置及关键点定位方法 | |
Xu et al. | Joint head pose estimation and face alignment framework using global and local CNN features | |
CN112800903B (zh) | 一种基于时空图卷积神经网络的动态表情识别方法及系统 | |
WO2020215557A1 (zh) | 医学影像解释方法、装置、计算机设备及存储介质 | |
JP7512262B2 (ja) | 顔キーポイント検出方法、装置、コンピュータ機器及びコンピュータプログラム | |
CN109086711B (zh) | 人脸特征分析方法、装置、计算机设备和存储介质 | |
CN111680672B (zh) | 人脸活体检测方法、系统、装置、计算机设备和存储介质 | |
US20190130172A1 (en) | Identity authentication method, terminal device, and computer-readable storage medium | |
US11423702B2 (en) | Object recognition method and apparatus | |
US20230021661A1 (en) | Forgery detection of face image | |
KR20210048523A (ko) | 이미지 처리 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 기억 매체 | |
CN109271930B (zh) | 微表情识别方法、装置与存储介质 | |
WO2021189959A1 (zh) | 大脑中线识别方法、装置、计算机设备及存储介质 | |
CN110598638A (zh) | 模型训练方法、人脸性别预测方法、设备及存储介质 | |
CN109886223B (zh) | 人脸识别方法、底库录入方法、装置及电子设备 | |
CN111339897B (zh) | 活体识别方法、装置、计算机设备和存储介质 | |
CN112115860B (zh) | 人脸关键点定位方法、装置、计算机设备和存储介质 | |
CN111738270A (zh) | 模型生成方法、装置、设备和可读存储介质 | |
CN111178187A (zh) | 一种基于卷积神经网络的人脸识别方法及装置 | |
CN116091596A (zh) | 一种自下而上的多人2d人体姿态估计方法及装置 | |
CN111582155A (zh) | 活体检测方法、装置、计算机设备和存储介质 | |
Zhang et al. | Facial component-landmark detection with weakly-supervised lr-cnn | |
CN114821736A (zh) | 基于对比学习的多模态人脸识别方法、装置、设备及介质 | |
US20230386252A1 (en) | Low-resolution face recognition device and low-resolution face recognizer learning device and method | |
CN112308035A (zh) | 图像检测方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |