xbrainnet / CAFNet

IEEE Transactions on Affective Computing 2023
14 stars 4 forks source link

关于DEAP中面部模态特征提取方法 #1

Closed Huai-qIu-tec closed 6 months ago

Huai-qIu-tec commented 7 months ago

很感谢贵团队在多模态情绪识别领域带来的精彩工作,CAFNet给我带来的受益良多,在数据预处理部分,请问关于OPEN-FACE提取面部特征的代码能否提供,以便后续跟进工作的有效对比?

kaio-99 commented 7 months ago

感谢您对我们工作的支持! 数据预处理主要包含以下步骤: 1.首先你需要安装OPENFACE工具,详见Github仓库:https://github.com/TadasBaltrusaitis/OpenFace ; 2.调用OPENFACE命令提取人脸视频中的面部标志、头部姿势等等特征; 3.经过第2步能得到从每个视频提取的特征文件(csv格式); 4.以DEAP数据集为例,取3s为一个时间窗口,对于文章中给定的29个人脸相关特征在每个时间窗口内取平均,作为最终特征; 5.最后合并所有特征文件. 下面是一个调用OPENFACE命令的例子:

import os
import subprocess

# Specify the directory to traverse, 'facial_videos' indicates the root directory for storing video data
dir_path = ‘facial_videos'

# Traversing all the files in the directory
for root, dirs, files in os.walk(dir_path):
    for file_name in files:
        if file_name.endswith('.avi'):
            cmd = 'cd D:\OpenFace_2.2.0_win_x64 && .\FeatureExtraction.exe -f "{}" -gaze -aus -pose'.format(os.path.join(root, file_name))
            result = subprocess.run(cmd, stdout=subprocess.PIPE, shell=True, text=True)
            print(result.stdout)

处理得到的文件你可以在目录'D:\OpenFace_2.2.0_win_x64\processed'中找到,以我的电脑为例; 下面是所用到的29个面部特征在csv文件中对应的字段名:

[' gaze_0_x', ' gaze_0_y', ' gaze_0_z', ' gaze_1_x', ' gaze_1_y', ' gaze_1_z', ' pose_Tx', ' pose_Ty', ' pose_Tz', ' pose_Rx', ' pose_Ry', ' pose_Rz', ' AU01_r', ' AU02_r', ' AU04_r', ' AU05_r', ' AU06_r', ' AU07_r', ' AU09_r', ' AU10_r', ' AU12_r', ' AU14_r', ' AU15_r', ' AU17_r', ' AU20_r', ' AU23_r', ' AU25_r', ' AU26_r', ' AU45_r']
Huai-qIu-tec commented 6 months ago

感谢您的积极回复!