目錄
前言
課題背景和意義
實(shí)現(xiàn)技術(shù)思路
一、深度學(xué)習(xí)理論基礎(chǔ)
?二、AdaBoost 結(jié)合 SVM 算法表情識別
?三、基于 MTCNN 算法的人臉表情識別
實(shí)現(xiàn)效果圖樣例
最后
前言
? ? ??大四是整個(gè)大學(xué)期間最忙碌的時(shí)光,一邊要忙著備考或?qū)嵙?xí)為畢業(yè)后面臨的就業(yè)升學(xué)做準(zhǔn)備,一邊要為畢業(yè)設(shè)計(jì)耗費(fèi)大量精力。近幾年各個(gè)學(xué)校要求的畢設(shè)項(xiàng)目越來越難,有不少課題是研究生級別難度的,對本科同學(xué)來說是充滿挑戰(zhàn)。為幫助大家順利通過和節(jié)省時(shí)間與精力投入到更重要的就業(yè)和考試中去,學(xué)長分享優(yōu)質(zhì)的選題經(jīng)驗(yàn)和畢設(shè)項(xiàng)目與技術(shù)思路。
??對畢設(shè)有任何疑問都可以問學(xué)長哦!
選題指導(dǎo):?https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,這里是海浪學(xué)長畢設(shè)專題,本次分享的課題是
??畢業(yè)設(shè)計(jì)-基于深度學(xué)習(xí)的人臉表情識別
課題背景和意義
人臉識別技術(shù)是當(dāng)今學(xué)術(shù)界以及工業(yè)領(lǐng)域持續(xù)討論的前沿課題,表情識別等 先進(jìn)算法和應(yīng)用研究成為了計(jì)算機(jī)識別領(lǐng)域縱向研究更深的方向,在學(xué)術(shù)界引起 強(qiáng)烈反響,尤其是在醫(yī)療與衛(wèi)生、高端云計(jì)算、心理學(xué)甚至教育學(xué)領(lǐng)域引起極大的反響,在當(dāng)前的學(xué)術(shù)界的研究以及工業(yè)界的應(yīng)用中得到廣泛關(guān)注。 在人類日常溝通交流中,表情是必不可少的因素之一。當(dāng)雙方面對面交流的 時(shí)候,人類通過表情傳達(dá)了非常多的信息,某些信息甚至超過語言溝通的效果, 是人類溝通中的重要信息。 通過有關(guān)統(tǒng)計(jì)調(diào)查表明,人類在彼此的日常工作、學(xué)習(xí)中,并不是主要依靠 語言進(jìn)行傳遞信息,這會顛覆很多人的認(rèn)知。人臉表情中代表了人類非常多的信 息要素,甚至可能會反映一個(gè)人當(dāng)下的心理,在人類的信息傳遞過程中占了非常 大的比重。換言之,人們天天對他人展現(xiàn)自己的表情信息,同時(shí)也在源源不斷的 接收他人的表情信息。 總而言之,人臉表情識別對于人類 的日常生活及人機(jī)交互等方面發(fā)揮著重要作用,在未來有著非常廣闊的應(yīng)用背景, 研究有重要價(jià)值。
實(shí)現(xiàn)技術(shù)思路
一、深度學(xué)習(xí)理論基礎(chǔ)
神經(jīng)網(wǎng)絡(luò)概述
1、神經(jīng)元模型
在深度學(xué)習(xí)領(lǐng)域,神經(jīng)網(wǎng)絡(luò)又被科研人員稱為人工神經(jīng)網(wǎng)絡(luò),人工神經(jīng)網(wǎng)絡(luò)是 科研人員提出的一種基本理論模型,這種數(shù)學(xué)模型是依據(jù)自然界的生物神經(jīng)網(wǎng)絡(luò) 模型設(shè)計(jì),人工神經(jīng)網(wǎng)絡(luò)是研究計(jì)算機(jī)視覺相關(guān)課題必不可少的內(nèi)容之一 。
?深度學(xué)習(xí)領(lǐng)域的研究人員受生物界的神經(jīng)網(wǎng)絡(luò)的神經(jīng)元的結(jié)構(gòu)原理啟發(fā), McCulloch和Pitts于1943年提出了一種人工神經(jīng)網(wǎng)絡(luò)的神經(jīng)元模型(以兩人名字首 字母命名為MP模型)
2、感知機(jī)
人工神經(jīng)網(wǎng)絡(luò)中非?;A(chǔ)的數(shù)學(xué)模型是感知機(jī)模型,這種數(shù)學(xué)概念模型是由 科研人員在1957年提出的一種非常重要的模型,人工神經(jīng)網(wǎng)絡(luò)的神經(jīng)元的模型、上文提到的MP數(shù)學(xué)模型非常相似,能夠在解決二分類問題上非常有效,在解決復(fù) 雜問題的情境中應(yīng)用的很普遍。
?在上圖的感知機(jī)模型的輸出是由以下函數(shù)進(jìn)行確定:
3、前向傳播
在前文已經(jīng)概括性的介紹了人工神經(jīng)網(wǎng)絡(luò),其中每個(gè)人工神經(jīng)網(wǎng)絡(luò)的神經(jīng)元 都與其相連的每個(gè)人工神經(jīng)網(wǎng)絡(luò)的神經(jīng)元相互傳遞信息,那么神經(jīng)網(wǎng)絡(luò)的輸入數(shù) 據(jù)就會經(jīng)過一層層的人工神經(jīng)網(wǎng)絡(luò)的神經(jīng)元。因而神經(jīng)網(wǎng)絡(luò)的本質(zhì)是由輸出與輸 入確定的方程:??(??) = ??,方程中的系數(shù)w(權(quán)重)就是接下來神經(jīng)網(wǎng)絡(luò)需要訓(xùn)練 的最終理想結(jié)果值,訓(xùn)練得到的方程的系數(shù)w一旦最終被確定,對于從方程的輸入 端的任意一個(gè)???? ,那么將會得到唯一確定的????。
4、Back Propagation(BP)算法
BP(反向傳播算法)神經(jīng)網(wǎng)絡(luò)具有單一輸入、單一輸出以及多個(gè)隱藏層,在 輸入層傳入初始信息,然后可以根據(jù)隱含層分析相關(guān)的運(yùn)算,最后可以得到一個(gè) 唯一確定的輸出值,這個(gè)輸出值與標(biāo)記值進(jìn)行差值運(yùn)算得到一定的誤差。當(dāng)存在 誤差的時(shí)候,這個(gè)誤差結(jié)果就會通過相反的方向傳入輸入層。
卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)
與多層感知機(jī)相比,卷積神經(jīng)網(wǎng)絡(luò)在圖像輸入時(shí)有多種優(yōu)勢,在輸入的時(shí)候 可以直接調(diào)取數(shù)字圖像,這樣能夠非常好的解決數(shù)據(jù)重建過程繁瑣步驟以及復(fù)雜 功能提取的過程,它的更重要的優(yōu)勢是能夠在二維圖像處理上。數(shù)字圖像的關(guān)鍵 信息可以被卷積神經(jīng)網(wǎng)絡(luò)主動獲取,這些特征信息就包括拓?fù)浣Y(jié)構(gòu)、顏色、形狀 和紋理特征等。
1、輸入層
輸入層的主要用來輸入需要處理的數(shù)據(jù),為了使后續(xù)圖像處理效果更佳出色, 那么將對傳入的數(shù)據(jù)進(jìn)行處理,為了解決假設(shè)條件難以滿足的難題,相關(guān)的科研人員發(fā)現(xiàn) 通過在神經(jīng)網(wǎng)絡(luò)中加入歸一化操作。歸一化最先在數(shù)學(xué)的統(tǒng)計(jì)學(xué)上被提出,歸一化將傳入的數(shù)據(jù)進(jìn)行一定量的偏 移或者是縮放一定的尺度。
2、卷積層
為了提取到數(shù)據(jù)的特征信息,需要將輸入數(shù)據(jù)中的一些潛在的具有關(guān)聯(lián)性信 息進(jìn)行抽象操作,把數(shù)據(jù)的潛在的具有相關(guān)性的信息抽象畫。卷積層具有非常多的卷積單元,其中的卷 積神經(jīng)網(wǎng)絡(luò)的所用參數(shù)都是根據(jù)公式的優(yōu)化求得的,其中的優(yōu)化方式就是前文提 到的反向傳播算法。進(jìn)行卷積運(yùn)算能夠獲得到輸入數(shù)據(jù)中的不同的特征信息,計(jì)算的公式展示如下:
?以下圖為例展示標(biāo)準(zhǔn)卷積運(yùn)算過程。卷積運(yùn)算的卷積核每次滑過原始數(shù)字 圖像的9個(gè)像素,覆蓋像素的滑動框總共滑動四次,其運(yùn)算結(jié)果是一個(gè)二維數(shù)據(jù), 尺寸為2 × 2。對于原始數(shù)據(jù)尺寸為n的數(shù)字圖像,通過尺寸為??的卷積運(yùn)算操作后, 那么最終的輸出的數(shù)字圖像的大小為?? ? ?? + 1。
3、激勵(lì)層
輸入層的結(jié)果通過卷積層處理以后傳入了激勵(lì)層,激勵(lì)層能夠把上層處理的 結(jié)果進(jìn)行非線性處理,在激勵(lì)層常見的函數(shù)包括:Sigmoid函數(shù)、ReLU函數(shù)、Tanh 函數(shù)等 。
4、池化層
為了可以降低每個(gè)特征圖具有的維度信息,為了保留更多的關(guān)鍵新。池化層 能夠把參數(shù)進(jìn)行縮減,數(shù)據(jù)量也被大幅度的削減,穿插在彼此連接的卷積層之間, 因此這個(gè)過擬合問題,能夠得到有效解決,池采樣能夠有效的處理過擬合帶來的問題。
5、全連接層
全連接層是實(shí)質(zhì)是一種能夠進(jìn)行分類的數(shù)學(xué)模型,其作用在卷積神經(jīng)網(wǎng)絡(luò)的 各個(gè)部分中。前面講到的卷積層、激活層、池化層等層具有相似的作用,其主要 作用是將原始的數(shù)據(jù)傳遞到隱藏層上的特征空間,而接下來的全連接層就是把得 到的分布式的特征一種映射的方式把樣本數(shù)據(jù)標(biāo)記到空間中。
?二維全連接層:
5、輸出層
人工神經(jīng)網(wǎng)絡(luò)經(jīng)常用于處理回歸問題,在處理分類等問題也經(jīng)常使用。根據(jù) 不同的問題,采用不同的激活函數(shù)。如果為了解決二分類問題,因此從隱藏層傳 輸?shù)浇酉聛淼妮敵鰧樱?jīng)常運(yùn)用Sigmoid作為激活函數(shù)。Softmax計(jì)算公式如下:
?二、AdaBoost 結(jié)合 SVM 算法表情識別
圖像預(yù)處理與特征工程提取
1、圖像預(yù)處理
傳入的數(shù)字圖像會被噪聲所干擾,尤其是圖像的應(yīng)用中會被許多不同種類的 噪聲干擾。這些噪聲并不是由于單一原因造成,比如在傳輸數(shù)字圖像的過程中會 產(chǎn)生許多噪聲,處理這些產(chǎn)生的噪聲很有必要。
采取OpenCV中blur函數(shù)去噪,OpenCV內(nèi)置的blur函數(shù)用歸一化工具作為 圖像的過濾器,能夠十分有效的對圖像進(jìn)行模糊,其能夠計(jì)算出數(shù)字圖像中所有 像素對應(yīng)的平均值。
2、特征工程提取
(1)1LBP
特征 LBP算子常用來提取圖像中的關(guān)鍵非全部信息的紋理特征,其突出優(yōu)點(diǎn)是能夠 保持灰度不變形,另外旋轉(zhuǎn)不變性的優(yōu)點(diǎn)也是非常突出。在計(jì)算機(jī)領(lǐng)域常用的開 源工具如OpenCV中有相對應(yīng)的接口,OpenCV中同時(shí)也有用來識別目標(biāo)信息、檢 測分類的方法。
(2)LBP 算子改進(jìn)
上節(jié)對LBP算子的基本原理做出了基本的闡釋,LBP算子存在覆蓋半徑小的問 題,它覆蓋的區(qū)域是一個(gè)固定的圓形區(qū)域。
對傳統(tǒng)的LBP算子改良意義重大,傳統(tǒng)的LBP算子經(jīng)過改良包括的像素?cái)?shù)量點(diǎn) 更多,它的范圍變成了圓形區(qū)域,這個(gè)圓形區(qū)域的半徑為R,因此可以得到P個(gè)采 樣點(diǎn)在這個(gè)圓形區(qū)域內(nèi),下圖為一個(gè)5 × 5的鄰域:
?由上圖標(biāo)示可知,圖中的采樣點(diǎn)的顏色為黑色,因此總共采樣點(diǎn)的個(gè)數(shù)為8個(gè), 其中的任意一個(gè)的采樣點(diǎn)能夠根據(jù)下面的數(shù)學(xué)公式得出:
AdaBoost 算法實(shí)現(xiàn)人臉識別?
Boosting算法是一種通過持續(xù)訓(xùn)練來提高模型對數(shù)據(jù)的分析能力,進(jìn)而提高 弱學(xué)習(xí)器性能。
1955年,科研人員對AdaBoost算法進(jìn)一步的改良:其一是通過將需要訓(xùn)練的 樣本數(shù)據(jù)重新替換最初的權(quán)重?cái)?shù)值,訓(xùn)練的數(shù)據(jù)不使用原有樣本,而是使用加權(quán) 之后的樣本;其二是通過加權(quán)方式,這樣多個(gè)訓(xùn)練之后的弱學(xué)習(xí)器不是孤立的發(fā) 揮作用,而是聯(lián)合起來形成了一個(gè)強(qiáng)大的學(xué)習(xí)器,代替Boosting算法中采用平均投票機(jī)制的做法。
?3 人臉表情數(shù)據(jù)集
在人臉表情識別技術(shù)中,常用的數(shù)據(jù)集包括JAFFE和CK+。由于論文實(shí)驗(yàn)使用上述的兩個(gè)數(shù)據(jù)集,因此將對這兩個(gè)數(shù)據(jù)集簡單介紹。
JAFFE由日本計(jì)算機(jī)視覺領(lǐng)域的科研人員制作而成,這個(gè)數(shù)據(jù)集是在理想 的實(shí)驗(yàn)環(huán)境制作而成,由日本的年輕女性在科研人員的相關(guān)要求下做出的不同的 人臉表情,由圖像采集設(shè)備進(jìn)行捕捉最終制作而成的數(shù)據(jù)集。
?CK+數(shù)據(jù)集包括七種表情,制作該數(shù)據(jù)集有213名參與者進(jìn)行拍攝,圖片序 列總共有593個(gè),這個(gè)表情數(shù)據(jù)庫中包含有18到50歲之間的測試人員,其中女性人 員占了一半以上,在這一半以上的女性人群中有81%的是白色人種,還有13%的黑 色人種,其余則為自由組合,以下表格為其數(shù)量分布,以及相關(guān)的圖示如圖。
?SVM 實(shí)現(xiàn)表情識別
SVM是在特征空間上的一種數(shù)學(xué)模型,在傳統(tǒng)的機(jī)器學(xué)習(xí)領(lǐng)域常處理二分類的相關(guān)課題。這種分類器是一種根據(jù)間隔最大相關(guān)理論為核心,最終實(shí)現(xiàn)數(shù)據(jù)分類。
根 據(jù) 以 上 對 SVM 的 相 關(guān) 介 紹 , 假 設(shè) 樣 本 集 ?? = {(??1, ??1 ), (??2, ??2 ), … … , (????, ????)},然后將D進(jìn)行訓(xùn)練,其中???? ∈ {?1, +1},因此,這種分類的輸出數(shù)據(jù)是 最穩(wěn)定的。分類的過程如下圖中的粗線部分所示,其中的支持向量是圖中圈示的 點(diǎn)。
分離超平面過程圖示:
?三、基于 MTCNN 算法的人臉表情識別
通過相關(guān)的方法檢測到人臉區(qū)域以后,一般將識別到的人臉區(qū)域進(jìn)行對齊工 作。傳入的數(shù)字圖像中的人的臉形因?yàn)槠湮恢?、方向等不同。能夠把不同方向?圖像進(jìn)行下一步的操作,因此把識別到的人的臉形糾正到正確的方向。通過識別 出的圖像中人臉的關(guān)鍵信息點(diǎn),把這些關(guān)鍵點(diǎn)通過一系列的變換就行糾正到正確 方向,這樣就能夠消除位置方向等誤差。
人臉識別算法研究
1、Dlib 方法
Dlib是在計(jì)算機(jī)視覺的工具庫中常用工具,這個(gè)工具庫里面包含了許多封裝好 的深度學(xué)習(xí)算法。對于計(jì)算機(jī)視覺開發(fā)者而言使用方便,在編寫相關(guān)的程序時(shí)只 需導(dǎo)入頭文件即可實(shí)現(xiàn)其功能,其另外一個(gè)優(yōu)勢在于無需安裝其他依賴庫。
2、Haar+AdaBoost 方法
Haar+AdaBoost是計(jì)算機(jī)開源視覺庫OpenCV中封裝好的算法,在前文中已經(jīng) 具體的講述了兩個(gè)算法的基本原理,此處不再贅述。兩個(gè)算法在OpenCV中調(diào)用方 便,配合使用能夠非常有效的進(jìn)行人臉識別,是人臉識別領(lǐng)域常用的算法,在下 文中兩個(gè)算法結(jié)合使用,為了表述方便以O(shè)penCV進(jìn)行代替。
3、MTCNN 算法研究
MTCNN由具有不同作用的子網(wǎng)絡(luò)組成。第一個(gè)網(wǎng)絡(luò)為P-Net,與第一個(gè)網(wǎng)絡(luò) 相連的為R-Net,最后一個(gè)網(wǎng)絡(luò)為O-Net。三個(gè)不同的網(wǎng)絡(luò)各自實(shí)現(xiàn)的功能也是不 同的,其檢測的準(zhǔn)確度也是不同的,三個(gè)網(wǎng)絡(luò)進(jìn)行組合能夠?qū)崿F(xiàn)大致檢測到精確 檢測的目的。
由于MTCNN包括不同的卷積神經(jīng)網(wǎng)絡(luò),其具體分工也是不同的。具體如圖所示。
?通過P-Net網(wǎng)絡(luò),能夠在原始圖像上產(chǎn)生待選框區(qū)域。原始圖像經(jīng)過P-Net的檢 測,在圖像金字塔的的某些區(qū)域進(jìn)行了人臉識別,這個(gè)區(qū)域是尺度不同的數(shù)字圖 像的尺寸為12 × 12的方形區(qū)域內(nèi)。P-Net 網(wǎng)絡(luò)結(jié)構(gòu)示意圖:
R-Net緊連上一層的網(wǎng)絡(luò),從對P-Net的分析中,可以得出P-Net的檢測是相對不夠準(zhǔn)確的。所以可以達(dá)到精確的目的,使用R-Net對P-Net的輸出結(jié)果進(jìn)行進(jìn)一步的處理優(yōu)化。R-Net 網(wǎng)絡(luò)結(jié)構(gòu)示意圖:
?R-Net輸出的結(jié)果最終被縮放到統(tǒng)一到尺寸為48 × 48 × 3的區(qū)域內(nèi),然后將上 述結(jié)果輸入到最終的O-Net網(wǎng)絡(luò)中。實(shí)質(zhì)上三個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)類似,與P-Net網(wǎng)絡(luò)不同 的是輸出了關(guān)鍵點(diǎn)的位置,O-Net的傳入的尺寸為48 × 48 × 3,其運(yùn)行的結(jié)果具有 P個(gè)坐標(biāo)數(shù)據(jù),其中的坐標(biāo)指的是邊界框,以及關(guān)鍵點(diǎn)的方位數(shù)據(jù)。O-Net 網(wǎng)絡(luò)結(jié)構(gòu)示意圖
實(shí)現(xiàn)效果圖樣例
人臉表情識別:
我是海浪學(xué)長,創(chuàng)作不易,歡迎點(diǎn)贊、關(guān)注、收藏、留言。文章來源:http://www.zghlxwxcb.cn/news/detail-790330.html
畢設(shè)幫助,疑難解答,歡迎打擾!文章來源地址http://www.zghlxwxcb.cn/news/detail-790330.html
最后
到了這里,關(guān)于畢業(yè)設(shè)計(jì)-基于深度學(xué)習(xí)的人臉表情識別的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!