一种基于优化ResNet算法的人脸表情识别方法

您所在的位置:网站首页 labview调用摄像头人脸识别 一种基于优化ResNet算法的人脸表情识别方法

一种基于优化ResNet算法的人脸表情识别方法

2023-04-26 08:44| 来源: 网络整理| 查看: 265

一种基于优化ResNet算法的人脸表情识别方法一种基于优化resnet算法的人脸表情识别方法技术领域1.本发明属于计算机视觉领域,具体地说,是一种基于优化resnet算法的人脸表情识别方法,可用于医疗、刑侦和汽车等众多领域。

背景技术:

2.人脸表情识别长期以来就是研究热点,它在医疗、情感计算、交通安全和人机交互等多个方面都有重要的意义。在上世纪70年代,ekman和friesen根据跨文化研究的结论,定义了六种基本情绪:愤怒、厌恶、害怕、高兴、伤心和惊讶。3.传统的人脸表情识别算法一般是通过手工方法提取人脸特征,例如局部二值法(lbp)、主成分分析(pca)和gabor小波变换等。虽然这些方法有着良好的表征性能,但是手工建立特征工程耗时耗力,而且存在精度不高,算法泛化能力差和鲁棒性不强等问题。4.近几年,深度学习在图片处理,计算机视觉等领域都取得了不俗的成果。2012年,krizhevsky等提出了alexnet的深度卷积神经网络(cnn)模型,对超过百万张图片进行1000个类别分类,测试集分别为top-1和top-5,分别拿到了37.5%和17%的error rates。此后,vggnet、google net和resnet这些主流cnn模块在相同的数据集上也取得了较好的结果。卷积神经网络在图像识别领域取得巨大的成功,这也推动了人脸表情识别的进步。liu等将cnn模块用于人脸表情识别,取得良好的结果。kim等使用模式识别框架改进cnn网络,融合多个cnn基分类结果指数平均加权融合决策人脸表情类别。

技术实现要素:

