基于keras框架深度学习神经网络七种表情识别系统源码(结合深度学习人脸检测来增加多人表情模式)

本文介绍了如何使用Keras框架搭建一个深度学习模型,从数据预处理到模型训练,包括XCEPTION网络的选择、模型剪裁、人脸检测(CenterFace)、以及训练过程和GUI界面的实现。文章详细描述了训练代码和多人表情模式的改进方法。
摘要由CSDN通过智能技术生成

 第一步:准备数据

fer2013公开数据,原数据有七种表情,在解析和读取数据的时候,本文选择了七种表情("愤怒", "厌恶", "害怕", "高兴", "悲伤", "惊讶", "中性")做为训练和识别

第二步:搭建模型

本文选择XCEPTION,为了兼顾速度,在实际应用的时候,对网络进行剪纸,具体可以参考代码,其网络结构如下:

 由于是七分类问题,直接套用网络肯定是不行,因此会在全连接部分做手脚,参考代码如下:

    x = Conv2D(num_classes, (3, 3),
            #kernel_regularizer=regularization,
            padding='same')(x)
    x = GlobalAveragePooling2D()(x)
    output = Activation('softmax',name='predictions')(x)

    model = Model(img_input, output)
    return model

第三步:训练代码

1)损失函数为:交叉熵损失函数

2)从头训练代码:

# 构建模型
model = mini_XCEPTION(input_shape, num_classes)
model.compile(optimizer='adam', # 优化器采用adam
              loss='categorical_crossentropy', # 多分类的对数损失函数
              metrics=['accuracy'])
model.summary()

第四步:整个算法流程

        一般来说做表情识别有两种方式,第一种端到端yolo目标检测做的,比如我的博客链接:基于深度学习神经网络YOLOv5目标检测的人脸表情识别系统_yolo 表情识别-CSDN博客,第二种方式是先进行人脸检测,然后再送到分类网络,比如我的博客链接:基于keras框架深度学习神经网络七种表情识别系统源码(结合注意力机制模块)-CSDN博客,但这里的人脸检测模块是用haarcascade,传统算法做的,很明显,检测人脸的准确率不高,因此多人模式下的表情识别,效果更不加。因此本文增加用深度学习做人脸检测的模块,用到的是centerface,它的网络结构图如下:

第五步:搭建GUI界面

第六步:整个工程的内容

有训练代码和训练好的模型以及训练过程,提供数据,提供GUI界面代码,主要使用方法可以参考里面的“文档说明_必看.docx”

代码的下载路径(新窗口打开链接)基于keras框架深度学习神经网络七种表情识别系统源码(结合深度学习人脸检测来增加多人表情模式)

有问题可以私信或者留言,有问必答

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值