深度学习框架
- TensorFlow/Keras :用于构建和训练神经网络模型
- 卷积神经网络(CNN) :作为核心算法进行表情特征提取和分类
模型架构
模型采用了典型的CNN架构,包含:
- 三组卷积层块,每组包含:
- 两个卷积层(Conv2D),分别使用64/128/256个过滤器,3×3卷积核
- 批量归一化(BatchNormalization)层
- ELU激活函数
- 最大池化(MaxPooling2D)层
- 全连接层:128个神经元,ELU激活函数
- 输出层:7个神经元(对应7种情绪),Softmax激活函数
数据处理技术
- FER2013数据集 :包含七种情感(愤怒、厌恶、恐惧、快乐、悲伤、惊讶、中性)的面部表情图像
- 数据预处理 :
- 图像归一化(除以255)
- 标签的One-hot编码
- 训练集和测试集划分
计算机视觉技术
- OpenCV :用于图像处理和人脸检测
- Haar级联分类器 :用于实时视频流中的人脸检测(haarcascade_frontalface_default.xml)
实时应用技术
- 摄像头实时捕获 :使用OpenCV的VideoCapture
- 实时预测 :对检测到的人脸区域进行实时情绪预测
- 可视化 :在视频帧上绘制边界框和预测结果
应用打包技术
- PyInstaller :将Python应用打包成可执行文件(.exe)
- Windows API :通过win32api、win32con、win32gui设置应用窗口图标
训练技术
- Adam优化器 :用于模型训练
- 交叉熵损失函数 :用于多分类问题
- 早停(Early Stopping) :防止过拟合,在验证损失不再改善时停止训练