Clone with HTTP
git clone https://www.modelscope.cn/wanbiao/FER-wanbiao.git
模型介绍
本模型使用CREMA-D数据集,使用CNN-BiLSTM进行训练。识别视频中的人脸情绪。
本模型用于复旦大学
本库提供了5个基本模型
- ResNet18 用于提取图像空间特征
- ResNet18_BiLSTM 用于处理空间和时序特征
- ResNet181D 用于提取MFCC特征
- ResNet181D_BiLSTM 用于处理MFCC和时序特征
- 融合ResNet18_BiLSTM和ResNet181D_BiLSTM的多模态模型
本模型使用例子
https://modelscope.cn/studios/wanbiao/split-video-emotion/summary
本模型微调方法
- 将视频保存在一个文件夹中,命名为:序号_名字_类别_XX.flv
- 运行CNNBiLSTM_SortVideo.py对其进行重新排序
- 运行CNNBiLSTM_Extraxx.py对其进行帧抽取
- 运行CNNBiLSTM_Imag2Pickle.py将抽取的帧进行打包,可以进行分包操作
- 运行ipynb训练相应的模型即可
模型使用
# 预测
## 注意引入
## @MODELS.register_module('my-fer-task', module_name='my-custom-model')
## 例子在https://modelscope.cn/studios/wanbiao/split-video-emotion/summary中的app.py中
from modelscope.pipelines import pipeline
model_id="wanbiao/FER-wanbiao"
fer = pipeline('my-fer-task', model_id)
## input_frames 是(10,50,50,3)的时序数据
predictions = fer(input_frames)
模型再训练
# 注意FerTrainer文件的导入
from FerTrainer import FerTrainer
# 构建训练器
model_id = "wanbiao/FER-wanbiao"
model_most_name = "CNNBiLSTM_image_resnet182d_multiplex_epoch_26.h5"
local_data = "VideoFrameAudio-Simple-40"
kwargs = dict(
model=model_id, # 模型id
model_name=model_most_name,
data_dir = local_data,
epoch = 50,
batch_size = 100,
validation_split = 0.5,
save_path = ".", # 模型保存路径
save_epoch = True, # 是否每次epoch都保存
model_revision='v1.0.2'
)
trainer = FerTrainer(model=model_id,kwargs=kwargs)
trainer.train(kwargs=kwargs)
loss,acc = trainer.evaluate(kwargs=kwargs)
print(f"loss {loss},acc {acc}")