日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于Python的面部表情识别分析系统

發布時間:2023/12/20 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Python的面部表情识别分析系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

資源下載地址:https://download.csdn.net/download/sheziqiong/85660758

面部表情識別

練習技能:

  • 爬蟲
  • 數據清洗
  • 計算機視覺(圖片基本處理,信息提取)
  • 深度學習

圖像識別技術文檔


一、項目概述

  • 項目名稱:面部表情識別

  • 項目背景:在與客戶交流的過程中,通過客戶的面部表情來判斷用戶對話題是否感興趣,營銷人員或者溝通人員可以從中找到客戶感興趣的方面,或者判斷客戶的購買欲望

  • 圖像識別是指利用計算機對圖像進行處理、分析、理解,圖像識別的過程可分為圖像處理和圖像分析兩個過程
    圖像處理是指對所需要分析的圖像進行一系列的圖形操作,包括拉伸縮放、旋轉翻轉、顏色變換、像素保留……,圖像分析是指通過圖像的特征來反饋圖像信息并且分類,最簡單的是基于統計的方法、最常用的是深度學習方法

  • 技術支持
    圖像處理:VoTT、OpenCV、PIL
    圖像分析:TensorFlow、Keras、CNN



二、應用領域

總體目標

  • 一級目標
    • 通過客戶的面部表情變化,來抓住客戶感興趣的點,提高溝通效率
  • 二級目標
    • 學習圖像識別的技術
  • 三級目標
    • 學習深度學習實現工具
  • 四級目標
    • 了解圖像識別技術實現的步驟,技術原理

三、實驗步驟

3.1 資源

  • 數據資源:本次實驗為面部表情的二分類識別,情緒為高興和沮喪,各表情圖像 5000 張
  • 技術支持:Keras、TensorFlow、VoTT、OpenCV、PIL
Keras

Keras 是一個由 Python 編寫的開源人工神經網絡庫,可以作為 Tensorflow、Microsoft-CNTK 和 Theano 的高階應用程序接口,進行深度學習模型的設計、調試、評估、應用和可視化,Keras 的神經網絡 API 是在封裝后與使用者直接進行交互的 API 組件,在使用時可以調用 Keras 的其它組件。除數據預處理外,使用者可以通過神經網絡 API 實現機器學習任務中的常見操作,包括人工神經網絡的構建、編譯、學習、評估、測試等。

TensorFlow

TensorFlow 由谷歌人工智能團隊谷歌大腦(Google Brain)開發和維護,擁有包括 TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud 在內的多個項目以及各類[應用程序接口]( API) [2] 。自 2015 年 11 月 9 日起,TensorFlow 依據阿帕奇授權協議(Apache 2.0 open source license)開放源代碼,TensorFlow 是一個基于數據流編程(dataflow programming)的符號數學系統,被廣泛應用于各類機器學習(machine learning)算法的編程實現,谷歌大腦自 2011 年成立起開展了面向科學研究和谷歌產品開發的大規模深度學習應用研究,其早期工作即是 TensorFlow 的前身 DistBelief。

VoTT

VoTT 是一個用 TypeScript 編寫的 React + Redux Web 應用程序。該項目是通過 Create React App 啟動的,用于圖像和視頻資產的開源注釋和標簽工具,VoTT 可以作為本機應用程序安裝,也可以從源代碼運行。VoTT 也可以作為獨立的 Web 應用程序使用,并且可以在任何現代 Web 瀏覽器中使用。

OpenCV

OpenCV 是一個基于 BSD 許可(開源)發行的跨平臺計算機視覺庫,可以運行在 Linux、Windows、Android 和 Mac OS 操作系統上。它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了 Python、Ruby、MATLAB 等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。

PIL

python 圖像處理庫,這個庫支持多種文件格式,并提供了強大的圖像處理和圖形處理能力。


3.2 方法

3.2.1 試驗階段

  • 在項目開始初步試驗階段,通過人工百度搜索人像表情圖像,利用 VoTT 工具進行裁切和標注,各表情 100 張,并按照 7,2,1 的比列把數據分為訓練集、測試集、驗證集。
  • 利用 Keras 深度學歷框架搭建簡單的 CNN 進行訓練,結果顯示 CNN 在圖像處理領域效果很不錯,在模型未經過調整前準確率能超過 50%。

