徐晶晶,張俊升,李騰騰,祝漢城,謝 濤,余 偉
(1.中國礦業大學 信息與控制工程學院,江蘇 徐州 221116;2.成都理工大學工程技術學院 電子信息與計算機工程系,四川 樂山 614000)
情感計算的概念是由Picard提出的,他在《Affective Computing》一書中給出了情感計算的定義,即情感計算是指與情感相關、來源于情感或能夠對情感施加影響的計算[1]。情感計算具有很多潛在的廣泛應用,比如情感圖像檢索[2]、美學質量評價[3]、數據挖掘[4]和評論助手[5]等方面。
早期針對圖像的情感計算主要是利用顏色[6]、紋理[7,8]和形狀[9,10]等低層次特征進行圖像情感分析,但是這些低層次特征描述圖像所蘊含的高層次的情感特征的能力十分有限。隨著卷積神經網絡(convolutional neural network, CNN)在提取圖像高層次特征能力的凸顯,越來越多的基于卷積神經網絡的圖像情感計算方法被提出。
目前,基于卷積神經網絡的情感計算方法對圖像情感區域的研究甚少,大多從圖像的情感分類任務進行研究的,且研究任務單一,沒有考慮到圖像的情感區域和情感分類之間的相關性。圖像激發情感的區域和激發的情感類別是相關的,圖像情感區域是局部的,圖像情感的類別是由觀看者觀看圖像的局部區域而激發的,因此,圖像的情感區域檢測和圖像的情感分類在情感計算中都具有重要的意義。考慮到圖像的情感區域檢測和圖像的情感分類任務的相關性,受到多任務學習思想的啟發,本文設計了一種基于多任務深度神經網絡的模型檢測圖像的情感區域。
近年來,與情感相關的話題在計算機視覺領域受到越來越多的學者關注,尤其是圖像的情感分類,但是對于圖像的情感區域問題的研究較少。如You等[11]為解決在大規模且有噪聲的數據集上訓練的問題,采用逐步訓練的策略對網絡架構進行微調,提出了用于視覺情感分析的漸進卷積神經網絡(progressive CNN, PCNN);Wu等[12]基于情感的形容詞-名詞對(adjective-noun pairs, ANP)的標簽提出了一種增強CNN模型來提高情感分類性能。然而上述方法均是通過圖像的全局信息來對圖像傳達的情感進行建模的,圖像的全局信息中包含的與情感無關的冗余信息大大增加了情感計算的工作量,所以有學者提出從圖像的局部情感注意力區域進行分析與研究。
針對圖像局部區域的分析與研究。Zhu等[13]使用弱監督網絡生成局部區域預測性格特征;You等[14]使用注意力模型來學習圖像局部區域與視覺情感之間的對應關系,然而,由于視覺屬性檢測器的性能較差,無法準確檢測圖像的情感區域;Yang等[15]使用弱監督的方法生成情感區域來監督情感的分類,雖然情感分類效果有提升,但是對于情感區域檢測的準確率不高,這是因為在模型訓練過程中很少考慮到多個因素對圖像情感的影響,這樣容易造成模型的過擬合,不能達到很好的泛化能力。
盡管上述方法在情感計算方面的研究都取得了一定的效果,但是大多數都是基于圖像情感的分類研究的,沒有考慮到圖像情感區域檢測的重要性。通常情況下,觀看者觀看圖像時的注意力會集中在圖像的局部區域而不是整體區域。圖1為選自EmotionROI數據集[16]中的3幅圖像以及對應的情感注意力區域,圖像的情感區域是由15位用戶進行手工標注合成的。由圖可知,人們對圖像的注意力往往在局部區域。因此,在視覺情感分析中,研究圖像的情感區域檢測方法對圖像情感計算具有重要意義。

圖1 EmotionROI情感庫圖像
圖像的情感區域與圖像的顯著性區域以及物體區域之間有著密切的關系,圖像的顯著性區域和物體區域往往是圖像中突出的物體,雖然情感區域中也包含著圖像中的顯著物體,但是情感區域更多關注的是物體與物體之間的聯系和更高層次的語義信息。
圖2為圖像以及對應的情感區域、顯著性檢測[17]區域和物體檢測[18]區域。圖2(c)中的顯著性檢測區域主要集中在狗的身體部分,而圖2(d)中的物體檢測區域主要集中在狗的頭部,圖2(c)和圖2(d)檢測出的區域與情感區域圖2(b)差異較大。

