Facial Expression Recognition with multi-scale Graph Convolutional Networks-论文笔记

本文主要是介绍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
  1. 首先是人脸标志点的提取,这篇文章是使用了98个人脸标志点(如下图中的第二行)。提取方法是引用了2019年的一个研究中的模型:PFLD,有兴趣的小伙伴可以看一下这篇文章。
  2. 另外是人脸图(Facial Graph)的构建。初始的人脸图如下图的第三行所示,是根据人脸标志点将属于同一器官(鼻子、嘴巴、眼睛)的面部标志点连接起来。随后将鼻子与眼睛、嘴巴分别相连,将眼睛与人脸边缘的面部标志点相连。这样做的好处是使用这个图形来表示人脸的形状,并标定各个器官在人脸中的位置。
    注: 这一部分的Facial Graph具体是如何连接各个点的原理不是很明白,最重要的一点是如何确定某一些标志点属于同一个器官的,有了解的小伙伴希望可以指点一二,非常感谢!
    Facial Landmark Extraction and Facial Graph
2.2 Facial Graph Representation and Multi-scale Graph Generation
  1. 在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
  2. 文章的创新点之一就是使用了多尺度的图卷积神经网络,那么下面就是关于如何构建多尺度图的方法介绍。在构建多尺度图时,文章中采用了一种Multi-Neighborhood Partition (MNP) 策略,先生成 K − h o p K-hop Khop子图,然后将 K − h o p K-hop Khop子图分别作为图滤波器对初始的面部图结构进行滤波,生成不同尺度的人脸图结构。
    在这里插入图片描述
2.3 Graph Convolutional Network Contruction
  • 将上面得到的初始图结构和生成的多尺度图结构分别送入到图卷积神经网络中,将得到的特征图进行融合,最终用于表情分类。

后面具体的实验结果就不在这列出了,这个网络相对于传统的CNN结构来说相对新颖,而且为人脸的图结构表示提供了一种新的思路。觉得值得学习一下。

其中有出现错误的地方,还请各位见谅,希望不吝指出!

这篇关于Facial Expression Recognition with multi-scale Graph Convolutional Networks-论文笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/840077

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个