前言
为了带师弟做毕设,我们复现了表情识别任务。该文章仅用于记录
首先,感谢复现过程中所参考的分享:
- 【Bilibili】基于卷积神经网络实现的面部表情识别(pytorch)
- 【Github】 facial-expression-recognition
- 【Blog】基于卷积神经网络实现的面部表情识别,其中的评论区很有参考价值
- 【数据集划分】
推荐的 其他相关的分享:
- 面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码),该链接没有复现,但分享得很全面。
环境的安装
创建环境:
conda create -n env_fer
激活环境:
conda activate env_fer
安装torch等:
pytorch: conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
安装所需要的其他包:
pip install opencv-python
运行代码的时候,numpy版本报错,so,降级:
pip uninstall numpy==1.26 # 这时候是numpy-2.1.3
pip install numpy==1.26
数据预处理:
数据集分离:
python data_separation.py
数据可视化:
python data_view.py
创建映射表:
python image_emotion_mapping.py (创建之前,需要按照要求,手动划分训练集和验证集。也可写代码划分。)
按照表情划分数据集,以解决识别的结果大多数为生气表情问题:
python dataset/Fer2013/convert_fer2013.py
python convert_csv2gray.py
细节可参考:【数据集划分】
程序运行:
后续的程序运行可参考:
- 【Bilibili】基于卷积神经网络实现的面部表情识别(pytorch)
- 【Github】 facial-expression-recognition
- 【Blog】基于卷积神经网络实现的面部表情识别,其中的评论区很有参考价值