锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

人脸表情识别系统(VGG_16和Xception模型)配置GPU加速,Fer2013数据集和CK+数据集,tensorboard

时间:2023-04-16 05:37:00 fer连接电缆meto

编译器 python3.8 开发平台 Pycharm PyQT5 系统界面 (可视化开发工具designer ) 模型训练基于深度学习tensorflow框架 opencv haar cascade 级联分类器 识别人脸 数据集为 fer2013和CK    7种表情划分 CNN架构:Xception和VGG_16 GPU加速 

tip:1、配置GPU参考博文https://blog.csdn.net/qilixuening/article/details/77503631 https://blog.csdn.net/sinat_23619409/article/details/84202651等。
CUDA和CuDNN版本必须兼容 ,例如CUDA 11.1.1对应的CuDNN版本为 8.1.1
CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive
官网下载地址:https://developer.nvidia.com/rdp/cudnn-download

2、PyQt你可以在网上买一些相关的书来学习 。Pycharm中使用PyUIC可将designer.exe设计的.ui文件转为.py
系统运行所需的库:

Python                          3.8.1 imutils                         0.5.4 keras                           2.7.0 numpy                           1.22.2 pandas                          1.0.5 pip                             22.0.3 PyQt5                           5.15.4 scikit-learn                    1.0.2 tensorboard                     2.7.0 tensorflow-gpu                  2.7.0 opencv-python                   4.5.5.62 matplotlib                      3.5.1 

tip:如何使用pip特定版本的安装python第三方包(参考博文)
https://blog.csdn.net/colourful_sky/article/details/80182082
数据集
FER2013
FER2013数据集是由Kaggle提供的csv每一行文件都包括图片的表情分类标签、像素信息、数据和分类用途。整个数据集涵盖训练图像28709张,验证图像3589张,测试图像3589张。 这些图片分为七个表情标签,分别是(anger,disgust,fear,happiness,sadness,surprise和neutral)。在这里插入图片描述
CK
CK 数据集在Cohn-Kanade 数据集基础上进行了扩展,并在2010年发布,该数据集包含123个对象和593个图像序列。CK 数据集来自123个收藏对象,主要来自西方国家,分为七种表蔑视、愤怒、恐惧、快乐、厌恶和悲伤乐、厌恶和悲伤。共有327个标记的人脸表达序列。在每个序列中,研究人员记录了受试者从正常表达到中性表达的过程,并将每个序列的最后一个图像作为所需表达的数据图片。该数据集是人脸表情识别研究中流行的数据集。

tip:FER2013年数据集存储像素点,CK 存储在48张图片中的图片*48的分辨率。

模型
VGG_16
VGGNet是由Simonyan等人提出的深度卷积神经网络是由Google Deep Mind与牛津大学大学合作完成。VGGNet该模型证明,通过增加网络深度,可以有效地提高模型性能。“VGGNet卷积核以小而多的形式使用三个3×卷积核,而不是大卷积核;这样做的好处是既增加了网络的深度,又不增加计算量。下图为VGGNet网络结构示意图系列。根据卷积层数和卷积核大小,VGG该系列分别有6种配置A、A_LRN、B、C、D和E。其中D和E它被广泛使用,即VGGNet16和VGGNet19。

Xception
Xception是Google继Inception后提出的对Inception v3的另一种改进,主要是采用深度可分离卷积(Depthwise separable convolution)来替换原来Inception v3.卷积操作[30]。在GooleLeNet中国采用了全局均值池化(Global Average Pooling)作为网络的最后一层,其优点是减少了上一层参数的具体数量。总体平均池化主要是对所有元素的平均值。平均操作迫使网络从输入图像中提取整体特征。Xception卷积神经网络架构充分利用了残余模块和深度可分离卷积的组合。通过提取和组合一个卷积层中的分离特征,深度可分离卷积进一步减少了参数的数量。
本模型可参考论文:Xception: Deep Learning with Depthwise Separable Convolutions,论文Real-time Convolutional Neural Networks for Emotion and Gender Classification等。

基于Fer2013数据集,VGG_63%的网络模型识别3%,Xception 66%的网络模型;
基于CK 数据集,VGG_网络模型识别精度为94%,Xception95%的网络模型。

可视化模型训练数据(tensorboard。它的主要目的是在训练过程中以可视化的方式监控模型中发生的一切。可视化训练中的损失函数和测试集的准确性。如下图所示。

系统测试
主界面运行Mainwindow.py。
也可以实时摄像,获取源码后可以自行测试。(文末获取源码)


链接strng>
如果你对本系统感兴趣,获取全部源码。可点以下链接。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章