FER+ 注释为标准 Emotion FER 数据集提供了一组新标签。在 FER+ 中,每张图像都由 10 个众包标记器进行标记,与原始 FER 标签相比,这些标记器为静态图像情感提供了更好质量的地面实况。每张图像有 10 个标记器,使研究人员能够估计每张脸的情绪概率分布。这允许构建产生统计分布或多标签输出而不是传统的单标签输出的算法,如下所述:https://arxiv.org/abs/1608.01041
以下是从上述论文中提取的 FER 与 FER+ 标签的一些示例(FER 顶部、FER+ 底部):
新标签文件名为fer2013new.csv ,包含与原始fer2013.csv标签文件相同的行数和相同的顺序,以便您推断哪个情感标签属于哪个图像。由于我们无法托管实际的图像内容,请在此处找到原始 FER 数据集:https://www.kaggle.com/c/challenges-in-representation-learning-facial-express-recognition-challenge/data
CSV文件的格式如下:用法、中性、幸福、惊讶、悲伤、愤怒、厌恶、恐惧、蔑视、未知、NF。 “使用”列与原始 FER 标签相同,用于区分训练、公共测试和私人测试集。其他列是每种情绪的投票数,加上未知和 NF(不是一张脸)。
我们还提供了一个训练代码,可实现 https://arxiv.org/abs/1608.01041 中描述的所有训练模式(多数、概率、交叉熵和多标签)。训练代码使用 MS Cognitive Toolkit(以前称为 CNTK),网址为:https://github.com/Microsoft/CNTK。
安装认知工具包并下载数据集(我们接下来将讨论数据集布局)后,您只需运行以下命令即可开始训练:
python train.py -d -m majority
python train.py -d -m probability
python train.py -d -m crossentropy
python train.py -d -m multi_target
有一个名为 data 的文件夹,其布局如下:
/data
/FER2013Test
label.csv
/FER2013Train
label.csv
/FER2013Valid
label.csv
每个文件夹中的label.csv包含每个图像的实际标签,图像名称的格式如下:ferXXXXXXXX.png,其中XXXXXXXX是原始FER csv文件的行索引。这是前几张图像的名称:
fer0000000.png
fer0000001.png
fer0000002.png
fer0000003.png
这些文件夹不包含实际图像,您需要从 https://www.kaggle.com/c/challenges-in-representation-learning-facial-express-recognition-challenge/data 下载它们,然后提取FER csv 文件中的图像,与“Training”对应的所有图像都转到 FER2013Train 文件夹,与“PublicTest”对应的所有图像都转到 FER2013Valid 文件夹与“PrivateTest”对应的所有图像都转到 FER2013Test 文件夹。或者您可以使用generate_training_data.py
脚本为您执行上述所有操作,如下一节所述。
我们在Python中提供了一个简单的脚本generate_training_data.py
,它将fer2013.csv和fer2013new.csv作为输入,合并两个CSV文件并将所有图像导出为png文件供训练器处理。
python generate_training_data.py -d -fer -ferplus
如果您在研究中使用新的 FER+ 标签或示例代码或其部分内容,请引用以下内容:
@inproceedings{BarsoumICMI2016,
title={利用众包标签分布训练深度网络进行面部表情识别},
作者={Barsoum、Emad 和Zhang、Cha 和Canton Ferrer、Cristian 和Zhang、Zhengyou},
booktitle={ACM 国际多模态交互会议(ICMI)},
年={2016}
}