科大訊飛CV賽題:人臉情緒識(shí)別挑戰(zhàn)賽Baseline(Pytorch與Keras雙版本)
賽題名稱(chēng):科大訊飛人臉情緒識(shí)別挑戰(zhàn)賽
賽題報(bào)名鏈接:http://challenge.xfyun.cn/topic/info?type=facial-emotion-recognition&ch=dw-sq-1
賽題介紹
人臉表情是傳播人類(lèi)情感信息與協(xié)調(diào)人際關(guān)系的重要方式,表情識(shí)別是指從靜態(tài)照片或視頻序列中選擇出表情狀態(tài),從而確定對(duì)人物的情緒與心理變化。

在日常生活中人類(lèi)習(xí)慣從面部表情中吸收非言語(yǔ)暗示,那么計(jì)算機(jī)可以完成類(lèi)似任務(wù)嗎?答案是肯定的,但是需要訓(xùn)練它學(xué)會(huì)識(shí)別情緒。
賽事任務(wù)
給定人臉照片完成具體的情緒識(shí)別,選手需要根據(jù)訓(xùn)練集數(shù)據(jù)構(gòu)建情緒識(shí)別任務(wù),并對(duì)測(cè)試集圖像進(jìn)行預(yù)測(cè),識(shí)別人臉的7種情緒。
賽題數(shù)據(jù)由訓(xùn)練集和測(cè)試集組成,訓(xùn)練集數(shù)據(jù)集按照不同情緒的文件夾進(jìn)行存放。其中:
訓(xùn)練集:2.8W張人臉圖像;
測(cè)試集:7K張人臉圖像;
為了簡(jiǎn)化任務(wù)賽題圖像只包含單張人臉,所有圖像的尺寸為48*48像素。數(shù)據(jù)集包括的情緒標(biāo)簽包括以下7類(lèi):
angry
disgusted
fearful
happy
neutral
sad
surprised
賽題baseline思路
賽題為一個(gè)典型的圖像分類(lèi)任務(wù),所以可以使用CNN來(lái)完成圖像分類(lèi)過(guò)程。具體實(shí)現(xiàn)步驟如下:
定義數(shù)據(jù)讀取和數(shù)據(jù)擴(kuò)增
定義CNN模型
模型訓(xùn)練與驗(yàn)證
Keras實(shí)現(xiàn)
首先定義網(wǎng)絡(luò)模型,這里可以自定義一個(gè)多層CNN網(wǎng)絡(luò)模型結(jié)構(gòu),最后加上全連接層。
定義數(shù)據(jù)讀取,劃分20%數(shù)據(jù)作為驗(yàn)證集:
一行代碼完成模型訓(xùn)練過(guò)程:
Pytorch實(shí)現(xiàn)
定義網(wǎng)絡(luò)模型,這里可以用預(yù)訓(xùn)練的CNN網(wǎng)絡(luò)模型,精度會(huì)更高:
定義模型的正常傳播和反向傳播:
完成模型的訓(xùn)練與驗(yàn)證:

所有代碼已開(kāi)源在Gitee上:
https://gitee.com/coggle/competition-baseline/tree/master/competition/%E7%A7%91%E5%A4%A7%E8%AE%AF%E9%A3%9EAI%E5%BC%80%E5%8F%91%E8%80%85%E5%A4%A7%E8%B5%9B2021/%E4%BA%BA%E8%84%B8%E6%83%85%E7%BB%AA%E8%AF%86%E5%88%AB%E6%8C%91%E6%88%98%E8%B5%9B
賽題鏈接:http://challenge.xfyun.cn/topic/info?type=facial-emotion-recognition&ch=dw-sq-1