999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于樹莓派4B的人臉表情實時識別系統

2023-04-29 00:00:00王磊思勝杰杜志杰吳悔徐金
計算機時代 2023年12期

摘" 要: 通過搭建硬件環境、安裝軟件環境、數據預處理、訓練模型、實時識別人臉表情等步驟,實現基于樹莓派4B的人臉表情實時識別系統。以樹莓派4B作為載體,所需軟件為Python3.7、OpenCV、Tensorflow和Keras。采用MiniVGG13卷積神經網絡模型訓練模型,在樹莓派上實時識別人臉表情,以實現人臉表情的分類并通過顯示器展示。該系統可以應用于人機交互、智能家居等多個領域。

關鍵詞: 樹莓派4B; MiniVGG13; TensorFlow

中圖分類號:TP273.4" " " " " 文獻標識碼:A" " " "文章編號:1006-8228(2023)12-171-03

Real time facial expression recognition system based on Raspberry Pi 4B

Wang Lei, Si Shengjie, Du Zhijie, Wu Hui, Xu Jin

(Computer and Information Engineering College of the Xinjiang Agricultural University, Urumqi, Xinjiang 830052, China)

Abstract: A real time facial expression recognition system based on Raspberry Pi 4B is realized through steps such as building hardware environment, installing software environment, data preprocessing, training models, and recognizing facial expressions in real time. Raspberry Pi 4B is used as the carrier, the required software is Python3.7, OpenCV, Tensorflow and Keras, and MiniVGG13 convolutional neural network model is used to train the model. Facial expressions are recognized and classified in real time on Raspberry Pi and displayed on the monitor. This system can be applied in multiple fields such as human-computer interaction and smart home.

Key words: Raspberry Pi 4B; MiniVGG13; TensorFlow

0 引言

心理學家研究發現,人們在表達信息時,僅有8%的信息會通過語言來展現,有35%的信息會通過語音語調等輔助語言表達,而人的面部表情所表達的信息會占到總信息量的57%[1]。早在二十世紀Ekman等專家就通過跨文化調研提出了七類基礎的表情[2]。直到1997年,我國才將人臉表情識別的研究成果引入[3]。近些年來,中國在表情識別技術上的發展突飛猛進,有多所知名大學和研究機構都參與了人臉表情識別相關課題的研究[4]。

樹莓派是一個價格低、體積小的微型電腦,將深度學習框架應用于樹莓派上,用來實現實時人臉表情識別系統,使應用場景更加靈活[5]。2014年牛津大學克倫·西莫尼揚和他的導師安德魯·齊塞爾曼提出VGG網絡模型結構,并在圖像網絡大規模視覺識別大賽的圖像分類任務中獲得第二名[6]。本案例我們采用FER2013數據集和MiniVGG13網絡模型訓練,在樹莓派4B上實現人臉表情實時識別,在人臉區域上方輸出概率值最大的人臉表情標簽。

1 人臉表情識別過程

Kaggle表情識別數據集(FER2013)是公開的數據集,該數據集包含訓練樣本圖像28709幅,校驗樣本圖像3589幅,測試樣本圖像3589幅。每一幅樣本為48×48像素的人臉灰度圖像,并且經過處理,確保人臉位于圖像的中部并占據圖像的主要面積。該數據集包含有7個面部表情類別(0=憤怒,1=厭惡,2=恐懼,3=快樂,4=悲傷,5=驚訝,6=中性)[7]。

⑴ 訓練模型:采用MiniVGG13網絡和Kaggle表情識別數據集FER2013訓練模型,MiniVGG13共有四個卷積塊、三個全連接。第一卷積塊有兩個卷積層卷積核為64核,第二卷積塊有兩個卷積層卷積核為128核,第三卷積塊有三個卷積層卷積核為256核,第四卷積塊有三個卷積層卷積核為512核,每個卷積塊后接一個最大化池,核為(2×2)、步長為(2×2),從而實現降維采樣。在卷積塊訓練完參數(每個核有一個偏置需要訓練)后有三個全連接層,每個全連接層使用了隨機失活進行正則化,以免模型過擬合。如表1所示。

⑵ 獲取圖像:圖像的獲取可以采用兩種方式,一種是平面照片,另一種是用攝像頭實時捕捉畫面,本系統主要采用外置攝像頭進行實時人臉表情檢測。代碼實現主要通過語句cv2.VideoCapture(0)獲取視頻幀,通過獲取的視頻幀圖像形成視頻流,從而達到實時檢測的目的。

⑶ 人臉檢測:該系統調用 OpenCV的人臉檢測模型對當前幀圖像進行檢測,對人臉區域進行標注,把檢測到的人臉特征傳入Faces變量,完成人臉檢測部分的功能。

⑷ 特征提取:該階段通過MiniVGG卷積神經網絡訓練人臉表情分類器提取模型提取人臉表情特征。使用Load_model()語句加載事先訓練好的模型,將檢測到的人臉特征導入人臉表情分類器模型。

