CN113688715A - 面部表情识别方法及系统 - Google Patents
面部表情识别方法及系统 Download PDFInfo
- Publication number
- CN113688715A CN113688715A CN202110949250.XA CN202110949250A CN113688715A CN 113688715 A CN113688715 A CN 113688715A CN 202110949250 A CN202110949250 A CN 202110949250A CN 113688715 A CN113688715 A CN 113688715A
- Authority
- CN
- China
- Prior art keywords
- facial
- picture
- face
- facial expression
- recognition
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2132—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
-
- 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
Abstract
本发明提供一种面部表情识别方法及系统,属于图像识别技术领域,获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;对完整面部图片进行预处理操作,包括人脸检测、人脸对齐;对预处理后的面部图片进行面部标志点标注;利用标注后的面部图片构建面部图结构;训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果。本发明以面部标志点为中心获取的二值模式特征可以反映表情的纹理特征,提高了表情识别准确率;实现了对图片的局部遮挡补全,提高了面部表情识别性能;图卷积神经网络能够处理非欧几里得数据(图结构),在节省计算资源的同时,提高面部表情识别准确率。
Description
技术领域
本发明涉及图像识别技术领域,具体涉及一种基于生成对抗网络(GenerativeAdversarial Network,GAN)和图神经网络(Graph Convolutional Network,GCN)的面部表情识别方法及系统。
背景技术
人机交互过程中,从人体收集的多种信号(如脑电信号、心电信号、眼电信号等)都可以用于人类的情绪识别。面部表情是人类情绪最自然的表现方式之一,在人类的日常交流中扮演重要的角色,它有静态和动态两种记录方式。静态记录即记录面部表情的静态图片;动态记录则为记录面部表情形成过程的动态视频。面部表情相对于人体的电信号来说具有采集简单、易收集等优点;但相对于人体的电信号,面部表情也具有易伪装、易遮挡的缺点。自然采集到的面部图像往往存在面部的局部遮挡(如墨镜、树叶、手掌等),这些遮挡会对面部表情识别任务造成一定的影响。因此面部表情识别任务仍然有很多需要改进的方面。
深度学习模型往往在实验室控制采集的面部表情数据集中表现良好,但在自然环境下采集的面部表情图片中的表现较差。原因是自然环境下采集到的面部表情图片往往更易受到不确定因素的影响,如光照强度、头部姿态、局部遮挡等,这些因素严重影响了面部表情识别的准确率。
卷积神经网络在图像、视频数据的特征提取任务中具有较大的优势,然而面部表情数据集的数据量往往较小,会导致卷积神经网络在训练过程中过拟合,这是模型训练的一大障碍。解决这个问题的方法一般有以下两种:一是较少深度学习模型的隐藏层数,这样可以在一定程度上克服过拟合的问题,但由于模型规模减小,面部表情识别的准确率会受到影响;二是对原有的面部表情数据集进行数据扩充,为网络的训练提供足够的数据。
面部图结构相对于面部图片来说,能够有效的保留面部的外观、纹理等信息,而且图结构在一定程度上能够减少原图片的信息量,加快模型的训练速度。T.Rao等人提取98个面部标志点,并基于多邻域划分构建面部图结构,利用GCN进行面部表情识别;C.Wu等人同样基于面部标志点,利用与标志点相邻的像素构建面部图结构,最后利用GCN进行面部表情识别。利用图结构的面部表情识别,在自然环境中的面部图片往往具有局部遮挡,对基础的面部表情识别系统造成消极影响,导致自然环境下的面部表情识别效率低、识别准确度低且不稳定。
发明内容
本发明的目的在于提供一种提高了识别效率、准确度和稳定性的面部表情识别方法及系统,以解决上述背景技术中存在的至少一项技术问题。
为了实现上述目的,本发明采取了如下技术方案:
一方面,本发明提供一种面部表情识别方法,包括:
获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;
对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;
对预处理后的面部图片进行面部标志点标注;
利用标注后的面部图片构建面部图结构;
训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
优选的,构建面部图结构包括:记录面部标志点的位置,作为图结构的节点;计算每个面部标志点与其相邻的距离最近的面部标志点的欧氏距离,作为图结构的边属性;计算每个面部标志点的局部二值模式,作为图结构的节点属性。
优选的,训练好的所述补全模型包括:生成器和判别器;生成器接收局部遮挡的原始图片以及期望输出的目标图片,对图片进行特征提取并将其排列成列向量,生成新的图片;判别器接收生成器生成的新的图片、目标图片以及局部遮挡的原始图片,提取各个图片的空间特征,对生成的新的图片进行判别,获取生成图片与原图片的相似度,辅助生成器生成符合要求的图片。
优选的,训练好的识别模型包括输入层、多个图卷积层、重构层、全连接层以及输出层;输入层接收面部图结构;图卷积层用于提取面部图结构的特征,生成面部表情分类特征;全连接层用于对提取的特征进行维度变换;输出层用于根据全连接层的计算结果做出评判并输出面部表情的识别结果。
优选的,对原始数据集中的图片进行人脸检测,并将图片检测到的人脸裁剪出来,并进行人脸对齐,得到人脸数据集;
基于裁剪后的人脸数据集,添加随机大小以及随机位置的遮挡,构建局部遮挡的面部数据集;
将局部遮挡的面部数据集中的图片与原始数据集中的原图片一一对应,构成二元组<Gfinput,Gftarget>,作为生成器的输入,Gfinput表示局部遮挡的原始图片,Gftarget表示原始数据集中的原图片,即目标图片;
构建两个三元组<Gfinput,Gftarget,yes>和<Gfinput,Gfoutput,no>,作为判别器的输入,Gfoutput表示生成器生成的新的图片。
优选的,训练所述补全模型包括:
步骤1:设置超参数,确定判别器和生成器的训练步长之比;
步骤2:将三元组和输入到判别器中,通过随机梯度下降法优化判别器的参数;
步骤3:将二元组输入到生成器中,通过随机梯度下降法优化生成器中的参数;
步骤4:迭代执行步骤2和步骤3,直到达成停止条件。
优选的,计算每个面部标志点的局部二值模式包括:
获取面部标志点的中心像素的区域C;
对于获取的区域C的每一个像素p,比较与其相邻的像素的灰度值;
若p周围像素的值大于中心像素值,则该像素点p的位置被标记为1,否则为0;
通过上述操作,产生一个二进制数,即为二值模式值。
第二方面,本发明提供一种面部表情识别系统,包括:
局部遮挡补全模块,用于获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;
面部图片预处理模块,用于对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;
面部图结构构建模块,用于对预处理后的面部图片进行面部标志点标注,利用标注后的面部图片构建面部图结构;
面部表情识别模块,用于利用训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
第三方面,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如上所述的面部表情识别方法。
第四方面,本发明提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行实现如上所述的面部表情识别方法的指令。
本发明有益效果:基于面部标志点构建的图结构可以反映表情的外观结构,以面部标志点为中心获取的二值模式特征可以反映表情的纹理特征,两者相结合用于面部表情识别任务,提高了表情识别准确率;有效的实现了对图片的局部遮挡补全,提高了局部遮挡图片条件下的面部表情识别性能;图卷积神经网络能够处理非欧几里得数据(图结构),在节省计算资源的同时,提高面部表情识别的准确率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述的基于生成对抗网络和图卷积神经网络的面部表情识别方法流程图;
图2为本发明实施例所述的面部表情识别结果为高兴的面部表情识别流程图;
图3为本发明实施例所述的GCN的结构图。
具体实施方式
下面详细叙述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。
还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件和/或它们的组。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
为便于理解本发明,下面结合附图以具体实施例对本发明作进一步解释说明,且具体实施例并不构成对本发明实施例的限定。
本领域技术人员应该理解,附图只是实施例的示意图,附图中的部件并不一定是实施本发明所必须的。
实施例1
本实施例1提供一种面部表情识别系统,该系统包括以下功能模块:
局部遮挡补全模块,用于获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;
面部图片预处理模块,用于对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;
面部图结构构建模块,用于对预处理后的面部图片进行面部标志点标注,利用标注后的面部图片构建面部图结构;
面部表情识别模块,用于利用训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
在本实施例1中,利用上述的面部表情识别系统,实现了面部表情识别方法,该方法包括:
利用局部遮挡补全模块,获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;
利用面部图片预处理模块,对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;
利用面部图结构构建模块,对预处理后的面部图片进行面部标志点标注,利用标注后的面部图片构建面部图结构;
使用面部表情识别模块,基于训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
本实施例1中,构建面部图结构包括:记录面部标志点的位置,作为图结构的节点;计算每个面部标志点与其相邻的距离最近的面部标志点的欧氏距离,作为图结构的边属性;计算每个面部标志点的局部二值模式,作为图结构的节点属性。
具体的,计算每个面部标志点的局部二值模式包括:
获取面部标志点的中心像素的区域C;
对于获取的区域C的每一个像素p,比较与其相邻的像素的灰度值;
若p周围像素的值大于中心像素值,则该像素点p的位置被标记为1,否则为0;
通过上述操作,产生一个二进制数,即为二值模式值。
训练好的所述补全模型包括:生成器和判别器;生成器接收局部遮挡的原始图片以及期望输出的目标图片,对图片进行特征提取并将其排列成列向量,生成新的图片;判别器接收生成器生成的新的图片、目标图片以及局部遮挡的原始图片,提取各个图片的空间特征,对生成的新的图片进行判别,获取生成图片与原图片的相似度,辅助生成器生成符合要求的图片。
训练好的识别模型包括输入层、多个图卷积层、重构层、全连接层以及输出层;输入层接收面部图结构;图卷积层用于提取面部图结构的特征,生成面部表情分类特征;全连接层用于对提取的特征进行维度变换;输出层用于根据全连接层的计算结果做出评判并输出面部表情的识别结果。
本实施例1中,对原始数据集中的图片进行人脸检测,并将图片检测到的人脸裁剪出来,并进行人脸对齐,得到人脸数据集;
基于裁剪后的人脸数据集,添加随机大小以及随机位置的遮挡,构建局部遮挡的面部数据集;
将局部遮挡的面部数据集中的图片与原始数据集中的原图片一一对应,构成二元组<Gfinput,Gftarget>,作为生成器的输入,Gfinput表示局部遮挡的原始图片,Gftarget表示原始数据集中的原图片,即目标图片;
构建两个三元组<Gfinput,Gftarget,yes>和<Gfinput,Gfoutput,no>,作为判别器的输入,Gfoutput表示生成器生成的新的图片。
训练所述补全模型包括:
步骤1:设置超参数,确定判别器和生成器的训练步长之比;
步骤2:将三元组和输入到判别器中,通过随机梯度下降法优化判别器的参数;
步骤3:将二元组输入到生成器中,通过随机梯度下降法优化生成器中的参数;
步骤4:迭代执行步骤2和步骤3,直到达成停止条件。
本实施例1中,利用生成对抗网络对自然条件下存在局部遮挡的面部图片进行遮挡补全,提取生成图片的面部标志点,计算每个面部标志点的局部二值模式(Local BinaryPattern,LBP)。以面部标志点为面部图结构的节点;面部标志点的LBP特征作为每个节点的属性;面部标志点之间的欧氏距离作为图结构的边属性,构建面部的图结构模型。
实施例2
本实施例2提供一种面部表情识别系统,该系统包括局部遮挡补全模块、面部图片预处理模块、面部图结构构建模块以及面部表情识别模块。利用该面部表情识别系统,可实现面部表情识别方法。
具体的,利用局部遮挡补全模块,获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;利用面部图片预处理模块,对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;利用面部图结构构建模块,对预处理后的面部图片进行面部标志点标注,利用标注后的面部图片构建面部图结构;使用面部表情识别模块,基于训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
本实施例2中,在局部遮挡补全模块中,对有局部遮挡的面部表情图片进行预处理,进行光照归一化,减小自然环境中光照变化对面部表情识别准确率的影响;使用基于条件生成对抗网络CGAN的补全模型对处理后的面部图片进行遮挡补全,消除局部遮挡对面部表情识别的影响;对遮挡补全后的图片进行预处理,包括人脸检测、人脸对齐、图片灰度化(降低图片的通道数,节约计算资源)、面部标志点检测;最终基于面部标志点构建面部图结构。
本实施例2中,构建面部图结构包括:记录面部标志点的位置,作为图结构的节点;计算每个面部标志点与其相邻的距离最近的面部标志点的欧氏距离,作为图结构的边属性;计算每个面部标志点的局部二值模式,作为图结构的节点属性。
本实施例2中,使用面部标志点、面部标志点之间的欧氏距离和面部标志点的LBP特征分别作为面部图结构的节点、边属性和节点属性。获得这些特征的步骤如下:
a)对面部图片进行人脸检测、人脸对齐的预处理操作;
b)使用Dlib工具标记图片中的68个面部标志点li(1≤i≤68),并记录每个标志点的坐标(xi,yi),作为面部图结构的节点;
c)构建面部图结构的边属性:为了能精确地表示面部表情在形成时的外观形状,本公开中采用将每个标志点与其最近的3个标志点相连接的策略,分别计算3条边的欧氏距离,构建维度为68×68的邻接矩阵A;
d)计算每个面部标志点周围的局部二值模式(LBP),计算过程如下所示:
(1)获取面部标志点的中心4×4像素的小区域C;
(2)对于C的每一个像素p,比较p与其相邻8个像素的灰度值;
(3)若p周围像素的值大于中心像素值,则该像素点的位置被标记为1,否则为0;
(4)通过上述操作,可以产生一个8位二进制数,即为LBP值;
本实施例2中,针对局部遮挡的面部图片,构建基于CGAN的面部遮挡补全模型,在本模型中包括一个生成器FG以及一个判别器FD。在生成器FG中设计了1个输入层、2个全连接层、4个上采样层。输入层的作用是接收局部遮挡的图片Gfinput以及期望输出的目标图片Gftarget;全连接层的作用是对图片进行特征提取并将其排列成列向量;上采样层是利用全连接层生成的列向量生成新的图片。
在判别器FD中包括1个输入层、4个卷积层(下采样层)、1个重构层、2个全连接层和1个输出层。输入层接收生成器生成的图片Gfoutput、目标图片Gftarget以及局部遮挡的面部图片Gfinput;卷积层用于提取图片的空间特征;重构层的作用是对其邻接卷积层的计算结果排列形成行向量或列向量并与全连接层和输出层构成分类器,对生成图片进行判别;全连接层的作用是对重构层得到的数据进行维度变换,为图片判别提供高维度的识别信息;输出层的作用是获取生成图片与原图片的相似度,辅助生成器生成符合要求的图片。
本实施例2中,针对遮挡补全的面部图片,设计的基于图卷积神经网络GCN的面部表情识别模型,在本模型中包括了1个输入层、5个图卷积层、1个重构层、1个全连接层以及1个输出层。输入层的作用是接收基于面部图片构建的面部图结构;图卷积层用于提取面部图结构的特征,生成模型易识别的面部表情分类特征;全连接层的作用是对数据进行维度变换,为面部表情识别和分类提供高维度信息;输出层的作用是根据全连接层的计算结果做出评判并输出面部表情的识别结果。
本实施例2中,对CK+数据集中的图片进行人脸检测,并将图片检测到的人脸裁剪出来,并进行人脸对齐,得到数据集D′;
基于裁剪后的数据集D′构建局部遮挡的面部数据集D:为数据集中原来的面部图片添加随机大小以及随机位置的遮挡;
将施加随机局部遮挡后的数据集D中的图片与原数据集D′中的原图片一一对应,构成图片对<Gfinput,Gftarget>作为CGAN中生成器FG的输入,输出Gfoutput;
构建两个三元组,分别为:<Gfinput,Gftarget,yes>和<Gfinput,Gfoutput,no>,作为判别器FD的输入,通过FD计算生成图片与原图片的相似度。
训练所述补全模型包括:
步骤1:设置超参数,确定判别器和生成器的训练步长之比;
步骤2:将三元组和输入到判别器中,通过随机梯度下降法优化判别器的参数;
步骤3:将二元组输入到生成器中,通过随机梯度下降法优化生成器中的参数;
步骤4:迭代执行步骤2和步骤3,直到达成停止条件。
实施例3
如图1所示,本实施例3中,基于CK+数据集提供一种基于生成对抗网络和图卷积神经网络的面部表情识别方法,并构建了一种部表情识别系统,使用该系统实现面部表情识别方法。
该系统包括:
局部遮挡补全模块,由条件生成对抗网络构成,对采集到的面部图像进行局部遮挡补全,消除局部遮挡对面部表情识别的影响;
面部图片预处理模块,对遮挡补全的面部图片进行人脸检测、人脸对齐的预处理操作,并进行面部标志点检测;
面部图结构构建模块,用于记录面部标志点的坐标、计算与每个面部标志点最近的3个标志点的欧氏距离、计算每个面部标志点的LBP特征,分别作为面部图结构的节点、边属性和节点属性,用于面部表情识别;
面部表情识别模块,在本模块中设计并确定了GCN模型(如图3所示)的各个超参数,完成面部表情分类与识别的最后工作,模型初始化完成后采用5折交叉验证的策略来训练和验证GCN模型,并对比保存面部表情识别效果最佳的模型参数。
利用上述系统,实现的基于生成对抗网络和图卷积神经网络的面部表情识别方法,主要包括以下几个步骤:
步骤S1:针对原始的局部遮挡的面部图片,采用CGAN对被遮挡的部分进行补全,得到完整的面部图片;
步骤S2:针对得到的完整的面部图片,进行预处理操作,包括人脸检测、人脸对齐;
步骤S3:针对预处理后的面部图片,使用Dlib工具包进行面部标志点标注;
步骤S4:构建面部图结构:(1)记录面部标志点的位置,作为图结构的节点;(2)计算与每个面部标志点最近的3个面部标志点的欧氏距离,作为图结构的边属性(3)计算每个面部标志点的局部二值模式(LBP),作为图结构的节点属性;
步骤S5:利用步骤S4中构建的面部图结构训练GCN,进行面部表情的分类与识别。
在本实施例3的步骤S1中,对采集到的面部图片进行局部遮挡补全,得到完整的面部图片。本实施例中使用的是条件生成对抗网络(CGAN),步骤S1的目标是为面部表情识别任务生成完整的面部图片,为后续步骤的进行生成完整的表情信息。
在本实施例的步骤S3中,使用的Dlib是基于C++开发的一个通用工具包,通过该工具包可以实现人脸检测、面部标志点检测等功能。使用Dlib工具包获取68个面部标志点,并基于该标志点集合构建面部图结构。
在本实施例的步骤S5中,针对基于面部标志点构建的面部图结构构建了基于GCN的面部表情分类与识别模型,在本模型中设计了1个输入层、5个图卷积层、1个全连接层、1个重构层和1个输出层。输入层的作用是接收步骤S4中生成的面部图结构;图卷积层的作用是提取接收到的面部图结构的特征,并形成模型易识别的图分类特征;重构层的作用是将图卷积层提取到的特征重新排列成一维行向量或者一维列向量;全连接层的作用是对重构层的数据进行数据维度变换,为面部表情分类和识别提供高维度的识别信息;输出层的作用是通过全连接层的计算结果评判并得出当前的面部图结构代表的面部表情类别,输出最终结果。
本实施例3中,对GCN模型的各层功能涉及如下:
(1)输入层(L1):输入层接收节点和邻接矩阵A作为GCN的输入,其中每个样本的节点维度为1×16,邻接矩阵A的维度为68×68;
(2)图卷积层(L2):该层的主要功能是对输入的面部图结构进行空域图卷积,因此该层与输入层之间是局部连接。图滤波器的尺寸大小K2=8,本层输出给下一层的无向图数量numout2=32。
(3)图卷积层(L3):该层是对L2层的特征进行整合,并实现降维效果。本公开将第三层的图滤波器大小设置为K3=8,本层输出给下一层的无向图数量numout3=32。
(4)图卷积层(L4):该层的主要功能与L3相同。本实施例将第四层的图滤波器大小设置为K4=6,本层输出给下一层的无向图数量numout4=64。
(5)图卷积层(L5):该层的主要功能与L4相同。本实施例中将第五层的图滤波器大小设置为K5=6,本层输出给下一层的无向图数量numout5=64。
(6)图卷积层(L6):该层的主要功能与L5相同。本实施例将第六层的图滤波器大小设置为K6=4,本层输出给下一层的无向图数量numout5=128。
(7)重构层(L7):该层接收由L6计算出的特征,将神经元的数量设置为512,第7至8层构成分类器。
(8)全连接层(L8):此层将L7的特征进行升维,以便为最后一层的分类提供高维空间。
(9)输出层(L9):该层使用L8层的输出结果计算面部表情识别结果。
本实施例3中,对GCN面部表情分类和识别模型的各层计算方式如下:
(1)输入层(L1):本模型的输入是面部图结构的邻接矩阵A和维度为1×16的节点属性X;
(2)图卷积层(L2):用尺寸为K2=8的32个图滤波器对输入图结构进行滤波操作,随后通过激活函数的计算获取新的无向图。
(3)图卷积层(L3):用尺寸为K3=8的32个图滤波器对输入图结构进行滤波操作,随后通过激活函数的计算获取新的无向图。
(4)图卷积层(L4):用尺寸为K4=6的64个图滤波器对输入图结构进行滤波操作,并且随后通过激活函数的计算获取新的无向图。
其中,H4表示本输出的图类型,H3为第三层的输出。W4表示第四层的可训练参数矩阵,σ表示非线性激活函数Relu。
(5)图卷积层(L5):用尺寸为K5=6的64个图滤波器对输入图结构进行滤波操作,随后通过激活函数的计算获取新的无向图。
其中,H5表示本输出的图类型,H4为第四层的输出。W5表示第五层的可训练参数(权重),σ表示非线性激活函数Relu。
(6)图卷积层(L6):用尺寸为K6=4的128个图滤波器对输入图结构进行滤波操作,随后通过激活函数的计算获取新的无向图。
其中,H6表示本输出的图类型,H5为第五层的输出。W6表示第六层的可训练参数矩阵,σ表示非线性激活函数Relu。
(7)重构层(L7):该层将接收由L6计算出的新特征,重构为一个列向量。
(8)全连接层(L8):本层所有神经元都与L7的神经元进行全连接。
(9)输出层(L9):本层所有神经元都与L8的神经元进行全连接。
本模型的损失函数定义如下:
Loss=cross_entropy(p,l) (6)
其中,p为模型的输出值,l为当前面部图结构的真实标签,cross_entropy(p,l)表示交叉熵函数。
本实施例3中,为了加快网络收敛的速度,网络各层的权重和偏差随机化为正态分布,均值为0。由于分类标签是one-hot编码方式,因此,使用交叉熵函数定义损失函数。本实施例中标注的表情类别有六种,分别为愤怒、惊喜、恐惧、悲伤、厌恶和高兴;如图2所示,其中面部表情示例图片在数据集中被标注为高兴,通过本公开提出的方法进行表情识别,得到六种表情类别的概率分别为愤怒(anger)3%、惊喜(surpise)25%、恐惧(fear)5%、悲伤(sadness)4%、厌恶(disgust)3%和高兴(happiness)60%,因此,预测示例图片的面部表情类别为高兴。
实施例4
本发明实施例4提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如上所述的面部表情识别方法,该方法包括:
获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;
对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;
对预处理后的面部图片进行面部标志点标注;
利用标注后的面部图片构建面部图结构;
训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
实施例5
本发明实施例5提供一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行时,用于实现如上所述的面部表情识别方法,该方法包括:
获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;
对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;
对预处理后的面部图片进行面部标志点标注;
利用标注后的面部图片构建面部图结构;
训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
实施例6
本发明实施例6提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行实现如上所述的面部表情识别方法的指令,该方法包括:
获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;
对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;
对预处理后的面部图片进行面部标志点标注;
利用标注后的面部图片构建面部图结构;
训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
综上所述,本发明实施例所述的基于生成对抗网络和图卷积神经网络的面部表情识别方法及系统,系统包括局部遮挡补全模块、面部图片预处理模块、面部图结构构建模块、面部表情识别模块。通过研究发现,面部表情的图结构能够更有效的反映面部表情在形成时的外观、纹理特征,具有更高的表情识别准确率。以面部标志点与其最近的3个面部标志点构建的图结构可以反映表情的外观结构,以面部标志点为中心获取的LBP特征可以反映表情的纹理特征,两者相结合用于面部表情识别任务。通过CGAN可以有效的实现采集到图片进行局部遮挡补全,进而改善局部遮挡图片条件下的面部表情识别性能。图卷积神经网络能够处理卷积神经网络处理不了的非欧几里得数据(图结构),在节省计算资源的同时,提高面部表情识别的准确率。
本发明实施例中,利用生成对抗网络对自然条件下存在局部遮挡的面部图片进行遮挡补全,提取生成图片的面部标志点,计算每个面部标志点的局部二值模式(LocalBinary Pattern,LBP)。以面部标志点为面部图结构的节点;面部标志点的LBP特征作为每个节点的属性;面部标志点之间的欧氏距离作为图结构的边属性,构建面部的图结构模型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明公开的技术方案的基础上,本领域技术人员在不需要付出创造性劳动即可做出的各种修改或变形,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种面部表情识别方法,其特征在于,包括:
获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;
对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;
对预处理后的面部图片进行面部标志点标注;
利用标注后的面部图片构建面部图结构;
训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
2.根据权利要求1所述的面部表情识别方法,其特征在于,构建面部图结构包括:记录面部标志点的位置,作为图结构的节点;计算每个面部标志点与其相邻的距离最近的面部标志点的欧氏距离,作为图结构的边属性;计算每个面部标志点的局部二值模式,作为图结构的节点属性。
3.根据权利要求1所述的面部表情识别方法,其特征在于,训练好的所述补全模型包括:生成器和判别器;生成器接收局部遮挡的原始图片以及期望输出的目标图片,对图片进行特征提取并将其排列成列向量,生成新的图片;判别器接收生成器生成的新的图片、目标图片以及局部遮挡的原始图片,提取各个图片的空间特征,对生成的新的图片进行判别,获取生成图片与原图片的相似度,辅助生成器生成符合要求的图片。
4.根据权利要求1所述的面部表情识别方法,其特征在于,训练好的识别模型包括输入层、多个图卷积层、重构层、全连接层以及输出层;输入层接收面部图结构;图卷积层用于提取面部图结构的特征,生成面部表情分类特征;全连接层用于对提取的特征进行维度变换;输出层用于根据全连接层的计算结果做出评判并输出面部表情的识别结果。
5.根据权利要求3所述的面部表情识别方法,其特征在于:
对原始数据集中的图片进行人脸检测,并将图片检测到的人脸裁剪出来,并进行人脸对齐,得到人脸数据集;
基于裁剪后的人脸数据集,添加随机大小以及随机位置的遮挡,构建局部遮挡的面部数据集;
将局部遮挡的面部数据集中的图片与原始数据集中的原图片一一对应,构成二元组<Gfinput,Gftarget>,作为生成器的输入,Gfinput表示局部遮挡的原始图片,Gftarget表示原始数据集中的原图片,即目标图片;
构建两个三元组<Gfinput,Gftarget,yes>和<Gfinput,Gfoutput,no>,作为判别器的输入,Gfoutput表示生成器生成的新的图片。
6.根据权利要求5所述的面部表情识别方法,其特征在于,训练所述补全模型包括:
步骤1:设置超参数,确定判别器和生成器的训练步长之比;
步骤2:将三元组和输入到判别器中,通过随机梯度下降法优化判别器的参数;
步骤3:将二元组输入到生成器中,通过随机梯度下降法优化生成器中的参数;
步骤4:迭代执行步骤2和步骤3,直到达成停止条件。
7.根据权利要求2所述的面部表情识别方法,其特征在于,计算每个面部标志点的局部二值模式包括:
获取面部标志点的中心像素的区域C;
对于获取的区域C的每一个像素p,比较与其相邻的像素的灰度值;
若p周围像素的值大于中心像素值,则该像素点p的位置被标记为1,否则为0;
通过上述操作,产生一个二进制数,即为二值模式值。
8.一种面部表情识别系统,其特征在于,包括:
局部遮挡补全模块,用于获取待识别的局部遮挡的面部图片,采用训练好的补全模型对图片中被遮挡的部分进行补全,得到完整的面部图片;
面部图片预处理模块,用于对完整的面部图片进行预处理操作,包括人脸检测、人脸对齐;
面部图结构构建模块,用于对预处理后的面部图片进行面部标志点标注,利用标注后的面部图片构建面部图结构;
面部表情识别模块,用于利用训练好的识别模型对构建的面部图结构进行处理,得到面部表情的分类与识别结果;其中,所述识别模型由训练集训练得到,所述训练集包括多个面部图结构以及标注面部表情类别的标签。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如权利要求1-7任一项所述的面部表情识别方法。
10.一种电子设备,其特征在于,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行实现如权利要求1-7任一项所述的面部表情识别方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110949250.XA CN113688715A (zh) | 2021-08-18 | 2021-08-18 | 面部表情识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110949250.XA CN113688715A (zh) | 2021-08-18 | 2021-08-18 | 面部表情识别方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113688715A true CN113688715A (zh) | 2021-11-23 |
Family
ID=78580395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110949250.XA Pending CN113688715A (zh) | 2021-08-18 | 2021-08-18 | 面部表情识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688715A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116631042A (zh) * | 2023-07-25 | 2023-08-22 | 数据空间研究院 | 表情图像生成、表情识别模型、方法、系统和存储器 |
-
2021
- 2021-08-18 CN CN202110949250.XA patent/CN113688715A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116631042A (zh) * | 2023-07-25 | 2023-08-22 | 数据空间研究院 | 表情图像生成、表情识别模型、方法、系统和存储器 |
CN116631042B (zh) * | 2023-07-25 | 2023-10-13 | 数据空间研究院 | 表情图像生成、表情识别模型、方法、系统和存储器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111462126B (zh) | 一种基于边缘增强的语义图像分割方法及系统 | |
CN110110624B (zh) | 一种基于DenseNet网络与帧差法特征输入的人体行为识别方法 | |
CN108491835B (zh) | 面向面部表情识别的双通道卷积神经网络 | |
CN111444881A (zh) | 伪造人脸视频检测方法和装置 | |
CN111191583B (zh) | 基于卷积神经网络的空间目标识别系统及方法 | |
CN108805002B (zh) | 基于深度学习和动态聚类的监控视频异常事件检测方法 | |
CN109063666A (zh) | 基于深度可分离卷积的轻量化人脸识别方法及系统 | |
CN107180248A (zh) | 基于联合损失增强网络的高光谱图像分类方法 | |
CN108062543A (zh) | 一种面部识别方法及装置 | |
CN113221639A (zh) | 一种基于多任务学习的代表性au区域提取的微表情识别方法 | |
CN109543548A (zh) | 一种人脸识别方法、装置及存储介质 | |
CN111695513B (zh) | 一种基于深度残差网络的人脸表情识别方法 | |
CN112036260B (zh) | 一种自然环境下多尺度子块聚合的表情识别方法及系统 | |
CN113989890A (zh) | 基于多通道融合和轻量级神经网络的人脸表情识别方法 | |
CN112784929B (zh) | 一种基于双元组扩充的小样本图像分类方法及装置 | |
CN111178312B (zh) | 基于多任务特征学习网络的人脸表情识别方法 | |
CN116645716B (zh) | 基于局部特征和全局特征的表情识别方法 | |
CN112818764A (zh) | 一种基于特征重建模型的低分辨率图像人脸表情识别方法 | |
CN113159067A (zh) | 一种基于多粒度局部特征软关联聚合的细粒度图像辨识方法及装置 | |
CN111652273A (zh) | 一种基于深度学习的rgb-d图像分类方法 | |
CN112669343A (zh) | 一种基于深度学习的壮族少数民族服饰分割方法 | |
CN106611156A (zh) | 一种自适应深度空间特征的行人识别方法和系统 | |
CN110111365B (zh) | 基于深度学习的训练方法和装置以及目标跟踪方法和装置 | |
Liu et al. | Image retrieval using CNN and low-level feature fusion for crime scene investigation image database | |
Yapıcı et al. | Performance comparison of convolutional neural network models on GPU |
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 |