圖2 圖像以及對應的情感區域、顯著性檢測區域和物體檢測區域的對比
由圖2可知,圖像的情感區域包含了圖像中的顯著物體,但是除此之外,情感區域還包含物體周圍的一些場景信息,因此僅通過圖像的顯著性檢測和物體檢測方法不能準確得到圖像的情感區域。
為了更加準確檢測圖像的情感區域,本文設計了一種基于多任務的深度神經網絡來檢測圖像的情感區域。多任務網絡結構是由情感區域檢測網絡和情感分類網絡兩部分組成,本節將詳細介紹這兩個網絡的結構。基于多任務深度神經網絡結構如圖3所示。

圖3 基于深度學習的多任務網絡結構

如圖3所示,本文提出的多任務網絡的共享層為 VGG-16 網絡[19]結構,但是省略了最后的池化層和全連接層。共享層初始化使用的權重是在ImageNet[20]數據集上預訓練得到的。
情感區域檢測網絡采用編碼-解碼的網絡結構,解碼器的網絡結構與編碼器相同,并且解碼器和編碼器在結構上是對稱的。編碼器部分為共享層的結構,網絡結構包含最大池化層減小特征圖的大小;解碼器部分使用上采樣層,通過卷積濾波將減小的特征圖恢復到與輸入圖像分辨率相同的大小。網絡最后一層添加非線性的1×1的sigmoid激活層來生成情感區域映射,網絡的最終輸出是與輸入圖像大小相同的情感區域映射。
在圖像情感區域檢測網絡訓練時,損失函數定義在檢測的情感區域圖與其對應的情感區域標簽之間,內容損失計算檢測結果圖與真實結果圖之間的歐式距離,稱為均方誤差(MSE)定義為
(1)

(2)

在情感分類網絡中,共享層的最后一層使用512個大小為3×3的卷積核生成512個通道的特征圖,使用全局平均池化(global average pooling, GAP)輸出維度為512的情感向量d, 然后將情感向量d送到全連接層(full connected layer, fc),并通過softmax分類器輸出情感類別。
在圖像的情感分類過程中,輸入圖像Xi以及對應的情感標簽Yi需要計算輸入圖像的情感預測。softmax層可以解釋為情感特征向量d到輸出的情感類別中且分配一個相對應的概率分數s(yi=c|d,wc), 定義為
(3)

(4)
式中:I(x) 為指示函數,如果條件x為真,則I(x)=1, 否則為I(x)=0。
從圖3可以看出,多任務網絡有情感區域檢測和情感分類兩個輸出。本文使用隨機梯度下降法優化網絡,同時訓練情感區域檢測網絡和情感分類網絡,提出的多任務網絡模型損失函數為
L=LBCE+Lcls
(5)
式中:LBCE為情感區域網絡的損失函數,Lcls為情感分類網絡的損失函數。
本文方法的性能在EmotionROI數據集上進行評估,EmotionROI數據集共有1980幅圖像,包含生氣、厭惡、恐懼、愉快、悲傷和驚喜6種情感。數據集中70%的圖像作為訓練集,30%的圖像作為測試集。
本文實驗運行環境為Linux-Ubuntu16.04,python3.6,Theano 0.8.2,開發工具為Pycharm。輸入圖像的尺寸大小為224×224,選擇Momentum的隨機梯度下降法優化網絡,Momentum設為0.5,學習率設為0.001,所有模型均訓練100個Epoch。

平均絕對誤差(MAE)是檢測結果和真實結果之間的絕對誤差的平均值定義為
(6)

查準率定義為被正確檢測區域的像素與檢測區域像素的比值,查全率定義為被正確檢測區域的像素與情感區域中標記的區域像素的比值。F-measure根據查準率和查全率定義如下
(7)