3.2.2 中期工作

  • 擴大數據集,利用爬蟲批量獲取人像圖片,在爬取百度圖片的過程中,如果直接獲取那最多只能獲取到 30 張圖像,之后程序就自動停止了,采用的解決方法是,通過觀察 url 發現可以添加 page 頁碼這個選擇來達到滾輪向下刷新圖片的作用,因此添加一個頁碼循環來爬取圖像。

    所以采用 VoTT 加 Python 的方式來完成圖像標注和裁切,在 VoTT 新建項目,選擇圖像位置進行框選和標注,完成后保存導出 JSON 格式文件,在利用 Python 讀取 JSON 文件,打開對應圖像按照框選的大小進行裁切,然后轉化為數組也就是像素保存,按照 6,2,2 的比例劃分數據集保存 CSV 文件。


  • 打開 VoTT,選擇新建項目




  • 新建連接點




  • 選擇為添加位置




  • 選擇圖像所在文件夾位置,添加確認





  • 工作界面右上角區域為標簽處理區域,可以進行標簽的添加刪除和位置更改操作




  • 正上方區域為框選工作區域




  • 左邊為文件選項,可以選擇框選圖像已經導出




  • 標注好的圖像導出為 JSON 格式




  • 卷積神經網絡和普通神經網絡的區別主要在于“卷積”二字,卷積也就是我們說的內積計算方式,就是將矩陣相乘再相加,卷積的操作是為了提取區域的主要特征,也是一種減少維度的方法,并且在圖像識別中這種方式也是很合理的,卷積這個操作最開始來自于計算機波紋處理,后來應用到計算機視覺領域得到了顯著的作用。










  • 卷積操作可以作為物體的邊緣檢測,這在圖像識別上提供了很大的幫助,在將我們的濾波器放在選中的像素上之后,我們將卷積核中的每一個數值和圖像中對應的數值成對相乘。最后將乘積的結果相加,然后把結果放在輸出特征圖的正確位置上。我們在上邊的動畫中可以以一個微觀的形式看到這個運算的過程,但是更有趣的是我們在整幅圖像上執行這個運算得到的結果。




  • “池化”操作是和“卷積”配合使用,池化操作也是一種提取重要特征的方式,但是在這一環節中沒有權重產生,它的工作方式是指定池化的大小,對數據進行掃描保留區域內最大數值,這個操作也可以保留區域內的平均數值。除了卷積層,CNN 通常會用到所謂的池化層。它們最早被用來減小張量的大小以及加速運算。這些層是比較簡單的——我們需要將我們的圖像分成不同的區域,然后在每一個部分上執行一些運算。例如,對 Max Pool 層而言,我們會選擇每個區域的最大值,并將它放到對應的輸出區域。與卷積層的情況一樣,我們有兩個可用的超參數——濾波器大小和步長。最后但同樣重要的一點是,如果你對一個多通道的圖像執行池化操作,那么每一個通道的池化應該單獨完成。







  • “全連接”,此操作是將圖像數組進行平壓之后全連接,之后的操作和普通的神經網絡原理一致,最后的輸出層利用邏輯函數進行預測。

  • 數據輸入,在數據輸入過程中添加 Keras 圖像生成器模塊,擴大數據集。

  • 效果展示












3.2.5 模型評估


  • 訓練集

    01
    04749216
    12836933
    評估百分比
    真陽率96.98%
    假陽率3.02%
    真陰率5.62%
    假陰率94.38%
    召回率96.08%
  • 測試集

    01
    056264
    176803
    評估百分比
    真陽率92.62%
    假陽率7.38%
    真陰率11.91%
    假陰率88.09%
    召回率91.35%

  • 實時預測

    對面部表情進行實時識別需要計算機獲取攝像頭的信息,思路是通過獲取計算機攝像頭的權限,打開攝像頭進行實時畫面的捕捉,獲取當前畫面的一幀來做預測,根據刷新率不同識別的實時速率也不同 #-*- coding: utf-8 -*-import cv2 import sys import gc import json import numpy as np from keras.models import Sequential from keras.models import model_from_json root_path=os.path.abspath(".") model_path=root_path+'/model/' img_size=48 emo_labels = ["happy", 'disgust'] num_class = len(emo_labels) json_file=open(model_path+'model_json.json') loaded_model_json = json_file.read() json_file.close() model = model_from_json(loaded_model_json) model.load_weights(model_path+'model_weight.h5')if __name__ == '__main__':if len(sys.argv) == 1:print(len(sys.argv))print("Usage:%s camera_id\r\n" % (sys.argv[0]))sys.exit(0)#框住人臉的矩形邊框顏色color = (0, 0, 2555)#捕獲指定攝像頭的實時視頻流cap = cv2.VideoCapture(0)#人臉識別分類器本地存儲路徑cascade_path ="C:/ProgramData/Anaconda3/lib/site-packages/cv2/data/haarcascade_frontalface_alt.xml"#循環檢測識別人臉while True:_, frame = cap.read() #讀取一幀視頻#圖像灰化,降低計算復雜度frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)#使用人臉識別分類器,讀入分類器cascade = cv2.CascadeClassifier(cascade_path)#利用分類器識別出哪個區域為人臉faceRects = cascade.detectMultiScale(frame_gray, scaleFactor = 1.1,minNeighbors = 1, minSize = (120, 120))if len(faceRects) > 0:for faceRect in faceRects:x, y, w, h = faceRectimages=[]rs_sum=np.array([0.0]*num_class)image = frame_gray[y: y + h, x: x + w ]image=cv2.resize(image,(img_size,img_size))image=image*(1./255)images.append(image)images.append(cv2.flip(image,1))images.append(cv2.resize(image[2:45,:],(img_size,img_size)))for img in images:image=img.reshape(1,img_size,img_size,1)list_of_list = model.predict_proba(image,batch_size=32,verbose=1)result = [prob for lst in list_of_list for prob in lst]rs_sum+=np.array(result)print(rs_sum)label=np.argmax(rs_sum)emo = emo_labels[label]print ('Emotion : ',emo)cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10), color, thickness = 2)font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(frame,'%s' % emo,(x + 30, y + 30), font, 1, (255,0,255),4)cv2.imshow("識別朕的表情!", frame)#等待10毫秒看是否有按鍵輸入k = cv2.waitKey(30)#如果輸入q則退出循環if k & 0xFF == ord('q'):break#釋放攝像頭并銷毀所有窗口cap.release()cv2.destroyAllWindows()