5.本发明提出的人脸表情识别算法,既可以优化网络结构,减少网络参数,又对网络模型通道特征具有针对性,可以较好的提高网络的性能。对于复杂环境有着良好的泛化能力。6.本发明的目的通过以下技术方案予以实现:7.一种基于优化resnet算法的人脸表情识别方法,包括以下步骤:8.步骤s1:获取人脸表情公开数据集,通过图像增强对数据集进行预处理;9.步骤s2:基于resnet模型,设计好新的网络模型,选择两层的卷积模块提取浅层特征,选择深度可分离卷积混合通道注意力机制改进残差网络,获取深层人脸特征,最后通过两层全连接层softmax函数对提取的特征分类;10.步骤s3:训练模型;11.步骤s4:用训练好的模型对测试数据集做人脸表情分类,对分类准确度分析;12.步骤s5:识别人脸表情。13.本发明的进一步改进,在上述步骤s1中,具体的流程为:首先,从网上下载公开的人脸表情数据集ck+和fer2013,以8:2的比例划分出训练集和测试集,并对训练样本进行随机旋转、缩放和随机翻转等一系列图像增强操作,最后,对图像增强后的数据集做归一化处理,使训练集和测试集所有图片等大。14.本发明的进一步改进,在上述步骤s2中,具体的流程为:首先,用两个标准卷积层提取人脸表情的浅层特征,其次,利用深度可分离卷积混合通道注意力机制改进残差网络,提取人脸表情的深层特征,深度可分离卷积可以大幅降低参数量,通道注意力机制可以加强模型对重要通道特征信息的表示能力,最后通过两层全连接层和softmax函数输出分类结果。15.本发明的进一步改进,在上述步骤s3中,根据以下流程训练模型:16.步骤s3-1、设置网络的超参数。根据不同的训练集数据设置最适合它们不同的超参数;17.步骤s3-2、在训练过程中,采用全连接、softmax函数和随机梯度下降策略优化模型;18.步骤s3-3、在上述步骤s3-2步骤中,采用随机梯度下降算法对网络模型进行迭代优化,每次迭代出现更好的结果时,就会保存更好网络参数并且覆盖之前保存的参数,获取网络的最优解。19.本发明的进一步改进,在步骤s4中,采用准确性(accuracy)作为评价指标,利用测试集数据验证模型的性能。并且生成混淆矩阵,可以帮助分析神经网络模型的优缺点。[0020][0021]其中,tp、tn、fp和fn分别是真正例(true positive)、真反例(true negative)、假正例(false positive)和假反例(false negative)。[0022]本发明的进一步改进,在步骤s5中,由步骤s3,训练完模型后,会自动保存好最优网络参数到指定文件下,经过s4测试后,绘制好ui界面,调用摄像头,可以实现人脸表情的实时检测。[0023]本发明具有以下有益效果:第一,人脸表情识别准确率高,本发明是在残差网络模型的基础上进行修改,保留了深层网络梯度消失和退化问题,还融合通道注意力机制,提高了人脸表情识别的准确率,在ck+数据集上resnet18的人脸表情识别的平均准确率有96.60%,而本发明在实验中可以达到99.28%。第二,优化了网络结构,大大的降低了网络参数,本发明是在残差网络模型的基础上进行优化,采用深度可分离卷积代替了标准卷积,大量的减少了参数的数量,打造了人脸表情识别的轻量化。第三,实验结果表明该算法表现良好,网络具有较强泛化能力,在复杂情况下对人脸表情能够起到较好的识别效果。附图说明[0024]图1为本发明特征提取网络结构图。[0025]图2为本发明网络框架图。[0026]图3为本发明resnet与dsc-senet对比图。具体实施方式[0027]为了加深对本发明的理解,下面将结合附图和实施例对本发明做进一步详细描述,该实施例仅用于解释本发明,并不对本发明的保护范围构成限定。[0028]实施例:一种基于优化resnet算法的人脸表情识别方法,其流程如图1所示,具体步骤如下:[0029]步骤s1,获取人脸表情公开数据集,通过图像增强对数据集进行预处理。从网上下载国际公开的两个人脸表情识别数据集,ck+数据集和fer2013数据集。图像增强的具体方法是:利用翻转、随机旋转、平移和缩放的方法处理两个数据集,将处理完的数据集做归一化处理,严格保证每张图片的大小都是48*48。图像增强后将两个数据集的所有图片都分别完全打乱,再分别将数据集以8:2的比例分为训练集和测试集。[0030]步骤s2,在残差网络模型的基础上进一步优化,得到新的网络模型。网络主要有三个部分,浅层特征提取、深层特征提取和表情分类。其网络框架如图2所示。该网络输入的图像尺寸为48×48,浅层特征提取包括两个卷积模层,bn(batch normalization)层和激活函数prelu;深层特征提取是由4个dsc-senet(基于深度可分离卷积混合通道注意力机制残差模块)组成;网络最后用全连接层和softmax对人脸表情分类。其网络结构参数如表1所示。[0031]表1本发明网络结构[0032][0033]表1中block name代表模块名称。layer name代表操作名称,其中conv是卷积操作,sepconv代表深度可分离卷积(下同)。bn为批量归一化处理,maxpool代表的是最大池化操作。parameters为卷积核的尺寸和输出通道数量。repeat times是指操作重复次数。其中,深度可分离卷积可以大幅度的减少网络参数,实现网络轻量化。通道注意力机制可以加强模型对重要通道特征信息的的学习,改善人脸表情识别的准确率。[0034]步骤s3,实验网络模型训练。本发明所用的计算机处理器为intel(r)i5-11400h,显卡是geforce rtx3060ti 6g,编程语言为纯python语言,软件框架是tensorflow-gpu2.5.0,操作系统是windows 10。[0035]训练超参数的设置:由于两个数据集的数量和品质等都不相同,所以超参数设置也会稍有不同。图片输入大小统一调整为48×48。fer2013数据集迭代次数为200次;ck+数据集小,收敛速度快,迭代次数只需要100次。学习率都为0.01。批次尺寸通过具体的实验验证,得出32最为合适,实验的数据如表2所示。[0036]表2fer2013数据集下不同批次准确率[0037]批次尺寸128643216迭代次数200200200200学习率0.010.010.010.01准确率70.24%70.16%70.57%69.77%[0038]步骤s4,用训练好的模型对测试数据集做人脸表情分类,对分类准确度分析;本发明会是对两个不同的数据集分别训练,所以训练后会保存两组最优网络参数。然后对两组参数分别做测评。评估模型的评价指标是准确度(acc)。在准确率的基础上会生成混淆举证,以帮助对每种表情的做进一步分析。两个不同测试集产生的结果分别如表3和表4所示。[0039]表3数据集(fer2013)混淆矩阵(单位为%)[0040][0041]表4数据集(ck+)混淆矩阵(单位为%)[0042][0043]步骤s5,根据步骤s4的结果,绘制ui界面,调用摄像头实时检测人脸并识别人脸表情。[0044]本发明设计一种基于resnet模型,结合深度可分离卷积和注意力机制。成功打造了人脸表情识别的轻量化网络并且提升网络性能。运行程序后,只要摄像头检测到人脸,系统就能以一定的频率实时识别人脸表情。[0045]以上所述为本发明的示例性实施例,并非因此限制本发明专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3