1.8 KiB
1.8 KiB
基于视觉的表情识别系统
该项目是一个基于图像的表情识别系统。它使用MobileViT在人脸表情数据集上进行训练,然后可以从摄像头输入的视频中检测人脸,并为每个检测到的人脸预测表情类型,共支持8类表情。
核心文件
class_indices.json
: 包含表情类型标签和对应数值编码的映射。predict_api.py
: 包含图像预测模型的加载、预处理和推理逻辑。video.py
: 视频处理和可视化的主要脚本。best.pth
: 训练的模型权重文件。
使用方法
- 确保已安装所需的Python库,包括
opencv-python
、torch
、torchvision
、Pillow
和dlib
。 - 运行
video.py
脚本。 - 脚本将打开默认摄像头,开始人脸检测和表情预测。
- 检测到的人脸周围会用矩形框标注,并显示预测的表情类型和置信度分数。
- 按
q
键退出程序。
模型介绍
该项目使用MobileViT作为基础模型,对人脸表情图像数据集进行训练,以预测人脸图像的表情类型。模型输出包含8个值,分别对应各表情类型的概率。
数据集介绍
该项目使用的表情图像数据集来自网络开源数据,数据集包含35887张标注了皮肤病类型的人体皮肤图像。
算法流程
- 人脸检测: 使用Dlib库中的预训练人脸检测器在视频帧中检测人脸。
- 预处理: 对检测到的人脸图像进行缩放、裁剪和标准化等预处理,以满足模型的输入要求。
- 推理: 将预处理后的图像输入到预训练的Mobile-ViT模型中,获得不同表情类型的概率预测结果。
- 后处理: 选取概率最高的类别作为最终预测结果。
- 可视化: 在视频帧上绘制人脸矩形框,并显示预测的表情类型和置信度分数。