本文主要是介绍Facial Expression Recognition with multi-scale Graph Convolutional Networks-论文笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这篇文章的作者是来自中国移动研究院的研究者,将图卷积神经网络应用与人脸表情识别中,并提出了一种新的通过人脸图片构建图结构的方法。
论文地址:Facial Expression Recognition with multi-scale Graph Convolutional Networks
1. Abstract
Recognizing emotion through facial expression has now been widely applied in our daily lives. Therefore, facial expression recognition (FER) is attracting increasing research interests in the field of artificial intelligence and multimedia. With the development of Convolutional Neural Networks(CNN), end-to-end deep learning frameworks for facial expression recognition have achieved great success on large-scale datasets. However, these works still face the problems of redundant information and data bias, which obviously decrease the performance of facial expression recognition. In this paper, we propose a novel multi-scale Graph Convolutional Network(GCN) based on landmark graphs extracted from facial images. The proposed method is evaluated on different popular datasets. The results show that the proposed method outperforms the traditional deep learning frameworks and achieves more stable performance on different datasets.
这边的摘要我是直接复制过来的,其中的大概意思是:这个方法主要是为了解决信息冗余(redundant information)和数据偏差(data bias)。
其中的信息冗余指的是在人脸图片中包含较多的与表情识别任务无关的信息,而表情信息往往只包含于人脸的关某些键部分,如鼻子、眼睛、嘴巴等;数据偏差是指不同数据库中的不同人的表情数据在同一个表情识别算法中得到不同的结果。
针对以上两个问题,文章提出了一种叫做多尺度的图卷积神经网络(multi-scale Graph Convolutional Network)模型用于面部表情识别。而使用上述多尺度图卷积神经网络模型的关键是构建多尺度的人脸图表示。
2. Method
上图是文章中提出模型的一个基本结构,它的基本流程:
(1) 进行人脸标志点的检测;
(2) 使用提取到的人脸标志点进行初始的人脸表示图的构建;
(3) 在初始图上使用Multi-Neighborhood Partition(MNP)策略,构建多尺度图;
(4) 将多尺度人脸表示送入到GCN中进行图表示学习,并进行特征融合,最终进行表情分类。
2.1 Facial Landmark Extraction and Facial Graph
- 首先是人脸标志点的提取,这篇文章是使用了98个人脸标志点(如下图中的第二行)。提取方法是引用了2019年的一个研究中的模型:PFLD,有兴趣的小伙伴可以看一下这篇文章。
- 另外是人脸图(Facial Graph)的构建。初始的人脸图如下图的第三行所示,是根据人脸标志点将属于同一器官(鼻子、嘴巴、眼睛)的面部标志点连接起来。随后将鼻子与眼睛、嘴巴分别相连,将眼睛与人脸边缘的面部标志点相连。这样做的好处是使用这个图形来表示人脸的形状,并标定各个器官在人脸中的位置。
注: 这一部分的Facial Graph具体是如何连接各个点的原理不是很明白,最重要的一点是如何确定某一些标志点属于同一个器官的,有了解的小伙伴希望可以指点一二,非常感谢!
2.2 Facial Graph Representation and Multi-scale Graph Generation
- 在2.1节中我们提到了构建Facial Graph的方法,也就是上面图片中的第三行的蓝色线条图。文章基于这个图构建了初始的人脸的图结构。设 G = ( V , E ) G=(V, E) G=(V,E)表示人脸面部的图结构,那么, V V V表示图中的节点,它的属性包括面部标志点的坐标以及Probability, E E E表示其中的边,以Facial Graph为基准,如果两个面部标志点之间有边,则该值为1,否则为0. 这样就构建了初始的人脸图结构 G G G。
- 文章的创新点之一就是使用了多尺度的图卷积神经网络,那么下面就是关于如何构建多尺度图的方法介绍。在构建多尺度图时,文章中采用了一种Multi-Neighborhood Partition (MNP) 策略,先生成 K − h o p K-hop K−hop子图,然后将 K − h o p K-hop K−hop子图分别作为图滤波器对初始的面部图结构进行滤波,生成不同尺度的人脸图结构。
2.3 Graph Convolutional Network Contruction
- 将上面得到的初始图结构和生成的多尺度图结构分别送入到图卷积神经网络中,将得到的特征图进行融合,最终用于表情分类。
后面具体的实验结果就不在这列出了,这个网络相对于传统的CNN结构来说相对新颖,而且为人脸的图结构表示提供了一种新的思路。觉得值得学习一下。
其中有出现错误的地方,还请各位见谅,希望不吝指出!
这篇关于Facial Expression Recognition with multi-scale Graph Convolutional Networks-论文笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!