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