CN111008589B - 人脸关键点检测方法、介质、装置和计算设备 - Google Patents
人脸关键点检测方法、介质、装置和计算设备 Download PDFInfo
- Publication number
- CN111008589B CN111008589B CN201911214676.XA CN201911214676A CN111008589B CN 111008589 B CN111008589 B CN 111008589B CN 201911214676 A CN201911214676 A CN 201911214676A CN 111008589 B CN111008589 B CN 111008589B
- Authority
- CN
- China
- Prior art keywords
- feature extraction
- directional
- histogram
- face
- gradient
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 60
- 238000000605 extraction Methods 0.000 claims abstract description 274
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 56
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000009825 accumulation Methods 0.000 claims description 26
- 238000010606 normalization Methods 0.000 claims description 25
- 238000012549 training Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 15
- 238000002372 labelling Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 5
- 230000004927 fusion Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 210000000887 face Anatomy 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 210000004709 eyebrow Anatomy 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- 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/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明的实施方式提供了一种人脸关键点检测方法、介质、装置和计算设备。该方法包括:将待检测人脸关键点的人脸图像划分为多个特征提取区域;根据所述特征提取区域的像素信息确定所述特征提取区域的方向梯度直方图;根据所述方向梯度直方图确定所述特征提取区域的局部直方图特征;根据所述人脸图像内的各个特征提取区域的局部直方图特征确定所述人脸图像的整体直方图特征;将所述整体直方图特征输入预先训练的卷积神经网络以得到所述人脸图像中的人脸关键点的位置信息。该方法在保证人脸检测精度的同时,减少了计算资源的消耗并且提高了人脸检测效率。
Description
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及人脸关键点检测方法、介质、人脸关键点检测装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
人脸关键点检测技术是一项基于人脸的基础技术,首先需要通过人脸检测判断输入图像上是否有人脸,如果有人脸则根据人脸区域定位到人脸上的关键点如嘴巴、眼睛、眉毛等所在的位置。人脸关键点检测技术可以应用于人脸动画、人脸识别、美颜美妆等多种场景。
人脸关键点检测的相关技术一般涉及大量的特征分析和计算,不仅需要消耗较多的计算资源,而且难以满足快速高效的人脸检测需求。
发明内容
本发明的目的在于提供一种人脸关键点检测方法、介质、人脸关键点检测装置和计算设备,从而至少在一定程度上克服相关技术中存在的消耗计算资源多、检测效率低等技术问题。
根据本发明的一个方面,提供一种人脸关键点检测方法,该方法包括:
将待检测人脸关键点的人脸图像划分为多个特征提取区域;
根据所述特征提取区域的像素信息确定所述特征提取区域的方向梯度直方图;
根据所述方向梯度直方图确定所述特征提取区域的局部直方图特征;
根据所述人脸图像内的各个特征提取区域的局部直方图特征确定所述人脸图像的整体直方图特征;
将所述整体直方图特征输入预先训练的卷积神经网络以得到所述人脸图像中的人脸关键点的位置信息。
在本发明的一些示例性实施方式中,基于以上技术方案,所述将待检测人脸关键点的人脸图像划分为多个特征提取区域,包括:
获取待检测人脸关键点的初始人脸图像;
将所述初始人脸图像缩放至具有预设图像尺寸的人脸图像;
将所述人脸图像划分为多个尺寸相同的特征提取区域。
在本发明的一些示例性实施方式中,基于以上技术方案,所述根据所述特征提取区域的像素信息确定所述特征提取区域的方向梯度直方图,包括:
根据所述特征提取区域的像素信息确定所述特征提取区域内各个像素点在两个像素排布方向上的像素梯度;
根据所述两个像素排布方向上的像素梯度确定各个像素点的梯度幅值和梯度方向角;
统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的方向梯度直方图。
在本发明的一些示例性实施方式中,基于以上技术方案,所述统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的方向梯度直方图,包括:
确定多个有方向角度区间和多个无方向角度区间;
按照所述有方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的有方向梯度直方图;
按照所述无方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的无方向梯度直方图。
在本发明的一些示例性实施方式中,基于以上技术方案,所述根据所述方向梯度直方图确定所述特征提取区域的局部直方图特征,包括:
确定一目标特征提取区域以及与所述目标特征提取区域相对应的邻域范围;
对所述邻域范围内的多个特征提取区域的方向梯度直方图进行归一化处理得到各个特征提取区域的归一化直方图;
根据各个特征提取区域的归一化直方图确定所述目标特征提取区域的局部直方图特征。
在本发明的一些示例性实施方式中,基于以上技术方案,所述方向梯度直方图包括对应于多个有方向角度区间的有方向梯度直方图和对应于多个无方向角度区间的无方向梯度直方图;所述对所述邻域范围内的多个特征提取区域的方向梯度直方图进行归一化处理得到各个特征提取区域的归一化直方图,包括:
对所述邻域范围内的多个特征提取区域的有方向梯度直方图进行归一化处理得到各个特征提取区域的有方向归一化直方图;
对所述邻域范围内的多个特征提取区域的无方向梯度直方图进行归一化处理得到各个特征提取区域的无方向归一化直方图。
在本发明的一些示例性实施方式中,基于以上技术方案,所述根据各个特征提取区域的归一化直方图确定所述目标特征提取区域的局部直方图特征,包括:
将各个特征提取区域的归一化直方图按照不同的角度区间进行累加得到多个区域间累加特征值;
将各个特征提取区域的归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值;
将所述区域间累加特征值和所述区域内累加特征值组合得到所述目标特征提取区域的局部直方图特征。
在本发明的一些示例性实施方式中,基于以上技术方案,所述区域间累加特征值包括对应于多个有方向角度区间的有方向累加特征值和对应于多个无方向角度区间的无方向累加特征值;所述将各个特征提取区域的归一化直方图按照不同的角度区间进行累加得到多个区域间累加特征值,包括:
将各个特征提取区域的有方向归一化直方图按照不同的有方向角度区间进行累加得到多个有方向累加特征值;
将各个特征提取区域的无方向归一化直方图按照不同的无方向角度区间进行累加得到多个无方向累加特征值。
在本发明的一些示例性实施方式中,基于以上技术方案,所述将各个特征提取区域的归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值,包括:
将各个特征提取区域的有方向归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值。
在本发明的一些示例性实施方式中,基于以上技术方案,所述预先训练的卷积神经网络的训练方法包括:
获取人脸图像样本的整体直方图特征以及所述人脸图像样本中人脸关键点的标注位置信息;
将所述人脸图像样本的整体直方图特征输入待训练的卷积神经网络,以得到人脸关键点的预测位置信息以及所述人脸图像样本的人脸姿态信息;
确定所述预测位置信息和所述标注位置信息之间的预测误差,并根据所述人脸姿态信息确定所述预测误差的误差权重;
根据所述预测误差以及所述误差权重更新所述卷积神经网络的网络参数。
根据本发明的一个方面,提供一种介质,其上存储有程序,该程序被处理器执行时实现如以上技术方案中任一项所述的方法。
根据本发明的一个方面,提供一种人脸关键点检测装置,包括:
图像划分模块,被配置为将待检测人脸关键点的人脸图像划分为多个特征提取区域;
直方图确定模块,被配置为根据所述特征提取区域的像素信息确定所述特征提取区域的方向梯度直方图;
特征提取模块,被配置为根据所述方向梯度直方图确定所述特征提取区域的局部直方图特征;
特征融合模块,被配置为根据所述人脸图像内的各个特征提取区域的局部直方图特征确定所述人脸图像的整体直方图特征;
位置预测模块,被配置为将所述整体直方图特征输入预先训练的卷积神经网络以得到所述人脸图像中的人脸关键点的位置信息。
在本发明的一些示例性实施方式中,基于以上技术方案,所述图像划分模块包括:
图像获取单元,被配置为获取待检测人脸关键点的初始人脸图像;
图像缩放单元,被配置为将所述初始人脸图像缩放至具有预设图像尺寸的人脸图像;
区域划分单元,被配置为将所述人脸图像划分为多个尺寸相同的特征提取区域。
在本发明的一些示例性实施方式中,基于以上技术方案,所述直方图确定模块包括:
像素梯度确定单元,被配置为根据所述特征提取区域的像素信息确定所述特征提取区域内各个像素点在两个像素排布方向上的像素梯度;
幅值及角度确定单元,被配置为根据所述两个像素排布方向上的像素梯度确定各个像素点的梯度幅值和梯度方向角;
直方图确定单元,被配置为统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的方向梯度直方图。
在本发明的一些示例性实施方式中,基于以上技术方案,所述直方图确定单元包括:
角度区间确定子单元,被配置为确定多个有方向角度区间和多个无方向角度区间;
有方向直方图确定子单元,被配置为按照所述有方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的有方向梯度直方图;
无方向直方图确定子单元,被配置为按照所述无方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的无方向梯度直方图。
在本发明的一些示例性实施方式中,基于以上技术方案,所述特征提取模块包括:
范围确定单元,被配置为确定一目标特征提取区域以及与所述目标特征提取区域相对应的邻域范围;
直方图归一化单元,被配置为对所述邻域范围内的多个特征提取区域的方向梯度直方图进行归一化处理得到各个特征提取区域的归一化直方图;
特征确定单元,被配置为根据各个特征提取区域的归一化直方图确定所述目标特征提取区域的局部直方图特征。
在本发明的一些示例性实施方式中,基于以上技术方案,所述方向梯度直方图包括对应于多个有方向角度区间的有方向梯度直方图和对应于多个无方向角度区间的无方向梯度直方图;所述直方图归一化单元包括:
有方向归一化子单元,被配置为对所述邻域范围内的多个特征提取区域的有方向梯度直方图进行归一化处理得到各个特征提取区域的有方向归一化直方图;
无方向归一化子单元,被配置为对所述邻域范围内的多个特征提取区域的无方向梯度直方图进行归一化处理得到各个特征提取区域的无方向归一化直方图。
在本发明的一些示例性实施方式中,基于以上技术方案,所述特征确定单元包括:
区域间累加子单元,被配置为将各个特征提取区域的归一化直方图按照不同的角度区间进行累加得到多个区域间累加特征值;
区域内累加子单元,被配置为将各个特征提取区域的归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值;
特征值组合子单元,被配置为将所述区域间累加特征值和所述区域内累加特征值组合得到所述目标特征提取区域的局部直方图特征。
在本发明的一些示例性实施方式中,基于以上技术方案,所述区域间累加特征值包括对应于多个有方向角度区间的有方向累加特征值和对应于多个无方向角度区间的无方向累加特征值;所述区域间累加子单元包括:
有方向区域间累加子单元,被配置为将各个特征提取区域的有方向归一化直方图按照不同的有方向角度区间进行累加得到多个有方向累加特征值;
无方向区域间累加子单元,被配置为将各个特征提取区域的无方向归一化直方图按照不同的无方向角度区间进行累加得到多个无方向累加特征值。
在本发明的一些示例性实施方式中,基于以上技术方案,所述区域内累加子单元包括:
有方向区域内累加子单元,被配置为将各个特征提取区域的有方向归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值。
在本发明的一些示例性实施方式中,基于以上技术方案,所述预先训练的卷积神经网络的训练装置包括:
信息获取模块,被配置为获取人脸图像样本的整体直方图特征以及所述人脸图像样本中人脸关键点的标注位置信息;
信息预测模块,被配置为将所述人脸图像样本的整体直方图特征输入待训练的卷积神经网络,以得到人脸关键点的预测位置信息以及所述人脸图像样本的人脸姿态信息;
误差确定模块,被配置为确定所述预测位置信息和所述标注位置信息之间的预测误差,并根据所述人脸姿态信息确定所述预测误差的误差权重;
参数更新模块,被配置为根据所述预测误差以及所述误差权重更新所述卷积神经网络的网络参数。
根据本发明的一个方面,提供一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如以上技术方案中任一项所述的方法。
在本发明提供的技术方案中,通过对人脸图像进行区域划分,并对划分得到的特征提取区域进行HOG特征提取,可以快速且稳定地获得人脸图像的细节纹理特征。利用这种特征提取方式可以简化卷积神经网络的结构,降低网络模型的训练难度,减少人脸检测的计算量,在保证人脸检测精度的同时,减少了计算资源的消耗并且提高了人脸检测效率。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了应用本发明示例性实施方式的***架构示意图。
图2示意性地示出了本发明示例性实施方式中实现人脸关键点检测方法的流程示意图。
图3示意性地示出了本发明一些示例性实施方式中人脸关键点检测方法的步骤流程图。
图4示意性地示出了本发明一些示例性实施方式中划分特征提取区域的步骤流程图。
图5示意性地示出了本发明一些示例性实施方式中提取方向梯度直方图的步骤流程图。
图6示意性地示出了统计有方向梯度直方图和无方向梯度直方图的步骤流程图。
图7示意性地示出了本发明一些示例性实施方式中确定局部直方图特征的步骤流程图。
图8示意性地示出了本发明一些示例性实施方式中确定局部直方图特征的步骤流程图。
图9示意性地示出了本发明一些示例性实施方式中训练卷积神经网络的步骤流程图。
图10示意性地示出了在一应用场景中提取HOG特征的原理示意图。
图11示意性地示出了本发明在一应用场景中使用的多任务CNN网络模型的结构示意图。
图12示意性地示出了本发明一些示例性实施方式中人脸关键点检测装置的结构框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本发明中涉及的技术术语解释如下:
深度学习(Deep Learning):利用深层神经网络来抽象数据的特征,以便更精准地表征数据的分布和特性。
人脸关键点:人脸上具有明显特征点的关键区域点,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等。
卷积神经网络(Convolutional Neural Network,CNN):一种包含卷积操作的前馈神经网络,在大型图像处理方面有出色的表现,是深度学习的代表算法之一。
方向梯度直方图(Histogram of Oriented Gradient,HOG):一种在计算机视觉和图像处理中通过计算和统计图像局部区域的梯度方向直方图,用于描述物体的特征描述子。
损失函数(loss function):用于估量模型的预测值和真实值的不一致的程度。
移动端:又称为移动终端或者移动通信终端,是指可以在移动中使用的计算机设备,例如包括手机、笔记本电脑、平板电脑、POS机、车载电脑等等。
此外,本发明中涉及的相关元素数量仅用于示例而非限制,以及相关元素的命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,目前人脸关键点检测算法主要可以分为三类:基于生成模型的方法、基于级联回归模型的方法和基于深度学习的方法。
其中,基于生成模型的方法例如可以包括主动表观模型(Active AppearanceModel,AAM)和主动形状模型(Active Shape Model,ASM)等等。基于级联回归模型的方法例如可以包括监督下降法(Supervised Descent Method,SDM)和局部二值特征算法(LocalBinary Features,LBF)等等。相比于前两类算法,深度学习算法以其强大的表征能力,成为目前人脸关键点检测技术的主流方法。然而,基于深度学习实现人脸关键点检测通常是使用大型卷积网络,普遍具有网络层数深、参数量大、模型复杂等特点,不仅计算量非常大,而且训练难度也极大。因此,如何能够在保证算法预测精度的前提下,降低深度学习训练难度、减少计算量,是目前亟待解决的问题。
针对以上相关技术中存在的问题,本发明将传统图像处理方法与深度学习方法相结合,提出了一种基于HOG特征和卷积神经网络的人脸关键点检测方法。鉴于传统的特征描述子HOG特征计算速度快,且提取到的纹理稳定性较强,因此本发明通过将HOG特征与深度学习CNN结合,用HOG特征模拟CNN网络的前面几层的纹理特征,简化模型的训练,加快训练收敛速度,增强模型稳定性。另外,在CNN网络部分,本发明可以使用多任务CNN网络,在预测人脸关键点的同时也预测人脸姿态角度,并将姿态角度信息添加到loss函数中进行反向传播,用人脸姿态信息辅助人脸关键点的预测,提高人脸关键点的预测精度。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
需要注意的是,下述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图1示意性地示出了应用本发明示例性实施方式的***架构示意图。如图1所示,***架构100可以包括客户端110、网络120和服务端130。客户端110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种终端设备。服务端130可以包括网络服务器、应用服务器、数据库服务器等各种服务器设备,服务端130可以为客户端110提供网络资源和数据服务。网络120可以是能够在客户端110和服务端130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路等等。
根据实现需要,本发明示例性实施方式的***架构可以具有任意数目的客户端、网络和服务端。例如,服务端130可以是由多个服务器设备组成的服务器群组。本发明示例性实施方式提供的人脸关键点检测方法可以应用于客户端110,也可以应用于服务端130,或者可以由客户端110和服务端130共同执行,本发明对此不做特殊限定。
图2示意性地示出了本发明示例性实施方式中实现人脸关键点检测方法的流程示意图。如图2所示,首先将待检测关键点的人脸区域图像210输入至HOG特征模块220,由HOG特征模块220对其进行特征提取可以得到图像的HOG特征。再将HOG特征作为人脸的纹理特征输入至预先训练的CNN网络模块230,利用CNN网络模块230快速预测得到人脸关键点位置240,同时还可以得到人脸姿态角度250,用人脸姿态角度250辅助进行人脸关键点位置240的预测,可以提高人脸关键点的预测精度。
示例性方法
下面结合上述的应用场景,参考图3至图11来描述根据本发明示例性实施方式的人脸关键点检测方法。
图3示意性地示出了本发明一些示例性实施方式中人脸关键点检测方法的步骤流程图。如图3所示,该方法主要可以包括以下步骤:
步骤S310.将待检测人脸关键点的人脸图像划分为多个特征提取区域。
本步骤首先可以对待检测人脸关键点的人脸图像进行区域划分,从而得到多个特征提取区域。例如,将一个尺寸为256*256的人脸图像进行均匀地区域划分,可以得到64*64个尺寸为4*4的特征提取区域。
步骤S320.根据特征提取区域的像素信息确定特征提取区域的方向梯度直方图。
一个特征提取区域即对应了人脸图像中的一个小的连通区域Cell,通过对每一个特征提取区域分别进行像素信息提取,可以确定各个特征提取区域的方向梯度直方图。
步骤S330.根据方向梯度直方图确定特征提取区域的局部直方图特征。
根据步骤S320得到的各个特征提取区域的方向梯度直方图,通过运算处理可以得到每个特征提取区域的局部直方图特征,该局部直方图特征例如可以是一个31维的特征向量。
步骤S340.根据人脸图像内的各个特征提取区域的局部直方图特征确定人脸图像的整体直方图特征。
将各个特征提取区域的局部直方图特征进行整合可以得到人脸图像的整体直方图特征。例如,对于由64*64个特征提取区域组成的人脸图像,每个特征提取区域的局部直方图特征为一个31维的特征向量,那么对应确定的人脸图像的整体直方图特征可以是一个维度为64*64*31的HOG特征。
步骤S350.将整体直方图特征输入预先训练的卷积神经网络以得到人脸图像中的人脸关键点的位置信息。
利用预先训练的卷积神经网络对步骤S340中确定的整体直方图进行卷积、池化、全连接等处理过程后可以输出得到人脸图像中的人脸关键点的位置信息。
在本发明示例性实施方式提供的人脸关键点检测方法中,通过对人脸图像进行区域划分,并对划分得到的特征提取区域进行HOG特征提取,可以快速且稳定地获得人脸图像的细节纹理特征。利用这种特征提取方式可以简化卷积神经网络的结构,降低网络模型的训练难度,减少人脸检测的计算量,在保证人脸检测精度的同时,减少了计算资源消耗并且提高了人脸检测效率。
在一些可选的实施方式中,用于提取方向梯度直方图的特征提取区域可以具有相同的或者不同的区域尺寸,具体可以与人脸图像的尺寸大小和区域划分数量相关。为了提高特征提取的有效性和稳定性,可以对人脸图像进行图像预处理,以便获得尺寸相同的特征提取区域。
图4示意性地示出了本发明一些示例性实施方式中划分特征提取区域的步骤流程图。如图4所示,在以上实施方式的基础上,步骤S310.将待检测人脸关键点的人脸图像划分为多个特征提取区域,可以包括以下步骤:
步骤S410.获取待检测人脸关键点的初始人脸图像。
初始人脸图像例如可以是从一幅原始图像上通过人脸检测并裁剪后得到的人脸区域所在的图像。由于原始图像的尺寸大小不同,而且人脸在图像中的位置、形态存在差异,相应得到的初始人脸图像的尺寸大小也可能会存在一定的差异。
步骤S420.将初始人脸图像缩放至具有预设图像尺寸的人脸图像。
针对步骤S410获取到的初始人脸图像,可以统一将其缩放至具有预设图像尺寸的人脸图像,例如可以统一缩放至尺寸为256*256的人脸图像。
步骤S430.将人脸图像划分为多个尺寸相同的特征提取区域。
经过统一缩放的人脸图像具有相同的尺寸大小,因此可以按照统一的形式进行区域划分以得到尺寸相同的特征提取区域。例如,对于尺寸为256*256的人脸图像,可以对其进行均匀划分以得到64*64个尺寸为4*4的特征提取区域。在本发明的其他实施方式中,可以根据实际需要配置人脸图像的预设图像尺寸以及特征提取区域的划分尺寸和划分数量,本发明对此不做特殊限定。
在划分得到特征提取区域后,可以对区域内的像素信息进行统计,以得到每个特征提取区域对应的方向梯度直方图。图5示意性地示出了本发明一些示例性实施方式中提取方向梯度直方图的步骤流程图,如图5所示,在以上各实施方式的基础上,步骤S320.根据特征提取区域的像素信息确定特征提取区域的方向梯度直方图,可以包括以下步骤:
步骤S510.根据特征提取区域的像素信息确定特征提取区域内各个像素点在两个像素排布方向上的像素梯度。
以水平方向和垂直方向的两个像素排布方向为例,本步骤可以根据特征提取区域内各个像素点的像素信息确定沿水平方向的像素梯度dx以及沿垂直方向的像素梯度dy。像素点(i,j)处的像素梯度可以表示为:
dx=xi+1,j-xi,j
dy=xi,j+1-xi,j
步骤S520.根据两个像素排布方向上的像素梯度确定各个像素点的梯度幅值和梯度方向角。
根据每个像素点在两个像素排布方向上的像素梯度可以确定各个像素点的梯度幅值和梯度方向角。例如,当一个像素点的在两个像素排布方向上的像素梯度为dx和dy时,可以按照如下公式计算该像素点的梯度幅值v和梯度方向角α:
步骤S530.统计各个像素点的梯度幅值和梯度方向角以得到特征提取区域的方向梯度直方图。
对特征提取区域内的每个像素点的梯度幅值和梯度方向角进行统计后可以得到该特征提取区域的方向梯度直方图。本步骤可以首先确定组成方向梯度直方图的多个角度区间,然后再按照每个像素点的梯度方向角将梯度幅值在相应的角度区间进行累加,最终形成表示梯度幅值在各个角度区间内分布状态的方向梯度直方图。
根据角度区间的划分方式不同,可以确定有方向梯度直方图和无方向梯度直方图两种方向梯度直方图。图6示意性地示出了统计有方向梯度直方图和无方向梯度直方图的步骤流程图。如图6所示,在以上各实施方式的基础上,步骤S530.统计各个像素点的梯度幅值和梯度方向角以得到特征提取区域的方向梯度直方图,可以包括以下步骤:
步骤S610.确定多个有方向角度区间和多个无方向角度区间。
对于一个像素点的梯度幅值和梯度方向角可以按照有方向性和无方向性两种方式进行统计。例如,对于0~360度的角度空间,以20度作为区间长度可以划分得到18个有方向角度区间。而对于0~180度的角度空间,同样以20度作为区间长度可以划分得到9个无方向角度区间。
步骤S620.按照有方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到特征提取区域的有方向梯度直方图。
按照有方向角度区间统计各个像素点的梯度信息时,表示梯度信息的梯度向量分布在0~360度的角度空间,当把一个梯度向量旋转180度后将得到一个方向相反的不同的梯度向量,由此统计得到的方向梯度直方图即作为有方向梯度直方图。
步骤S630.按照无方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到特征提取区域的无方向梯度直方图。
按照无方向角度区间统计各个像素点的梯度信息时,表示梯度信息的梯度向量分布在0~180度的角度空间,当把一个梯度向量旋转180度后将得到一个与之相同的不具有方向性的梯度向量,由此统计得到的方向梯度直方图即作为无方向梯度直方图。
在统计得到方向梯度直方图后,可以单独利用有方向梯度直方图或者单独利用无方向梯度直方图确定一个特征提取区域的局部直方图特征,或者也可以利用有方向梯度直方图和无方向梯度直方图共同确定一个特征提取区域的局部直方图特征。
图7示意性地示出了本发明一些示例性实施方式中确定局部直方图特征的步骤流程图。如图7所示,在以上各实施方式的基础上,步骤S330.根据方向梯度直方图确定特征提取区域的局部直方图特征,可以包括以下步骤:
步骤S710.确定一目标特征提取区域以及与目标特征提取区域相对应的邻域范围。
将当前需要确定局部直方图特征的一个特征提取区域作为目标特征提取区域,同时可以确定与该目标特征提取区域相对应的邻域范围。在一些可选的实施方式中,可以按照各个特征提取区域在人脸图像中的分布位置和邻接关系为每个特征提取区域确定一个与之对应的邻域范围,例如可以将每四个相互邻接的特征提取区域确定为一个邻域范围。
步骤S720.对邻域范围内的多个特征提取区域的方向梯度直方图进行归一化处理得到各个特征提取区域的归一化直方图。
在一个邻域范围内包括有多个位置邻接的特征提取区域,将这些位于同一邻域范围内的特征提取区域进行方向梯度直方图的归一化处理,可以分别确定各个特征提取区域的归一化直方图。当每个特征提取区域均提取得到有方向梯度直方图和无方向梯度直方图两种类型的直方图时,本步骤可以分别对两种类型的直方图进行归一化处理。对邻域范围内的多个特征提取区域的有方向梯度直方图进行归一化处理后可以得到各个特征提取区域的有方向归一化直方图;对邻域范围内的多个特征提取区域的无方向梯度直方图进行归一化处理后可以得到各个特征提取区域的无方向归一化直方图。
步骤S730.根据各个特征提取区域的归一化直方图确定目标特征提取区域的局部直方图特征。
通过对位于邻域范围内的各个特征提取区域的归一化直方图进行运算处理可以确定目标特征提取区域的局部直方图特征。对各个归一化直方图进行运算处理的方式主要可以是对归一化直方图中各个维度的特征按照不同方式进行累加和组合处理以得到具有指定维度的局部直方图特征。
图8示意性地示出了本发明一些示例性实施方式中确定局部直方图特征的步骤流程图。如图8所示,在以上各实施方式的基础上,步骤S730.根据各个特征提取区域的归一化直方图确定目标特征提取区域的局部直方图特征,可以包括以下步骤:
步骤S810.将各个特征提取区域的归一化直方图按照不同的角度区间进行累加得到多个区域间累加特征值。
本步骤得到的区域间累加特征值可以包括对应于多个有方向角度区间的有方向累加特征值和对应于多个无方向角度区间的无方向累加特征值;将各个特征提取区域的有方向归一化直方图按照不同的有方向角度区间进行累加得到多个有方向累加特征值;以对应于18个有方向角度区间的有方向归一化直方图为例,本步骤可以将各个特征提取区域的归一化直方图中对应于同一个有方向角度区间的特征值进行累加得到该有方向角度区间的区域间累加特征值。对于18个有方向角度区间,可以相应得到18个区域间累加特征值。另外,本步骤还可以将各个特征提取区域的无方向归一化直方图按照不同的无方向角度区间进行累加得到多个无方向累加特征值。以对应于9个无方向角度区间的无方向归一化直方图为例,本步骤可以相应得到9个区域累加特征值。在分别对有方向归一化直方图和无方向归一化直方图进行特征累加后,可以得到27个区域累加特征值。
步骤S820.将各个特征提取区域的归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值。
本步骤主要可以将各个特征提取区域的有方向归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值。以对应于18个有方向角度区间的有方向归一化直方图为例,本步骤可以将同一个特征提取区域内的对应于18个有方向角度区间的18个特征值进行累加后得到一个区域内累加特征值。如果在邻域范围内存在4个特征提取区域,那么本步骤将相应得到4个区域内累加特征值。
步骤S830.将区域间累加特征值和区域内累加特征值组合得到目标特征提取区域的局部直方图特征。
将分别由步骤S810和步骤S820累加得到的区域间累加特征值和区域内累加特征值进行组合可以得到目标特征提取区域的局部直方图特征。例如,由步骤S810中得到27个区域间累加特征值并由步骤S820得到4个区域内累加特征值,那么组合后将得到一个31维的局部直方图特征。
依次将人脸图像中的各个特征提取区域作为目标特征提取区域可以利用以上实施方式提供的方法步骤得到每个特征提取区域的局部直方图特征。例如,在一人脸图像中包括64*64个特征提取区域,将每个特征提取区域的31维的局部直方图特征按照位置分布关系进行组合可以得到维度为64*64*31的人脸图像的整体直方图特征。将整体直方图特征输入至预先训练的卷积神经网络即可输出得到人脸图像中的人脸关键点的位置信息。
图9示意性地示出了本发明一些示例性实施方式中训练卷积神经网络的步骤流程图。如图9所示,该卷积神经网络的训练方法主要可以包括以下步骤:
步骤S910.获取人脸图像样本的整体直方图特征以及人脸图像样本中人脸关键点的标注位置信息。
按照以上各实施方式中提供的特征提取方法对人脸图像样本进行特征提取后可以得到每个人脸图像样本的整体直方图特征,同时对每个人脸图像样本进行标注可以得到人脸图像样本中人脸关键点的标注位置信息。
步骤S920.将人脸图像样本的整体直方图特征输入待训练的卷积神经网络,以得到人脸关键点的预测位置信息以及人脸图像样本的人脸姿态信息。
将人脸图像样本的整体直方图特征输入至待训练的卷积神经网络中,通过该卷积神经网络进行卷积、池化、全连接等处理过程后,可以得到人脸图像样本中的人脸关键点的预测位置信息,同时还可以得到人脸图像样本的人脸姿态信息。预测位置信息可以是每个人脸关键点的位置坐标,人脸姿态信息可以是以欧拉角(Eular Angle)进行表征的人脸的头部姿态角度,例如可以包括面部平面内旋转角度(roll)、俯仰旋转角度(pitch)和面部平面外旋转角度(yaw)等三种姿态角度。
步骤S930.确定预测位置信息和标注位置信息之间的预测误差,并根据人脸姿态信息确定预测误差的误差权重。
利用损失函数可以计算确定预测位置信息和标注位置信息之间的预测误差,同时该损失函数中包含了与人脸姿态信息相关的误差权重,以人脸姿态信息作为损失函数中的惩罚项,为预测误差提供误差权重,可以提升卷积神经网络的泛化能力,即可以提高卷积神经网络对未知样本预测的适应能力。
步骤S940.根据预测误差以及误差权重更新卷积神经网络的网络参数。
将与预测误差以及误差权重相关的损失函数的输出在卷积神经网络中进行反向传播,可以逐步更新卷积神经网络中各个网络层的网络参数。不断重复正向传播和反向传播过程可以实现对网络参数的迭代优化,最终得到符合要求的能够准确预测人脸图像中人脸关键点位置信息的卷积神经网络。
下面结合一具体应用场景对以上各实施方式中提供的人脸关键点检测方法的步骤细节做出详细说明。
以300万人脸关键点数据集的68个人脸关键点点位为例,对人脸图像进行人脸关键点检测的方法主要可以包括HOG特征提取和CNN网络预测两个部分。
1、HOG特征提取。
首先,将待检测人脸关键点的人脸图像统一缩放至256*256的图像尺寸,然后计算该人脸图像的31通道的HOG特征。
HOG特征提取是基于局部像素进行特征直方图计算的一种方式,该特征提取算法对局部的变形和光照变化具有很好的稳定性。在一幅图像中,由于梯度主要存在于边缘部位,因此利用梯度和边缘的方向密度等梯度统计信息可以很好地描述人脸图像中局部目标的形状。通过将整幅人脸图像分成多个小的连通区域(cell),并计算每个cell的梯度直方图,可以将这些梯度直方图联合起来构成特征描述子。为了提升鲁棒性,还可以将局部直方图在图像的更大范围内(block)进行归一化,归一化后的特征描述子对光照变化和阴影等具有更好的鲁棒性。在一些可选的实施方式中,本发明可以在计算cell中的梯度时,将0-180度中每20度划分成一个角度区间(bin),共9个bin,每2*2个cell可以构成一个block,共提取到4×9=36个通道特征。而在本发明的另一些实施方式中,可以利用提取到维数为31通道的HOG特征。31通道的HOG特征取消了36通道的HOG特征中涉及的block,而只保留了单元cell,但是在进行归一化的时候,直接将当前cell和邻域周围的4个cell所组成的区域进行归一化,因此在效果上和36通道的HOG特征非常相似,但是特征维数少,计算速度快。
31通道的HOG特征的特征提取过程如下:
图10示意性地示出了在一应用场景中提取HOG特征的原理示意图。如图10所示,将位置相互邻接的4个cell划分至同一邻域范围内,并对这4个cell分别进行方向梯度直方图的特征提取。对每一个cell内的像素分别计算水平方向和垂直方向的梯度dx和dy,像素点(i,j)处的梯度幅值v和方向角α可以按照如下公式计算:
dx=xi+1,j-xi,j
dy=xi,j+1-xi,j
将每个cell中的方向角按0-360度划分成18个有方向的bin和9个无方向的bin,计算得到18维的有方向梯度直方图和9维的无方向梯度直方图。假设当前cell的方向梯度直方图为C1,与其位于同一邻域范围的其他cell的方向梯度直方图分别记为C2、C3和C4,则可以按照如下方式分别对18维的有方向梯度直方图和9维的无方向梯度直方图进行归一化:
采用同样的方式可以分别对C2、C3和C4进行归一化。经过归一化处理后可以得到如图10所示的4组18维的有方向归一化直方图和9维的无方向归一化直方图。将这4组直方图按照不同的bin进行累加之后得到27个区域间累加特征值,即可以得到当前cell的27维的HOG特征。然后再将这4组直方图中的18维的有方向归一化直方图各自进行累加之后得到4个区域内累加特征值,即为当前cell的第28、29、30和31维的HOG特征。将27个区域间特征值和4个区域内特征值组合后即得到当前cell的31维的HOG特征。在该应用场景中,一个cell的尺寸为4*4,而统一缩放后的人脸图像的尺寸为256*256,因此通过以上HOG特征的提取算法可以得到维度为64*64*31的人脸图像的整体直方图特征。
2、CNN网络预测。
将HOG特征提取得到的64*64*31的整体直方图特征输入到多任务CNN网络模型中。其中多任务CNN网络模型的结构如图11所示,包含8个卷积层(Convolutional Layer),每个卷积层之后都进行归一化层(Batch Normalization Layer)和ReLU激活函数层的运算,该CNN网络模型中还包含3个池化层(Pooling Layer)。另外,该CNN网络模型中还引入了残差结构,经过第2层和第4层卷积操作之后的结果分别加入到第3层和第6层中。特征层相加操作需要在激活函数之前进行,相加之后的特征层再经过激活函数。残差结构有利于网络的稳定性,可有效地减少梯度消散问题。而在网络的输出端,采用多任务分支,分别输出用于表示68个点的x轴和y轴的坐标的136维的人脸关键点位置信息Face Landmark。另一个分支为用于表示3个头部姿态角度的3维的人脸姿态信息Face Pose,3个头部姿态角度分别为面部平面内旋转角度(roll)、俯仰旋转角度(pitch)和面部平面外旋转角度(yaw)。本发明使用的CNN网络模型,具有模型简单,预测速度快的优点,而且借助于前期HOG特征提取的纹理进行处理,大大简化了网络的训练难度,加速了模型的收敛。该CNN网络模型可以在移动端实时执行,速度快且功耗小。
在人脸关键点检测中,人脸姿态变化、遮挡等情况下会给人脸关键点的精准预测带来很大的难度。在本发明的示例性实施方式中,为了提升算法在姿态变化下的关键点检测精度,设计了新的loss函数,将人脸姿态信息添加到loss函数中的惩罚项中,以此来提升模型的泛化能力。本发明中设计的新的loss函数形式如下:
其中M表示样本数量,K=3表示3种姿态角度,表示第m个人脸图像样本的人脸关键点的L2范数误差。从该loss函数中可以看到如果姿态角度越大,/>的取值就会越大,相应地此人脸图像样本的误差权重就会越大。如果姿态角度都为0的时候,此人脸图像样本的误差权重为1,则为正常人脸图像样本的loss误差。那么在姿态角度变大的时候,这种人脸图像样本是模型预测有困难的样本,需要增大此类人脸图像样本的loss比例,加大模型对此类人脸图像样本的惩罚力度,由此可以提升模型的泛化能力。
采用快速的HOG特征和轻量级的卷积神经网络实现的人脸关键点检测方法,具有模型小、计算速度快的优点,可以在计算能力和存储能力有限移动端设备上进行实时有效的人脸关键点检测。采用多任务分支在预测人脸关键点的同时,也预测了人脸姿态信息,为后续的基于人脸的特效,例如动态贴纸等提供旋转角度信息,使得后续特效能更精准的贴合人脸姿态位置。另外,将人脸姿态信息融入到模型训练中,训练得到的模型具有较强的鲁棒性,对姿态变化较大的人脸也能较为精准的定位人脸关键点。
示例性介质
在介绍了本发明示例性实施方式的方法之后,接下来,对本发明示例性实施方式的介质进行说明。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种介质,其上存储有程序代码,当所述程序代码被设备的处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的人脸关键点检测方法中的步骤。
在本发明的一些示例性实施方式中,所述设备的处理器执行所述程序代码时可以用于实现如图3所示的以下步骤:
步骤S310.将待检测人脸关键点的人脸图像划分为多个特征提取区域。
步骤S320.根据特征提取区域的像素信息确定特征提取区域的方向梯度直方图。
步骤S330.根据方向梯度直方图确定特征提取区域的局部直方图特征。
步骤S340.根据人脸图像内的各个特征提取区域的局部直方图特征确定人脸图像的整体直方图特征。
在本发明的其他一些实施方式中,所述设备的处理器执行所述程序代码时也可以用于实现如图4至图9所示的各个方法步骤。
需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性装置
在介绍了本发明示例性实施方式的介质之后,接下来,参考图12对本发明示例性实施方式的人脸关键点检测装置进行说明。
图12示意性地示出了本发明一些示例性实施方式中人脸关键点检测装置的结构框图。如图12所示,人脸关键点检测装置1200主要可以包括:
图像划分模块1210,被配置为将待检测人脸关键点的人脸图像划分为多个特征提取区域;
直方图确定模块1220,被配置为根据特征提取区域的像素信息确定特征提取区域的方向梯度直方图;
特征提取模块1230,被配置为根据方向梯度直方图确定特征提取区域的局部直方图特征;
特征融合模块1240,被配置为根据人脸图像内的各个特征提取区域的局部直方图特征确定人脸图像的整体直方图特征;
位置预测模块1250,被配置为将整体直方图特征输入预先训练的卷积神经网络以得到人脸图像中的人脸关键点的位置信息。
在本发明的一些示例性实施方式中,基于以上各实施方式,图像划分模块1210包括:
图像获取单元1211,被配置为获取待检测人脸关键点的初始人脸图像;
图像缩放单元1212,被配置为将初始人脸图像缩放至具有预设图像尺寸的人脸图像;
区域划分单元1213,被配置为将人脸图像划分为多个尺寸相同的特征提取区域。
在本发明的一些示例性实施方式中,基于以上各实施方式,直方图确定模块1220包括:
像素梯度确定单元1221,被配置为根据特征提取区域的像素信息确定特征提取区域内各个像素点在两个像素排布方向上的像素梯度;
幅值及角度确定单元1222,被配置为根据两个像素排布方向上的像素梯度确定各个像素点的梯度幅值和梯度方向角;
直方图确定单元1223,被配置为统计各个像素点的梯度幅值和梯度方向角以得到特征提取区域的方向梯度直方图。
在本发明的一些示例性实施方式中,基于以上各实施方式,直方图确定单元1223可以进一步包括:
角度区间确定子单元,被配置为确定多个有方向角度区间和多个无方向角度区间;
有方向直方图确定子单元,被配置为按照有方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到特征提取区域的有方向梯度直方图;
无方向直方图确定子单元,被配置为按照无方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到特征提取区域的无方向梯度直方图。
在本发明的一些示例性实施方式中,基于以上各实施方式,特征提取模块1230包括:
范围确定单元1231,被配置为确定一目标特征提取区域以及与目标特征提取区域相对应的邻域范围;
直方图归一化单元1232,被配置为对邻域范围内的多个特征提取区域的方向梯度直方图进行归一化处理得到各个特征提取区域的归一化直方图;
特征确定单元1233,被配置为根据各个特征提取区域的归一化直方图确定目标特征提取区域的局部直方图特征。
在本发明的一些示例性实施方式中,基于以上各实施方式,方向梯度直方图包括对应于多个有方向角度区间的有方向梯度直方图和对应于多个无方向角度区间的无方向梯度直方图;直方图归一化单元1232可以进一步包括:
有方向归一化子单元,被配置为对邻域范围内的多个特征提取区域的有方向梯度直方图进行归一化处理得到各个特征提取区域的有方向归一化直方图;
无方向归一化子单元,被配置为对邻域范围内的多个特征提取区域的无方向梯度直方图进行归一化处理得到各个特征提取区域的无方向归一化直方图。
在本发明的一些示例性实施方式中,基于以上各实施方式,特征确定单元1233可以进一步包括:
区域间累加子单元,被配置为将各个特征提取区域的归一化直方图按照不同的角度区间进行累加得到多个区域间累加特征值;
区域内累加子单元,被配置为将各个特征提取区域的归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值;
特征值组合子单元,被配置为将区域间累加特征值和区域内累加特征值组合得到目标特征提取区域的局部直方图特征。
在本发明的一些示例性实施方式中,基于以上各实施方式,区域间累加特征值包括对应于多个有方向角度区间的有方向累加特征值和对应于多个无方向角度区间的无方向累加特征值;区域间累加子单元可以进一步包括:
有方向区域间累加子单元,被配置为将各个特征提取区域的有方向归一化直方图按照不同的有方向角度区间进行累加得到多个有方向累加特征值;
无方向区域间累加子单元,被配置为将各个特征提取区域的无方向归一化直方图按照不同的无方向角度区间进行累加得到多个无方向累加特征值。
在本发明的一些示例性实施方式中,基于以上各实施方式,区域内累加子单元可以进一步包括:
有方向区域内累加子单元,被配置为将各个特征提取区域的有方向归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值。
在本发明的一些示例性实施方式中,基于以上各实施方式,预先训练的卷积神经网络的训练装置包括:
信息获取模块,被配置为获取人脸图像样本的整体直方图特征以及人脸图像样本中人脸关键点的标注位置信息;
信息预测模块,被配置为将人脸图像样本的整体直方图特征输入待训练的卷积神经网络,以得到人脸关键点的预测位置信息以及人脸图像样本的人脸姿态信息;
误差确定模块,被配置为确定预测位置信息和标注位置信息之间的预测误差,并根据人脸姿态信息确定预测误差的误差权重;
参数更新模块,被配置为根据预测误差以及误差权重更新卷积神经网络的网络参数。
以上各示例性实施方式中的人脸关键点检测装置的具体细节已在相应的示例性方法部分做出详细说明,因此此处不再赘述。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,介绍根据本发明的另一示例性实施方式的计算设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可能的实施方式中,根据本发明实施方式的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的人脸关键点检测方法中的步骤。
例如,所述处理器可以执行如图3中所示的以下方法步骤:
步骤S310.将待检测人脸关键点的人脸图像划分为多个特征提取区域。
步骤S320.根据特征提取区域的像素信息确定特征提取区域的方向梯度直方图。
步骤S330.根据方向梯度直方图确定特征提取区域的局部直方图特征。
步骤S340.根据人脸图像内的各个特征提取区域的局部直方图特征确定人脸图像的整体直方图特征。
又如,所述处理器也可以执行如图4至图9中所示的各个方法步骤。
应当注意,尽管在上文详细描述中提及了人脸关键点检测装置的若干模块、单元或子单元,但是这种划分仅仅是示例性的,并非是强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或单元的特征和功能可以在一个模块或单元中具体化。反之,上文描述的一个模块或单元的特征和功能可以进一步划分为由多个模块或单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所发明的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (16)
1.一种人脸关键点检测方法,包括:
将待检测人脸关键点的人脸图像划分为多个特征提取区域;
根据所述特征提取区域的像素信息确定所述特征提取区域内各个像素点在两个像素排布方向上的像素梯度;
根据所述两个像素排布方向上的像素梯度确定各个像素点的梯度幅值和梯度方向角;
确定多个有方向角度区间和多个无方向角度区间;
按照所述有方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的有方向梯度直方图;
按照所述无方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的无方向梯度直方图;
确定一目标特征提取区域以及与所述目标特征提取区域相对应的邻域范围;
对所述邻域范围内的多个特征提取区域的方向梯度直方图进行归一化处理得到各个特征提取区域的归一化直方图;
根据各个特征提取区域的归一化直方图确定所述目标特征提取区域的局部直方图特征;
根据所述人脸图像内的各个特征提取区域的局部直方图特征确定所述人脸图像的整体直方图特征;
将所述整体直方图特征输入预先训练的卷积神经网络以得到所述人脸图像中的人脸关键点的位置信息。
2.根据权利要求1所述的人脸关键点检测方法,所述将待检测人脸关键点的人脸图像划分为多个特征提取区域,包括:
获取待检测人脸关键点的初始人脸图像;
将所述初始人脸图像缩放至具有预设图像尺寸的人脸图像;
将所述人脸图像划分为多个尺寸相同的特征提取区域。
3.根据权利要求1所述的人脸关键点检测方法,所述方向梯度直方图包括对应于多个有方向角度区间的有方向梯度直方图和对应于多个无方向角度区间的无方向梯度直方图;所述对所述邻域范围内的多个特征提取区域的方向梯度直方图进行归一化处理得到各个特征提取区域的归一化直方图,包括:
对所述邻域范围内的多个特征提取区域的有方向梯度直方图进行归一化处理得到各个特征提取区域的有方向归一化直方图;
对所述邻域范围内的多个特征提取区域的无方向梯度直方图进行归一化处理得到各个特征提取区域的无方向归一化直方图。
4.根据权利要求1所述的人脸关键点检测方法,所述根据各个特征提取区域的归一化直方图确定所述目标特征提取区域的局部直方图特征,包括:
将各个特征提取区域的归一化直方图按照不同的角度区间进行累加得到多个区域间累加特征值;
将各个特征提取区域的归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值;
将所述区域间累加特征值和所述区域内累加特征值组合得到所述目标特征提取区域的局部直方图特征。
5.根据权利要求4所述的人脸关键点检测方法,所述区域间累加特征值包括对应于多个有方向角度区间的有方向累加特征值和对应于多个无方向角度区间的无方向累加特征值;所述将各个特征提取区域的归一化直方图按照不同的角度区间进行累加得到多个区域间累加特征值,包括:
将各个特征提取区域的有方向归一化直方图按照不同的有方向角度区间进行累加得到多个有方向累加特征值;
将各个特征提取区域的无方向归一化直方图按照不同的无方向角度区间进行累加得到多个无方向累加特征值。
6.根据权利要求4所述的人脸关键点检测方法,所述将各个特征提取区域的归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值,包括:
将各个特征提取区域的有方向归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值。
7.根据权利要求1所述的人脸关键点检测方法,所述预先训练的卷积神经网络的训练方法包括:
获取人脸图像样本的整体直方图特征以及所述人脸图像样本中人脸关键点的标注位置信息;
将所述人脸图像样本的整体直方图特征输入待训练的卷积神经网络,以得到人脸关键点的预测位置信息以及所述人脸图像样本的人脸姿态信息;
确定所述预测位置信息和所述标注位置信息之间的预测误差,并根据所述人脸姿态信息确定所述预测误差的误差权重;
根据所述预测误差以及所述误差权重更新所述卷积神经网络的网络参数。
8.一种介质,其上存储有程序,该程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
9.一种人脸关键点检测装置,包括:
图像划分模块,被配置为将待检测人脸关键点的人脸图像划分为多个特征提取区域;
直方图确定模块,包括:像素梯度确定单元,被配置为根据所述特征提取区域的像素信息确定所述特征提取区域内各个像素点在两个像素排布方向上的像素梯度;幅值及角度确定单元,被配置为根据所述两个像素排布方向上的像素梯度确定各个像素点的梯度幅值和梯度方向角;直方图确定单元包括:角度区间确定子单元,被配置为确定多个有方向角度区间和多个无方向角度区间;有方向直方图确定子单元,被配置为按照所述有方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的有方向梯度直方图;无方向直方图确定子单元,被配置为按照所述无方向角度区间统计各个像素点的梯度幅值和梯度方向角以得到所述特征提取区域的无方向梯度直方图;
特征提取模块包括:范围确定单元,被配置为确定一目标特征提取区域以及与所述目标特征提取区域相对应的邻域范围;直方图归一化单元,被配置为对所述邻域范围内的多个特征提取区域的方向梯度直方图进行归一化处理得到各个特征提取区域的归一化直方图;特征确定单元,被配置为根据各个特征提取区域的归一化直方图确定所述目标特征提取区域的局部直方图特征;
特征融合模块,被配置为根据所述人脸图像内的各个特征提取区域的局部直方图特征确定所述人脸图像的整体直方图特征;
位置预测模块,被配置为将所述整体直方图特征输入预先训练的卷积神经网络以得到所述人脸图像中的人脸关键点的位置信息。
10.根据权利要求9所述的人脸关键点检测装置,所述图像划分模块包括:
图像获取单元,被配置为获取待检测人脸关键点的初始人脸图像;
图像缩放单元,被配置为将所述初始人脸图像缩放至具有预设图像尺寸的人脸图像;
区域划分单元,被配置为将所述人脸图像划分为多个尺寸相同的特征提取区域。
11.根据权利要求9所述的人脸关键点检测装置,所述特征确定单元包括:
区域间累加子单元,被配置为将各个特征提取区域的归一化直方图按照不同的角度区间进行累加得到多个区域间累加特征值;
区域内累加子单元,被配置为将各个特征提取区域的归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值;
特征值组合子单元,被配置为将所述区域间累加特征值和所述区域内累加特征值组合得到所述目标特征提取区域的局部直方图特征。
12.根据权利要求9所述的人脸关键点检测装置,所述方向梯度直方图包括对应于多个有方向角度区间的有方向梯度直方图和对应于多个无方向角度区间的无方向梯度直方图;所述直方图归一化单元包括:
有方向归一化子单元,被配置为对所述邻域范围内的多个特征提取区域的有方向梯度直方图进行归一化处理得到各个特征提取区域的有方向归一化直方图;
无方向归一化子单元,被配置为对所述邻域范围内的多个特征提取区域的无方向梯度直方图进行归一化处理得到各个特征提取区域的无方向归一化直方图。
13.根据权利要求12所述的人脸关键点检测装置,所述区域间累加特征值包括对应于多个有方向角度区间的有方向累加特征值和对应于多个无方向角度区间的无方向累加特征值;所述区域间累加子单元包括:
有方向区域间累加子单元,被配置为将各个特征提取区域的有方向归一化直方图按照不同的有方向角度区间进行累加得到多个有方向累加特征值;
无方向区域间累加子单元,被配置为将各个特征提取区域的无方向归一化直方图按照不同的无方向角度区间进行累加得到多个无方向累加特征值。
14.根据权利要求12所述的人脸关键点检测装置,所述区域内累加子单元包括:
有方向区域内累加子单元,被配置为将各个特征提取区域的有方向归一化直方图按照不同的特征提取区域进行累加得到多个区域内累加特征值。
15.根据权利要求9所述的人脸关键点检测装置,所述预先训练的卷积神经网络的训练装置包括:
信息获取模块,被配置为获取人脸图像样本的整体直方图特征以及所述人脸图像样本中人脸关键点的标注位置信息;
信息预测模块,被配置为将所述人脸图像样本的整体直方图特征输入待训练的卷积神经网络,以得到人脸关键点的预测位置信息以及所述人脸图像样本的人脸姿态信息;
误差确定模块,被配置为确定所述预测位置信息和所述标注位置信息之间的预测误差,并根据所述人脸姿态信息确定所述预测误差的误差权重;
参数更新模块,被配置为根据所述预测误差以及所述误差权重更新所述卷积神经网络的网络参数。
16.一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911214676.XA CN111008589B (zh) | 2019-12-02 | 2019-12-02 | 人脸关键点检测方法、介质、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911214676.XA CN111008589B (zh) | 2019-12-02 | 2019-12-02 | 人脸关键点检测方法、介质、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111008589A CN111008589A (zh) | 2020-04-14 |
CN111008589B true CN111008589B (zh) | 2024-04-09 |
Family
ID=70113501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911214676.XA Active CN111008589B (zh) | 2019-12-02 | 2019-12-02 | 人脸关键点检测方法、介质、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008589B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611917A (zh) * | 2020-05-20 | 2020-09-01 | 北京华捷艾米科技有限公司 | 模型训练方法、特征点检测方法、装置、设备及存储介质 |
CN112614213B (zh) * | 2020-12-14 | 2024-01-23 | 杭州网易云音乐科技有限公司 | 人脸表情确定方法、表情参数确定模型、介质及设备 |
CN115776410B (zh) * | 2023-01-29 | 2023-05-02 | 深圳汉德霍尔科技有限公司 | 用于终端身份认证的人脸数据加密传输方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544488A (zh) * | 2013-11-07 | 2014-01-29 | 湖南创合制造有限公司 | 一种人脸识别方法及装置 |
CN104299005A (zh) * | 2013-07-15 | 2015-01-21 | 深圳市振邦实业有限公司 | 一种人头检测方法及*** |
CN104809187A (zh) * | 2015-04-20 | 2015-07-29 | 南京邮电大学 | 一种基于rgb-d数据的室内场景语义标注方法 |
CN105550657A (zh) * | 2015-12-23 | 2016-05-04 | 北京化工大学 | 基于关键点的改进sift人脸特征提取方法 |
CN106295566A (zh) * | 2016-08-10 | 2017-01-04 | 北京小米移动软件有限公司 | 人脸表情识别方法及装置 |
CN106503697A (zh) * | 2016-12-05 | 2017-03-15 | 北京小米移动软件有限公司 | 目标识别方法及装置、人脸识别方法及装置 |
CN108108677A (zh) * | 2017-12-12 | 2018-06-01 | 重庆邮电大学 | 一种基于改进的cnn人脸表情识别方法 |
CN109740426A (zh) * | 2018-11-23 | 2019-05-10 | 成都品果科技有限公司 | 一种基于采样卷积的人脸关键点检测方法 |
CN109784147A (zh) * | 2018-12-05 | 2019-05-21 | 北京达佳互联信息技术有限公司 | 关键点检测方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682091A (zh) * | 2012-04-25 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 基于云服务的视觉搜索方法和*** |
-
2019
- 2019-12-02 CN CN201911214676.XA patent/CN111008589B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104299005A (zh) * | 2013-07-15 | 2015-01-21 | 深圳市振邦实业有限公司 | 一种人头检测方法及*** |
CN103544488A (zh) * | 2013-11-07 | 2014-01-29 | 湖南创合制造有限公司 | 一种人脸识别方法及装置 |
CN104809187A (zh) * | 2015-04-20 | 2015-07-29 | 南京邮电大学 | 一种基于rgb-d数据的室内场景语义标注方法 |
CN105550657A (zh) * | 2015-12-23 | 2016-05-04 | 北京化工大学 | 基于关键点的改进sift人脸特征提取方法 |
CN106295566A (zh) * | 2016-08-10 | 2017-01-04 | 北京小米移动软件有限公司 | 人脸表情识别方法及装置 |
CN106503697A (zh) * | 2016-12-05 | 2017-03-15 | 北京小米移动软件有限公司 | 目标识别方法及装置、人脸识别方法及装置 |
CN108108677A (zh) * | 2017-12-12 | 2018-06-01 | 重庆邮电大学 | 一种基于改进的cnn人脸表情识别方法 |
CN109740426A (zh) * | 2018-11-23 | 2019-05-10 | 成都品果科技有限公司 | 一种基于采样卷积的人脸关键点检测方法 |
CN109784147A (zh) * | 2018-12-05 | 2019-05-21 | 北京达佳互联信息技术有限公司 | 关键点检测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111008589A (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214343B (zh) | 用于生成人脸关键点检测模型的方法和装置 | |
CN111583284B (zh) | 一种基于混合模型的小样本图像语义分割方法 | |
CN111008589B (zh) | 人脸关键点检测方法、介质、装置和计算设备 | |
US20200160124A1 (en) | Fine-grained image recognition | |
CN108229419B (zh) | 用于聚类图像的方法和装置 | |
CN112651438A (zh) | 多类别图像的分类方法、装置、终端设备和存储介质 | |
US20230394669A1 (en) | Point cloud segmentation method and apparatus, device, and storage medium | |
CN112329826A (zh) | 图像识别模型的训练方法、图像识别方法和装置 | |
CN112862874A (zh) | 点云数据匹配方法、装置、电子设备及计算机存储介质 | |
CN111108508A (zh) | 脸部情感识别方法、智能装置和计算机可读存储介质 | |
CN113869282A (zh) | 人脸识别方法、超分模型训练方法及相关设备 | |
CN114330565A (zh) | 一种人脸识别方法及装置 | |
CN113569855A (zh) | 一种舌象分割方法、设备及存储介质 | |
CN114332590B (zh) | 联合感知模型训练、联合感知方法、装置、设备和介质 | |
CN114416260A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115546549A (zh) | 点云分类模型构建方法、点云分类方法、装置及设备 | |
CN111429414B (zh) | 基于人工智能的病灶影像样本确定方法和相关装置 | |
CN111709473B (zh) | 对象特征的聚类方法及装置 | |
CN114882334B (zh) | 用于生成预训练模型的方法、模型训练方法及装置 | |
CN108062576B (zh) | 用于输出数据的方法和装置 | |
CN113255819B (zh) | 用于识别信息的方法和装置 | |
CN115205779A (zh) | 基于人群图像模板的人数检测方法 | |
CN111291640B (zh) | 用于识别步态的方法和装置 | |
CN114387465A (zh) | 图像识别方法、装置、电子设备和计算机可读介质 | |
CN116310615A (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 |