基於深度學習的人臉表情識別

2021-09-24 05:01:56 字數 2516 閱讀 5340

這是一門課程的作業!!!

人臉表情識別,訓練資料使用的是kaggle比賽的fer2013資料集,框架使用的是keras哈~

opencv中自帶的人臉識別:pycharm2018.3.5 + anaconda5.3.1(python3.7.0) +keras2.2.4+ tensorflow1.13.1 + opencv-python3.4.2

主要分為3步:資料集的處理、模型的構建及訓練、**。

資料集的統計如下圖所示:

2、根據第三列usage將資料集分為訓練集train、驗證集val、測試集test三個csv檔案。

3、將上述3個csv檔案分別轉換成灰度圖,並按照emotion列的分類儲存在7個資料夾裡。

1、模型結構:4層卷積層,3層池化層,3層全連線層;

2、啟用函式1-6均採用relu(alexnet中提出的):f(x)=max(0,x);啟用函式7採用softmax進行分類;

3、優化演算法使用sgd隨機梯度下降演算法

4、訓練過程中,使用keras自帶的imagedatagenerator方法擴充套件資料集,實現資料增廣,從而提高模型效能;

5、通過嘗試後,批尺寸選為128,每次迭代步數為200,共迭代訓練100次,能取得不錯的效果;

模型結構如下圖所示:

模型**:

貼上我的**結果~ 但第一行最後乙個還是**錯了~模型在測試集準確率為76%,測試集和驗證集上的**結果大約都在66-67%,驗證集的混淆矩陣如下所示:

可以看出,標籤為1,即disgust的**準確率很低,這應該是因為樣disgust的數量太少的原因導致的~

1、正確率並沒有很高,大概是因為資料集的不均衡導致的;

後續思路:可以使用資料增廣的方法,將每一種表情都擴充套件為一樣的數量,進行訓練;

2、網上有人說fer2013資料集的標籤可能有一些錯誤~

基於深度學習的人臉表情識別開發

目前深度學習很流行,很大程度減輕了影象開發的難度。表情識別是影象演算法的重要研究方向,本文提供一種基於深度學習的表情識別方法。1,獲取模型 2,檢測人臉並識別表情 人臉檢測有很多方法,比如傳統的haar檢測人臉,深度學習的mtcnn,還有別的一些方法。綜合起來,mtcnn在精度和速度上很有優勢。mt...

基於主成分分析的人臉識別及表情識別

識別效果 結果分析 按照實驗要求及實驗步驟,我們實驗達到了在不損失更多細節的前提下完成的壓縮以及將壓縮後的進行重構還原 在拓展部分也成功實現了對攝像頭實時捕捉的人臉進行表情識別。心得體會 通過本次實驗,我對pca主程式分析有了一定的認識,在查閱資料和實驗過程中,我了解到本實驗進行的操作,是將資料提取...

基於opencv的人臉識別

1前言參考的是 這篇用的是dlib的對齊還加了mask。本文方法 人臉檢測 shiqiyu libfacedetection opencv提取ptr類 2 facedetect.h include include include include include facedetect dll.h us...