该项目聚焦于利用深度学习技术从面部表情中识别人的情感。我们使用 PyTorch 实现了这一模型,并在情感识别领域广泛使用的 FER-2013 数据集上进行训练,模型达到了 81.3% 的准确率。此外,我们使用 Ascendcl 将模型部署到搭载华为 Ascend 310B NPU 的 Orange Pi AI Pro 上,实现了移动设备上的实时表情检测。
git clone https://github.com/lyz678/Emotion-recogniton-pytorch.git # clone
cd Emotion-recogniton-pytorch
pip install -r requirements.txt # install
- 数据集来自 https://www.kaggle.com/c/challenges-in-representation-learning-facial-expression-recognition-challenge/data 图像属性:48 x 48像素(2304字节) 标签:0=愤怒,1=厌恶,2=恐惧,3=快乐,4=悲伤,5=惊讶,6=中性 训练集包含28,709个示例。公共测试集包含3,589个示例。私人测试集包含另外3,589个示例。
- 下载数据集(fer2013.csv)然后将其放入 "fer2013" 文件夹中
cd fer2013
pip install kaggle
kaggle datasets download -d deadskull7/fer2013
unzip fer2013
- python train_emotion_classifier.py --model MiniXception --bs 128 --lr 0.01
python pt2onnx.py
python run_on_cpu.py
- 模型: miniXception ; 测试准确率: 65%
- 模型: Resnet18 ; 测试准确率: 82%
- 将目录中的 run_on_Ascend310B 文件下载到 Orange Pi AI Pro
bash
cd run_on_Ascend310B
atc --model=miniXception.sim.onnx --framework=5 --output=miniXception.sim --input_format=NCHW --input_shape="input.1:1,1,48,48" --log=error --soc_version=Ascend310B1 #.onnx to .om
python run_om.py