⑸ 輸出結果:將識別結果在原圖像中進行標注。在人臉區域上方輸出概率值最大的人臉表情標簽。

2 環境搭建

在官網下載樹莓派系統Raspbian鏡像,借助燒錄輔助工具BalenaEtcher(燒錄成功率高)和格式化后的SD卡或U盤即可完成系統燒錄。在樹莓派上搭建虛擬環境(Recognition)需要安裝Python、Tensorflow2.0.0框架[10]、Keras2.3.1、OpenCV3.4.6等,搭建命令如下。

⑴ 搭建Python3.7

① 下載源碼并解壓

wgethttps://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

tar zxvf Python-3.7.1.tgz

② 編譯安裝Python

cd python-3.7.1

sudo ./configure

sudo make install

③ 檢測Python版本是否安裝成功

ls -al /usr/local/bin/python*

⑵ 搭建虛擬環境

virtualenv -p /usr/bin/python3.7 Recognition

source /home/pi/Recognition/bin/activate

⑶ 搭建Tensorflow2.0.0

pip install

tensorflow-2.0.0-cp37-none-linux_armv7l.whl

⑷ 搭建Keras2.3.1

pip install keras==2.3.1 -i

https://pypi.douban.com/simple

⑸ 搭建OpenCV3.4.6

pip install opencv-python==3.4.6.27 -i

https://pypi.douban.com/simple

3 樹莓派實現人臉表情識別

將訓練好的Model.h5模型以及Emotion.py文件拷貝到樹莓派上的Home/pi路徑下,使用命令:source /home/pi/Recognition/bin/activate開啟Recognition虛擬環境后,使用命令:python Emotion.py加載運行,進行實時人臉檢測。(Emotion.py主要內容為加載Model.h5模型,加載攝像頭后進行內部灰度化,檢測等操作)。

樹莓派左邊界面為七種表情概率顯示,右邊為實時人臉表情畫面捕捉以及表情標簽顯示,如圖1所示,此表情為Surprise的概率為85.09%,故在人臉區域上方輸出概率值最大的Surprise人臉表情標簽。同時在實時識別過程中,可以在命令行里輸入:htop觀察樹莓派的四個CPU內核的占用率和內存使用率,觀察各個進程的詳細參數,如圖2所示,左上區域為CPU、內存、Swap的使用情況,CPU負載適中,內存占用不到1G;右上區域為任務、線程、平均負載及系統運行時間的信息。平均負載部分提供了三個數字,這表示的是過去的5分鐘、10分鐘和15分鐘系統的平均負載。uptime標示的數字是從系統啟動到當前運行總時間。下方區域表示當前系統中的所有進程,故樹莓派4B實現人臉表情實時識別是切實可行的。

樹莓派人臉表情實時識別核心代碼Emotion.py:

import tensorflow as tf

face_detector=

