CN112017212B - 人脸关键点跟踪模型的训练、跟踪方法及系统 - Google Patents
人脸关键点跟踪模型的训练、跟踪方法及系统 Download PDFInfo
- Publication number
- CN112017212B CN112017212B CN202010871055.5A CN202010871055A CN112017212B CN 112017212 B CN112017212 B CN 112017212B CN 202010871055 A CN202010871055 A CN 202010871055A CN 112017212 B CN112017212 B CN 112017212B
- Authority
- CN
- China
- Prior art keywords
- face
- image
- key point
- frame
- positions
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种人脸关键点跟踪模型的训练方法、人脸关键点的跟踪方法、系统、电子设备及存储介质,训练方法包括:从若干人脸样本中获取第一人脸图像中的第一人脸关键点位置及第二人脸图像中的第二人脸关键点位置;生成第一相似变换矩阵,根据第一相似变换矩阵调整第二人脸图像以得到第二规范化人脸图像;生成人脸热力图;将人脸热力图及第二规范化人脸图像作为输入,第二人脸关键点位置作为输出训练深度卷积神经网络以得到人脸关键点跟踪模型。本发明可以模拟真实场景下前后两帧,使在真实检测时可以在检测当前真图像时参考上一帧图像,不仅使训练的模型更准确,帧与帧之间人脸关键点位置的抖动更小,也提高了训练的精确度与稳定性。
Description
技术领域
本发明涉及计算机视觉领域,特别涉及一种人脸关键点跟踪模型的训练、跟踪方法及系统、设备及介质。
背景技术
人脸关键点位置跟踪的目的是在视频中,对连续存在的人脸目标的关键点位置进行连续的检测,这些关键点位置通常包括眉毛轮廓、眼睛轮廓、鼻梁轮廓、嘴唇轮廓、脸部轮廓等。人脸关键点位置检测技术是人脸识别、人脸表情分析、人脸姿态、人脸美化等应用的基础,具有重要的地位。
公开号为CN110852254A的专利公开了一种人脸关键点位置跟踪方法、介质、装置和计算设备。该专利采用光流法跟踪有明显特征的人脸关键点位置,再用RANSAC(随机抽样一致算法)技术将光流跟踪的关键点位置与上一帧进行匹配,求两帧关键点位置之间的映射矩阵,再将上一帧的关键点位置全部映射到下一帧。
上述方案的缺点是,前后帧人脸关键点位置仅通过一个映射矩阵进行匹配映射,但实际上视频中人脸部变化是非刚性的变换,人脸的姿态、表情都会发生变换,用一个矩阵无法准确的表达前后帧人脸关键点位置的映射关系,这样会导致跟踪的关键点位置不够准确。
发明内容
本发明要解决的技术问题是为了克服现有技术中在视频人脸关键点位置跟踪不准的缺陷,提供一种能更准确跟踪人脸关键点位置的人脸关键点跟踪模型的训练、跟踪方法及系统、设备及介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供了一种人脸关键点跟踪模型的训练方法,所述训练方法包括:
从若干人脸样本中获取第一人脸图像中的第一人脸关键点位置及第二人脸图像中的第二人脸关键点位置,所述第一人脸关键点位置与所述第二人脸关键点位置为同一人脸的关键点位置;
根据所述第一人脸关键点位置生成第一相似变换矩阵,所述第一相似变换矩阵用于将图像调整为符合深度卷积神经网络的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述深度卷积神经网络的预设输入尺寸一致;
根据所述第一相似变换矩阵调整所述第二人脸图像以得到第二规范化人脸图像;
根据所述第一人脸关键点位置及所述第一相似变换矩阵生成人脸热力图,所述人脸热力图用于对所述第一人脸关键点位置与其它位置区别显示,所述人脸热力图符合所述深度卷积神经网络的所述输入标准;
将所述人脸热力图及所述第二规范化人脸图像作为输入,所述第二规范化人脸图像中的所述第二人脸关键点位置作为输出训练深度卷积神经网络以得到人脸关键点跟踪模型。
较佳地,所述将所述人脸热力图及所述第二规范化人脸图像作为输入,所述第二规范化人脸图像中的所述第二人脸关键点位置作为输出训练深度卷积神经网络的步骤后还包括:
判断第一损失函数是否收敛,若是,则确定训练后的所述深度卷积神经网络为所述人脸关键点跟踪模型。
较佳地,所述从若干人脸样本中获取第一人脸图像中的第一人脸关键点位置及第二人脸图像中的第二人脸关键点位置的步骤包括:
获取若干真实的人脸样本;
对于每一所述人脸样本,标定所述人脸样本中的真实关键点位置,并将所述真实关键点位置作为第一人脸关键点位置;
对所述人脸样本进行仿射变换,并将仿射变换后的所述人脸样本中的所述真实关键点位置作为第二人脸关键点位置。
较佳地,所述根据所述第一人脸关键点位置及所述第一相似变换矩阵生成人脸热力图的步骤包括:
根据所述第一相似变换矩阵调整所述第一人脸关键点位置;
连接调整后的位于同一边缘的所述第一人脸关键点位置;
将连接后的所述第一人脸关键点位置设置为第一权重;
将除连接后的所述第一人脸关键点位置的其它位置设置为第二权重;
根据所述第一权重及所述第二权重生成人脸热力图,所述第一权重与所述第二权重不同。
较佳地,所述根据所述第一权重及所述第二权重生成人脸热力图的步骤包括:
对设置了权重后的所述第一人脸关键点位置及所述其它位置做平滑处理;
根据平滑处理后的所述第一人脸关键点位置及所述其它位置生成人脸热力图。
较佳地,所述训练方法还包括:
从若干非人脸样本中获取非人脸图像;
根据所述第一相似变换矩阵调整所述非人脸图像以得到规范化非人脸图像;
将所述规范化非人脸图像或所述第二规范化人脸图像作为输入,输入的图像是否为人脸图像的结果作输出,训练所述深度卷积神经网络直至第二损失函数收敛。
较佳地,所述输入标准还包括中心标准、方向标准及位置标准中的至少一种,所述中心标准为图像中人脸部分的中心与ROI(注意区域)区域的中心对齐,所述ROI区域为根据图像中人脸关键点位置生成的区域,所述方向标准为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行,所述位置标准为图像中所有关键点位置的坐标均为非负值。
本发明还提供了一种人脸关键点的跟踪方法,所述跟踪方法包括:
从视频流中获取连续的第一帧图像及第二帧图像;
根据所述第一帧图像的第一帧人脸关键点位置生成第二相似变换矩阵,所述第二相似变换矩阵用于将图像调整为符合如上所述的训练方法所训练出的人脸关键点跟踪模型的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述人脸关键点跟踪模型的预设输入尺寸一致;
根据所述第二相似变换矩阵调整所述第二帧图像以得到第二规范化人脸图像;
根据所述第一帧人脸关键点位置及所述第二相似变换矩阵生成第一帧人脸热力图;
将所述第一帧人脸热力图以及所述第二帧规范化人脸图像输入至所述人脸关键点跟踪模型中以获取所述第二帧图像中的规范化人脸关键点位置;
调整所述规范化人脸关键点的位置以获取真实人脸关键点位置,所述真实人脸关键点位置与调整前的所述第二帧图像相匹配;
所述第一帧人脸热力图符合所述人脸关键点跟踪模型的所述输入标准。
较佳地,所述输入标准还包括中心标准、方向标准及位置标准中的至少一种,
所述中心标准为图像中人脸部分的中心与ROI区域的中心对齐,所述ROI区域为根据图像中人脸关键点位置生成的区域,所述方向标准为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行,所述位置标准为图像中所有关键点位置的坐标均为非负值;
和/或,
当所述训练方法还包括对非人脸图像进行训练时,所述将所述第一帧人脸热力图以及所述第二帧规范化人脸图像输入至如上所述的训练方法所训练出的人脸关键点跟踪模型中以获取所述第二帧图像中的规范化人脸关键点位置的步骤包括:判断所述第二帧图像是否为人脸图像,若是,则获取所述第二帧图像中的规范化人脸关键点位置。
本发明还提供了一种人脸关键点跟踪模型的训练系统,所述训练系统包括:人脸关键点获取模块、第一相似变换矩阵生成模块、第一图像调整模块、热力图生成模块及模型训练模块;
所述人脸关键点获取模块用于从若干人脸样本中获取第一人脸图像中的第一人脸关键点位置及第二人脸图像中的第二人脸关键点位置,所述第一人脸关键点位置与所述第二人脸关键点位置为同一人脸的关键点位置;
所述第一相似变换矩阵生成模块用于根据所述第一人脸关键点位置生成第一相似变换矩阵,所述第一相似变换矩阵用于将图像调整为符合深度卷积神经网络的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述深度卷积神经网络的预设输入尺寸一致;
所述第一图像调整模块用于根据所述第一相似变换矩阵调整所述第二人脸图像以得到第二规范化人脸图像;
所述热力图生成模块用于根据所述第一人脸关键点位置及所述第一相似变换矩阵生成人脸热力图,所述人脸热力图用于对所述第一人脸关键点位置与其它位置区别显示,所述人脸热力图符合所述深度卷积神经网络的所述输入标准;
所述模型训练模块用于将所述人脸热力图及所述第二规范化人脸图像作为输入,所述第二规范化人脸图像中的所述第二人脸关键点位置作为输出训练深度卷积神经网络以得到人脸关键点跟踪模型。
较佳地,所述训练系统还包括模型生成模块,所述模型训练模块还用于调用所述模型生成模块,所述模型生成模块用于判断第一损失函数是否收敛,若是,则确定训练后的所述深度卷积神经网络为所述人脸关键点跟踪模型。
较佳地,所述人脸关键点获取模块包括人脸样本获取单元、关键点标定单元及仿射变换单元;
所述人脸样本获取单元用于获取若干真实的人脸样本;
所述关键点标定单元用于对于每一所述人脸样本,标定所述人脸样本中的真实关键点位置,并将所述真实关键点位置作为第一人脸关键点位置;
所述仿射变换单元用于对所述人脸样本进行仿射变换,并将仿射变换后的所述人脸样本中的所述真实关键点位置作为第二人脸关键点位置。
较佳地,所述热力图生成模块包括:关键点调整单元、关键点连接单元、第一权重设置单元、第二权重设置单元及热力图生成单元;
所述关键点调整单元用于根据所述第一相似变换矩阵调整所述第一人脸关键点位置;所述关键点连接单元用于连接调整后的位于同一边缘的所述第一人脸关键点位置;
所述第一权重设置单元用于将连接后的所述第一人脸关键点位置设置为第一权重;
所述第二权重设置单元用于将除连接后的所述第一人脸关键点位置的其它位置设置为第二权重;
所述热力图生成单元用于根据所述第一权重及所述第二权重生成人脸热力图,所述第一权重与所述第二权重不同。
较佳地,所述热力图生成单元包括平滑处理子单元及热力图生成子单元:
所述平滑处理子单元用于对设置了权重后的所述第一人脸关键点位置及所述其它位置做平滑处理;
所述热力图生成子单元用于根据平滑处理后的所述第一人脸关键点位置及所述其它位置生成人脸热力图。
较佳地,所述训练系统还包括:非人脸样本获取模块,用于从若干非人脸样本中获取非人脸图像;
所述第一图像调整模块还用于根据所述第一相似变换矩阵调整所述非人脸图像以得到规范化非人脸图像;
所述模型训练模块还用于将所述规范化非人脸图像或所述第二规范化人脸图像作为输入,输入的图像是否为人脸图像的结果作输出,训练所述深度卷积神经网络直至第二损失函数收敛。
较佳地,所述输入标准还包括中心标准、方向标准及位置标准中的至少一种,所述中心标准为图像中人脸部分的中心与ROI区域的中心对齐,所述ROI区域为根据图像中人脸关键点位置生成的区域,所述方向标准为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行,所述位置标准为图像中所有关键点位置的坐标均为非负值。
本发明还提供了一种人脸关键点的跟踪系统,所述跟踪系统包括:图像帧获取模块、第二相似变换矩阵生成模块、第二图像调整模块、关键点跟踪模块及关键点还原模块;
所述图像帧获取模块用于从视频流中获取连续的第一帧图像及第二帧图像;
所述第二相似变换矩阵生成模块用于根据所述第一帧图像的第一帧人脸关键点位置生成第二相似变换矩阵,所述第二相似变换矩阵用于将图像调整为符合如上所述的训练系统所训练出的人脸关键点跟踪模型的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述人脸关键点跟踪模型的预设输入尺寸一致;
所述第二图像调整模块用于根据所述第二相似变换矩阵调整所述第二帧图像以得到第二规范化人脸图像;
所述关键点跟踪模块用于根据所述第一帧人脸关键点位置及所述第二相似变换矩阵生成第一帧人脸热力图并将所述第一帧人脸热力图以及所述第二帧规范化人脸图像输入至所述人脸关键点跟踪模型中以获取所述第二帧图像中的规范化人脸关键点位置;
所述关键点还原模块用于调整所述规范化人脸关键点的位置以获取真实人脸关键点位置,所述真实人脸关键点位置与调整前的所述第二帧图像相匹配;
所述第一帧人脸热力图符合所述人脸关键点跟踪模型的所述输入标准。
较佳地,所述输入标准还包括中心标准、方向标准及位置标准中的至少一种,所述中心标准为图像中人脸部分的中心与ROI区域的中心对齐的标准,所述ROI区域为根据所述第一帧图像中人脸关键点位置生成的区域,所述方向标准为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行的标准,所述位置标准为图像中所有关键点位置的坐标均为非负值的标准;
和/或,
当所述模型训练模块还用于对非人脸图像进行训练时,所述关键点跟踪模块还包括人脸判断单元及关键点识别单元:所述人脸判断单元用于判断所述第二帧图像是否为人脸图像,若是,则调用所述关键点识别单元,所述关键点识别单元用于获取所述第二帧图像中的规范化人脸关键点位置。
本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的人脸关键点跟踪模型的训练方法,或如上所述的人脸关键点的跟踪方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的人脸关键点跟踪模型的训练方法的步骤,或如上所述的人脸关键点的跟踪方法的步骤。
本发明的积极进步效果在于:
本发明通过获取真实人脸图像,真实人脸图像变换后的图像作为模拟人脸图像,并且通过将规范后的真实人脸图像以及根据模拟人脸图像生成的人脸热力图来训练深度卷积神经网络,从而可以模拟真实场景下视频流的前后两帧,使得在真实检测时,可以在检测当前真实人脸图像时参考上一帧的图像,不仅使训练出的模型更准确,帧与帧之间人脸关键点位置的抖动更小,也提高了人脸关键点跟踪模型训练时的精确度与稳定性。
附图说明
图1为本发明实施例1的人脸关键点跟踪模型的训练方法的流程图。
图2为实施例1中步骤104的实现方式的流程图。
图3为本发明实施例2的人脸关键点跟踪模型的训练方法的部分流程图。
图4为本发明实施例3的人脸关键点的跟踪方法的流程图。
图5为本发明实施例4的人脸关键点的跟踪方法的流程图。
图6为本发明实施例5的人脸关键点跟踪模型的训练系统的模块示意图。
图7为实施例5中第一图像调整模块的单元示意图。
图8为实施例5中热力图生成模块的单元示意图。
图9为本发明实施例7的人脸关键点跟踪模型的训练系统的模块示意图。
图10为本发明实施例9的电子设备的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供了一种人脸关键点跟踪模型的训练方法,如图1所示,该训练方法包括:
步骤101、从若干人脸样本中获取第一人脸图像中的第一人脸关键点位置及第二人脸图像中的第二人脸关键点位置。
其中,第一人脸关键点位置与第二人脸关键点位置为同一人脸的关键点位置。
其中,本实施例中可以通过多种方式来获取人脸样本,在一种具体的实施方式中,可以获取拍摄的人脸的视频流,并将视频流中的前后两帧图像分别作为第一人脸图像及第二人脸图像,在此种方式下,在得到第一人脸图像及第二人脸图像后,可以对第一人脸图像及第二人脸图像中的第一人脸关键点位置及第二人脸关键点位置分别进行标定。
在另一种具体的实时方式中,可以获取若干真实人脸图像,将该真实人脸图像作为第一人脸图像,随机对第一人脸图像进行仿射变换以得到第二人脸图像,此处的仿射变换包括但不限于平移变换、缩放变换、旋转变换等方式。在此种方式下,在得到第一人脸图像及第二人脸图像后,对第一人脸图像进行标定以得到第一人脸图像中的第一人脸关键点位置,应当理解,进行仿射变换后的第一人脸图像中的第一人脸关键点位置也随之发生变换,即变为第二人脸图像中的第二人脸关键点位置。
应当理解,前述对人脸关键点位置进行标定的方法可以采用现有技术中可以实现对人脸关键点进行标定的方式,本实施例并不对具体标定的方法进行限定。
应当理解,人脸关键点为构成人脸的关键部位,如嘴巴、眼睛、眉毛、脸颊等的各个像素点的组合,本实施例中的人脸关键点可以根据现有技术中的人脸关键点进行理解,本实施例并不对此进行限定。
步骤102、根据第一人脸关键点位置生成第一相似变换矩阵。
其中,所述第一相似变换矩阵用于将图像调整为符合深度卷积神经网络的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述深度卷积神经网络的预设输入尺寸一致。
其中,生成第一相似变换矩阵的目的在于,在接下来的步骤中可以通过第一相似变换矩阵来调整第二人脸图像以生成第二规范化人脸图,从而使第二规范化图像均符合深度卷积神经网络的输入标准,同时,可以通过第一相似变换矩阵来调整第一人脸关键点位置,从而使调整后的第一人脸关键点位置符合深度卷积神经网络的输入标准。
其中,输入标准具体包括但不限于尺寸标准、中心标准、方向标准及位置标准,应当理解,本文中的尺寸标准意为图像的尺寸与深度卷积神经网络的预设输入尺寸一致,中心标准意为图像中人脸部分的中心与ROI区域的中心对齐,其中,ROI区域为根据图像中的人脸关键点位置生成的区域,具体对于本实施例而言,ROI区域为根据第一人脸关键点位置生成的区域,方向标准意为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行,位置标准意为图像中所有关键点位置的坐标均为非负值。
其中,上述生成第一相似变换矩阵的具体调整方式中,生成可以将图像调整为符合深度卷积神经网络的尺寸标准的第一相似变换矩阵为本实施例的必要步骤,而其它的具体调整方式,都可以根据实际需求进行选择。
为了更好的理解步骤102,下面通过一具体实例对步骤102进行说明:
对于每一第一人脸图像,估计包围所有关键点的最小长方形,假设第一人脸关键点个数为N,每一第一人脸关键点的坐标为(xi,yi),i表示第i个点,则第n个关键点坐标为(xn,yn),用rect.x、rect.y、rect.width,及rect.height分别表示该最小长方形的左上角x坐标、左上角y坐标、宽及高。则:
然后,将该最小长方形放大一个合适的倍数得到一个ROI区域,该倍数可以但不限于设为2.0。用roi.x、roi.y、roi.width,及roi.height分别表示ROI区域左上角x坐标、左上角y坐标、宽及高。则可以根据下面的公式分别得到roi.x、roi.y、roi.width,及roi.height:
用第一人脸关键点位置中的两个眼睛的中心的连线与水平面之间的夹脚来估计人脸的旋转角度θ,其中θ可以根据下面的公式求出:
θ=atan(eyeLeft.y-eyeRight.y,eyeLeft.x-eyeRight.x)
其中,eyeLeft.x与eyeLeft.y分别表示第一人脸关键点位置中的左眼中心的x坐标与y坐标,eyeRight.x与eyeRight.y分别表示第一人脸关键点位置中的右眼中心的x坐标与y坐标。
结合上述ROI区域和人脸旋转角度θ估计一个相似变换矩阵,该相似变换由4个变换组合而成:
第1个变换为图像平移,图像平移在坐标轴上的体现为(-srcCenterx,-srcCentery),其中,-srcCenterx表示朝x轴负方向移动的距离为srcCenterx,-srcCentery表示朝y轴负方向移动的距离为srcCentery,具体的,srcCenterx和srcCentery可以通过下面的公式计算得出:
该平移变换的变换矩阵T1为:
应当理解,第1个变换的目的在于使变换后的图像的中心点与ROI区域的中心点重合,以可以得到图像中关于人脸的更多的信息点。
第2个变换为图像旋转-θ,该旋转变换的变换矩阵T2为:
应当理解,第2个变换的目的在于使变换后的图像的两个眼睛中的中心点之间的连线与地面平行。
第3个变换为图像缩放scale,其中,scale表示缩放的比例,应当理解,此处的缩放既可以表示放大,又可以表示缩小,具体的,scale=dstWidth/src Width,其中,srcWidth是ROI区域的宽即roi.width,dstWidth是深度卷积神经网络模型预设输入宽度,缩放变换矩阵T3为:
第4个变换为图像平移(dstCenterx,dstCentery),dstCenterx与dstCentery分别表示在x轴的正方向的移动距离和在y轴正方向上的移动距离,具体的,dstCenterx与dstCentery可以通过下列公式计算得出:
其中,dstWidth,dstHeight分别为深度卷积神经网络模型预设输入宽度及高度,第4个平移变换矩阵T4为:
上述四个变换合并后的相似变换矩阵T为:
T=T4T3T2T1
可以通过上述方法得到最终的相似变换矩阵T。
应当理解,前述坐标系可以根据实际需求建立,如可以将第一人脸图像中的左下角的第一人脸关键点位置作为原点,位于第一人脸图像上且与地面平行直线作为x轴,与x轴垂直的直线作为y轴建立坐标系,也可以将第一人脸图像中的左上角的第一人脸关键点位置作为原点,根据前述为x轴与y轴建立坐标系,本实施例中并不对建立坐标系的方式进行限定。
步骤103、根据第一相似变换矩阵调整第二人脸图像以得到第二规范化人脸图像。
本实施例中,可以根据第一相似变换矩阵提取第二规范化人脸图像,具体提取图像的方法可以采用双线性插值的方法,上述方法仅作为本实施例中的举例说明,提取图像的具体方法可以根据实际情况进行选择,本实施例并不对此进行限定。
步骤104、根据第一人脸关键点位置及第一相似变换矩阵生成人脸热力图。
其中,在一种具体实施方式中,可以利用相似变换矩阵T使第一人脸图像中的第一人脸关键点符合深度卷积神经网络的输入标准。而后,再根据符合深度卷积神经网络的输入标准的人脸关键点生成人脸热力图;在另一种具体实施方式中,也可以先根据第一人脸图像中的第一人脸关键点生成一中间人脸热力图,再利用相似变换矩阵T调整中间人脸热力图以生成最终的人脸热力图,以使之符合深度卷积神经网络的输入标准。
其中,该人脸热力图用于对第一人脸关键点位置与其它位置区别显示。
如图2所示,步骤104可以具体包括:
步骤1040、根据所述第一相似变换矩阵调整所述第一人脸关键点位置。
步骤1041、连接调整后的位于同一边缘的第一人脸关键点位置。
步骤1042、将连接后的每一像素点设置为第一权重。
步骤1043、将除连接后的像素点外的其它位置设置为第二权重。
步骤1044、对设置了权重后第一人脸关键点位置及其它位置做做平滑处理。
步骤1045、根据平滑处理后的第一人脸关键点位置及其它位置生成人脸热力图。
其中,为了将第一人脸关键点位置与其它位置进行区别显示,可以通过步骤1042及步骤1043将第一人脸关键点位置与其它位置的权重区分开,如可以将每一第一人脸关键点位置的权重设为1.0,其他位置均设置为0.0,然后连接处在同一个边缘的第一人脸关键点位置,如连接所有处于脸部轮廓的第一人脸关键点位置、连接所有属于右眼轮廓的第一人脸关键点位置、连接所有属于左眼轮廓的第一人脸关键点位置、连接所有属于嘴巴外轮廓的第一人脸关键点位置、连接所有属于嘴巴内轮廓的第一人脸关键点位置等,并且将连线上的权重也设为1.0,从而可以生成中间人脸热力图,进一步通过高斯核对中间人脸热力图进行平滑处理,具体平滑处理的方式可以为均值滤波、中值滤波、高斯滤波、双边滤波等,本实施例中,通过高斯滤波对中间人脸热力图进行平滑处理,且高斯核大小设置为7x7,应当理解,上述对中间人脸热力图进行平滑处理的方式只是作为一个举例说明,实际中平滑处理的方式可以根据现有技术进行选择。
步骤105、将人脸热力图及第二规范化人脸图像作为输入,第二规范化人脸图像中的第二人脸关键点位置作为输出训练深度卷积神经网络。
其中,将步骤104生成的上述人脸热力图及第二规范化人脸图像合并输入至深度卷积神经网络中进行训练,具体的,该合并的方式可以为将人脸热力图及第二规范化人脸图像作为一个新的通道输入至深度卷积神经网络中,对应的,将模型的输出设为对应的第二规范化人脸图像中的第二人脸关键点,进行训练。此外,可以根据现有技术中对机器学习模型训练完成的方式来判断本实施例中的深度卷积神经网络是否训练完成,如,可以当深度卷积神经网络的预设第一损失函数训练至收敛时,则认为训练后的深度卷积神经网络则为人脸关键点跟踪模型。应当理解,此处的第一损失函数可以为回归损失函数、平方误差损失、绝对误差损失等等,具体哪种类型的损失函数可以根据实际需求进行选择。
应当理解,本实施例中训练出的人脸关键点跟踪模型具有至少一个输出即用于输出输入的图像中的人脸关键点位置。
本实施例中,通过获取真实人脸图像作为第二人脸图像,且变换后的第二人脸图像作为第一人脸图像,不仅模仿了实际中视频流中的前后两帧图像,且通过对第二人脸图像的变形从而提高了训练样本的丰富程度,从而进一步优化了人脸跟踪模型的训练结果。
本实施例中,通过根据用于模拟视频流中的前一帧的第一人脸图像生成的人脸热力图以及用于模拟视频流中的当前帧的第二人脸图像共同训练深度卷积神经网络,从而在训练第二人脸图像的第二人脸关键点位置时参考第一人脸图像的第一人脸关键点位置,通过这种方式来训练深度卷积神经网络,可以用比现有技术中更小的神经网络模型得到当前帧图像上的人脸关键点位置,可以提高视频模式下人脸关键点的检测速度,此外,由于融合了第一人脸图像中的第一人脸关键点位置可以使视频模式下的人脸关键点检测结果更稳定,帧与帧之间人脸关键点位置的抖动小,提高了人脸关键点跟踪模型训练时的精确度与稳定性。
本实施例中,通过放大ROI区域可以使训练的图像中包含更多的信息,通过调整第一人脸图像中的第一人脸关键点位置以及第二人脸图像的大小,可以使训练的图像符合深度卷积神经网络的大小,通过调整第一人脸关键点位置以及第二人脸图像的中心位置,可以使得训练的图像中包含更多的人脸部分的信息,通过调整第一人脸关键点位置以及第二人脸图像的方向,可以使训练时所有的图像都为同一方向,通过调整第一人脸关键点位置以及第二人脸图像的位置可以使训练时所有人脸关键点的坐标均为非负值,通过上述对训练数据的调整过程,可以使模型更易训练,且训练出的模型更稳定、得到的最终模型的泛化能力更佳。
本实施例中,通过将第一人脸关键点位置设为第一权重,其它位置设置为与第一权重不同的第二权重,使关键点形成的轮廓的范围更加明显,通过对设置权重后的第一人脸关键点位置和其它位置做平滑处理,使得上述设置的权重从硬标签变成软标签,从而减少人脸热力图的噪声,提高根据人脸热力图训练的模型的有效性和可靠性。
实施例2
本实施例提供了一种人脸关键点跟踪模型的训练方法,本实施例基于实施例1,如图3所示,在实施例1的基础上本实施例还包括:
步骤201、从若干非人脸样本中获取非人脸图像。
其中,本实施例中可以通过多种方式来获取非人脸图像,如可以从拍摄的视频流中截取未包含人脸图像的图像帧,并将其作为本实施例中的非人脸图像,也可以从网络上获取未包含人脸的图像并将其作为本实施例中的非人脸图像。
步骤202、调整非人脸图像以得到规范化非人脸图像。
其中,调整非人脸图像的方式可以参考实施例1中调整第二人脸的图像的方式,此处便不再赘述。
步骤203、将规范化非人脸图像或第二规范化人脸图像作为输入,输入的图像是否为人脸图像的结果作输出,训练深度卷积神经网络。
应当理解,本实施例中将若干规范化非人脸图像及第二规范化人脸图像作为模型的输入,在一次输入中,当模型的输入为规范化非人脸图像时,则输出为非人脸图像,当输入为第二规范化人脸图像时,则输出为人脸图像。
应当理解,本实施例中使用的深度卷积神经网络至少包括两个子网络,其中,实施例1中的步骤105通过第一个子网络进行训练,第一个子网络用于训练具体跟踪到的人脸图像中的关键点的模型,本实施例中的步骤203通过第二个子网络进行训练,第二个子网络用于训练判断是否跟踪到人脸图像的模型,且这两个子网络可以同时进行训练。
其中,无论是对第一个子网络还是对第二个子网络,都可以根据现有技术中对机器学习模型训练完成的判断方式来判断对第一个子网络还是对第二个子网络的训练是否完成,如,可以根据第一个子网络的第一损失函数是否收敛来判断对第一个子网络的训练是否完成,当第一损失函数收敛时,则对第一个子网络的训练完成,可以根据第二个子网络的第二损失函数是否收敛来判断对第二个子网络的训练是否完成,当第二损失函数收敛时,则对第二子网络的训练完成。当第一损失函数及第二损失函数均收敛时,则可以认为模型训练完成,且得到的训练后的模型为人脸关键点跟踪模型。应当理解,无论是第一损失函数还是第二损失函数都可以根据实际需求来确定损失函数的具体类型。
应当理解,本实施例中训练出的人脸关键点跟踪模型具有两个输出结果,第一个输出结果用于判断输入的图像是否包含人脸,第二个输出结果用于当输入图像包括人脸时,输出该人脸的人脸关键点位置。
本实施例中,通过对人脸图像及非人脸图像的训练,可以进一步训练出用于判断是否为人脸的模型,从而进一步使得最终跟踪到的人脸关键点更为准确。
本实施例中,通过在底层共享深度卷积神经网络,并且在对第一子网络及第二子网络的训练的过程中,共享人脸图像的数据,可以减小模型计算量的同时,提高模型训练的精确度,以及最终训练出的人脸关键点跟踪模型的功能性。
实施例3
本实施例提供了一种人脸关键点的跟踪方法,如图4所示,该跟踪方法包括:
步骤300、从视频流中获取连续的第一帧图像及第二帧图像。
其中,此处既可以获取实时拍摄的视频中的连续的第一帧图像及第二帧图像,也可以获取已经拍摄好的视频中的连续的第一帧图像及第二帧图像,应当理解,如果此处获取的为实时拍摄的视频,则此处的第二帧图像为当前帧图像,第一帧图像为当前帧的前一帧图像。
步骤301、根据所述第一帧图像的第一帧人脸关键点位置生成第二相似变换矩阵。
其中,生成第二相似变换矩阵的具体方式可以参考实施例1中生成第一相似变换矩阵的具体方式,此处便不再赘述。
步骤302、根据所述第二相似变换矩阵调整所述第二帧图像以得到第二规范化人脸图像。
其中,调整第二帧图像的具体方式可以参考实施例1中调整第二人脸图像的具体方式,此处便不再赘述。
步骤303、根据所述第一帧人脸关键点位置及所述第二相似变换矩阵生成第一帧人脸热力图并将所述第一帧人脸热力图以及所述第二帧规范化人脸图像输入至人脸关键点跟踪模型中以获取第二帧图像中的规范化人脸关键点位置。
其中,本实施例中使用的人脸关键点跟踪模型为根据实施例1中的人脸关键点跟踪模型的训练方法所训练出来的模型。
其中,第一帧人脸热力图的生成方式可以参考实施例1中人脸热力图的生成方式,此处便不再赘述。
步骤304、调整规范化人脸关键点的位置以获取真实人脸关键点位置。
应当理解,由于在步骤303中输入至人脸关键点跟踪模型中的第二帧规范化人脸图像为对第二帧图像调整后的图像,因此,步骤303中输出的规范化人脸关键点位置为第二帧规范化人脸图像中的对应位置,规范化人脸关键点位置不是真实的第二帧图像中的真实人脸关键点的位置,因此,需要根据步骤302中对第二帧图像进行的具体调整来反向调整规范化人脸关键点位置以得到第二帧图像中的真实人脸关键点的位置。
为了更好的理解本实施例中的步骤304,下面通过一个具体实例来对该步骤进行说明:
如,假设在步骤302中通过实施例1中的相似变换矩阵T将第二帧图像转换为第二帧规范化人脸图像,假设在步骤303中得到的第二帧图像中的规范化人脸关键点位置的坐标为,其中,i表示第i个规范化人脸关键点位置的坐标,则可以通过上述相似变换矩阵T的逆相似变换矩阵来调整规范化人脸关键点位置以得到真实人脸关键点位置,具体公式如下:
应当理解,上述步骤300-304只是将连续的一组第一帧图像及第二帧图像作为举例来对本实施例中的方法进行说明,而实际中,由于会对视频流中的每一帧图像的人脸关键点进行实时跟踪,因此,在步骤304后,会继续获取与之前的第二帧图像连续的当前帧图像,并将之前的第二帧图像作为第一帧图像,将当前帧图像作为第二帧图像后,继续执行步骤301至步骤304以实现对人脸关键点的实时跟踪。
本实施例中,在获取视频流中的最初的第一帧图像时,通过可以通过现有技术中检测人脸关键点的技术来得到该图像中的真实人脸关键点位置,之后,则可以利用该真实人脸关键点位置来提取下一帧图像(实时的当前帧)中的关键点位置,从而可以实现对视频流中的人脸关键点进行实时跟踪。
本实施例中,在进行人脸关键点跟踪时,将连续两帧图像同时作为模型的输入,通过这种方式在跟踪当前帧图像时可以参考当前帧图像的前一帧图像中的人脸关键点的位置信息,这样就可以通过具有更小的神经网络模型的人脸关键点跟踪模型得到跟当前帧图像中的真实人脸关键点位置,可以提高视频模式下人脸关键点的检测速度,此外由于融合了前一帧图像中的人脸关键点的位置信息,从而可以使视频模式下的人脸关键点的跟踪结果更稳定,帧与帧之间人脸关键点位置的抖动小。
实施例4
本实施例提供了一种人脸关键点的跟踪方法,如图5所示,该跟踪方法包括:
步骤400、从视频流中获取连续的第一帧图像及第二帧图像。
步骤401、根据第一帧图像的第一帧人脸关键点位置生成第二相似变换矩阵。
其中,视频流里最初的第一帧图像中的第一帧人脸关键点可以根据现有的识别人脸关键点的技术来识别,步骤400中获取的第一帧图像为在上一轮识别过程中已经识别了人脸关键点位置的图像,因此,第一帧图像的人脸关键点位置已知。
其中,第二相似变换矩阵的生成方法可以参考实施例1中的第一相似变换矩阵的生成方法,此处便不再赘述。
步骤402、根据第二相似变换矩阵调整所述第二帧图像以得到第二规范化人脸图像。
应当理解,步骤402的具体实现方式可以参考实施例3中的步骤302的具体实现方式,此处便不再赘述。
步骤403、将第二帧规范化人脸图像输入至人脸关键点跟踪模型中。
其中,本实施例中使用的人脸关键点跟踪模型为根据实施例2中的人脸关键点跟踪模型的训练方法所训练出来的模型。
步骤404、判断第二帧图像是否为人脸图像,若是,则执行步骤405,若否,则执行步骤409。
步骤405、根据第一帧人脸关键点位置及第二相似变换矩阵生成第一帧人脸热力图。
步骤406、将第一帧人脸热力图以及第二帧规范化人脸图像输入至人脸关键点跟踪模型中。
步骤407、输出第二帧图像中的规范化人脸关键点位置。
步骤408、调整规范化人脸关键点的位置以获取真实人脸关键点位置,流程结束。
步骤409、停止获取第二帧图像中的规范化人脸关键点位置。
应当理解,上述步骤400-409只是将连续的一组第一帧图像及第二帧图像作为举例来对本实施例中的方法进行说明,而实际中,由于会对视频流中的每一帧图像的人脸关键点进行实时跟踪,因此,在步骤408后及步骤409后,会继续获取与之前的第二帧图像连续的当前帧图像,并将之前的第二帧图像作为第一帧图像,将当前帧图像作为第二帧图像后,继续执行步骤401至步骤409以实现人脸关键点的实时跟踪。
本实施例中,在进行人脸关键点跟踪时,可以先判断当前帧是否跟踪到人脸,并在判断跟踪到人脸后,继续跟踪当前帧图像中的人脸关键点坐标,从而可以实现对人脸关键点的更精确的跟踪。
实施例5
本实施例提供了一种人脸关键点跟踪模型的训练系统,如图6所示,该训练系统包括:人脸关键点获取模块501、第一相似变换矩阵生成模块500、第一图像调整模块502、热力图生成模块503及模型训练模块504。
人脸关键点获取模块501用于从若干人脸样本中获取第一人脸图像中的第一人脸关键点位置及第二人脸图像中的第二人脸关键点位置,第一人脸关键点位置与第二人脸关键点位置为同一用户的人脸的关键点位置,其中,第一人脸关键点位置与第二人脸关键点位置为同一人脸的关键点位置。其中,人脸关键点获取模块501可以通过多种方式来获取人脸样本,在一种具体的实施方式中,可以获取拍摄的人脸的视频流,并将视频流中的前后两帧图像分别作为第一人脸图像及第二人脸图像,在此种方式下,在得到第一人脸图像及第二人脸图像后,可以对第一人脸图像及第二人脸图像中的第一人脸关键点位置及第二人脸关键点位置分别进行标定。
在另一种具体的实时方式中,人脸关键点获取模块501可以获取若干真实人脸图像,将该真实人脸图像作为第一人脸图像,随机对第一人脸图像进行仿射变换以得到第二人脸图像,此处的仿射变换包括但不限于平移变换、缩放变换、旋转变换等方式。在此种方式下,在得到第一人脸图像及第二人脸图像后,对第一人脸图像进行标定以得到第一人脸图像中的第一人脸关键点位置,应当理解,进行仿射变换后的第一人脸图像中的第一人脸关键点位置也随之发生变换,即变为第二人脸图像中的第二人脸关键点位置。
应当理解,人脸关键点获取模块501对人脸关键点位置进行标定时可以采用现有技术中可以实现对人脸关键点进行标定的方式,本实施例并不对人脸关键点获取模块501具体标定人脸关键点的方法进行限定。
应当理解,人脸关键点为构成人脸的关键部位,如嘴巴、眼睛、眉毛、脸颊等的各个像素点的组合,本实施例中的人脸关键点可以根据现有技术中的人脸关键点进行理解,本实施例并不对此进行限定。
第一相似变换矩阵生成模块500用于根据第一人脸关键点位置生成第一相似变换矩阵。其中,所述第一相似变换矩阵用于将图像调整为符合深度卷积神经网络的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述深度卷积神经网络的预设输入尺寸一致。
其中,第一相似变换矩阵生成模块500生成第一相似变换矩阵的目的在于,在接下来的步骤中可以通过第一相似变换矩阵来调整第二人脸图像以生成第二规范化人脸图,从而使第二规范化图像均符合深度卷积神经网络的输入标准,同时,可以通过第一相似变换矩阵来调整第一人脸关键点位置,从而使调整后的第一人脸关键点位置符合深度卷积神经网络的输入标准。
其中,输入标准具体包括但不限于尺寸标准、中心标准、方向标准及位置标准,应当理解,本文中的尺寸标准意为图像的尺寸与深度卷积神经网络的预设输入尺寸一致,中心标准意为图像中人脸部分的中心与ROI区域的中心对齐,其中,ROI区域为根据图像中的人脸关键点位置生成的区域,具体对于本实施例而言,ROI区域为根据第一人脸关键点位置生成的区域,方向标准意为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行,位置标准意为图像中所有关键点位置的坐标均为非负值。
其中,第一相似变换矩阵生成模块500生成第一相似变换矩阵的具体调整方式中,生成可以将图像调整为符合深度卷积神经网络的尺寸标准的第一相似变换矩阵为本实施例的必要步骤,而其它的具体调整方式,都可以根据实际需求进行选择。
第一图像调整模块502用于根据第一相似变换矩阵调整第二人脸图像以得到第二规范化人脸图像。
具体的,如图7所示,第一图像调整模块502可以包括大小调整单元5021、中心调整单元5022、方向调整单元5023及位置调整单元5024,其中,大小调整单元5021用于调整第二人脸图像的尺寸大小以使调整后第二规范化人脸图像符合深度卷积神经网络的尺寸标准,中心调整单元5022用于调整第二人脸图像的中心以得到第二规范化人脸图像,以使第二规范化人脸图像均符合深度卷积神经网络的中心标准,方向调整单元5023用于调整第二人脸图像的方向以得到第二规范化人脸图像,以使第二规范化人脸图像均符合深度卷积神经网络的方向标准,位置调整单元5024用于调整第二人脸图像的位置以得到第二规范化人脸图像,以使第二规范化人脸图像均符合深度卷积神经网络的位置标准。
其中,上述调整单元中,大小调整单元5021为第一图像调整模块502中必须包含的部分,而其它的具体调整单元,都可以根据实际需求进行选择。
为了更好的理解第一图像调整模块502,下面通过一具体实例对第一图像调整模块502进行说明:
对于每一第一人脸图像,估计包围所有关键点的最小长方形,假设第一人脸关键点个数为N,每一第一人脸关键点的坐标为(xi,yi),i表示第i个点,则第n个关键点坐标为(xn,yn),用rect.x、rect.y、rect.width,及rect.height分别表示该最小长方形的左上角x坐标、左上角y坐标、宽及高。则:
然后,将该最小长方形放大一个合适的倍数得到一个ROI区域,该倍数可以但不限于设为2.0。用roi.x、roi.y、roi.width,及roi.height分别表示ROI区域左上角x坐标、左上角y坐标、宽及高。则可以根据下面的公式分别得到roi.x、roi.y、roi.width,及roi.height:
用第一人脸关键点位置中的两个眼睛的中心的连线与水平面之间的夹脚来估计人脸的旋转角度θ,其中θ可以根据下面的公式求出:
θ=atan(eyeLeft.y-eyeRight.y,eyeLeft.x-eyeRight.x)
其中,eyeLeft.x与eyeLeft.y分别表示第一人脸关键点位置中的左眼中心的x坐标与y坐标,eyeRight.x与eyeRight.y分别表示第一人脸关键点位置中的右眼中心的x坐标与y坐标。
结合上述ROI区域和人脸旋转角度θ估计一个相似变换矩阵,该相似变换由4个变换组合而成:
第1个变换为图像平移,图像平移在坐标轴上的体现为(-srcCenterx,-srcCentery),其中,-srcCenterx表示朝x轴负方向移动的距离为srcCenterx,-srcCentery表示朝y轴负方向移动的距离为srcCentery,具体的,srcCenterx和srcCentery可以通过下面的公式计算得出:
该平移变换的变换矩阵T1为:
应当理解,第1个变换的目的在于使变换后的图像的中心点与ROI区域的中心点重合,以可以得到第一人脸图像中关于人脸的更多的信息点。
第2个变换为图像旋转-θ,该旋转变换的变换矩阵T2为:
应当理解,第2个变换的目的在于使变换后的图像的两个眼睛中的中心点之间的连线与地面平行。
第3个变换为图像缩放scale,其中,scale表示缩放的比例,应当理解,此处的缩放既可以表示放大,又可以表示缩小,具体的,scale=dstWidth/src Width,其中,srcWidth是ROI区域的宽即roi.width,dstWidth是深度卷积神经网络模型预设输入宽度,缩放变换矩阵T3为:
第4个变换为图像平移(dstCenterx,dstCentery),dstCenterx与dstCentery分别表示在x轴的正方向的移动距离和在y轴正方向上的移动距离,具体的,dstCenterx与dstCentery可以通过下列公式计算得出:
其中,dstWidth,dstHeight分别为深度卷积神经网络模型预设输入宽度及高度,第4个平移变换矩阵T4为:
上述四个变换合并后的相似变换矩阵T为:
T=T4T3T2T1
第一相似变换矩阵生成模块500可以通过上述方法得到最终的相似变换矩阵T,第一图像调整模块502可以利用该相似变换矩阵T从第二人脸图像中提取第二规范化人脸图像,具体提取图像的方法可以采用双线性插值的方法,上述方法仅作为本实施例中的举例说明,提取图像的具体方法可以根据实际情况进行选择,本实施例并不对此进行限定。假设第二人脸图像中第i个第二人脸关键点坐标为,则第二规范化人脸图像中的第i个第二人脸关键点坐标为为:
应当理解,前述坐标系可以根据实际需求建立,如可以将第一人脸图像中的左下角的第一人脸关键点位置作为原点,位于第一人脸图像上且与地面平行直线作为x轴,与x轴垂直的直线作为y轴建立坐标系,也可以将第一人脸图像中的左上角的第一人脸关键点位置作为原点,根据前述为x轴与y轴建立坐标系,本实施例中并不对建立坐标系的方式进行限定。
热力图生成模块503用于根据第一人脸关键点位置及第一相似变换矩阵生成人脸热力图。
其中,在一种具体实施方式中,可以利用相似变换矩阵T使第一人脸图像中的第一人脸关键点符合深度卷积神经网络的输入标准。而后,再根据符合深度卷积神经网络的输入标准的人脸关键点生成人脸热力图;在另一种具体实施方式中,也可以先根据第一人脸图像中的第一人脸关键点生成一中间人脸热力图,再利用相似变换矩阵T调整中间人脸热力图以生成最终的人脸热力图,以使之符合深度卷积神经网络的输入标准。其中,如图8所示,热力图生成模块503可以具体包括关键点调整单元5030、关键点连接单元5031、第一权重设置单元5032、第二权重设置单元5033、平滑处理单元5034及热力图生成单元5035。
关键点调整单元5030用于根据所述第一相似变换矩阵调整所述第一人脸关键点位置。
关键点连接单元5031用于连接调整后的位于同一边缘的第一人脸关键点位置。
第一权重设置单元5032用于将连接后的每一像素点设置为第一权重,第二权重设置单元5033用于将除连接后的像素点外的其它位置设置为第二权重,热力图生成单元5035用于根据平滑处理后的第一人脸关键点位置及其它位置生成人脸热力图。
其中,为了将第一人脸关键点位置与其它位置进行区别显示,可以通过第一权重设置单元5032及第二权重设置单元5033将第一人脸关键点位置与其它位置的权重区分开,如可以将每一第一人脸关键点的权重设为1.0,其他位置均设置为0.0,然后连接处在同一个边缘的第一人脸关键点位置,如连接所有处于脸部轮廓的第一人脸关键点位置、连接所有属于右眼轮廓的第一人脸关键点位置、连接所有属于左眼轮廓的第一人脸关键点位置、连接所有属于嘴巴外轮廓的第一人脸关键点位置、连接所有属于嘴巴内轮廓的第一人脸关键点位置等,并且将连线上的权重也设为1.0,从而可以生成中间人脸热力图,平滑处理单元5034进一步通过高斯核对中间人脸热力图进行平滑处理,具体平滑处理的方式可以为均值滤波、中值滤波、高斯滤波、双边滤波等,本实施例中,通过高斯滤波对中间人脸热力图进行平滑处理,且高斯核大小设置为7x7,应当理解,上述对中间人脸热力图进行平滑处理的方式只是作为一个举例说明,实际中平滑处理的方式可以根据现有技术进行选择。
模型训练模块504用于将人脸热力图及第二规范化人脸图像作为输入,第二规范化人脸图像中的第二人脸关键点位置作为输出训练深度卷积神经网络。
其中,模型训练模块504用于将热力图生成模块503生成的上述人脸热力图及第二规范化人脸图像合并输入至深度卷积神经网络中进行训练,具体的,该合并的方式可以为将人脸热力图及第二规范化人脸图像作为一个新的通道输入至深度卷积神经网络中,对应的,将模型的输出设为对应的第二规范化人脸图像中的第二人脸关键点,进行训练。此外,可以根据现有技术中对机器学习模型训练完成的方式来判断本实施例中的深度卷积神经网络是否训练完成,如,可以当深度卷积神经网络的预设第一损失函数训练至收敛时,则认为训练后的深度卷积神经网络则为人脸关键点跟踪模型。应当理解,此处的第一损失函数可以为回归损失函数、平方误差损失、绝对误差损失等等,具体哪种类型的损失函数可以根据实际需求进行选择。
应当理解,本实施例中模型训练模块504最终训练出的人脸关键点跟踪模型具有至少一个输出即用于输出输入的图像中的人脸关键点位置。
本实施例中,人脸关键点获取模块通过将获取真实人脸图像作为第二人脸图像,且变换后的第二人脸图像作为第一人脸图像,不仅模仿了实际中视频流中的前后两帧图像,且通过对第二人脸图像的变形从而提高了训练样本的丰富程度,从而进一步优化了人脸跟踪模型的训练结果。
本实施例中,模型训练模块通过根据用于模拟视频流中的前一帧的第一人脸图像生成的人脸热力图以及用于模拟视频流中的当前帧的第二人脸图像共同训练深度卷积神经网络,从而在训练第二人脸图像的第二人脸关键点位置时参考第一人脸图像的第一人脸关键点位置,通过这种方式来训练深度卷积神经网络,可以用比现有技术中更小的神经网络模型得到当前帧图像上的人脸关键点位置,可以提高视频模式下人脸关键点的检测速度,此外,由于融合了第一人脸图像中的第一人脸关键点位置可以使视频模式下的人脸关键点检测结果更稳定,帧与帧之间人脸关键点位置的抖动小,提高了人脸关键点跟踪模型训练时的精确度与稳定性。
本实施例中,第一图像调整模块通过放大ROI区域可以使训练的图像中包含更多的信息,通过调整第一人脸图像中的第一人脸关键点位置以及第二人脸图像的大小,可以使训练的图像符合深度卷积神经网络的大小,通过调整第一人脸关键点位置以及第二人脸图像的中心位置,可以使得训练的图像中包含更多的人脸部分的信息,通过调整第一人脸图像以及第二人脸图像的方向,可以使训练时所有的图像都为同一方向,通过调整第一人脸图像以及第二人脸图像的位置可以使训练时所有人脸关键点的坐标均为非负值,通过上述对训练数据的调整过程,可以使模型更易训练,且训练出的模型更稳定、得到的最终模型的泛化能力更佳。
本实施例中,热力图生成模块通过将第一人脸关键点位置设为第一权重,其它位置设置为与第一权重不同的第二权重,使关键点形成的轮廓的范围更加明显,通过对设置权重后的第一人脸关键点位置及其它位置做平滑处理,使得上述设置的权重从硬标签变成软标签,从而减少人脸热力图的噪声,提高根据人脸热力图训练的模型的有效性和可靠性。
实施例6
本实施例提供了一种人脸关键点跟踪模型的训练系统,本实施例基于实施例5,在实施例5的基础上,本实施例中的训练系统还进一步包括非人脸样本获取模块,用于从若干非人脸样本中获取非人脸图像。
其中,非人脸样本获取模块可以通过多种方式来获取非人脸图像,如可以从拍摄的视频流中截取未包含人脸图像的图像帧,并将其作为本实施例中的非人脸图像,也可以从网络上获取未包含人脸的图像并将其作为本实施例中的非人脸图像。
本实施例中,第一图像调整模块502还用于调整非人脸图像以得到规范化非人脸图像,以使规范化非人脸图像符合深度卷积神经网络的输入标准。
其中,第一图像调整模块502调整非人脸图像的方式可以参考实施例5中调整第二人脸的图像的方式,此处便不再赘述。
模型训练模块504还用于将规范化非人脸图像或第二规范化人脸图像作为输入,输入的图像是否为人脸图像的结果作输出,训练深度卷积神经网络。
应当理解,模型训练模块504将若干规范化非人脸图像及第二规范化人脸图像作为模型的输入,在一次输入中,当模型的输入为规范化非人脸图像时,则输出为非人脸图像,当输入为第二规范化人脸图像时,则输出为人脸图像。
应当理解,本实施例中的模型训练模块504使用的深度卷积神经网络至少包括两个子网络,其中,实施例5中的人脸热力图及第二规范化人脸图像通过第一个子网络进行训练,第一个子网络用于训练具体跟踪到的人脸图像中的关键点的模型,本实施例中的规范化非人脸图像以及第二规范化人脸图像通过第二个子网络进行训练,第二个子网络用于训练判断是否跟踪到人脸图像的模型,且这两个子网络可以同时进行训练。
其中,无论是对第一个子网络还是对第二个子网络,都可以根据现有技术中对机器学习模型训练完成的判断方式来判断对第一个子网络还是对第二个子网络的训练是否完成,如,可以根据第一个子网络的第一损失函数是否收敛来判断对第一个子网络的训练是否完成,当第一损失函数收敛时,则对第一个子网络的训练完成,可以根据第二个子网络的第二损失函数是否收敛来判断对第二个子网络的训练是否完成,当第二损失函数收敛时,则对第二子网络的训练完成。当第一损失函数及第二损失函数均收敛时,则可以认为模型训练完成,且得到的训练后的模型为人脸关键点跟踪模型。应当理解,无论是第一损失函数还是第二损失函数都可以根据实际需求来确定损失函数的具体类型。
应当理解,本实施例中模型训练模块504训练出的人脸关键点跟踪模型具有两个输出结果,第一个输出结果用于判断输入的图像是否包含人脸,第二个输出结果用于当输入图像包括人脸时,输出该人脸的人脸关键点位置。
本实施例中,模型训练模块通过对人脸图像及非人脸图像的训练,可以进一步训练出用于判断是否为人脸的模型,从而进一步使得最终跟踪到的人脸关键点更为准确。
本实施例中,模型训练模块通过在底层共享深度卷积神经网络,并且在对第一子网络及第二子网络的训练的过程中,共享人脸图像的数据,可以在减小模型计算量的同时,提高模型训练的精确度,以及最终训练出的人脸关键点跟踪模型的功能性。
实施例7
本实施例提供了一种人脸关键点的跟踪系统,如图9所示,该跟踪系统包括:图像帧获取模块601、第二相似变换矩阵生成模块600、第二图像调整模块602、关键点跟踪模块603及关键点还原模块604。
图像帧获取模块601用于从视频流中获取连续的第一帧图像及第二帧图像。
其中,图像帧获取模块601既可以获取实时拍摄的视频中的连续的第一帧图像及第二帧图像,也可以获取已经拍摄好的视频中的连续的第一帧图像及第二帧图像,应当理解,如果此处获取的为实时拍摄的视频,则此处的第二帧图像为当前帧图像,第一帧图像为当前帧的前一帧图像。
第二相似变换矩阵生成模块600用于根据所述第一帧图像的第一帧人脸关键点位置生成第二相似变换矩阵。
其中,生成第二相似变换矩阵的具体方式可以参考实施例5中生成第一相似变换矩阵的具体方式,此处便不再赘述。第二图像调整模块602用于根据所述第二相似变换矩阵调整所述第二帧图像以得到第二规范化人脸图像。
其中,调整第二帧图像的具体方式可以参考实施例5中第一图像调整模块502调整第二人脸图像的具体方式,此处便不再赘述。
关键点跟踪模块603用于根据所述第一帧人脸关键点位置及所述第二相似变换矩阵生成第一帧人脸热力图并将所述第一帧人脸热力图以及所述第二帧规范化人脸图像输入至人脸关键点跟踪模型中以获取第二帧图像中的规范化人脸关键点位置。
其中,本实施例中使用的人脸关键点跟踪模型为根据实施例5中的人脸关键点跟踪模型的训练系统所训练出来的模型。
其中,关键点跟踪模块603生成第一帧人脸热力图可以参考实施例5中热力图生成模块生成热力图的方式,此处便不再赘述。
关键点还原模块604用于调整规范化人脸关键点的位置以获取真实人脸关键点位置,真实人脸关键点位置与调整前的第二帧图像的规格相匹配,规格包括位置、方向及大小。
应当理解,关键点跟踪模块603用于输入至人脸关键点跟踪模型中的第二帧规范化人脸图像为对第二帧图像调整后的图像,因此,关键点跟踪模块603用于输出的规范化人脸关键点位置为第二帧规范化人脸图像中的对应位置,规范化人脸关键点位置不是真实的第二帧图像中的真实人脸关键点的位置,因此,需要通过关键点还原模块604对第二帧图像进行的具体调整来反向调整规范化人脸关键点位置以得到第二帧图像中的真实人脸关键点的位置。
为了更好的理解本实施例中的关键点还原模块604,下面通过一个具体实例来对关键点还原模块604进行说明:
如,假设第二图像调整模块602通过实施例5中的相似变换矩阵T将第二帧图像转换为第二帧规范化人脸图像,假设关键点跟踪模块603得到的第二帧图像中的规范化人脸关键点位置的坐标为,其中,i表示第i个规范化人脸关键点位置的坐标,则可以通过上述相似变换矩阵T的逆相似变换矩阵来调整规范化人脸关键点位置以得到真实人脸关键点位置,具体公式如下:
应当理解,上述图像帧获取模块601、第二相似变换矩阵生成模块600、第二图像调整模块602、关键点跟踪模块603及关键点还原模块604只是将连续的一组第一帧图像及第二帧图像作为举例来对本实施例中的方法进行说明,而实际中,由于会对视频流中的每一帧图像的人脸关键点进行实时跟踪,因此,关键点还原模块604在还原真实人脸关键点后,会继续调用图像帧获取模块601,图像帧获取模块601还用于获取与之前的第二帧图像连续的当前帧图像,并将之前的第二帧图像作为第一帧图像,将当前帧图像作为第二帧图像后,继续调用第二图像调整模块602以实现对人脸关键点的实时跟踪。
本实施例中,图像帧获取模块601在获取视频流中的最初的第一帧图像时,通过第二图像调整模块602、关键点跟踪模块603及关键点还原模块604可以得到该图像的真实人脸关键点位置,之后,则可以利用该真实人脸关键点位置来提取下一帧图像(实时的当前帧)中的关键点位置,从而可以实现对视频流中的人脸关键点进行实时跟踪。
本实施例中,在进行人脸关键点跟踪时,将连续两帧图像同时作为模型的输入,通过这种方式在跟踪当前帧图像时可以参考当前帧图像的前一帧图像中的人脸关键点的位置信息,这样就可以通过具有更小的神经网络模型的人脸关键点跟踪模型得到跟当前帧图像中的真实人脸关键点位置,可以提高视频模式下人脸关键点的检测速度,此外由于融合了前一帧图像中的人脸关键点的位置信息,从而可以使视频模式下的人脸关键点的跟踪结果更稳定,帧与帧之间人脸关键点位置的抖动小。
实施例8
本实施例提供了一种人脸关键点的跟踪系统,本实施例基于实施例7,但本实施例与实施例7的不同之处在于本实施例基于实施例6中的人脸关键点跟踪模型的训练系统所训练出来的模型来实现,具体的,在本实施例中,关键点跟踪模块603还包括人脸判断单元及关键点识别单元,在将第一帧规范化人脸图像以及第二帧规范化人脸图像输入至人脸关键点跟踪模型中之后,人脸判断单元用于判断第二帧图像是否为人脸图像,若为人脸图像,则调用关键点识别单元,关键点识别单元用于获取第二帧图像中的规范化人脸关键点位置,若不为人脸图像,则停止获取第二帧图像中的规范化人脸关键点位置,并继续获取当前帧图像以实现人脸关键点的实时跟踪。
本实施例中,关键点跟踪模块在进行人脸关键点跟踪时,可以先判断当前帧是否跟踪到人脸,并在判断跟踪到人脸后,继续跟踪当前帧图像中的人脸关键点坐标,从而可以实现对人脸关键点的更精确的跟踪。
实施例9
本发明实施例还提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现本发明实施例1或实施例2中的人脸关键点跟踪模型的训练方法,或实施例3或实施例4中的人脸关键点的跟踪方法。
图10示出了本实施例的硬件结构示意图,如图10所示,电子设备9具体包括:
至少一个处理器91、至少一个存储器92以及用于连接不同系统组件(包括处理器91和存储器92)的总线93,其中:
总线93包括数据总线、地址总线和控制总线。
存储器92包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1或实施例2中的人脸关键点跟踪模型的训练方法,或实施例3或实施例4中的人脸关键点的跟踪方法。
电子设备9进一步可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,电子设备9还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器96通过总线93与电子设备9的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备9使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例10
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例1或实施例2中的人脸关键点跟踪模型的训练方法,或实施例3或实施例4中的人脸关键点的跟踪方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现本发明实施例1或实施例2中的人脸关键点跟踪模型的训练方法,或实施例3或实施例4中的人脸关键点的跟踪方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (18)
1.一种人脸关键点跟踪模型的训练方法,其特征在于,所述训练方法包括:
从若干人脸样本中获取第一人脸图像中的第一人脸关键点位置及第二人脸图像中的第二人脸关键点位置,所述第一人脸关键点位置与所述第二人脸关键点位置为同一人脸的关键点位置;
根据所述第一人脸关键点位置生成第一相似变换矩阵,所述第一相似变换矩阵用于将图像调整为符合深度卷积神经网络的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述深度卷积神经网络的预设输入尺寸一致;
根据所述第一相似变换矩阵调整所述第二人脸图像以得到第二规范化人脸图像;
根据所述第一人脸关键点位置及所述第一相似变换矩阵生成人脸热力图,所述人脸热力图用于对所述第一人脸关键点位置与其它位置区别显示,所述人脸热力图符合所述深度卷积神经网络的所述输入标准;
将所述人脸热力图及所述第二规范化人脸图像作为输入,所述第二规范化人脸图像中的所述第二人脸关键点位置作为输出训练深度卷积神经网络以得到人脸关键点跟踪模型;
所述根据所述第一人脸关键点位置及所述第一相似变换矩阵生成人脸热力图的步骤包括:
根据所述第一相似变换矩阵调整所述第一人脸关键点位置;
连接调整后的位于同一边缘的所述第一人脸关键点位置;
将连接后的所述第一人脸关键点位置设置为第一权重;
将除连接后的所述第一人脸关键点位置的其它位置设置为第二权重;
根据所述第一权重及所述第二权重生成人脸热力图,所述第一权重与所述第二权重不同。
2.如权利要求1所述的人脸关键点跟踪模型的训练方法,其特征在于,
所述将所述人脸热力图及所述第二规范化人脸图像作为输入,所述第二规范化人脸图像中的所述第二人脸关键点位置作为输出训练深度卷积神经网络的步骤后还包括:
判断第一损失函数是否收敛,若是,则确定训练后的所述深度卷积神经网络为所述人脸关键点跟踪模型。
3.如权利要求1所述的人脸关键点跟踪模型的训练方法,其特征在于,所述从若干人脸样本中获取第一人脸图像中的第一人脸关键点位置及第二人脸图像中的第二人脸关键点位置的步骤包括:
获取若干真实的人脸样本;
对于每一所述人脸样本,标定所述人脸样本中的真实关键点位置,并将所述真实关键点位置作为第一人脸关键点位置;
对所述人脸样本进行仿射变换,并将仿射变换后的所述人脸样本中的所述真实关键点位置作为第二人脸关键点位置。
4.如权利要求1所述的人脸关键点跟踪模型的训练方法,其特征在于,所述根据所述第一权重及所述第二权重生成人脸热力图的步骤包括:
对设置了权重后的所述第一人脸关键点位置及所述其它位置做平滑处理;
根据平滑处理后的所述第一人脸关键点位置及所述其它位置生成人脸热力图。
5.如权利要求1所述的人脸关键点跟踪模型的训练方法,其特征在于,所述训练方法还包括:
从若干非人脸样本中获取非人脸图像;
根据所述第一相似变换矩阵调整所述非人脸图像以得到规范化非人脸图像;
将所述规范化非人脸图像或所述第二规范化人脸图像作为输入,输入的图像是否为人脸图像的结果作输出,训练所述深度卷积神经网络直至第二损失函数收敛。
6.如权利要求1-5中任意一项所述的人脸关键点跟踪模型的训练方法,其特征在于,所述输入标准还包括中心标准、方向标准及位置标准中的至少一种,所述中心标准为图像中人脸部分的中心与ROI区域的中心对齐,所述ROI区域为根据图像中人脸关键点位置生成的区域,所述方向标准为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行,所述位置标准为图像中所有关键点位置的坐标均为非负值。
7.一种人脸关键点的跟踪方法,其特征在于,所述跟踪方法包括:
从视频流中获取连续的第一帧图像及第二帧图像;
根据所述第一帧图像的第一帧人脸关键点位置生成第二相似变换矩阵,所述第二相似变换矩阵用于将图像调整为符合如权利要求1-6中任意一项所述的训练方法所训练出的人脸关键点跟踪模型的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述人脸关键点跟踪模型的预设输入尺寸一致;
根据所述第二相似变换矩阵调整所述第二帧图像以得到第二帧规范化人脸图像;
根据所述第一帧人脸关键点位置及所述第二相似变换矩阵生成第一帧人脸热力图;
将所述第一帧人脸热力图以及所述第二帧规范化人脸图像输入至所述人脸关键点跟踪模型中以获取所述第二帧图像中的规范化人脸关键点位置;
调整所述规范化人脸关键点的位置以获取真实人脸关键点位置,所述真实人脸关键点位置与调整前的所述第二帧图像相匹配;
所述第一帧人脸热力图符合所述人脸关键点跟踪模型的所述输入标准。
8.如权利要求7所述的人脸关键点的跟踪方法,其特征在于,所述输入标准还包括中心标准、方向标准及位置标准中的至少一种,
所述中心标准为图像中人脸部分的中心与ROI区域的中心对齐,所述ROI区域为根据图像中人脸关键点位置生成的区域,所述方向标准为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行,所述位置标准为图像中所有关键点位置的坐标均为非负值;
和/或,
当所述训练方法还包括对非人脸图像进行训练时,所述将所述第一帧人脸热力图以及所述第二帧规范化人脸图像输入至如权利要求1-7中任意一项所述的训练方法所训练出的人脸关键点跟踪模型中以获取所述第二帧图像中的规范化人脸关键点位置的步骤包括:判断所述第二帧图像是否为人脸图像,若是,则获取所述第二帧图像中的规范化人脸关键点位置。
9.一种人脸关键点跟踪模型的训练系统,其特征在于,所述训练系统包括:人脸关键点获取模块、第一相似变换矩阵生成模块、第一图像调整模块、热力图生成模块及模型训练模块;
所述人脸关键点获取模块用于从若干人脸样本中获取第一人脸图像中的第一人脸关键点位置及第二人脸图像中的第二人脸关键点位置,所述第一人脸关键点位置与所述第二人脸关键点位置为同一人脸的关键点位置;
所述第一相似变换矩阵生成模块用于根据所述第一人脸关键点位置生成第一相似变换矩阵,所述第一相似变换矩阵用于将图像调整为符合深度卷积神经网络的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述深度卷积神经网络的预设输入尺寸一致;
所述第一图像调整模块用于根据所述第一相似变换矩阵调整所述第二人脸图像以得到第二规范化人脸图像;
所述热力图生成模块用于根据所述第一人脸关键点位置及所述第一相似变换矩阵生成人脸热力图,所述人脸热力图用于对所述第一人脸关键点位置与其它位置区别显示,所述人脸热力图符合所述深度卷积神经网络的所述输入标准;
所述模型训练模块用于将所述人脸热力图及所述第二规范化人脸图像作为输入,所述第二规范化人脸图像中的所述第二人脸关键点位置作为输出训练深度卷积神经网络以得到人脸关键点跟踪模型;
所述热力图生成模块包括:关键点调整单元、关键点连接单元、第一权重设置单元、第二权重设置单元及热力图生成单元;
所述关键点调整单元用于根据所述第一相似变换矩阵调整所述第一人脸关键点位置;所述关键点连接单元用于连接调整后的位于同一边缘的所述第一人脸关键点位置;
所述第一权重设置单元用于将连接后的所述第一人脸关键点位置设置为第一权重;
所述第二权重设置单元用于将除连接后的所述第一人脸关键点位置的其它位置设置为第二权重;
所述热力图生成单元用于根据所述第一权重及所述第二权重生成人脸热力图,所述第一权重与所述第二权重不同。
10.如权利要求9所述的人脸关键点跟踪模型的训练系统,其特征在于,所述训练系统还包括模型生成模块,所述模型训练模块还用于调用所述模型生成模块,所述模型生成模块用于判断第一损失函数是否收敛,若是,则确定训练后的所述深度卷积神经网络为所述人脸关键点跟踪模型。
11.如权利要求9所述的人脸关键点跟踪模型的训练系统,其特征在于,所述人脸关键点获取模块包括人脸样本获取单元、关键点标定单元及仿射变换单元;
所述人脸样本获取单元用于获取若干真实的人脸样本;
所述关键点标定单元用于对于每一所述人脸样本,标定所述人脸样本中的真实关键点位置,并将所述真实关键点位置作为第一人脸关键点位置;
所述仿射变换单元用于对所述人脸样本进行仿射变换,并将仿射变换后的所述人脸样本中的所述真实关键点位置作为第二人脸关键点位置。
12.如权利要求9所述的人脸关键点跟踪模型的训练系统,其特征在于,所述热力图生成单元包括平滑处理子单元及热力图生成子单元:
所述平滑处理子单元用于对设置了权重后的所述第一人脸关键点位置及所述其它位置做平滑处理;
所述热力图生成子单元用于根据平滑处理后的所述第一人脸关键点位置及所述其它位置生成人脸热力图。
13.如权利要求9所述的人脸关键点跟踪模型的训练系统,其特征在于,所述训练系统还包括:非人脸样本获取模块,用于从若干非人脸样本中获取非人脸图像;
所述第一图像调整模块还用于根据所述第一相似变换矩阵调整所述非人脸图像以得到规范化非人脸图像;
所述模型训练模块还用于将所述规范化非人脸图像或所述第二规范化人脸图像作为输入,输入的图像是否为人脸图像的结果作输出,训练所述深度卷积神经网络直至第二损失函数收敛。
14.如权利要求9-13中任意一项所述的人脸关键点跟踪模型的训练系统,其特征在于,所述输入标准还包括中心标准、方向标准及位置标准中的至少一种,所述中心标准为图像中人脸部分的中心与ROI区域的中心对齐,所述ROI区域为根据图像中人脸关键点位置生成的区域,所述方向标准为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行,所述位置标准为图像中所有关键点位置的坐标均为非负值。
15.一种人脸关键点的跟踪系统,其特征在于,所述跟踪系统包括:图像帧获取模块、第二相似变换矩阵生成模块、第二图像调整模块、关键点跟踪模块及关键点还原模块;
所述图像帧获取模块用于从视频流中获取连续的第一帧图像及第二帧图像;
所述第二相似变换矩阵生成模块用于根据所述第一帧图像的第一帧人脸关键点位置生成第二相似变换矩阵,所述第二相似变换矩阵用于将图像调整为符合如权利要求9-14中任意一项所述的训练系统所训练出的人脸关键点跟踪模型的输入标准,所述输入标准包括尺寸标准,所述尺寸标准为所述图像的尺寸与所述人脸关键点跟踪模型的预设输入尺寸一致;
所述第二图像调整模块用于根据所述第二相似变换矩阵调整所述第二帧图像以得到第二帧规范化人脸图像;
所述关键点跟踪模块用于根据所述第一帧人脸关键点位置及所述第二相似变换矩阵生成第一帧人脸热力图并将所述第一帧人脸热力图以及所述第二帧规范化人脸图像输入至所述人脸关键点跟踪模型中以获取所述第二帧图像中的规范化人脸关键点位置;
所述关键点还原模块用于调整所述规范化人脸关键点的位置以获取真实人脸关键点位置,所述真实人脸关键点位置与调整前的所述第二帧图像相匹配;
所述第一帧人脸热力图符合所述人脸关键点跟踪模型的所述输入标准。
16.如权利要求15所述的人脸关键点的跟踪系统,其特征在于,所述输入标准还包括中心标准、方向标准及位置标准中的至少一种,所述中心标准为图像中人脸部分的中心与ROI区域的中心对齐的标准,所述ROI区域为根据所述第一帧图像中人脸关键点位置生成的区域,所述方向标准为图像中人脸部分的两只眼睛的中心点之间的连线与地面平行的标准,所述位置标准为图像中所有关键点位置的坐标均为非负值的标准;
和/或,
当所述训练系统中的模型训练模块还用于对非人脸图像进行训练时,所述关键点跟踪模块还包括人脸判断单元及关键点识别单元:所述人脸判断单元用于判断所述第二帧图像是否为人脸图像,若是,则调用所述关键点识别单元,所述关键点识别单元用于获取所述第二帧图像中的规范化人脸关键点位置。
17.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的人脸关键点跟踪模型的训练方法或如权利要求7或权利要求8所述的人脸关键点的跟踪方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的人脸关键点跟踪模型的训练方法的步骤或如权利要求7或权利要求8所述的人脸关键点的跟踪方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010871055.5A CN112017212B (zh) | 2020-08-26 | 2020-08-26 | 人脸关键点跟踪模型的训练、跟踪方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010871055.5A CN112017212B (zh) | 2020-08-26 | 2020-08-26 | 人脸关键点跟踪模型的训练、跟踪方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112017212A CN112017212A (zh) | 2020-12-01 |
CN112017212B true CN112017212B (zh) | 2022-10-04 |
Family
ID=73503451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010871055.5A Active CN112017212B (zh) | 2020-08-26 | 2020-08-26 | 人脸关键点跟踪模型的训练、跟踪方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112017212B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541418B (zh) * | 2020-12-04 | 2024-05-28 | 北京百度网讯科技有限公司 | 用于图像处理的方法、装置、设备、介质和程序产品 |
CN113743254B (zh) * | 2021-08-18 | 2024-04-09 | 北京格灵深瞳信息技术股份有限公司 | 视线估计方法、装置、电子设备及存储介质 |
CN113674177B (zh) * | 2021-08-25 | 2024-03-26 | 咪咕视讯科技有限公司 | 一种人像唇部的自动上妆方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229488A (zh) * | 2016-12-27 | 2018-06-29 | 北京市商汤科技开发有限公司 | 用于检测物体关键点的方法、装置及电子设备 |
EP3547211A1 (en) * | 2018-03-30 | 2019-10-02 | Naver Corporation | Methods for training a cnn and classifying an action performed by a subject in an inputted video using said cnn |
CN110334587A (zh) * | 2019-05-23 | 2019-10-15 | 北京市威富安防科技有限公司 | 人脸关键点定位模型的训练方法、装置及关键点定位方法 |
CN111275779A (zh) * | 2020-01-08 | 2020-06-12 | 网易(杭州)网络有限公司 | 表情迁移方法、图像生成器的训练方法、装置及电子设备 |
-
2020
- 2020-08-26 CN CN202010871055.5A patent/CN112017212B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229488A (zh) * | 2016-12-27 | 2018-06-29 | 北京市商汤科技开发有限公司 | 用于检测物体关键点的方法、装置及电子设备 |
EP3547211A1 (en) * | 2018-03-30 | 2019-10-02 | Naver Corporation | Methods for training a cnn and classifying an action performed by a subject in an inputted video using said cnn |
CN110334587A (zh) * | 2019-05-23 | 2019-10-15 | 北京市威富安防科技有限公司 | 人脸关键点定位模型的训练方法、装置及关键点定位方法 |
CN111275779A (zh) * | 2020-01-08 | 2020-06-12 | 网易(杭州)网络有限公司 | 表情迁移方法、图像生成器的训练方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112017212A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112017212B (zh) | 人脸关键点跟踪模型的训练、跟踪方法及系统 | |
CN109325437B (zh) | 图像处理方法、装置和系统 | |
US11403757B2 (en) | Sight line detection method and sight line detection device | |
US10853677B2 (en) | Verification method and system | |
Rogez et al. | Mocap-guided data augmentation for 3d pose estimation in the wild | |
CN110096925B (zh) | 人脸表情图像的增强方法、获取方法和装置 | |
CN109359526B (zh) | 一种人脸姿态估计方法、装置和设备 | |
JP6681729B2 (ja) | オブジェクトの3d姿勢およびオブジェクトのランドマーク点の3dロケーションを求める方法、およびオブジェクトの3d姿勢およびオブジェクトのランドマークの3dロケーションを求めるシステム | |
CN110675487B (zh) | 基于多角度二维人脸的三维人脸建模、识别方法及装置 | |
US9361723B2 (en) | Method for real-time face animation based on single video camera | |
US6788809B1 (en) | System and method for gesture recognition in three dimensions using stereo imaging and color vision | |
CN109934847B (zh) | 弱纹理三维物体姿态估计的方法和装置 | |
CN108960045A (zh) | 眼球追踪方法、电子装置及非暂态电脑可读取记录媒体 | |
CN111091075B (zh) | 人脸识别方法、装置、电子设备及存储介质 | |
CN113011401B (zh) | 人脸图像姿态估计和校正方法、系统、介质及电子设备 | |
JP7064257B2 (ja) | 画像深度確定方法及び生き物認識方法、回路、装置、記憶媒体 | |
CN104821010A (zh) | 基于双目视觉的人手三维信息实时提取方法及系统 | |
CN111488775B (zh) | 注视度判断装置及方法 | |
CN110276239A (zh) | 眼球追踪方法、电子装置及非暂态电脑可读取记录媒体 | |
CN109117753A (zh) | 部位识别方法、装置、终端及存储介质 | |
JP2017123087A (ja) | 連続的な撮影画像に映り込む平面物体の法線ベクトルを算出するプログラム、装置及び方法 | |
CN113887329A (zh) | 一种头部姿态定位与检测方法及其应用和系统 | |
CN110598647B (zh) | 一种基于图像识别的头部姿态识别方法 | |
CN117315547A (zh) | 一种解决动态物体大占比的视觉slam方法 | |
WO2021051510A1 (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 |