資源下載地址:https://download.csdn.net/download/sheziqiong/85660758

總結

以上是生活随笔為你收集整理的基于Python的面部表情识别分析系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲一级黄色片 | 五月婷婷激情综合 | 亚洲精品国产视频 | 女优在线观看 | 黄色录像网址 | 手机看片一区 | 91在线免费播放 | 亚洲国产欧美另类 | 青草视频在线观看视频 | 欧美日韩人妻精品一区二区三区 | 久草精品视频 | 国产113页 | 国产男人的天堂 | xxxxav| 在线播放91灌醉迷j高跟美女 | 电影91久久久 | 亚洲三级欧美 | 久久人妖| 不卡av在线免费观看 | 国产性生活视频 | 成年人免费网站在线观看 | 色欧美视频 | 日本动漫艳母 | 日本理伦片午夜理伦片 | 午夜少妇| 91超碰免费| 精品夜夜澡人妻无码av | 黄色a免费 | 肉丝袜脚交视频一区二区 | 超碰97免费 | 色婷婷丁香| 黄色av片三级三级三级免费看 | 欧美成人免费在线视频 | 快播怡红院 | 久久久夜色精品亚洲 | 丰满秘书被猛烈进入高清播放在 | 亚洲精品成人在线 | 国产精品黄色在线观看 | 日韩欧美电影一区二区三区 | 日本va欧美va国产激情 | 四虎激情 | 久久精品欧美日韩 | 日本少妇喂奶漫画 | 日韩欧美国产一区二区三区 | 日韩中文字幕av | 精品中出 | 91精品国产综合久久久蜜臀 | 91大神视频在线播放 | 性喷潮久久久久久久久 | 一级中文片 | 偷偷操不一样的99 | 爱就操| 欧美成人91 | 农村妇女一区二区 | 欧美91成人网 | 色天天av | 在线不卡的av | 麻豆中文字幕 | av福利在线播放 | 国产亚洲天堂 | 日本男人天堂网 | 闺蜜张开腿让我爽了一夜 | 香蕉午夜视频 | 福利视频一区 | 激情欧美亚洲 | 亚洲综合色成人 | 欧美乱妇18p | 91av不卡| 97视频成人| 免费的黄色的视频 | 国产深夜福利在线 | 欧美精品二区三区 | 男女操网站 | 97免费在线观看视频 | 久久久久亚洲AV | 91精品国产综合久久久久 | 欧美国产一区二区在线观看 | www.色欧美 | 91视频导航 | 在线操| 日韩黄色片在线观看 | 国产98色在线 | 日韩 | 午夜视频一区二区 | 一节黄色片 | 97视频久久 | 国产农村妇女毛片精品久久麻豆 | 捆绑调教sm束缚网站 | 国产天堂在线观看 | 精品人妻一区二区三区浪潮在线 | 人妻夜夜爽天天爽三区麻豆av网站 | 男女搞鸡网站 | 91欧美在线 | 国产精品视频久久久久 | 96看片 | 亚洲人成电影在线 | 加勒比久久综合 | 国产无遮挡又黄又爽免费网站 | 亚洲中文字幕无码一区二区三区 | 欧美在线一二三四区 |