cv2.CascadeClassifier('home/pi/opencv3.4.6/data/

haarcascades/haarcascade_frontalface_default.xml')

model=tf.keras.models.load_model(\"home/pi/model.h5\")

#加載model的方法

EMOTIONS=['Angry', 'Disgust', 'Scared', 'Happy',

'Sad', 'Surprise', 'Neutral']

capture=cv2.VideoCapture(0)

while True:

ret, frame=capture.read()

frame=imutils.resize(frame, width=300)

gray=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

canvas=np.zeros((240, 300, 3), dtype=\"uint8\")

frameClone=frame.copy()

rects=face_detector.detectMultiScale(

gray, scaleFactor=1.1,

minNeighbors=5,

minSize=(30, 30),

flags=cv2.CASCADE_SCALE_IMAGE)

if len(rects)gt;0:

rect=sorted(rects,

reverse=True,key=lambda x:(x[2]-x[0])*(x[3]-x[1]))[0]

(fX, fY, fW, fH)=rect

roi=gray[fY:fY+fH, fX:fX+fW]

roi=cv2.resize(roi,(48,48))

roi=roi.astype(\"float\")/255.0

roi=img_to_array(roi)

roi=np.expand_dims(roi, axis=0)

predicts=model.predict(roi)[0]

label=EMOTIONS[predicts.argmax()]

cv2.putText(frameClone, label, (fX, fY - 10),

cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255),

1, cv2.LINE_AA)

cv2.rectangle(frameClone, (fX, fY), (fX + fW, fY + fH),

(0, 0, 255), 1, cv2.LINE_AA)

for (i, (emotion, prob)) in

enumerate(zip(EMOTIONS, predicts)):

text=\"{}:

{:.2f}%\".format(emotion, prob*100)

w=int(prob*300)

cv2.rectangle(canvas, (5, (i*32)+5),(5+w, (i*32)

+32), (0, 0, 255), -1)

cv2.putText(canvas,text, (10, (i*32)+23),

cv2.FONT_HERSHEY_SIMPLEX, 0.5,

(255, 255, 255), 1, cv2.LINE_AA )

cv2.imshow('Emotion Detection', frameClone)

cv2.imshow(\"Result\", canvas)

if cv2.waitKey(1)==27:

break

capture.release()

cv2.destroyAllWindows()

4 結束語

本設計是一種基于樹莓派的實時人臉表情識別系統,將深度學習框架應用于智能硬件樹莓派上,最終實現了基于樹莓派的七種人臉表情實時識別,包括高興、生氣、厭惡、害怕、傷心、驚奇、中性。與傳統的人臉表情識別算法相比, 采用深度學習框架的人臉表情識別能夠達到更高的識別精度。

此系統還有待提升之處,如厭惡表情識別不理想,原因在于厭惡表情數據量過少,要想提高其識別準確率還需進一步提高數據集的數據量。

隨著技術進一步成熟,基于樹莓派的人臉表情識別系統在算法層面也需不斷地優化和改進,提高系統的準確度、速度和性能。還可以探討將基于樹莓派的人臉表情識別系統與語音識別、動作捕捉和語義分析等技術結合在一起,實現多模態信息的融合,提高識別的準確性和應用廣度,如公共安全、交通、醫療等,市場需求會不斷增長,將促進行業和產品的發展。

參考文獻(References):

[1] Mpiperis I, Malassiotis S, Strintzis M G. Bilinear Models for

3-D Face and Facial Expression Recognition[J].IEEE Transactions on Information Forensics and Security,2008,3(3):498-511.

[2] 陳超,黃佳.基于深度學習的樹莓派人臉與表情識別系統

研究與設計[J].網絡安全技術與應用,2019(12):50-52.

[3] 牛犇,滕運江.基于樹莓派的實時人臉表情識別[J].電子技術

與軟件工程,2021(1):135-136.

[4] 郭釗汝,徐金,郭恒言,等.采用樹莓派4B識別新疆蘋果品種的

人工智能案例[J].計算機時代,2022(3):32-35.

[5] 朱明旱,李樹濤,葉華.基于稀疏表示的遮擋人臉表情識別

方法[J].模式識別與人工智能,2014,27(8):708-712.

[6] 史浩.基于卷積神經網絡的人臉表情識別研究[D].南昌:

南昌大學,2022.

[7] 程村.微表情識別綜述[J].計算機時代,2020(9):17-19,23.

主站蜘蛛池模板: 亚洲国产欧美国产综合久久| 亚洲电影天堂在线国语对白| 国产h视频免费观看| 试看120秒男女啪啪免费| 亚洲AV永久无码精品古装片| 免费日韩在线视频| 91精品啪在线观看国产| 欧美日韩第二页| 日韩欧美国产三级| 欧美综合激情| 国产一级精品毛片基地| 一级成人a做片免费| 亚洲v日韩v欧美在线观看| 波多野结衣视频网站| 欧美区国产区| 国产精品不卡片视频免费观看| 无码国产偷倩在线播放老年人| 亚洲欧美另类视频| 亚洲美女一级毛片| 久久综合AV免费观看| 国产尤物在线播放| 午夜欧美在线| 国内熟女少妇一线天| 久久香蕉国产线看观看精品蕉| 色屁屁一区二区三区视频国产| jijzzizz老师出水喷水喷出| 亚洲日韩精品综合在线一区二区 | 国产视频 第一页| 人妻中文久热无码丝袜| 草草影院国产第一页| 东京热av无码电影一区二区| 国产95在线 | 91精品久久久无码中文字幕vr| 高h视频在线| 高清色本在线www| 国产福利免费在线观看| 91青青草视频在线观看的| 女人天堂av免费| 亚洲最大福利网站| а∨天堂一区中文字幕| 婷婷伊人久久| 亚洲第七页| 精品久久香蕉国产线看观看gif | 久久不卡精品| 免费AV在线播放观看18禁强制| 永久免费av网站可以直接看的 | 毛片在线播放网址| 欧美在线视频a| 亚洲av色吊丝无码| 国产无码网站在线观看| 欧美伦理一区| 欧美国产视频| 久99久热只有精品国产15| a国产精品| 国产精品自拍露脸视频| 亚洲天堂在线免费| 国产91精品最新在线播放| 亚洲国产欧美目韩成人综合| 日韩欧美网址| 亚洲精品第1页| 无码一区二区三区视频在线播放| 国产久草视频| 久久久久久久97| 国产欧美性爱网| 久久77777| 国产免费看久久久| 亚洲一区二区三区国产精华液| 一级毛片中文字幕| 中文字幕亚洲无线码一区女同| 国产成人免费高清AⅤ| 一级毛片免费观看久| 国产成年女人特黄特色大片免费| 国产高清在线精品一区二区三区| www亚洲天堂| 久久国产亚洲偷自| 国内精品视频| 色国产视频| 亚洲无线一二三四区男男| 欧美日本在线播放| 91 九色视频丝袜| 色悠久久综合| 精品一區二區久久久久久久網站|