极品馒头泬19p,国产精品亚洲一区二区三区,狠狠色噜噜狠狠狠7777奇米,国产精品视频一区二区三区无码,国产欧美日韩久久久久

【A269】基于Python+OpenCV+CNN表情識別推薦對應(yīng)情感音樂(Web版)

2022-06-12 21:46:07      索煒達電子      854     

項目描述:情感識別模型在FER 2013數(shù)據(jù)集上進行訓(xùn)練。它可以檢測到7種情緒。該項目的工作原理是從網(wǎng)絡(luò)攝像頭獲取實時視頻,將其傳遞到模型中,以獲得情緒預(yù)測。然后根據(jù)預(yù)測的情緒,應(yīng)用程序?qū)⑼ㄟ^spotipy從Spotify獲取歌曲的播放列表,并通過在屏幕上顯示來推薦歌曲。

特征:

-實時表情檢測和歌曲推薦。

-使用API從Spotify獲取的播放列表。

-網(wǎng)站形式展現(xiàn)

運行應(yīng)用程序:

Run python app.py

技術(shù)應(yīng)用:

-Keras

-Tensorflow

-Spotipy

-Tkinter (For testing)

-Flask

數(shù)據(jù)集:

本項目使用的數(shù)據(jù)集是著名的FER2013數(shù)據(jù)集。在此數(shù)據(jù)集上訓(xùn)練的模型可以對7種情緒進行分類??梢栽诖颂幷业綌?shù)據(jù)集。

https://www.kaggle.com/datasets/msambare/fer2013

請注意,數(shù)據(jù)集高度不平衡,happy類具有最大表示。這可能是導(dǎo)致訓(xùn)練后okaysish準確性的一個因素。

模型架構(gòu):

模型架構(gòu)是由Conv2d、Maxpool2d、Dropout和Dense層組成的順序模型:

整個模型中的Conv2D層具有不同的過濾器大小,從32到128,都具有激活“relu”

池層具有池大小(2,2)

輟學(xué)設(shè)置為0.25,因為以上任何內(nèi)容都會導(dǎo)致性能不佳

最后的致密層有“softmax”激活,用于分類7種情緒

使用“categorical\u crossentropy”和“Adam”優(yōu)化器以及“準確性”指標計算損失

注意:-嘗試實現(xiàn)各種其他模型,如VGG16,但精度太低。該模型架構(gòu)提供了足夠的準確性。稍微修改一下超參數(shù)可能會提高精度

模型架構(gòu)是由Conv2d、Maxpool2d、Dropout和Dense層組成的順序模型:

1.Conv2D layers throughout the model have different filter size from 32 to 128, all with activation 'relu'

2.Pooling layers have pool size (2,2)

3.Dropout is set to 0.25 as anything above results in poor performance

4.Final Dense layer has 'softmax' activation for classifying 7 emotions

注意:-嘗試實現(xiàn)各種其他模型,如VGG16,但精度太低。該模型架構(gòu)提供了足夠的準確性。稍微修改一下超參數(shù)可能會提高精度

圖像處理和訓(xùn)練:

1.在Keras API中的“ImageDataGenerator”的幫助下,這些圖像被標準化,大小調(diào)整為(48,48),并分64批轉(zhuǎn)換為灰度。

2.訓(xùn)練在當?shù)剡M行了大約13個小時,共75個階段,準確率約為66%

當前狀況:

整個項目運作得非常好。由于多線程,實時檢測提供了良好的幀速率。

項目組成部分:

1.Spotipy is a module for establishing connection to and getting tracks from Spotify using Spotipy wrapper.

2.haarcascade is for face detection.

3.camera.py is the module for video streaming, frame capturing, prediction and recommendation which are passed to main.py.

4.main.py is the main flask application file.

5.index.html in 'templates' directory is the web page for the application. Basic HTML and CSS.

6.utils.py is an utility module for video streaming of web camera with threads to enable real time detection.

7.train.py is the script for image processing and training the model.

遇到問題:

當前狀態(tài)下的應(yīng)用程序無法部署在web上,因為:

Opencv嘗試在應(yīng)用程序運行的任何設(shè)備上打開攝像頭。當前狀態(tài)的代碼使用網(wǎng)絡(luò)攝像頭(如果服務(wù)器端而非客戶端可用)。所以,當應(yīng)用程序在筆記本電腦上本地運行時,可以通過網(wǎng)絡(luò)攝像頭進行視頻流傳輸。但如果將其部署到云上,該應(yīng)用程序?qū)⒋鎯υ跀?shù)據(jù)中心的某個地方,而該數(shù)據(jù)中心顯然沒有連接網(wǎng)絡(luò)攝像頭,因此無法工作。

進一步工作:

創(chuàng)建數(shù)據(jù)庫并將其連接到應(yīng)用程序,而不是CSV。DB將獲取歌曲以供推薦,新歌曲可以直接更新到數(shù)據(jù)庫中

添加一項功能,該功能將更新指定的播放列表以獲得更好的和更新的推薦,在固定的時間內(nèi)的特定日期(例如每個星期日)將其附加到數(shù)據(jù)庫中

直接播放歌曲或在用戶單擊Spotify時重定向到歌曲。

重寫代碼,使視頻流在客戶端而不是服務(wù)器端完成,從而使應(yīng)用程序可部署

注:模型精度不是很高。大約66%。需要進一步培訓(xùn)和微調(diào)??梢試L試視覺轉(zhuǎn)換器模型。


TAG
  • 6 次