◆陳 超 黃 佳
基于深度學習的樹莓派人臉與表情識別系統(tǒng)研究與設計
◆陳 超 黃 佳
(江蘇建筑職業(yè)技術學院信電工程學院 江蘇 221116)
隨著智能機器和人工智能的快速發(fā)展,讓機器人能夠理解人類語義變得越來越迫切,目前機器翻譯已經(jīng)達到了很高的水平,與此同時,只有讓機器人理解人類情感,才能夠更好理解人類語義,實現(xiàn)無障礙溝通。本文基于深度學習,在樹莓派上實現(xiàn)人臉識別和表情識別。首先人臉識別是讓機器人能夠確定交流的主體是誰,這里本文采用了深度神經(jīng)網(wǎng)絡,在Linux上安裝TensorFlow、Keras、OpenCV等套件,采用HOG進行特征提取,進行試驗后,確定了2層卷積層,2次pooling等參數(shù)。對于表情識別,本文使用深度卷積神經(jīng)網(wǎng)絡DCNN來提取表情特征,具有良好的面部表情特征的分類性能。
深度學習;人臉識別;表情識別
任正非在全國科技創(chuàng)新大會上說了一句特別引人深思的話,“在未來的二三十年里,人類將會進入到一個完全智能化的社會?!睋?jù)不完全統(tǒng)計,從2012年到2018年全球機器人的市場銷售規(guī)模年均增長23.5%,預計之后幾年該規(guī)模仍然會持續(xù)擴張。近幾年全球工業(yè)機器人的數(shù)量呈明顯的上升趨勢,這恰恰說明了現(xiàn)如今的整體的市場需求已從傳統(tǒng)的人工或半人工轉換為智能化處理。在現(xiàn)在這個社會,智能化已成為全球工業(yè)的首要趨勢。未來社會將會是一個完全智能化的社會,智能產(chǎn)品也將涉及人類生活之中的方方面面,人工智能將成為未來科學發(fā)展的主流形式,以此推動整個時代的發(fā)展與進步。而在未來智能社會的發(fā)展中,如何讓機器人像人類一樣理解、交流、表達情感,從而實現(xiàn)人機交互的流暢舒適,是當前對人工智能研究的一個重要難題。
如今,各大類社交軟件橫行,聊天方式也從傳統(tǒng)的文字轉化為各種“表情包”,“表情包”因涵蓋了人類的特征表情,所以很容易便被人們廣泛使用。而隨著社會的快速發(fā)展,我們進入了一個初級的智能化社會,視頻監(jiān)控也正逐日普及。應廣大用戶的需求,眾多的視頻監(jiān)控迫切需要一種可以在用戶未配合狀態(tài)下并且遠距離的快速身份確認技術,以求遠距離快速確認人員身份,實現(xiàn)智能預警的功能。人臉與表情識別是一個交織的學科,其研究的內容涉及范圍非常廣泛,幾乎涵蓋了大部分的學科領域。而隨著技術的進一步成熟和社會認同度的提高,人臉識別或者表情識別技術將會應用在更多的領域。
1872年達爾文的《人與動物的表情》一書出版并發(fā)行,他在書中根據(jù)人的神情特征把人類的心思情緒大致分為:痛苦、悲哀、快樂、不快、憤怒、厭惡、驚奇和害羞。2003年Kevin W.Bowyer等人提出人臉識別技術一般分為全局方法和局部方法[1],其中主成分分析(PCA)是最突出的一種全局方法。2008年Mpiperis,I.等人提出了一種可以聯(lián)合處理三維人臉和面部表情識別的雙線性模型[2],該方法提出了一種建立一組人臉之間對應關系的彈性變形模型算法。2009年Javier RuizdelSolar等人進行了一種適合在無約束環(huán)境中工作的人臉識別方法的比較研究[3]。分析的方法主要是通過它們在以前的比較研究中的表現(xiàn)來選擇的,不僅是實時的,每人只需要一個圖像,而且還是完全在線的。2011年Hermosilla等人提出了一種基于局部興趣點和描述符的魯棒熱面人臉識別方法[4]。2015年Monu U.Ragashe等人提出了一種可以在部分遮擋流視頻中實時人臉識別方法[5],這種方法可以通過監(jiān)控攝像機實現(xiàn)實時的人臉檢測。2018年Gerig等人提出了一種基于高斯過程的人臉配準新的開源管道,以及在人臉圖像分析中的應用。2019年Vanita Jain等人提出了一種融合局部特征和全局特征的面部表情識別模型[6],該模型通過將人臉劃分為多個區(qū)域并仔細選擇有助于減少冗余的感興趣區(qū)域來提取局部特征。
2008年黃英杰提出了一種基于PPBTF的人臉表情識別方法,并設計了一個實時的表情識別系統(tǒng)[7],這個系統(tǒng)在進行表情識別時不僅識別速度很快。2009年董李燕等人提出了一種基于人臉局部特征的表情識別方法[8],這種方法主要是先選取人臉中比較重要的局部特征,然后對這些特征進行主成分分析,之后再用支持向量機(SVM)設計一個局部特征分類器來確定測試表情圖像中的局部特征。2014年朱明旱等人提出了一種基于稀疏表示的遮擋人臉表情識別方法,該方法使待測圖像的分解系數(shù)變得更稀疏,同時又避免了身份特征對表情分類的干擾。2016年陳向震等人設計了一種基于連續(xù)卷積的深度卷積神經(jīng)網(wǎng)絡模型,該模型采用小尺度的卷積核來更細致地提取面部的局部特征,并借助連續(xù)的兩個卷積層增加模型的非線性表達能力。2018年楊欣利提出了一種基于改進的卷積神經(jīng)網(wǎng)絡的人臉表情識別算法,利用改進的連續(xù)卷積的思想,通過修改Alex Net卷積神經(jīng)網(wǎng)絡,從而構建了一個新的卷積神經(jīng)網(wǎng)絡。2019年彭先霖等人提出了一種分層任務學習的人臉表情識別方法,該方法是以現(xiàn)有深度卷積神經(jīng)網(wǎng)絡為模型基礎構造雙層樹的分類器,然后再以替換輸出層的平面softmax分類器構建深度多任務學習框架。
2.1.1識別流程
人臉識別的流程大致分為以下幾步:
(1)人臉圖像采集及檢測
要讓計算機識別一個人臉,要先讓計算機進行大量的數(shù)據(jù)訓練,從而進行準確的識別,這就需要我們前期采集大量的人臉圖像數(shù)據(jù)。本文在相關研究的基礎上,設計了基于HOG算法、CLNF算法和旋轉變換算法的人臉姿態(tài)校正方案。通過樹莓派采集人臉信息,研究分析人臉結構采用DNN算法對采集好的人臉進行訓練然后生成模型用于下一步的人臉識別。
(2)人臉圖像特征提取
在圖像預處理之后我們就可以進行人臉圖像特征提取,人臉都有一個共性,包括眼睛、眉毛、鼻子、嘴等顯著特征。只要我們提取這些特征點,我們就可以識別出這是一張人臉,而不會是其他的什么東西。
2.1.2技術原理
人臉識別的技術核心其實就是“局部人體特征分析”和“圖形/神經(jīng)識別算法”,這種算法是利用人體面部各器官及特征部位的方法。比如對應幾何關系的數(shù)據(jù)形成識別參數(shù)與數(shù)據(jù)庫中所有的原始參數(shù)進行比較、判斷與確認,一般要求判斷的時間低于1秒。一般情況下分為三步:
(1)建立人臉的面像檔案:即用攝像機采集單位人員的人臉的面像文件或者獲取他們的照片形成面像文件,然后將這些面像文件生成面紋(Faceprint)編碼貯存起來。
(2)獲取當前人臉的面像:即用攝像機捕捉當前人員的面像,或者取照片輸入,最后將當前的面像文件生成面紋編碼。
(3)用當前的面紋編碼與檔案庫存相比對:即將當前的面像的面紋編碼與檔案庫存中的面紋編碼進行檢索比對。
(4)在進行人臉識別時,我們首先要將需識別人的人臉圖片上傳到本地文件夾的圖片數(shù)據(jù)庫中,然后訓練模型,讓計算機熟悉人臉,上傳的照片越多,識別的精確度也就越高,一般情況下不能少于5張照片,否則將識別錯誤。
具體識別的流程框架如圖1所示:
圖1 人臉識別具體流程
(1)人臉圖像的采集與檢測
在進行表情識別之前我們需要采集人臉圖像,然后進行檢測。目的是為了讓計算機通過大量的數(shù)據(jù)訓練進而“熟悉”人臉,這樣后期識別的時候可達到一個相對準確的狀態(tài)結果。
(2)人臉圖像特征提取
在進行表情識別的時候我們需要對人臉進行圖像特征的提取,我們要先識別出這是一個人臉,然后才能進一步的識別這個人臉具有什么樣的表情。
(3)人臉表情的分類
表情識別其實就是在進行了人臉識別之后,將這個人的表情進行分類處理,將識別到的表情劃分到悲傷、高興、吃驚、生氣、厭惡、和恐懼這六個基本表情中,最后呈現(xiàn)給用戶識別出的結果。
2.3.1使用深度卷積神經(jīng)網(wǎng)絡模型
一個卷積神經(jīng)網(wǎng)絡包括一個輸入層、一個卷積層以及一個輸出層,但我們在平時在實現(xiàn)特征提取時會使用多個卷積層,因為提取出來的特征是抽象的,而越抽象的圖像則越容易被識別和分類出來。通常情況下,一個卷積神經(jīng)網(wǎng)絡在卷積層之后還包括池化層和全連接層,最后才是輸出層。在本文研究中使用卷積神經(jīng)網(wǎng)絡模型。
眾所周知,在一幅圖像中相鄰位置的像素是相關的,所以當我們人為的按照一定的規(guī)律擋住部分圖像時依然能看出原來的圖像。
池化便是在這個基礎上進行的,使用一個小的特征圖像塊在卷積處理的分解圖像上從左到右、從上到下進行“掃描”,大多情況下我們使用的是最大池化。
2.3.2使用DNN進行分類輸出
DNN可以理解為一個有著兩層或者很多層Hidden Layer的神經(jīng)網(wǎng)絡,在這個網(wǎng)絡之中,層與層之間是互連的,而且是以全連接的方式連接,這樣就產(chǎn)生了一個線性關系Z=∑WiXj+b再加上一個激活函數(shù)δ(Z)。
未來解決分類的問題,需將全連接的DNN進行改良,最后的輸出神經(jīng)元相當于最后分類的類別,據(jù)此可將輸出層的第n個神經(jīng)元的激活函數(shù)。
本文研究采用樹莓派作為識別的硬件設備,樹莓派有著體積小、成本低、功能較全面的主要特點,與其他嵌入式微控制器相比,不僅可以完成相同的IO引腳控制,還能運行相應的操作系統(tǒng),與此同時可以完成更復雜的任務管理與調度,還能夠支持更上層的應用與開發(fā),為開發(fā)者提供更廣闊的應用空間。
搭建卷積神經(jīng)網(wǎng)絡模型并進行訓練,本文研究使用在輸入層之后加入一個1×1的卷積層的方法來搭建這個模型,該方法具有既增加非線性表示、加深網(wǎng)絡、提升模型表達能力又基本不增加原始計算量的優(yōu)點。隨后根據(jù)VGG3模型網(wǎng)絡的思路將5×5的網(wǎng)絡拆分為兩層3×3的,但是最后效果不太理想,在嘗試了多種不同模型并不斷調整之后,定下了最終的模型結構,如表1所示:
表1 模型結構
在訓練過程中本文研究使用了ImageDataGenerator來實現(xiàn)數(shù)據(jù)增強,同時通過flow_from_driectory根據(jù)文件名稱來劃分標簽,優(yōu)化算法使用SGD,而激活函數(shù)使用ReLU。ReLU有著收斂快、計算簡單、不容易過擬合的特點。
(1)人臉識別結果
人臉識別部分的識別結果如圖2所示:
(2)表情識別結果
戴眼鏡識別與不戴眼鏡的無表情識別如圖3所示:
圖3 戴眼鏡與不戴眼睛無表情識別對比
本文提出了一種基于深度學習的樹莓派人臉與表情識別系統(tǒng),利用深度神經(jīng)網(wǎng)絡的知識聯(lián)合樹莓派設計并實現(xiàn)了人臉與表情的識別系統(tǒng),在實際中可運用到機器人方面,以改善機器人對人臉表情的識別。本文研究還存在一些不足,從第四章實驗結果可以看到,情緒感知結果還有些差強人意,主要是由于人類情緒是一個復雜過程,需要綜合其表現(xiàn)出來的表情、發(fā)出的聲音以及腦電波等生理和非生理指標進行判斷。
[1]Chen X,F(xiàn)lynn P J,Bowyer K W.PCA-Based Face Recognition in Infrared Imagery:Baseline and Comparative Studies[C]//IEEE International Workshop on Analysis & Modeling of Faces & Gestures. IEEE,2003.
[2]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.
[3]Ruizdelsolar J,Verschae R,Correa M . Recognition of Faces in Unconstrained Environments:A Comparative Study[J]. Eurasip Journal on Advances in Signal Processing,2009,2009(1):1-19.
[4]Hermosilla G,Loncomilla P,Javier R D S. Thermal Face Recognition using Local Interest Points and Descriptors for HRI Applications[M]// RoboCup 2010: Robot Soccer World Cup XIV. Springer Berlin Heidelberg,2011.
[5]Ragashe M U,Goswami M M,Raghuwanshi M M . Approach towards real time face recognition in streaming video under partial occlusion[C]// IEEE International Conference on Intelligent Systems & Control. IEEE,2015.
[6]朱明旱,李樹濤,葉華.基于稀疏表示的遮擋人臉表情識別方法[J].模式識別與人工智能,2014,27(08):708-712.
[7]牛連強,陳向震,張勝男,王琪輝.深度連續(xù)卷積神經(jīng)網(wǎng)絡模型構建與性能分析[J].沈陽工業(yè)大學學報,2016,38(06):662-666.
[8]楊欣利.基于卷積神經(jīng)網(wǎng)絡的人臉表情識別算法研究[D].蘭州理工大學,2018.
[9]姚乃明,郭清沛,喬逢春,陳輝,王宏安.基于生成式對抗網(wǎng)絡的魯棒人臉表情識別[J].自動化學報,2018,44(05):865-877.
[10]湯春明,趙紅波,張小玉.基于流形學習2D-LDLPA的東亞人臉表情識別算法[J].計算機工程與應用,2018,54(17):146-150.
[11]彭先霖,張海曦,胡琦瑤.基于多任務深度卷積神經(jīng)網(wǎng)絡的人臉/面癱表情識別方法[J].西北大學學報(自然科學版),2019,49(02):187-192.