1 Star 7 Fork 2

周周 / FERNet

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

FERNet

基于深度学习的面部表情识别 (Facial-expression Recognition)

一、项目背景

数据集cnn_train.csv包含人类面部表情的图片的label和feature。在这里,面部表情识别相当于一个分类问题,共有7个类别。
其中label包括7种类型表情:
7-classes
一共有28709个label,说明包含了28709张表情包。
每一行就是一张表情包4848=2304个像素,相当于4848个灰度值(intensity)(0为黑, 255为白)

二、数据预处理

1.标签与特征分离

cnn_feature_label.py
原数据进行处理,分离后分别保存为cnn_label.csv和cnn_data.csv.()

2.数据可视化

face_view.py
对特征进一步处理,也就是将每个数据行的2304个像素值合成每张48*48的表情图,最后做成24000张表情包。

3.分割训练集和测试集

cnn_picture_label.py
Step1:划分一下训练集和验证集。一共有28709张图片,我取前24000张图片作为训练集,其他图片作为验证集。新建文件夹cnn_train和cnn_val,将0.jpg到23999.jpg放进文件夹cnn_train,将其他图片放进文件夹cnn_val.
Step2:对每张图片标记属于哪一个类别,存放在dataset.csv中,分别在刚刚训练集和测试集执行标记任务。
Step3:重写Dataset类,它是Pytorch中图像数据集加载的一个基类,需要重写类来实现加载上面的图像数据集 (rewrite_dataset.py)

三、搭建模型

CNN_face.py

neural_network

四、训练模型

train.py
损失函数使用交叉熵,优化器是随机梯度下降SGD,其中weight_decay为正则项系数,每轮训练打印损失值,每5轮训练打印准确率。

源数据放在CSDN

空文件

简介

基于深度学习的面部表情识别 (Facial-expression Recognition) 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/zhou-zhou123c/FERNet.git
git@gitee.com:zhou-zhou123c/FERNet.git
zhou-zhou123c
FERNet
FERNet
master

搜索帮助