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

基于樹莓派4B的人臉表情實(shí)時(shí)識別系統(tǒng)

2023-04-29 00:00:00王磊思勝杰杜志杰吳悔徐金
計(jì)算機(jī)時(shí)代 2023年12期

摘" 要: 通過搭建硬件環(huán)境、安裝軟件環(huán)境、數(shù)據(jù)預(yù)處理、訓(xùn)練模型、實(shí)時(shí)識別人臉表情等步驟,實(shí)現(xiàn)基于樹莓派4B的人臉表情實(shí)時(shí)識別系統(tǒng)。以樹莓派4B作為載體,所需軟件為Python3.7、OpenCV、Tensorflow和Keras。采用MiniVGG13卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練模型,在樹莓派上實(shí)時(shí)識別人臉表情,以實(shí)現(xiàn)人臉表情的分類并通過顯示器展示。該系統(tǒng)可以應(yīng)用于人機(jī)交互、智能家居等多個(gè)領(lǐng)域。

關(guān)鍵詞: 樹莓派4B; MiniVGG13; TensorFlow

中圖分類號:TP273.4" " " " " 文獻(xiàn)標(biāo)識碼: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 引言

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

樹莓派是一個(gè)價(jià)格低、體積小的微型電腦,將深度學(xué)習(xí)框架應(yīng)用于樹莓派上,用來實(shí)現(xiàn)實(shí)時(shí)人臉表情識別系統(tǒng),使應(yīng)用場景更加靈活[5]。2014年牛津大學(xué)克倫·西莫尼揚(yáng)和他的導(dǎo)師安德魯·齊塞爾曼提出VGG網(wǎng)絡(luò)模型結(jié)構(gòu),并在圖像網(wǎng)絡(luò)大規(guī)模視覺識別大賽的圖像分類任務(wù)中獲得第二名[6]。本案例我們采用FER2013數(shù)據(jù)集和MiniVGG13網(wǎng)絡(luò)模型訓(xùn)練,在樹莓派4B上實(shí)現(xiàn)人臉表情實(shí)時(shí)識別,在人臉區(qū)域上方輸出概率值最大的人臉表情標(biāo)簽。

1 人臉表情識別過程

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

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

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

⑶ 人臉檢測:該系統(tǒng)調(diào)用 OpenCV的人臉檢測模型對當(dāng)前幀圖像進(jìn)行檢測,對人臉區(qū)域進(jìn)行標(biāo)注,把檢測到的人臉特征傳入Faces變量,完成人臉檢測部分的功能。

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

⑸ 輸出結(jié)果:將識別結(jié)果在原圖像中進(jìn)行標(biāo)注。在人臉區(qū)域上方輸出概率值最大的人臉表情標(biāo)簽。

2 環(huán)境搭建

在官網(wǎng)下載樹莓派系統(tǒng)Raspbian鏡像,借助燒錄輔助工具BalenaEtcher(燒錄成功率高)和格式化后的SD卡或U盤即可完成系統(tǒng)燒錄。在樹莓派上搭建虛擬環(huán)境(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*

⑵ 搭建虛擬環(huán)境

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 樹莓派實(shí)現(xiàn)人臉表情識別

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

樹莓派左邊界面為七種表情概率顯示,右邊為實(shí)時(shí)人臉表情畫面捕捉以及表情標(biāo)簽顯示,如圖1所示,此表情為Surprise的概率為85.09%,故在人臉區(qū)域上方輸出概率值最大的Surprise人臉表情標(biāo)簽。同時(shí)在實(shí)時(shí)識別過程中,可以在命令行里輸入:htop觀察樹莓派的四個(gè)CPU內(nèi)核的占用率和內(nèi)存使用率,觀察各個(gè)進(jìn)程的詳細(xì)參數(shù),如圖2所示,左上區(qū)域?yàn)镃PU、內(nèi)存、Swap的使用情況,CPU負(fù)載適中,內(nèi)存占用不到1G;右上區(qū)域?yàn)槿蝿?wù)、線程、平均負(fù)載及系統(tǒng)運(yùn)行時(shí)間的信息。平均負(fù)載部分提供了三個(gè)數(shù)字,這表示的是過去的5分鐘、10分鐘和15分鐘系統(tǒng)的平均負(fù)載。uptime標(biāo)示的數(shù)字是從系統(tǒng)啟動(dòng)到當(dāng)前運(yùn)行總時(shí)間。下方區(qū)域表示當(dāng)前系統(tǒng)中的所有進(jìn)程,故樹莓派4B實(shí)現(xiàn)人臉表情實(shí)時(shí)識別是切實(shí)可行的。

樹莓派人臉表情實(shí)時(shí)識別核心代碼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 結(jié)束語

