亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VGGNet的人臉表情識別研究

        2023-11-13 07:45:58廖清江張星月李樂樂劉嘉豪
        軟件工程 2023年11期
        關(guān)鍵詞:人臉灰度卷積

        廖清江, 劉 婷, 張星月, 董 祺, 李樂樂, 劉嘉豪

        (天津商業(yè)大學(xué)信息工程學(xué)院, 天津 300134)

        0 引言(Introduction)

        面部表情是除語言性交流以外的另一種傳遞信息的身體語言符號,是人們情感狀態(tài)的重要體現(xiàn)之一,可以表達(dá)出個體的心態(tài)和情感。隨著人工智能技術(shù)與計(jì)算機(jī)視覺領(lǐng)域的迅速發(fā)展,人臉表情識別技術(shù)成為當(dāng)下圖像識別研究領(lǐng)域的熱點(diǎn)之一。人臉表情識別作為人臉識別技術(shù)的進(jìn)一步發(fā)展,現(xiàn)已被廣泛應(yīng)用于心理學(xué)[1]、疼痛表情識別[2]、課堂狀態(tài)檢測[3]、安全監(jiān)控[4]等領(lǐng)域。

        早期的人臉表情識別方法基于面部的幾何特征,主要依賴手工的特征提取和分類算法,容易漏掉分類識別時的關(guān)鍵特征,存在較大的局限性。研究者嘗試將人臉表情識別建模為模板,實(shí)現(xiàn)對表情的識別與分類,但其泛化能力和對非剛性變形的適應(yīng)性相對有限。隨著機(jī)器學(xué)習(xí)技術(shù)的不斷發(fā)展,研究者發(fā)現(xiàn)深度學(xué)習(xí)具有引入數(shù)據(jù)集規(guī)模大、能夠表示復(fù)雜特征的特點(diǎn),因此在人臉表情識別中應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[5]、視覺幾何組16(Visual Geometry Group 16,VGG16)[6]、殘差神經(jīng)網(wǎng)絡(luò)50 (Residual Neural Network 50,ResNet50)[7]、三維卷積神經(jīng)網(wǎng)絡(luò)(Convolutional 3D,C3D)[8]成為目前的主要研究方向。

        為了更好地完成人臉表情識別任務(wù),本研究選擇VGGNet進(jìn)行人臉表情識別的設(shè)計(jì),為了對比識別效果,對傳統(tǒng)CNN網(wǎng)絡(luò)和VGGNet網(wǎng)絡(luò)進(jìn)行框架搭建,針對同一數(shù)據(jù)集FER2013分別進(jìn)行測試分析,對比其損失率及識別率。為了驗(yàn)證VGGNet在真實(shí)環(huán)境中的識別效果,本研究還進(jìn)行了真人實(shí)時表情測試,測試表明本文設(shè)計(jì)的方案能很好地完成人臉表情識別任務(wù)。

        1 CNN 基本原理(CNN basic principles)

        卷積神經(jīng)網(wǎng)絡(luò)是一種深度學(xué)習(xí)模型,最早被應(yīng)用于圖像數(shù)據(jù)處理,現(xiàn)不僅廣泛應(yīng)用于計(jì)算機(jī)視覺領(lǐng)域的圖像和視頻處理,還應(yīng)用于自然語言處理和語音識別。不同于傳統(tǒng)的機(jī)器學(xué)習(xí),CNN包含多個層次的處理單元,由輸入層、卷積層、池化層(下采樣層)、全連接層和輸出層組成。其中,CNN的核心是卷積操作,即在輸入數(shù)據(jù)上進(jìn)行卷積操作,使用濾波器提取圖像特征,使CNN具有局部感知性和參數(shù)共享的特點(diǎn),從而減少了需要訓(xùn)練的參數(shù)數(shù)量,提高了模型的效率和泛化能力。CNN的工作原理是通過模仿人類大腦的視覺系統(tǒng)達(dá)到自動從圖像中提取特征,并進(jìn)行分類、分割、檢測操作。圖1為卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖。

        圖1 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖Fig.1 Structure diagram of convolutional neural networks

        2 VGGNet原理及結(jié)構(gòu)(Principle and structure of VGGNet)

        VGGNet是由牛津大學(xué)的研究團(tuán)隊(duì)Karen Simonyan和Andrew Zisserman等在2014年提出的一種深度卷積神經(jīng)網(wǎng)絡(luò)模型,該模型在2014年的ImageNet圖像識別競賽中取得了分類任務(wù)第2名和定位任務(wù)第1名的好成績,證明增加卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)可以在一定條件下影響網(wǎng)絡(luò)最終的性能,使圖片分類識別錯誤率大大降低,同時提升了卷積神經(jīng)網(wǎng)絡(luò)的拓展性。

        VGGNet的網(wǎng)絡(luò)結(jié)構(gòu)包含多個連續(xù)的3×3卷積層代替5×5卷積層,每個卷積層后面緊跟著一個2×2的最大池化層進(jìn)行下采樣,便于提取多尺度的圖像特征。VGGNet由多個卷積層和池化層組成,最后連接全連接層進(jìn)行分類。通過深層堆疊的卷積層和池化層的設(shè)計(jì),使得網(wǎng)絡(luò)在不增加太多參數(shù)的情況下增加網(wǎng)絡(luò)的深度,提高網(wǎng)絡(luò)的深層表達(dá)能力。常用的版本是VGG16和VGG19,本研究選用VGG16結(jié)構(gòu)。

        3 基于VGGNet的人臉表情識別的設(shè)計(jì)(Design of facial expression recognition based on VGGNet)

        3.1 系統(tǒng)設(shè)計(jì)流程

        本研究主要對人臉表情進(jìn)行識別,通過人臉表情判斷當(dāng)前測試者所處的精神狀態(tài)和情緒訴求,在輸入端進(jìn)行人臉檢測,在輸出端顯示檢測者包括中性(Neutral)、高興(Happy)、生氣(Angry)、驚訝(Surprise)、厭惡(Disgust)、難過(Sad)和恐懼(Fear)的情緒類別。

        系統(tǒng)流程圖如圖2所示。

        圖2 系統(tǒng)流程圖Fig.2 System flowchart

        3.2 數(shù)據(jù)集選擇

        采用FER2013公開數(shù)據(jù)集,該數(shù)據(jù)集最初是在2013年的Kaggle競賽中進(jìn)行面部表情分類而創(chuàng)建的,它包含35 887幅灰度圖像,每幅圖像的大小為48×48像素。FER2013公開數(shù)據(jù)集中的每幅圖像都被標(biāo)記為7個不同的情緒類別之一,包括中性(Neutral)、高興(Happy)、生氣(Angry)、驚訝(Surprise)、厭惡(Disgust)、難過(Sad)和恐懼(Fear)。每個樣本都有1個對應(yīng)的情緒標(biāo)簽。FER2013公開數(shù)據(jù)集分為28 709幅圖像的訓(xùn)練集、3 589幅圖像的驗(yàn)證集及3 589幅圖像的測試集;它的特點(diǎn)在于質(zhì)量較高、圖像樣本更具有多樣性。一些圖像可能存在模糊、光照不均勻、遮擋等問題,這使得面部表情分類任務(wù)具有一定的挑戰(zhàn)性。

        數(shù)據(jù)集包含逗號分隔值(Comma-Separated Values,CSV)文件,該文件將圖片轉(zhuǎn)化為像素?cái)?shù)據(jù)以方便存儲。首先使用Pyhton對CSV文件提取標(biāo)簽實(shí)現(xiàn)可視化,其次創(chuàng)建映射表并重新加載數(shù)據(jù)集,最后進(jìn)行圖像預(yù)處理。

        3.3 圖像預(yù)處理

        雖然FER2013公開數(shù)據(jù)集中的各個圖形都已經(jīng)很清晰,但是拍攝角度、光線以及攝像機(jī)所自帶的噪音等都會對圖像的清晰度、圖像的識別率產(chǎn)生影響,為了避免出現(xiàn)因圖像有噪音或角度等問題而引發(fā)的識別錯誤問題,需要對圖片進(jìn)行預(yù)處理。

        3.3.1 高斯模糊

        高斯模糊去噪處理的目的是降低細(xì)節(jié)層次以及圖像的毛細(xì)瑕疵;工作原理是將圖像從中間劃分為兩半,利用高斯分布的特性進(jìn)行圖像模糊操作,然后將圖像中細(xì)分的像素周圍的適當(dāng)范圍內(nèi)乘以一個高斯系數(shù)。

        Opencv庫函數(shù)框架下的cv2.GaussianBlur(img,(ksizex,ksizey),0)可以對圖像實(shí)現(xiàn)高斯模糊,其中img表示輸入的人臉表情原圖像,(ksizex,ksizey)表示高斯模糊核的大小,而0表示通過ksize寫出的sigma決定以何種方式表示高斯核。

        在圖像預(yù)處理時,通常會將紅綠藍(lán)(Red Green Blue,RGB)的彩色圖像轉(zhuǎn)換為灰度圖,其原因是RGB彩色是一個三通道空間,在預(yù)處理時容易產(chǎn)生交互影響,并且彩色圖像所占空間遠(yuǎn)遠(yuǎn)大于灰度圖所占空間,在人臉表情識別中,灰度圖不僅容易展示人臉表情輪廓,而且節(jié)省空間資源?;谝陨峡紤],在人臉表情預(yù)處理時將圖像轉(zhuǎn)換為灰度圖。在Opencv中,轉(zhuǎn)換關(guān)系為如下:

        gray_img=cv2.cvtColor(img,COLOR_BGR2GRAY)

        (1)

        其中:cv2.cvtColor()函數(shù)表示轉(zhuǎn)換為灰度圖,img表示輸入的原圖像,COLOR_BGR2GRAY表示將彩色圖像轉(zhuǎn)換為灰度圖。

        3.3.2 直方圖均衡化

        為了增強(qiáng)圖像對比度以及減少光線對圖像分析的影響,可以對圖像進(jìn)行直方圖均衡化,同時直方圖均衡化在提高對比度的同時,還能提高特征提取率。在Opencv庫中,使用直方圖代碼如下:

        equ=equalizeHist(img)

        (2)

        其中:equalizeHist()表示直方圖均衡化;img表示原圖像。

        3.3.3 數(shù)據(jù)類型轉(zhuǎn)換

        在PyTorch框架下,torch數(shù)據(jù)類型是最基本的數(shù)據(jù)類型,輸入變量的數(shù)據(jù)類型由tensor類型轉(zhuǎn)化為torch類型,其代碼實(shí)現(xiàn)過程如下所示。

        face_tensor=torch.from_numpy(face_normalized)

        # 將python中的numpy數(shù)據(jù)類型轉(zhuǎn)化為tensor數(shù)據(jù)類型

        face_tensor=face_tensor.type(′torch.FloatTensor′)

        # 指定為torch.FloatTensor型,避免數(shù)據(jù)類型不匹配

        4 實(shí)驗(yàn)及結(jié)果分析(Experiment and result analysis)

        4.1 實(shí)驗(yàn)環(huán)境

        本研究采用的深度學(xué)習(xí)框架為Tensorflow 2.12.0,語言為Python3.10.9,集成開發(fā)環(huán)境為PyCharm2023.1版本,選擇CPU版本的 PyTorch框架,導(dǎo)入Numpy庫、Matplotlib庫、tqdm庫、Opencv庫等,所有實(shí)驗(yàn)均在Windows 10操作平臺下進(jìn)行。

        4.2 網(wǎng)絡(luò)搭建和模型訓(xùn)練

        4.2.1 傳統(tǒng)CNN

        定義時繼承torch.nn.Module類,從中調(diào)取卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。

        首先進(jìn)行前向傳播,訓(xùn)練數(shù)據(jù)樣本作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,經(jīng)過3次卷積和3次池化,圖像特征信息進(jìn)入3層全連接層進(jìn)行整合,使用Droupout防止過擬合現(xiàn)象,每層設(shè)置激活函數(shù)進(jìn)行激活,并傳遞到全連接層,得到對應(yīng)的預(yù)測值。

        其次運(yùn)用損失函數(shù)計(jì)算損失值衡量模型預(yù)測與真實(shí)標(biāo)簽之間的具體差異。這里將計(jì)算的誤差記為p,具體計(jì)算過程如下:

        p=|z-y|

        (3)

        其中:z為真實(shí)值,y為預(yù)測值。

        最后反向傳播沿著網(wǎng)絡(luò)的層級關(guān)系逆向傳播梯度,將梯度信息傳遞回網(wǎng)絡(luò)中的每一層。這樣根據(jù)梯度更新網(wǎng)絡(luò)中的權(quán)重和偏置,減小損失函數(shù)的值,從而訓(xùn)練出用于人臉表情識別的網(wǎng)絡(luò)模型。CNN網(wǎng)絡(luò)訓(xùn)練過程如圖3所示。

        圖3 CNN訓(xùn)練過程圖Fig.3 Diagram of CNN training process

        4.2.2 VGGNet

        執(zhí)行遷移學(xué)習(xí),使用PyTorch引入經(jīng)過訓(xùn)練的VGG模型,繼承nn.Module的VGGNet,并修改網(wǎng)絡(luò)中標(biāo)準(zhǔn)交叉熵?fù)p失、學(xué)習(xí)率等參數(shù)。訓(xùn)練得到人臉表情識別系統(tǒng)模型,并引入transform進(jìn)行圖形的裁剪、旋轉(zhuǎn)、縮放和亮度調(diào)節(jié),提高模型的泛化性和抗拒性。

        引入預(yù)訓(xùn)練模型過程如圖4所示。

        圖4 預(yù)訓(xùn)練模型引入圖Fig.4 Introduction diagram of the pre-trained model

        4.3 結(jié)果對比分析

        訓(xùn)練過程中將學(xué)習(xí)率設(shè)置為0.01。根據(jù)數(shù)據(jù)集樣本數(shù)量特點(diǎn),先選取60次作為迭代參數(shù)在FER2013公開數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。經(jīng)過實(shí)驗(yàn)驗(yàn)證,在迭代60次以后,傳統(tǒng)CNN的識別率為88%,VGGNet的識別率為98%,二者的訓(xùn)練集與驗(yàn)證集的識別率對比如圖5所示。

        (a)傳統(tǒng)CNN識別率

        迭代60次以后,傳統(tǒng)CNN的損失率為18.81%,而VGGNet的損失率則減小至7.84%,兩個網(wǎng)絡(luò)的訓(xùn)練集與驗(yàn)證集損失率對比如表1所示。

        表1 傳統(tǒng)CNN與VGGNet損失率對比表

        4.4 現(xiàn)實(shí)應(yīng)用能力評估

        為測試模型在現(xiàn)實(shí)場景中的應(yīng)用能力,保存在FER2013公開數(shù)據(jù)集上訓(xùn)練的網(wǎng)絡(luò)模型,并運(yùn)用該模型對研究團(tuán)隊(duì)中的成員進(jìn)行面部表情識別,識別結(jié)果如圖6所示。從識別結(jié)果來看,本文所提模型能準(zhǔn)確識別現(xiàn)實(shí)生活中的人物表情。從整體效果來看,模型泛化能力較好。

        (a)開心

        (b)中性

        (c)驚訝

        (d)難過

        5 結(jié)論(Conclusion)

        在Tensorflow 2.12.0深度學(xué)習(xí)框架下,利用Python 3.10.9語言,PyCharm 2023.1集成開發(fā)環(huán)境,以準(zhǔn)確識別人臉表情為目的,在FER2013公開數(shù)據(jù)集上搭建基于VGGNet的人臉表情識別系統(tǒng),并對比了基于傳統(tǒng)CNN和VGGNet兩種不同網(wǎng)絡(luò)模型在人臉表情識別中的性能。同時,在現(xiàn)實(shí)場景中驗(yàn)證了所提模型的有效性。

        文中提出的人臉表情識別方案優(yōu)勢明顯,但在某些方面仍有不足:

        (1)訓(xùn)練時間長:本文所提系統(tǒng)進(jìn)行人臉表情訓(xùn)練時需要耗費(fèi)大量時間,在訓(xùn)練期間,對特征信息提取能力和計(jì)算能力要求較高,要求使用有強(qiáng)算力的GPU、TPU等圖像處理器。

        (2)數(shù)據(jù)集依然有待提高:雖然FER2013公開數(shù)據(jù)集擁有30 000余幅人臉表情圖像,但是運(yùn)用于實(shí)際時,依然會出現(xiàn)不能精確識別等問題,應(yīng)采取更多其他人臉表情識別數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò),以達(dá)到提高識別精確度及不同人群的適用性的目的。

        猜你喜歡
        人臉灰度卷積
        采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
        基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
        有特點(diǎn)的人臉
        基于灰度拉伸的圖像水位識別方法研究
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        三國漫——人臉解鎖
        動漫星空(2018年9期)2018-10-26 01:17:14
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
        基于灰度線性建模的亞像素圖像抖動量計(jì)算
        馬面部與人臉相似度驚人
        精品理论一区二区三区| 久久综合给合久久狠狠狠97色69 | 老色鬼永久精品网站| 久久中文字幕亚洲精品最新| 精品国产爱在线观看| 亚洲性码不卡视频在线| 日本午夜a级理论片在线播放| av在线入口一区二区| 开心五月婷婷激情综合网| 欧美性xxxxx极品老少| 国产二级一片内射视频播放| 亚洲熟妇无码八av在线播放| 国产看黄网站又黄又爽又色| 99国产小视频| 男性一插就想射是因为啥| 日韩精品首页在线观看| 国产一区二区av免费观看| 精品熟人妻一区二区三区四区不卡| 国产日韩精品欧美一区喷水| 久久精品成人无码观看不卡| 久久亚洲中文字幕无码| 久久久久中文字幕精品无码免费| 深夜福利国产| 久久人妻精品中文字幕一区二区| 91l视频免费在线观看| 国产97在线 | 日韩| 国产99久久久久久免费看| 国产精品刺激好大好爽视频| 91久久综合精品国产丝袜长腿| 视频福利一区二区三区| 亚洲综合视频一区二区 | 又粗又硬又大又爽免费视频播放| 亚洲精品成人网久久久久久| 中文字幕精品一二三区| 麻豆成人久久精品二区三区免费| 亚洲天堂精品成人影院| 麻豆果冻传媒在线观看| 亚洲中文字幕乱码免费| 国产自拍伦理在线观看| 日韩人妻中文字幕专区| 日本一二三区视频在线|