Аннотации 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-expression-recognition-challenge/data.
Формат файла CSV следующий: использование, нейтральность, счастье, удивление, печаль, гнев, отвращение, страх, презрение, неизвестно, NF. Столбцы «использование» такие же, как и исходная метка FER, позволяющая различать наборы обучающих, общедоступных и частных тестов. Остальные столбцы — это подсчет голосов для каждой эмоции с добавлением неизвестного и NF (Not a Face).
Мы также предоставляем код обучения с реализацией всех режимов обучения (большинство, вероятность, перекрестная энтропия и несколько меток), описанных в https://arxiv.org/abs/1608.01041. В обучающем коде используется MS Cognitive Toolkit (ранее CNTK), доступный по адресу: https://github.com/Microsoft/CNTK.
После установки Cognitive Toolkit и загрузки набора данных (далее мы обсудим макет набора данных) вы можете просто запустить следующее, чтобы начать обучение:
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 — это индекс строки исходного CSV-файла FER. Итак, вот названия первых нескольких изображений:
fer0000000.png
fer0000001.png
fer0000002.png
fer0000003.png
Папки не содержат реальных изображений, вам нужно будет загрузить их с https://www.kaggle.com/c/challenges-in-representation-learning-facial-expression-recognition-challenge/data, а затем извлечь изображения из CSV-файла FER таким образом, чтобы все изображения, соответствующие «Training», помещались в папку FER2013Train, все изображения, соответствующие «PublicTest», помещались в папку «PublicTest». Папка FER2013Valid и все изображения, соответствующие «PrivateTest», помещаются в папку FER2013Test. Или вы можете использовать generate_training_data.py
, чтобы сделать все вышеперечисленное за вас, как указано в следующем разделе.
Мы предоставляем простой generate_training_data.py
на Python, который принимает в качестве входных данных файлы Fer2013.csv и Fer2013new.csv , объединяет оба файла CSV и экспортирует все изображения в файлы PNG для обработки тренером.
python generate_training_data.py -d -fer -ferplus
Если вы используете новую этикетку FER+, образец кода или его часть в своем исследовании, укажите следующее:
@inproceedings{BarsoumICMI2016,
title={Обучение глубоких сетей распознаванию выражений лиц с помощью краудсорсингового распространения меток},
автор={Барсум, Эмад и Чжан, Ча и Кантон Феррер, Кристиан и Чжан, Чжэнъю},
booktitle={Международная конференция ACM по мультимодальному взаимодействию (ICMI)},
год={2016}
}