本設(shè)計(jì)是一種基于樹莓派的實(shí)時(shí)人臉表情識別系統(tǒng),將深度學(xué)習(xí)框架應(yīng)用于智能硬件樹莓派上,最終實(shí)現(xiàn)了基于樹莓派的七種人臉表情實(shí)時(shí)識別,包括高興、生氣、厭惡、害怕、傷心、驚奇、中性。與傳統(tǒng)的人臉表情識別算法相比, 采用深度學(xué)習(xí)框架的人臉表情識別能夠達(dá)到更高的識別精度。

此系統(tǒng)還有待提升之處,如厭惡表情識別不理想,原因在于厭惡表情數(shù)據(jù)量過少,要想提高其識別準(zhǔn)確率還需進(jìn)一步提高數(shù)據(jù)集的數(shù)據(jù)量。

隨著技術(shù)進(jìn)一步成熟,基于樹莓派的人臉表情識別系統(tǒng)在算法層面也需不斷地優(yōu)化和改進(jìn),提高系統(tǒng)的準(zhǔn)確度、速度和性能。還可以探討將基于樹莓派的人臉表情識別系統(tǒng)與語音識別、動(dòng)作捕捉和語義分析等技術(shù)結(jié)合在一起,實(shí)現(xiàn)多模態(tài)信息的融合,提高識別的準(zhǔn)確性和應(yīng)用廣度,如公共安全、交通、醫(yī)療等,市場需求會不斷增長,將促進(jìn)行業(yè)和產(chǎn)品的發(fā)展。

參考文獻(xiàn)(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] 陳超,黃佳.基于深度學(xué)習(xí)的樹莓派人臉與表情識別系統(tǒng)

研究與設(shè)計(jì)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019(12):50-52.

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

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

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

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

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

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

[6] 史浩.基于卷積神經(jīng)網(wǎng)絡(luò)的人臉表情識別研究[D].南昌:

南昌大學(xué),2022.

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

主站蜘蛛池模板: 无码人中文字幕| 欧美成人综合视频| 日韩美女福利视频| 国产美女人喷水在线观看| 毛片网站观看| 亚洲国产看片基地久久1024| 国产成人高清精品免费5388| 中文字幕人妻av一区二区| 亚洲成人www| 蜜臀av性久久久久蜜臀aⅴ麻豆| 黄片一区二区三区| 欧美成人在线免费| 真实国产精品vr专区| 国产香蕉97碰碰视频VA碰碰看| 凹凸国产熟女精品视频| 国产无码在线调教| 国产乱肥老妇精品视频| 在线a网站| 青青青视频蜜桃一区二区| AV熟女乱| 欧美一级高清片欧美国产欧美| 手机成人午夜在线视频| 国产性爱网站| 国产91小视频在线观看 | 亚洲综合第一区| 欧美一级夜夜爽www| 日本亚洲最大的色成网站www| 国产精鲁鲁网在线视频| 成人亚洲国产| 99在线视频免费| 成人综合网址| 强乱中文字幕在线播放不卡| 九九久久精品免费观看| 国产91无码福利在线| 国产成人你懂的在线观看| 成人精品视频一区二区在线| 色网站在线免费观看| 色婷婷成人网| 91无码人妻精品一区| 国产成人成人一区二区| 欧美精品v欧洲精品| 9丨情侣偷在线精品国产| 国产在线观看91精品亚瑟| 午夜成人在线视频| 久久国产精品77777| 久久精品丝袜| 97精品久久久大香线焦| 无码中字出轨中文人妻中文中| 71pao成人国产永久免费视频| 日韩精品少妇无码受不了| 国产丝袜啪啪| 在线欧美日韩国产| 手机在线免费不卡一区二| 亚洲精品无码专区在线观看| 91青青草视频| 亚洲香蕉在线| 国产乱人伦偷精品视频AAA| 精品成人一区二区| 国产丝袜一区二区三区视频免下载| 不卡网亚洲无码| 久久频这里精品99香蕉久网址| 国产精品毛片一区视频播| 四虎永久免费地址在线网站| 国产真实自在自线免费精品| 国产成人免费视频精品一区二区 | 国产爽爽视频| 伊人久久精品无码麻豆精品| 人禽伦免费交视频网页播放| 波多野衣结在线精品二区| 这里只有精品免费视频| 欧美天堂在线| 无码国产伊人| 国产女主播一区| 亚洲视频影院| 久久久久免费精品国产| 国产女人18毛片水真多1| 亚洲国语自产一区第二页| 国产在线精品人成导航| 91人人妻人人做人人爽男同| 青青青草国产| 欧美日韩国产高清一区二区三区| 丁香婷婷综合激情|