分類準確率(Accuracy)為測試集中正確預測的情感類別的數目與總的測試集數目的比值。
為了驗證本文提出的多任務網絡的有效性,分別在圖像情感區域檢測的單任務網絡和圖像情感分類的單任務網絡上進行與多任務網絡相同的實驗設置的訓練。單任務情感區域檢測網絡訓練時的損失函數為式(2)所示,單任務情感分類網絡訓練時的損失函數為式(4)所示。
3.2.1 情感區域檢測結果
在EmotionROI測試集上將提出的多任務情感區域檢測方法和單任務情感區域檢測方法與顯著性區域檢測方法和物體區域檢測方法進行比較分析。圖4為不同算法檢測結果的可視化圖。圖(a)為輸入圖像;圖(b)為圖像的情感區域標簽;圖(c)為多任務情感區域檢測網絡(MT)生成的情感區域圖;圖(d)為單任務情感區域檢測網絡(ST)生成的情感區域圖;圖(e)為顯著性GBVS[21]方法生成的顯著圖;圖(f)為物體檢測方法RDLM[22]生成的物體區域圖;圖(g)為顯著性SDSP[23]方法生成的顯著圖;圖(h)為物體檢測方法OBJ[15]生成的物體區域圖;圖(i)為顯著性ITTI[24]方法生成的顯著圖;圖(j)為顯著性LARK[25]方法生成的顯著圖;圖(k)為顯著性AIM[26]方法生成的顯著圖;圖(l)為顯著性SR[27]方法生成的顯著圖;圖(m)為顯著性SUN[28]方法生成的顯著圖;圖(n)為顯著性FT[29]方法生成的顯著圖。從圖中可以看出圖(c)和圖(d)的情感區域與情感區域標簽圖(b)最接近,多任務情感區域檢測結果能準確表示真實的情感區域。
MAE為情感區域檢測結果與情感區域標簽圖4(b)之間的平均絕對偏差,MAE越小,說明檢測結果與真實結果越接近,算法的性能越好。從圖4可以看出本文提出的多任務情感區域網絡模型的測試結果圖與情感區域真實結果圖的MAE為0.045,單任務情感區域檢測的結果圖與情感區域真實結果圖的MAE為0.062,均小于GBVS和RDLM等方法的測試結果。由以上分析可知,多任務情感區域檢測網絡的測試結果與真實情感區域結果最接近,多任務情感區域檢測方法的性能優于單任務情感區域檢測方法和顯著性物體檢測方法的性能。

圖4 本文提出的算法在EmotionROI上的測試結果的情感區域
圖5為本文提出的方法和顯著性物體檢測方法在EmotionROI數據集上測試的PR曲線圖。從PR曲線中評價算法性能的好壞可以從平衡點的大小判斷,平衡點是F1時的取值,平衡點值越大,說明算法性能越好。其中MT和ST為多任務情感區域檢測方法和單任務情感區域檢測方法;AIM、FT、GBVS、ITTI、LARK、SDSP、SR和SUN為顯著性檢測方法;OBJ和RDLM為物體檢測方法。

圖5 不同算法在EmotionROI數據庫上測試的PR曲線圖
從圖5可以看出,MT算法、ST算法和GBVS算法的PR曲線值在這些方法中是最高的,MT算法平衡點值為0.85,ST算法和GBVS算法的平衡點分別為0.84和0.79。MT算法的平衡點值最大,這表明多任務情感區域檢測方法的性能要優于單任務情感區域檢測和顯著性物體區域檢測方法。
表1為本文提出的多任務方法與對比方法在EmotionROI測試集測試的F-measures分數,F-measures分數值越高表示算法性能越好。

由以上分析可知,對不同的評價指標,基于多任務的情感區域檢測方法 MT的性能都是最好的。這表明本文提出的多任務情感區域檢測方法的性能優于單任務的情感區域檢測方法和顯著性檢測方法以及物體檢測方法。

表1 不同算法的F-measures的結果
3.2.2 情感分類結果
為了評估提出的多任務情感分類網絡的性能,在EmotionROI數據集上將提出的多任務情感分類方法(MTC)和單任務情感(STC)分類方法與現有的一些方法進行比較分析。EmotionROI數據集將情感分為生氣、厭惡、恐懼、愉快、悲傷和驚喜6種情感。
表2為多任務情感分類方法和單任務情感分類方法與現有方法的分類準確率。其中MTC為多任務的情感分類方法,STC為單任務的情感分類方法。從表2中可以看出,準確率最高的3種算法分別為MTC、STC和DeepSentiBank,其中MTC算法的準確率最高為52.17%。

表2 不同情感分類方法準確率結果比較
由以上分析可知,基于多任務的情感分類網絡的性能要優于單任務的情感分類網絡,這也驗證了本文提出的多任務網絡的有效性,基于多任務情感區域檢測網絡和情感分類網絡的性能相比較單任務的情感區域檢測網絡和情感分類網絡都有所提高。
本文提出了一種基于多任務深度神經網絡的情感區域檢測方法,多任務網絡包括情感區域檢測網絡和情感分類網絡兩部分,本文通過加入與情感區域相關的情感分類網絡增加了網絡共享層的泛化能力從而提高了情感區域網絡的檢測性能。實驗結果表明,相比較單任務的圖像情感區域檢測方法、顯著性檢測方法和物體檢測方法,本文提出的基于多任務深度神經網絡的方法對圖像的情感區域檢測更準確,且情感分類網絡的加入不僅提高了情感區域網絡的性能,也提高了情感分類的準確率,基于多任務的情感分類網絡的性能要優于單任務的情感分類網絡的性能。