FER-wanbiao

2K downloads 14 likes on ModelScope updated

Model card

Clone with HTTP

git clone https://www.modelscope.cn/wanbiao/FER-wanbiao.git

模型介绍

本模型使用CREMA-D数据集,使用CNN-BiLSTM进行训练。识别视频中的人脸情绪。

本模型用于复旦大学

本库提供了5个基本模型

  1. ResNet18 用于提取图像空间特征
  2. ResNet18_BiLSTM 用于处理空间和时序特征
  3. ResNet181D 用于提取MFCC特征
  4. ResNet181D_BiLSTM 用于处理MFCC和时序特征
  5. 融合ResNet18_BiLSTM和ResNet181D_BiLSTM的多模态模型

本模型使用例子

https://modelscope.cn/studios/wanbiao/split-video-emotion/summary

本模型微调方法

  1. 将视频保存在一个文件夹中,命名为:序号_名字_类别_XX.flv
  2. 运行CNNBiLSTM_SortVideo.py对其进行重新排序
  3. 运行CNNBiLSTM_Extraxx.py对其进行帧抽取
  4. 运行CNNBiLSTM_Imag2Pickle.py将抽取的帧进行打包,可以进行分包操作
  5. 运行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}")