高先杰,程純純
(山西農(nóng)業(yè)大學(xué)基礎(chǔ)部,山西 晉中 030800)
旅游業(yè)與其他行業(yè)有很強(qiáng)的關(guān)聯(lián)性,可以為商業(yè)、飲食業(yè)、運(yùn)輸業(yè)等多產(chǎn)業(yè)注入強(qiáng)大的生機(jī)和活力。隨著人工智能的快速發(fā)展,以互聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算為主要特征的新一代信息技術(shù)將在很大程度上提升旅游業(yè)的服務(wù)品質(zhì)。近年來,已出現(xiàn)許多人工智能與旅游業(yè)結(jié)合的相關(guān)工作,如利用機(jī)器學(xué)習(xí)分類器選擇出行方式,基于監(jiān)督學(xué)習(xí)方法對旅行目的地的在線評論進(jìn)行情感分類,通過機(jī)器學(xué)習(xí),預(yù)測個人的出行方式,使用深度學(xué)習(xí)進(jìn)行旅游時間預(yù)測等。
隨著智能設(shè)備的普及和深度學(xué)習(xí)的發(fā)展,人臉識別技術(shù)得到前所未有的發(fā)展。作為人臉識別技術(shù)的一個重要組成部分,人臉表情識別(facial expression recognition,FER) 在旅游業(yè)中發(fā)揮重要作用。基于游客的面部表情識別,可以得到游客對景點(diǎn)和景區(qū)服務(wù)質(zhì)量滿意程度等相關(guān)信息。表情識別方法主要分為傳統(tǒng)方法和深度學(xué)習(xí)方法,傳統(tǒng)方法需要對圖片預(yù)處理及特征提取;深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個分支,是具有大量隱藏層的神經(jīng)網(wǎng)絡(luò)算法。由于先進(jìn)的優(yōu)化技術(shù)和強(qiáng)大的GPU 計(jì)算能力,深度學(xué)習(xí)對表情識別的發(fā)展起到極大推動作用。它打破了傳統(tǒng)方法的固有模式,并且提高了表情識別系統(tǒng)的準(zhǔn)確率及魯棒性。本文將人臉表情識別應(yīng)用于旅游領(lǐng)域中,建立了基于卷積神經(jīng)網(wǎng)絡(luò)的人臉表情識別模型。特別地,考慮了不同網(wǎng)絡(luò)層數(shù),有無Batch Normalization 層和dropout層對模型性能的影響。通過人臉表情進(jìn)行情感識別與分析,進(jìn)而改善景區(qū)服務(wù)質(zhì)量,提升游客對景區(qū)的滿意度,促進(jìn)旅游業(yè)的發(fā)展。
人工神經(jīng)網(wǎng)絡(luò)(ANN)是受哺乳動物大腦皮層神經(jīng)元結(jié)構(gòu)啟發(fā)發(fā)明的計(jì)算模型,它可以準(zhǔn)確近似任意連續(xù)函數(shù)?;谶@種強(qiáng)大的運(yùn)算能力,ANN 被廣泛應(yīng)用于許多問題中。ANN 基本結(jié)構(gòu)如圖1 所示,包括輸入層、隱藏層和輸出層。
圖1 單隱層全連接神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)提供了一種簡化的ANN 結(jié)構(gòu),主要用于解決困難的圖像驅(qū)動模式識別任務(wù)。CNN 使用權(quán)共享策略,能有效節(jié)省訓(xùn)練開銷。由于CNN 是ANN 的特殊形式,訓(xùn)練ANN 的所有常規(guī)方法和技巧仍然適用與CNN。一般情況下CNN 結(jié)構(gòu)主要分為五個部分:輸入層、卷積層、Batch Normalization(BN)層、池化層、全連接層和輸出層。卷積層是CNN的關(guān)鍵組成部分,通過計(jì)算輸入?yún)^(qū)域與權(quán)重之間的標(biāo)量積來確定神經(jīng)元的輸出。
為了克服神經(jīng)網(wǎng)絡(luò)層數(shù)加深導(dǎo)致難以訓(xùn)練的現(xiàn)象,即梯度消失和爆炸問題,提出了Batch Normalization方法,該方法使得訓(xùn)練可以快速收斂。
池化層在給定輸入維度下簡單執(zhí)行下采樣,減少卷積層的輸出維度,有效減少參數(shù)數(shù)量,防止過擬合現(xiàn)象。常見的池化方法有最大池化(取給定區(qū)域的最大值)和平均池化(取給定區(qū)域的平均值)。池化操作最大的缺點(diǎn)是會丟失信息,防止過擬合的同時有可能帶來欠擬合。隨著計(jì)算機(jī)性能的提升,使用池化的頻率已變得越來越低。
Dropout是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的一種正則化技術(shù),讓某個神經(jīng)元的激活值以一定的概率p 停止工作,能夠避免在訓(xùn)練數(shù)據(jù)上產(chǎn)生復(fù)雜的相互適應(yīng),可以明顯地減少過擬合現(xiàn)象。如圖2所示。
圖2 Dropout后的神經(jīng)網(wǎng)絡(luò)
數(shù)據(jù)來源于Facial Expression Recognition 數(shù)據(jù)集。面部表情分為七個情感類別。整個程序在Python 3.6中使用,實(shí)驗(yàn)環(huán)境為:主機(jī)CPU 型號為Intel(R) Core(TM) i7-8700K,12 核心,主頻為3.70 GHz,Nvidia Geforce GTX1080ti 顯卡,12G 顯存,物理內(nèi)存為32GB,操作系統(tǒng)為Ubuntu20.04,深度學(xué)習(xí)框架為TensorFlow 2.5.0。
CNN 模型結(jié)構(gòu)由輸入層、卷積層、BN 層、dropout層、全連接層、輸出層組成,如圖3所示。
圖3 模型結(jié)構(gòu)
我們考慮五種不同CNN 模型:模型1(model1)有三個堆疊單元;與模型1 不同,模型2(model2)去掉dropout 層;模型3(model3)去掉模型1 的BN 層;模型4(model4)有二個堆疊單元;模型5(model5)有一個堆疊單元。
不同CNN 模型下?lián)p失(loss)的收斂情況對比如圖4 所示。從中可以看出,不同模型收斂曲線均在下降。由損失函數(shù)收斂情況可以看出算法的有效性。
圖4 不同模型訓(xùn)練過程
表1 為不同模型的分類結(jié)果對比
圖5~圖9為不同模型識別結(jié)果保留兩位有效數(shù)字的歸一化混淆矩陣(confusion matrix)?;煜仃囈卜Q誤差矩陣,是一種呈現(xiàn)算法性能的可視化工具,可直觀表示預(yù)測精度。
圖5 模型1識別結(jié)果混淆矩陣
圖6 模型2識別結(jié)果混淆矩陣
圖7 模型3識別結(jié)果混淆矩陣
圖8 模型4識別結(jié)果混淆矩陣
圖9 模型5識別結(jié)果混淆矩陣
模型1與模型2比較可以得出dropout能提高分類性能,提升泛化性;模型1 與模型3 比較可得BN 層也會提高分類性能;模型1與模型4和模型5比較會發(fā)現(xiàn)深度網(wǎng)絡(luò)比淺層網(wǎng)絡(luò)性能更好。
本文提出了基于CNN 的人臉表情識別建??蚣埽撃P陀奢斎雽?、卷積層、BN 層、dropout 層、全連接層、輸出層組成?;贔acial Expression Recognition數(shù)據(jù)集對人臉表情進(jìn)行識別。實(shí)驗(yàn)結(jié)果揭示了模型的有效性,并且考慮不同網(wǎng)絡(luò)層數(shù),Batch Normalization層和dropout層對模型性能的影響。
人臉表情識別(facial expression recognition,FER)在旅游業(yè)中可以發(fā)揮重要作用?;谟慰偷拿娌勘砬樽R別,可以得到游客對景點(diǎn)和景區(qū)服務(wù)質(zhì)量滿意程度等相關(guān)信息,發(fā)現(xiàn)服務(wù)中的不足之處,及時做出調(diào)整和整改。將此模型應(yīng)用于“農(nóng)谷”旅游,可增強(qiáng)景區(qū)吸引力。在人臉表情識別中仍然存在一些挑戰(zhàn),例如對于非配合情況下的人臉圖像采集,遮擋問題、運(yùn)動導(dǎo)致面部圖像模糊或攝像頭對焦不正確都會嚴(yán)重降低識別率,戴眼鏡、首飾和口罩等也會對識別率產(chǎn)生影響,未來工作中我們將進(jìn)一步突破這些難點(diǎn)。