CN117351542A - 一种面部表情识别方法及系统 - Google Patents
一种面部表情识别方法及系统 Download PDFInfo
- Publication number
- CN117351542A CN117351542A CN202311289583.XA CN202311289583A CN117351542A CN 117351542 A CN117351542 A CN 117351542A CN 202311289583 A CN202311289583 A CN 202311289583A CN 117351542 A CN117351542 A CN 117351542A
- Authority
- CN
- China
- Prior art keywords
- facial expression
- network
- expression recognition
- facial
- training
- 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
- 230000008921 facial expression Effects 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012549 training Methods 0.000 claims abstract description 51
- 230000001815 facial effect Effects 0.000 claims abstract description 28
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 47
- 230000014509 gene expression Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 4
- 230000002708 enhancing effect Effects 0.000 claims description 2
- 230000001965 increasing effect Effects 0.000 abstract description 9
- 238000012545 processing Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 13
- 239000013598 vector Substances 0.000 description 11
- 238000013527 convolutional neural network Methods 0.000 description 9
- 238000013526 transfer learning Methods 0.000 description 8
- 230000008451 emotion Effects 0.000 description 6
- 241000282414 Homo sapiens Species 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 239000013585 weight reducing agent Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004821 distillation Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 206010063659 Aversion Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 239000005338 frosted glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 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/174—Facial expression recognition
-
- 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
- G06N3/096—Transfer learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
- 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/172—Classification, e.g. identification
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明涉及图像处理技术领域,提供了一种面部表情识别方法及系统,包括:获取待识别面部图像;通过训练好的学生网络,识别得到所述待识别面部图像所属的面部表情类;其中,学生网络在教师网络的基础上,通过知识蒸馏训练得到;所述教师网络在训练的过程中,以最小化交叉熵损失和每个样本到其所属的面部表情类的类中心的距离为目标。增加了易混淆面部表情的可分性,提高教师网络和学生网络进行面部表情识别的准确率。
Description
技术领域
本发明属于图像处理技术领域,尤其涉及一种面部表情识别方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
目前,基于卷积神经网络的面部表情识别的研究仍然存在着一些难点:首先,现有面部表情图像数据集大都规模较小,且额外样本数据难以搜集;其次,由于面部图像中冗余信息的干扰,不同类表情识别时易发生混淆;最后,现有模型对于硬件和算力要求较高,存在难以实际应用等问题。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种面部表情识别方法及系统,教师网络在训练的过程中,在训练的过程中,通过交叉熵损失函数指导类间欧式距离变大;同时,减小样本特征与其对应类中心的欧式距离,最小化类内部的变化;两者共同参与训练,增加了易混淆面部表情的可分性,提高教师网络和学生网络进行面部表情识别的准确率。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种面部表情识别方法,其包括:
获取待识别面部图像;
通过训练好的学生网络,识别得到所述待识别面部图像所属的面部表情类;
其中,学生网络在教师网络的基础上,通过知识蒸馏训练得到;所述教师网络在训练的过程中,以最小化交叉熵损失和每个样本到其所属的面部表情类的类中心的距离为目标。
进一步地,所述教师网络的训练采用的损失函数为:
L=Lcls+λLaf
其中,Lcls表示交叉熵损失,λ是亲和损失的权重参数,M代表代表样本的数量,代表第i样本所属的面部表情类的类中心,/>代表类中心之间的标准差,x′i表示第i样本在教师网络的输出特征。
进一步地,所述教师网络和学生网络的网络结构不同。
进一步地,所述教师网络将面部图像输入预训练好的特征提取器,得到特征图,并通过通道注意力和空间注意力,得到加权后特征图,将特征图和加权后特征图进行相加,得到输出特征,并将输出特征输入全连接层,得到面部图像所属的面部表情类。
进一步地,所述特征提取器通过对比学习进行预训练,且所述对比学习采用随机裁剪、水平翻转、改变颜色属性、灰度化和高斯噪音操作中的至少两种操作进行数据增强。
进一步地,所述特征提取器的预训练采用的损失函数为:
其中,N表示预训练采用的样本数,2k-1和2k为对第k个样本进行数据增强后得到的两张人脸图像,zi表示通过特征提取器对人脸图像i提取的特征,τ代表温度系数。
进一步地,所述学生网络采用相对熵损失和交叉熵损失的加权和作为损失函数。
本发明的第二个方面提供一种面部表情识别系统,其包括:
图像获取模块,其被配置为:获取待识别面部图像;
表情识别模块,其被配置为:通过训练好的学生网络,识别得到所述待识别面部图像所属的面部表情类;
其中,学生网络在教师网络的基础上,通过知识蒸馏训练得到;所述教师网络在训练的过程中,以最小化交叉熵损失和每个样本到其所属的面部表情类的类中心的距离为目标。
本发明的第三个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的一种面部表情识别方法中的步骤。
本发明的第四个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种面部表情识别方法中的步骤。
与现有技术相比,本发明的有益效果是:
本发明教师网络在训练的过程中,在训练的过程中,通过交叉熵损失函数指导类间欧式距离变大;同时,减小样本特征与其对应类中心的欧式距离,最小化类内部的变化;两者共同参与训练,增加了易混淆面部表情的可分性,提高教师网络和学生网络进行面部表情识别的准确率。
本发明教师网络融合空间注意力机制与通道注意力机制,空间注意力机制实现对同一通道下的不同位置特征的聚焦,通道注意力机制完成对不同通道权重系数的调整,从而使教师网络实现对于面部图像中关键特征的自动聚焦,提高教师网络对表情识别准确率。
本发明采用了归一化温度尺度交叉熵损失函数,对特征提取器进行预训练,分子中只计算正样本对的相似度,负样本相似度计算出现在分母中,所以正样本之间相似度越大,负样本之间相似度越小时,损失函数值越小,此时最小化损失函数便可以增强神经网络区分正负样本对的能力。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例一的特征编码的流程图;
图2是本发明实施例一的传统机器学习与迁移学习对比图;
图3是本发明实施例一的迁移学习的流程图;
图4是本发明实施例一的分段迁移算法的流程图;
图5是本发明实施例一的一种面部表情识别方法的流程图;
图6是本发明实施例一的亲和损失函数的示意图;
图7是本发明实施例一的常规卷积的示意图;
图8是本发明实施例一的深度分离卷积的示意图;
图9是本发明实施例一的残差结构与倒残差结构的对比图;
图10是本发明实施例一的Bneck结构的示意图;
图11是本发明实施例一的知识蒸馏框架图;
图12是本发明实施例一的教师网络和学生网络的训练流程图;
图13是本发明实施例二的一种面部表情识别系统的结构图;
图14是本发明实施例二的一种面部表情识别系统的框架图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
应该指出,本发明所获取的数据,包括面部图像等,均为合法来源,本发明实施例的方法、设备(系统)、和计算机程序产品仅用于合法场景。
实施例一
本实施例提供了一种面部表情识别方法。
本实施例提供的一种面部表情识别方法,提出基于对比学习的面部表情识别方法,旨在解决真实环境中面部表情数据样本较少,难以获得有效的预训练模型的问题;为了减少输入面部图像中冗余信息带来的消极影响,获取更多有价值特征,提出FA-Net网络架构,通过融合注意力机制从通道、空间两维度实现对输入图像的自适应加权,在训练过程中引入亲和损失,通过增加类内样本在特征空间聚集程度从而增加表情可分性;基于提出的FA-Net网络设计一种轻量化面部表情识别模型,完成机器人实时面部表情识别。
本实施例提供的一种面部表情识别方法,包括:获取待识别面部图像;通过训练好的学生网络,识别得到所述待识别面部图像所属的面部表情类;其中,学生网络在教师网络的基础上,通过知识蒸馏训练得到;教师网络在训练的过程中,以最小化交叉熵损失和每个样本到其所属的面部表情类的类中心的距离为目标。其中,教师网络和学生网络的网络结构不同。教师网络将面部图像输入预训练好的特征提取器,得到特征图,并通过通道注意力和空间注意力,得到加权后特征图,将特征图和加权后特征图进行相加,得到输出特征,并将输出特征输入全连接层,得到面部图像所属的面部表情类。
对比学习可以总结为两个部分:代理任务和目标函数。众所周知,卷积神经网络模型的训练需要网络输出和标签值,然后再根据两者之间的差异性计算相关损失,指导网络模型中参数的更新方向。因为对比学习是无监督学习算法,所以需要代理任务来定义对比学习中的正负样本,所谓正负样本也就是需要的标签值。
数据增强也就是本实施例所采用的代理任务,其将同一张面部图像增强产生的图像认定它们为相互的正样本,创建一个数据增强操作集合T,其中包括随机裁剪、水平翻转、改变颜色属性、灰度化、高斯噪音操作,每次需要数据增强操作时,并不会将集合内的所有操作执行,每种操作都具有一定的概率触发,尽可能保证经过数据增强后得到的两张人脸图像xi和xj是非一致的,下面对集合T内的数据增强操作进行详细介绍:
(1)随机裁剪:指的是将输入的面部图像按照随机大小和长宽比进行裁剪,为了防止任意裁掉导致关键信息的缺失,为此将图像大小与长宽比限定一定的范围,让其图像大小与长宽比在此范围内随机变化,此外还需要将裁剪后的图像恢复到原来的大小,因为卷积神经网络的输入为固定尺寸,这里采用双线性插值法对裁剪后的图像进行像素填充。
(2)随机水平翻转:指的是将输入面部图像自左向右或自右向左翻转180度。
(3)随机色彩变换:图像颜色属性包含亮度、对比度、饱和度和色调四个参数,通过调节这些参数从而模拟真实环境下相关条件的变化。图像的亮度指的是图像的明暗程度,拿灰度图举例,灰度值越大则整体图像越明亮,反之则越暗;图像的对比度指的是最亮区域和最暗区域之间的拉伸程度,具有高对比度图像会更加的清晰和拥有更加生动鲜明的色彩。
(4)随机图像灰度化:将彩色图像转变成灰度图像,由于彩色图像具有三个通道,得到的灰度图像也具有三个通道,并且三个通道像素数值相同。
(5)高斯模糊:是图像处理中一种常见的模糊操作,本质上是一种数据平滑操作,也被称作高斯平滑,直观效果就如同给图像加了一层半透明的毛玻璃,主要用于减少图像无关噪声,其具体实现是根据周围像素值来确定中心像素值,类似于均值滤波,不同之处是不同相对位置像素会被赋予不同的权重,权重系数是根据二维高斯分布函数确定的,像素计算中心像素值时,模糊半径取值范围越大,所添加的高斯噪音效果越明显,二维高斯分布函数表达式为:
其中,x和y代表二维空间中横纵坐标,x2+y2代表模糊半径,σ代表正态分布的标准差。
对于一张人脸图像x,经过数据增强后,得到的两张人脸图像xi和xj,此时的图像仍是基础的像素图,通过特定的编码器(Encoder),对其进行特征编码,得到相应的特征向量,如图1所示,编码器由ResNet18网络和非线性映射结构组成;可以把ResNet18网络简化为一个简单函数f(x),输入就是增强完成的人脸图像之一,得到图像的矢量表示hi;非线性映射结构本质上就是一个多层感知器,由两个线性层组成,并使用ReLU作为激活函数,也可以将其抽象为一个简单函数g(h),其将卷积神经网络空间输出的向量转换到另外的空间,得到高阶向量zi来增加特征向量的多样性。本实施例通过编码,获得人脸图像的潜在表示,使得网络模型能够学习到图像高阶特征。
得到人脸图像的高阶表示后,需要一个指标来衡量正负样本之间的差异性,并且能够指导网络的训练,余弦相似度(Cosine Matrix),又被称为余弦距离可以根据两个向量在向量空间中的夹角来估算其相似性,公式如下:
其中,θ代表两向量在空间中的夹角,similarity(zi,zj)代表两向量的相似度,其取值范围在[-1,1]之间,向量之间方向越一致,则夹角越接近0,值也越大,也说明两个向量越相似。
单一的余弦相似度并不能满足损失函数的要求,因此采用了归一化温度尺度交叉熵损失函数(Normalized Temperature-Scaled Cross-Entropy Loss,NT-Xent),对于批量数为N的样本,经过数据增强模块处理后得到2N个数据,同一批量中同源数据互为正样本,异源数据则为负样本,那么对于一张图片来说,在此批量中存在一个正样本和2(N-1)个负样本,则有如下公式:
其中,τ代表一个温度系数,属于超参数之一。从式(3)中可以看出,分子中只计算正样本对的相似度,负样本相似度计算出现在分母中,所以正样本之间相似度越大,负样本之间相似度越小时,损失函数值越小,此时最小化损失函数便可以增强神经网络区分正负样本对的能力,网络学习过程(即基于对比学习的面部表情识别预训练算法)包括:
1.初始化批量大小为N,温度系数τ;
2.初始化网络结构f,g和数据增强操作集合T;
3.输入人脸表情数据集S,则共有l个批量,并用Bh表示第h个批量,批量中第k张照片表示为xk,k∈{1,...,N};
4.令h=1;
5.对于第h个批量Bh:
501.令k=1;
502.对于第h个批量Bh中的第k张照片表示为xk:
(1)初始化两个图像增强函数t1~T,t2~T;
(2)对于第一个图像增强函数有:(resnet18);(非线性映射结构);
(3)对于第二个图像增强函数:
503.令k=k+1,判断k是否大于N,若是,进入步骤6;否则,返回步骤501;
6.对于所有的i∈{1,...,2N}和j∈{1,...,2N},计算相似度similarity(zi,zj);
7.定义则
8.更新f、g相关参数以最小化损失函数L;
9.令h=h+1,判断k是否大于N,若是,进入步骤10;否则,返回步骤5;
10.返回Resnet18网络f,舍弃非线性映射结构g。
迁移学习(Transfer Learning)隶属于机器学习领域,其主要思想就是让神经网络能够像人类一样将已经掌握的知识进行跨任务或者跨领域的应用,通过从其他任务中已经学习到的知识来改善新任务的学习过程。
迁移学习中有两个重要概念域(Domain)和任务(Task),域是神经网络学习的主要成分,一般用符号D表示,域可以分为两个部分:特征空间X以及其对应的概率分布P(X)。源域(Source Domain)和目标域(Target Domain)是迁移学习中最基本的两个域,一般源域用Ds表示,目标域用Dt表示。任务是神经网络学习的目标,用T来表示,主要由两部分组成:标签空间Y和学习函数F(X),两个基本概念为源任务(Source Task)和目标任务(Target Task)。一般来说,迁移学习必要条件是Ds≠Dt或者是Ts≠Tt,也就是源域与目标域、源任务和目标任务中至少存在一个对应关系不同,其利用不同域或者不同任务之间的潜在联系,指导目标任务的训练过程。
如图2所示,传统的深度学习算法都是利用自己独有的数据,针对不同的任务,训练特有神经网络模型,这种方式忽略了不同任务或者不同数据中的潜在关联,并且每个任务都要从头训练特定的模型,耗费大量的时间。相较与传统算法,迁移学习能够将其他任务中学习到的图像特征、模型参数等知识,应用到目标任务的学习过程中,对神经网络的学习带来积极的影响。
传统的迁移学习算法将预训练模型的相关参数作为目标任务神经网络模型的训练起点。如图3所示,具体实现方式是首先将预训练好的神经网络模型中的输出层抛弃,然后根据需要数据中类别的个数添加新的输出层,新的输出层的相关参数进行随机初始化操作,其他层的网络权重初始值使用预训练模型的参数值,在新的目标数据集或者是新的目标任务上进行训练,新添加的输出层网络参数随着不断学习进行更新,其他层网络参数进行冻结处理,不随学习过程进行更新,这种方法又被称作微调(Fine Tune)。
此方法可以在一定程度上缩短神经网络学习所花费的时间,但也存在一定的局限性,舍弃全连接层的预训练卷积网络模型本质上就是一个特征提取器,由于源域与目标域、源任务与目标任务必然存在不一致性,对特征提取器的要求存在一定差异,直接冻结原模型相关参数所达到的效果并不是很理想,为此提出一种分段微调的新迁移学习方法:将预训练好的神经网络模型中的全连接层去除,根据目标数据集的分类需求添加相应的全连接层作为输出层,首先固定除全连接层以外的网络层参数,进行第一阶段的训练,然后再释放固定的网络参数,完成第二阶段训练,如图4所示。分段迁移算法能够增加神经网络训练过程中的稳定性,让网络对人脸图像特征的提取更加准确高效,从而让人脸表情的识别变得更精准。
其中,一种分段微调的新迁移学习方法,是针对基于ResNet18网络的对比学习模型进行训练的一种加速算法收敛的方法;同时,可以应用于FA-Net的训练。
由于表情识别需要捕捉关键区域的细微差异来完成对不同表情的区分,通过观察表情面部动作编码系统,发现面部表情的变化主要集中在眼睛、嘴巴以及鼻子附近的肌肉,对于表情识别任务来说,面部图像中的耳朵、头发等是相对价值较小的特征,针对上述现象,提出了基于融合注意力机制的面部表情识别网络(Facial expression recognitionbased on fused attention mechanism),简称为FA-Net,网络中融合空间注意力机制与通道注意力机制,空间注意力机制实现对同一通道下的不同位置特征的聚焦,通道注意力机制完成对不同通道权重系数的调整,从而使网络实现对于面部图像中关键特征的自动聚焦,提高网络对表情识别准确率。
FA-Net网络由特征提取器(Feature Extractor Module)和融合注意力模块(Fusion Attention Module)组成,总体网络框架结构如图5所示。将预训练好的ResNet18作为特征提取器,将输入人脸进行一定预处理后送入特征提取器,得到大小为C×H×W的特征图,后将特征图送入融合注意力模块,完成重点空间和重点通道权重分配,由于通道注意力和空间注意力子模块都使用了Sigmoid激活函数进行归一化,将权重值限制在0-1之间,会引起信息一定的损失,故借鉴残差思想,将输入特征与加权后的特征进行相加,得到输出特征,降低归一化带来的信息损失的影响,此时得到的特征图大小依然为C×H×W,此时的特征已经完成对人脸中嘴巴等关键区域的聚焦,最后将其送入由两个全连接层组成分类层进行表情类别的划分。
由于面部表情识别属于细粒度分类任务,具有同类表情差异性相对较大,异类表情差异性相对较小的难点,容易发生不同类别的表情的混淆。针对此问题,在训练过程中,采用了亲和损失函数(Affinity Loss)与交叉熵损失函数联合训练。将第i个输入图像表示为xi,其对应的真实标签为yi,将网络的输出简化为:
x′i=fbackbone(wbackbone,xi) (4)
其中,fbackbone和wbackbone分别代表所使用的网络模型(特征提取器和融合注意力模块)以及其对应的权重系数,x′i代表神经网络的输出特征。
亲和损失函数是在中心损失函数的变体,在中心函数的基础上加入类中心之间的标准差,如图6所示,其核心的思想是在每个训练回合中让所有样本尽可能靠近其所属类的类中心,使用c来表示各类的类中心,每类表情的类中心无法直接获取,需要通过计算获得,将该类所有人脸表情特征的平均值作为类中心,在训练过程中,首先随机初始化类中心,然后在训练过程中再依据样本的特征和标签对其进行优化调整,亲和损失函数计算公式如下:
其中,M代表代表样本的数量,代表第i样本所属表情类的类中心,/>代表类中心之间的标准差。亲和损失函数给予同类表情在特征空间的紧凑约束,减小样本特征与其对应类中心的欧式距离,最小化类内部的变化,从而增加了易混淆人脸表情的可分性,提高神经网络的准确率。
交叉熵损失函数通过计算预测值与真实值之间的差异值,从而指导网络的训练,能让特征空间中的不同类中心进行一定程度远离,其计算公式如下:
其中,M代表样本的数量,K代表人脸表情的总类别数,yi代表第i个样本对应的实际标签,p(y=j|xi)表示第i个样本被预测为第j类表情的概率。
亲和损失函数与交叉熵损失函数的联合优化可以表示为:
L=Lcls+λLaf (7)
其中,λ是亲和损失的权重参数,L表示总损失函数,在神经网络训练过程中,亲和损失函数指导类内欧式距离缩短,交叉熵损失函数指导类间欧式距离变大、两者共同参与训练,增加了面部表情的可分性,从而提高网络识别精度。
卷积神经网络模型在各种任务上表现优异,但表现良好的模型也意味着需要更多计算资源,难以在机器人等终端进行实际应用,近年来模型的轻量化成为科研人员的研究重点,网络模型压缩的手段主要有采用轻量化的设计、知识蒸馏、网络模型剪枝优化、权值量化等。其中知识蒸馏是一种新兴的模型压缩方法,主要思想是使用较为复杂的模型作为教师网络,较为轻量的模型作为学生网络,将教师网络学习知识用来指导学生网络的训练,优化学生网络训练过程,完成模型的轻量化。
随着深度神经网络的不断发展以及各种智能终端设备的层出不穷,神经网络运行往往需要较多的算力以及一定的内存空间,各种设备较低的硬件配置难以满足常规神经网络的运行需求,对于网络的轻量化研究越来越受到科研人员的重视。目前的卷积网络在应用方面主要有两个问题:第一是模型存储问题,越来越深的神经网络具有大量的参数,这对硬件的内存提出了一定的要求;第二是运行速度问题,如果想要在实际应用中使用卷积神经网络,需要毫秒级别的响应时间,可以通过提高设备计算能力来解决,但是高性能的计算设备价格较为昂贵,不符合实际,那就需要减小网络模型的计算量来减少网络运行所需要的时间。
MobileNet是由Google团队在2017年提出的一种轻量化网络,相较于其他卷积神经网络具有模型小、计算快的优点。相较于普通的卷积神经网络,其核心的思想为采用深度可分离卷积操作(Depthwise Separable Convolution)替代如图7所示的常规卷积,减小网络模型的计算量。深度分离卷积如图8所示,其由深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)两个操作组成,假设输入特征图尺寸为3×H×W,传统卷积操作每个卷积核的深度都与输入特征通道数相一致,而深度卷积使用深度为1的卷积核对特征图进行逐通道卷积,卷积核数量与输入特征通道数相匹配,一个卷积核只对一个通道进行计算,得到通道数与输入特征图一致的卷积特征图,完成对特征空间信息的获取。逐点卷积本质上是常规卷积操作,只不过卷积核的大小被限制为了1×1,卷积核的深度与输入特征图通道数一致,完成对通道信息的获取,两种卷积依次组合,达到了与常规卷积基本一致的特征提取效果,但当卷积核尺寸为3时,深度可分离卷积的计算量大约只有常规卷积的1/9。
在MobileNet网络训练过程中会出现卷积核为空的现象,原因是输入特征维度较小,会引起相关信息的丢失,2018年,MoblieNetV2被提出,其具有更高的准确率以及更小的网络模型,其在MobileNetV1的基础上,使用的倒残差结构与ReLU6激活函数解决了由于输入特征维度小而导致的信息丢失的问题。倒残差操作如图9所示,常规的残差块先经过1×1的卷积降低特征图通道数,后使用常规卷积运算对特征进行提取,再经过1×1的卷积进行通道数的扩充;而倒残差结构先1×1的卷积进行通道数的扩充,再经过可分离卷积操作对特征进行提取,最后使用1×1的卷积进行降维处理,并采用了ReLU6激活函数,避免了上文中提到的信息丢失问题,计算公式如下:
ReLU6=min(max(x,0),6) (8)
MobileNetV3是对MobileNet算法的最新的改进,其引入了神经结构网络搜索技术(Network Architecture Search,NAS)并且将倒残差结构优化为bneck结构,如图10所示,主要变动是引入通道注意力机制,在完成扩充特征通道数与深度分离卷积操作后,送入SE模块对于各个通道进行自适应的加权,从而完成重点通道的聚焦,最后再经过降维得到所需特征图,其同时提供出了两个模型:MobileNetV3-Large面向较高的资源;MobileNetV3-Samll针对较低的资源。
对于模型性能,本实施例提出了基于对比学习的面部表情识别以及基于融合注意力机制的面部表情识别网络FA-Net,但其具有较大的参数量,难以达到毫秒级的响应时间,故使用知识蒸馏思想对其进行模型轻量化,其主要细节如图11所示,将在RAF-DB数据集中训练好的FA-Net网络模型作为教师网络,使用MobileNetV3作为学生网络,也就是目标网络,将教师网络输出的预测结果作为学生网络的软标签,如表1所示,相较于硬标签,软标签包含了更多的知识和信息,在一定程度上缓解了训练过程中监督信号不足的缺失,比如软标签会告诉网络吃惊的表情会与惊恐的表情更相似,而与开心的表情更不相似,此外引入蒸馏温度T,其作用于Softmax的输出,使其调整软标签的软化程度,Softmax公式为:
加入蒸馏温度T后的Softmax公式调整为:
其中,zi为Softmax前一层第i个节点的输出值,K代表前一层节点的总数量。蒸馏温度是一个超参数,当T=1时,公式与Softamx一致;当T越大,表示标签软化程度越大,会保存更多的监督信号;当T越接近0,输出结果越与硬标签一致。
表1、硬标签与软标签
学生网络的训练会被软标签和硬标签同时指导,使用KL散度(相对熵)损失衡量学生网络与教师网络的输出差异性,计算公式为:
其中,N代表面部表情样本数量,K代表表情种类总数,y代表教师网络的预测结果,p代表学生网络的预测结果。由于教师网络也并不具有百分百的准确率,所以仍然需要硬标签对教师网络中的错误知识进行修正,学生网络与硬标签之前的差异性仍然采用叫交叉熵损失函数Lcls进行衡量,那么总损失函数可以表示为:
Ld=(1-λ)Lcls+λLsoft (12)
其中,λ为超参数,用来平衡KL散度损失函数与交叉熵损失函数,训练过程如图12所示。
针对面部表情识别网络模型大,硬件设备要求高的问题,本实施例通过使用知识蒸馏思想对FA-Net网络模型进行模型轻量化,得到了一个在自然场景下兼具轻量性与稳定性的面部表情识别网络;FA-Net能够提取到较为精确的面部特征,但具有较大的参数量与计算量,难以在移动设备上进行直接应用,因此将FA-Net作为教师网络,将能达到应用标准轻量化模型MobilenetV3-Small作为学生网络,通过知识蒸馏将教师网络的优质知识传递给学生网络,从而完成网络模型的轻量化,得到轻量模型MFA-Net。
实施例二
本实施例提供了一种面部表情识别系统。
目前绝大多数的人机交互进行较为生硬,没有考虑用户的情感状态,机器人缺乏一个可以快速准确理解用户情感的系统,而面部表情是人类最直接表达情感的方式,所以能够在机器人上应用的面部表情识别系统有利于其更好的理解用户情感状态,使人机交互过程更加和谐。人工智能技术与机器人相关技术的不断发展,为机器人面部表情识别系统提供了得天独厚的条件。在机器人面部表情识别系统中,使用六部工坊启智ROS机器人作为硬件基础,采用设计的轻量化模型MFA-Net,实现对用户表情的识别。
本实施例提供的一种面部表情识别系统,如图13所示,其包括视觉传感器、电气系统、通信模块、算法模块,机器人通过ROS操作系统调用传感器模块采集用户面部信息,传感器模块与算法模块进行相关通信,将采集到的图像送入算法模块,接受到图像后,算法模块中人脸识别子模块完成对图像的人脸检测与对齐,对齐后的用户面部图像被送入表情识别子模块,完成对表情的识别。通信模块通过使用RS485总线完成相应功能。电气系统为各个模块进行相应的电源供应。
表情识别子模块包括:图像获取模块,其被配置为:获取待识别面部图像;表情识别模块,其被配置为:通过训练好的学生网络,识别得到所述待识别面部图像所属的面部表情类;其中,学生网络在教师网络的基础上,通过知识蒸馏训练得到;所述教师网络在训练的过程中,以最小化交叉熵损失和每个样本到其所属的面部表情类的类中心的距离为目标。
基于实体机器人的面部表情识别系统使用启智ROS机器人作为硬件平台,其具体参数见表2,其运动模块拥有高自由度的全向三轮式移动底盘,其图像收集模块配备一台RGB-D立体相机,分辨率为1920×1080,FPS为30,相机角度是可调节的,用来对用户面部图像进行获取。系统总体框架如图14所示,用户在使用机器人的过程中,机器人会实时通过视觉传感器采集用户图像,使用face_recognition库完成对用户人脸的检测与对齐,然后通过提出的表情识别模块,完成对用户表情的识别,并将识别结果以目标框的形式展示在显示屏幕,其主要算法是训练完成的MFA-Net面部识别网络。通过提出的实时面部表情识别系统,机器人能够准确的捕捉用户的情感状态,随后机器人的决策可以以此为基础,从而完成更加和谐自然的人机交互过程。
表2、机器人相关参数
为了尽可能真实地测试所提出的面部表情识别系统的性能,选用十人对算法进行测试,每位测试者在真实自然场景下面对启智ROS机器人分别做出开心、中立、难过、厌恶、恐惧、惊讶和生气七类表情,并记录面部表情识别系统记录的结果。
表3、实验记录
所有实验结果见表3,十名测试者编号为1-10,共进行70次表情识别实验,其中识别准确的次数为67,其中识别错误的情况集中在恐惧与厌恶,这与在真实环境数据集下的结果相似,实验整体准确率为95.71%,系统运行平均帧率为21,能够完成实时对用户表情进行识别,实验表明,所提出的机器人面部表情识别系统具有较好的实时性和较高的准确率。
本实施例以MFA-Net轻量模型为基础,设计实现了机器人实时面部表情识别系统,经过实验验证,设计的轻量模型与表情识别系统具有较高的准确率和实时性。
此处需要说明的是,本实施例中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的一种面部表情识别方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的一种面部表情识别方法中的步骤。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (10)
1.一种面部表情识别方法,其特征在于,包括:
获取待识别面部图像;
通过训练好的学生网络,识别得到所述待识别面部图像所属的面部表情类;
其中,学生网络在教师网络的基础上,通过知识蒸馏训练得到;所述教师网络在训练的过程中,以最小化交叉熵损失和每个样本到其所属的面部表情类的类中心的距离为目标。
2.如权利要求1所述的一种面部表情识别方法,其特征在于,所述教师网络的训练采用的损失函数为:
L=Lcls+λLaf
其中,Lcls表示交叉熵损失,λ是亲和损失的权重参数,M代表代表样本的数量,代表第i样本所属的面部表情类的类中心,/>代表类中心之间的标准差,x′i表示第i样本在教师网络的输出特征。
3.如权利要求1所述的一种面部表情识别方法,其特征在于,所述教师网络和学生网络的网络结构不同。
4.如权利要求1所述的一种面部表情识别方法,其特征在于,所述教师网络将面部图像输入预训练好的特征提取器,得到特征图,并通过通道注意力和空间注意力,得到加权后特征图,将特征图和加权后特征图进行相加,得到输出特征,并将输出特征输入全连接层,得到面部图像所属的面部表情类。
5.如权利要求4所述的一种面部表情识别方法,其特征在于,所述特征提取器通过对比学习进行预训练,且所述对比学习采用随机裁剪、水平翻转、改变颜色属性、灰度化和高斯噪音操作中的至少两种操作进行数据增强。
6.如权利要求4所述的一种面部表情识别方法,其特征在于,所述特征提取器的预训练采用的损失函数为:
其中,N表示预训练采用的样本数,2k-1和2k为对第k个样本进行数据增强后得到的两张人脸图像,zi表示通过特征提取器对人脸图像i提取的特征,τ代表温度系数。
7.如权利要求1所述的一种面部表情识别方法,其特征在于,所述学生网络采用相对熵损失和交叉熵损失的加权和作为损失函数。
8.一种面部表情识别系统,其特征在于,包括:
图像获取模块,其被配置为:获取待识别面部图像;
表情识别模块,其被配置为:通过训练好的学生网络,识别得到所述待识别面部图像所属的面部表情类;
其中,学生网络在教师网络的基础上,通过知识蒸馏训练得到;所述教师网络在训练的过程中,以最小化交叉熵损失和每个样本到其所属的面部表情类的类中心的距离为目标。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的一种面部表情识别方法中的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的一种面部表情识别方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311289583.XA CN117351542A (zh) | 2023-09-28 | 2023-09-28 | 一种面部表情识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311289583.XA CN117351542A (zh) | 2023-09-28 | 2023-09-28 | 一种面部表情识别方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117351542A true CN117351542A (zh) | 2024-01-05 |
Family
ID=89362411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311289583.XA Pending CN117351542A (zh) | 2023-09-28 | 2023-09-28 | 一种面部表情识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117351542A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576765A (zh) * | 2024-01-15 | 2024-02-20 | 华中科技大学 | 一种基于分层特征对齐的面部动作单元检测模型构建方法 |
CN117935340A (zh) * | 2024-03-21 | 2024-04-26 | 山东大学 | 基于知识蒸馏的面部表情识别方法、系统、设备及介质 |
-
2023
- 2023-09-28 CN CN202311289583.XA patent/CN117351542A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576765A (zh) * | 2024-01-15 | 2024-02-20 | 华中科技大学 | 一种基于分层特征对齐的面部动作单元检测模型构建方法 |
CN117576765B (zh) * | 2024-01-15 | 2024-03-29 | 华中科技大学 | 一种基于分层特征对齐的面部动作单元检测模型构建方法 |
CN117935340A (zh) * | 2024-03-21 | 2024-04-26 | 山东大学 | 基于知识蒸馏的面部表情识别方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108537742B (zh) | 一种基于生成对抗网络的遥感图像全色锐化方法 | |
CN109685072B (zh) | 一种基于生成对抗网络的复合降质图像高质量重建方法 | |
WO2022252272A1 (zh) | 一种基于迁移学习的改进vgg16网络猪的身份识别方法 | |
CN111507378A (zh) | 训练图像处理模型的方法和装置 | |
CN112446476A (zh) | 神经网络模型压缩的方法、装置、存储介质和芯片 | |
CN117351542A (zh) | 一种面部表情识别方法及系统 | |
CN113688723A (zh) | 一种基于改进YOLOv5的红外图像行人目标检测方法 | |
CN115223082A (zh) | 一种基于时空多尺度Transformer的航拍视频分类方法 | |
CN115393396B (zh) | 一种基于掩码预训练的无人机目标跟踪方法 | |
CN112818764A (zh) | 一种基于特征重建模型的低分辨率图像人脸表情识别方法 | |
CN114186672A (zh) | 一种用于脉冲神经网络的高效高精度训练算法 | |
CN114283352A (zh) | 一种视频语义分割装置、训练方法以及视频语义分割方法 | |
CN112418032A (zh) | 一种人体行为识别方法、装置、电子设备及存储介质 | |
CN116524307A (zh) | 一种基于扩散模型的自监督预训练方法 | |
CN113763417B (zh) | 一种基于孪生网络和残差结构的目标跟踪方法 | |
CN113810683A (zh) | 一种客观评估水下视频质量的无参考评价方法 | |
CN117291232A (zh) | 一种基于扩散模型的图像生成方法与装置 | |
CN117011515A (zh) | 基于注意力机制的交互式图像分割模型及其分割方法 | |
CN114820395B (zh) | 一种基于多领域信息融合的水下图像增强方法 | |
CN113450313B (zh) | 一种基于区域对比学习的图像显著性可视化方法 | |
CN116362987A (zh) | 基于多层级知识蒸馏的去雾模型压缩方法 | |
CN114638408A (zh) | 一种基于时空信息的行人轨迹预测方法 | |
CN114005157A (zh) | 一种基于卷积神经网络的像素位移向量的微表情识别方法 | |
CN113408381A (zh) | 基于自注意残差卷积神经网络的微表情分类方法 | |
CN115311595B (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 |