蔡國永,儲陽陽
(1.桂林電子科技大學計算機與信息安全學院,廣西 桂林 541004;2.桂林電子科技大學廣西可信軟件重點實驗室,廣西 桂林 541004)
隨著移動終端技術的發(fā)展和可拍照設備的普及,越來越多的社交用戶每天通過社交媒體創(chuàng)建和分享海量的視覺內(nèi)容,這些用戶生成的視覺內(nèi)容的情感分析被廣泛地應用于推薦、廣告、輿情監(jiān)控等領域。由于圖像的低級視覺特征和高級情感語義之間存在難以逾越的“情感鴻溝”以及情感本身的復雜性和主觀性,使得針對視覺內(nèi)容的情感分析任務極具挑戰(zhàn)性[1]。已有研究結(jié)果表明,圖像情感與圖像的不同層次的視覺特征相關,例如顏色等低層特征可以直接地刺激觀看者從而產(chǎn)生情感,圖像中的物體對象等高層特征同樣可以傳遞情感。近年來,深度學習特別是卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)在視覺識別領域展現(xiàn)出優(yōu)異性能[2],基于深度學習的視覺情感分析方法也已經(jīng)取得了較好的效果[3-4],但在克服“情感鴻溝”方面仍有提升空間。
現(xiàn)有的基于深度學習的視覺情感分析模型往往只利用網(wǎng)絡的最后一層輸出的語義向量作為特征進而訓練分類器進行情感分類,忽略了CNN 淺層所提取的有用信息。同時,由于情感的復雜性,圖像之間情感差異往往由細微的局部特征所體現(xiàn),因此需要在大量的局部特征中提取更具判別性的特征,現(xiàn)有的深度網(wǎng)絡的特征提取能力仍需進一步增強。
針對以上問題,本文構(gòu)建基于雙注意力多層特征融合的網(wǎng)絡模型DA-MLCNN。該模型通過設計一個多層全卷積網(wǎng)絡提取多層次的圖像特征,并引入空間注意力機制和通道注意力機制對不同層次的特征進行強化,最終融合多層注意力特征從而得到圖像更具判別性的視覺特征以提升情感分類效果。
視覺情感分析方法從特征提取的角度主要分為基于手工設計特征的方法和基于深度學習的方法。基于手工設計特征的視覺情感分析方法通過利用人工構(gòu)造圖像特征來進行圖像的情感分類。早期的視覺情感分析研究主要通過統(tǒng)計學方法提取圖像的顏色、紋理等低層特征[5]。文獻[6]提取了圖像的全局顏色直方圖(Global Color Histogram,GCH)、局部顏色直方圖(Local Color Histogram,LCH)等特征進行情感分析,證明了淺層視覺特征和情感之間存在著很大的相關性。受藝術原則和美學心理的啟發(fā),一些工作也圍繞構(gòu)圖、平衡等藝術特征構(gòu)建圖像的情感表示[7]。隨著研究的深入,語義內(nèi)容等高層特征也被應用于視覺情感分析[8]。由于淺層信息難以彌合圖像像素和情感語義之間的鴻溝,因此部分研究人員提出了構(gòu)建情感預測的中間語義表示,如文獻[9]提出了基于102 個以預定義場景屬性作為中層表示的圖像情感分析算法Sentribute,文獻[10]設計了基于1 200 個形容詞-名詞對(ANP)的大規(guī)模視覺情感本體庫,并訓練情感探測器SentiBank 來提取圖像的中層表示。
隨著社交媒體中圖像數(shù)據(jù)的劇增,基于手工設計并提取特征的方法在面對大規(guī)模數(shù)據(jù)時具有很大的局限性[11]。卷積神經(jīng)網(wǎng)絡能夠自動地從大規(guī)模數(shù)據(jù)中學習深度特征,因此研究人員開始將卷積神經(jīng)網(wǎng)絡應用于視覺情感分析任務。如文獻[12]對在ImageNet 上預訓練的卷積神經(jīng)網(wǎng)絡進行微調(diào)后用于圖像的情感分類,表明CNN 模型優(yōu)于以往基于手工特征的方法。文獻[13]將CNN 模型與支持向量機(SVM)相結(jié)合,在大規(guī)模的網(wǎng)絡圖像數(shù)據(jù)集上預測圖像情感。文獻[14]通過自適應增強算法組合多個BP 神經(jīng)網(wǎng)絡弱分類器的輸出,構(gòu)建圖像情感強分類器,提高了圖像情感語義分類的效率。與改善圖像全局表示的方法不同,部分研究致力于利用圖像的區(qū)域信息或其他模態(tài)信息來改進情感分類準確率。如文獻[15]利用CNN 框架自動地發(fā)現(xiàn)圖像中的情感區(qū)域,進而利用局部區(qū)域信息進行圖像情感識別。文獻[16]提出一種基于層次化深度關聯(lián)融合網(wǎng)絡同時學習圖像視覺特征表示和文本語義表示,通過捕獲視覺特征和文本情感特征之間的內(nèi)部關聯(lián),從而更準確地實現(xiàn)圖文融合社交媒體的情感預測。文獻[17]提出一種多層次深度卷積神經(jīng)網(wǎng)絡框架,通過結(jié)合包括顯著主體、顏色和局部特征在內(nèi)的先驗信息,從多個層次學習圖像的情感表達。
注意力機制是深度學習用于模擬人類感知注意力的重要方法。為提高視覺任務的效果,視覺注意力在計算機視覺領域得到了廣泛研究應用。如文獻[18]引入了一種通道注意力機制,用于自適應地重新校準通道特征響應以進行圖像分類。文獻[19]在多層CNN 結(jié)構(gòu)上同時引入空間注意力和通道注意力用于圖像字幕生成。已有部分研究將視覺注意力應用到圖像情感分析任務中。如文獻[20]首先以視覺屬性探測器探測出圖片的視覺屬性,然后通過注意力模型關注圖像中該視覺屬性的響應區(qū)域進行情感識別。文獻[21]將視覺注意力融入到卷積神經(jīng)網(wǎng)絡圖像情感分類框架中,并利用圖像的顯著性映射指導空間注意力的生成以獲得魯棒的圖像特征進行情感分類。
與已有研究不同,本文不僅考慮到圖像情感在空間上的強弱差異以及不同通道特征之間的語義差異,通過空間注意力和通道注意力增強特征的表達,融合深度模型抽取的多層特征以充分利用不同層次特征的互補性,以期達到更好的情感分類效果。
本文提出的基于雙注意力多層特征融合的視覺情感分析模型DA-MLCNN 整體結(jié)構(gòu)如圖1 所示,主要包含多層CNN 特征提取、雙注意力機制、注意力特征融合的情感分類3 個部分,分別表示如圖1 中(a)、(b)、(c)3 個部分。

圖1 DA-MLCNN 模型框架Fig.1 Framework of DA-MLCNN model
為獲得更具判別性的圖像特征,首先將圖像輸入到具有多分支結(jié)構(gòu)的MLCNN 模型,提取圖像的不同層次的特征,即CNN 淺層提取到的低層特征fl和深層提取到的高層特征fh;然后將低層特征輸入空間注意力模塊,將高層特征輸入通道注意力模塊,以關注圖像中更能凸顯情感的區(qū)域以及選擇關注更重要的通道特征;最后融合空間注意力模塊輸出的結(jié)果f?l和通道注意力模塊的輸出結(jié)果f?h,形成具 有判別性的特征表示用于訓練情感分類器。
近年來通過對CNN 可視化研究表明,CNN 不同層提取的圖像信息具有不同性質(zhì)。具體而言,淺層提取到的信息更傾向于反映圖像的空間信息等低層特征,而深層提取到的信息則更傾向于反映圖像的語義內(nèi)容等高層特征[22]。考慮到圖像情感與圖像的不同層次的特征相關,本文將利用不同層特征的互補性來提升情感分析性能,為此,設計一種多層全卷積網(wǎng)絡結(jié)構(gòu)MLCNN 用來提取多層次的圖像特征。與大部分視覺任務工作類似,本文采用近年來在計算機視覺領域應用廣泛的卷積神經(jīng)網(wǎng)絡模型VGGNet-16[2]作為多層特征抽取網(wǎng)絡MLCNN的基礎。如圖2所示,在VGGNet-16基礎上,將網(wǎng)絡各層輸出的特征通過不同的采樣方法,使其轉(zhuǎn)化為相同尺寸,如將卷積層Conv1_2、Conv2_2的輸出通過下采樣,將Conv4_3、Conv5_3 的輸出通過上采樣的方法,均調(diào)整為與Conv3_3 相同尺寸,再將各層分別進行一次3×3 卷積核的卷積操作后進行融合。其中,卷積層Conv1_2、Conv2_2 的輸出經(jīng)過以上操作融合后的輸出得到包含較多空間信息的低層特征fl?RW×H×C,卷積層Conv3_3、Conv4_3、Conv5_3 的輸出經(jīng)過以上操作融合后的輸出得到包含較多語義信息的高層特征fh?RW×H×C,其中,W和H表示特征圖的寬和高,C表示特征的通道數(shù)。

圖2 多層CNN 特征提取結(jié)構(gòu)Fig.2 Structure of multi-level CNN features extraction
人類的視覺注意力可以突出整體特征中更重要的部分,以加強人類視覺識別的能力。注意力機制對視覺情感分析也至關重要,在視覺情感分析任務中,如果能發(fā)掘出圖像中信息量最大的區(qū)域以及更重要的通道特征,將可能提升情感分類的效果。DA-MLCNN 方法中的雙注意力機制包括空間注意力和通道注意力2 個部分。高層特征主要包含圖像高層次的抽象語義,因此對高層特征使用通道注意力加強情感語義信息更豐富的特征,以此進行特征的重新標定。低層特征主要包含圖像的空間信息,因此對低層特征使用空間注意力,以更加關注圖像的情感區(qū)域。
2.2.1 空間注意力機制
僅利用全局圖像特征向量來進行圖像情感分類,結(jié)果可能不是最優(yōu)的。圖像中的局部區(qū)域?qū)τ趫D像整體的情感表達至關重要,例如圖像中包含鮮花和笑臉的區(qū)域。引入空間注意力機制,通過訓練方式定位出圖像中凸顯情感的局部區(qū)域并對其賦予更高的權(quán)重,以加強圖像空間域上的特征表示。空間注意力模塊結(jié)構(gòu)如圖3 所示。

圖3 空間注意力機制Fig.3 Spatial attention mechanism
首先將低層特征fl經(jīng)過1 個卷積核尺寸為1×1的卷積層進行降維,然后通過tanh 激活函數(shù)得到尺寸大小為W×H的特征映射M,再將M經(jīng)過卷積層和sigmoid 激活函數(shù)生成空間注意力權(quán)重sa,計算公式為:

其中,Conv1、Conv2表示卷積操作。最終加權(quán)后的特征輸出為:

其中:?表示元素相乘。
2.2.2 通道注意力機制
CNN 提取的特征是多通道的,每個通道的特征表示該圖片特征在相應卷積核上的分量,不同通道的特征所提取到的信息是不同的[19],因此不同通道的特征對于情感分類的重要性是不同的。現(xiàn)有基于深度學習的視覺情感分析方法平等地對待每個通道特征,這在很大程度上限制了情感分類的性能。通道注意力機制關注重要的通道特征,過濾無關的通道特征,可以看做一個對特征進行重新標定的過程。本文引入了通道注意力機制,對情感有高響應的通道特征分配更大的權(quán)重以加強特征表示。通道注意力模塊結(jié)構(gòu)如圖4 所示。

圖4 通道注意力機制Fig.4 Channel attention mechanism
對于高層特征fh,可以進一步表示為fh=其中表示第i個通道的特征圖。首先對每個通道特征進行全局平均池化(Global Average Pooling,GAP)操作以聚合每個特征通道的信息,從而將高層特征fh壓縮為C維特征向量v,其第i個元素的值為:


其中:fc1、fc2表示相應的全連接層。最終加權(quán)后的特征輸出為:

為了獲取判別性的視覺情感特征表示,將經(jīng)過注意力機制強化后的高低層次特征通過特征融合層進行融合,如圖5 所示。具體地,先對輸入的低層特征和高層特征分別進行1×1 卷積操作,得到尺寸一致的特征映射l和h。再對l和h進行拼接融合成判別性特征。令表示融合后得到f的判別性特征:f=l⊕h,其中,⊕表示特征張量的拼接操作。

圖5 多層特征融合過程Fig.5 Process of multi-level features fusion
對于融合注意力特征后得到的判別性特征f,進一步經(jīng)過全連接層輸出一維的語義向量d。最終連接一個softmax 分類層輸出所有情感類別對應的概率pi,其計算公式如下:

其中:m表示情感類別。采用交叉熵損失作為整個模型的損失函數(shù),定義如下:

其中:yi表示圖像的真實情感類別標簽,可以通過隨機梯度下降(SGD)算法最小化損失函數(shù)L,梯度可通過式(10)計算:

本文提出的DA-MLCNN 模型的訓練具體流程為:
1)通過在ImageNet 數(shù)據(jù)集上進行預訓練的VGGNet-16 網(wǎng)絡的權(quán)重參數(shù)初始化DA-MLCNN 模型,以加快其收斂速度。
2)從所有訓練樣本中采樣,獲取訓練的batch。
3)對于每個batch的樣本,通過模型的多層CNN 特征提取網(wǎng)絡計算每張圖像的低層特征fl和高層特征fh。
4)計算經(jīng)過空間注意力機制對低層特征強化得到特征表示,計算經(jīng)過通道注意力機制對高層特征強化得到特征表示。
6)將特征映射f經(jīng)過全連接層,生成語義向量d。
7)通過softmax 分類器預測圖像情感,并根據(jù)損失函數(shù)計算當前損失。
8)反向傳播損失到每一層,并逐層更新該層對應的參數(shù)。
對本文所提出的方法在3 個數(shù)據(jù)集TwitterⅠ[4]、TwitterⅡ[10]和EmotionROI[23]上進行 了評估,以證明其有效性。實驗中3 個數(shù)據(jù)集均采用隨機劃分的形式劃分為訓練集80%和測試集20%。
Twitter Ⅰ是從社交軟件Twitter 上收集的1 269 張情感圖片,其中標簽為積極的769 張,標簽為消極的500 張。Twitter Ⅱ包含了從Twitter 中收集的603 張情感圖片,其中積極的圖片470 張,消極的圖片133 張。EmotionROI 數(shù)據(jù)集是從社交網(wǎng)站Flickr 收集的1 980 張情感圖像,一共包含6 類情感,即恐懼(fear)、悲傷(sadness)、憤怒(anger)、厭惡(disgust)、驚喜(surprise)、喜悅(joy)。
圖6 給出3 個不同數(shù)據(jù)集的圖片樣本及其對應情感標簽的示例。

圖6 不同數(shù)據(jù)集的示例Fig.6 Sample of different datasets
實驗的基礎網(wǎng)絡為VGGNet-16,為了能夠遷移VGGNet-16 的權(quán)重參數(shù),該部分的設置與VGGNet-16 模型保持一致,所有卷積層均采用大小為3×3 的卷積核,步長均設置為1,池化層采用2×2 的最大池化,步長均設置為2,并在ImageNet 進行預訓練。輸入圖片為224×224 的RGB 彩色圖像,為了防止過擬合,對每張圖像樣本進行5 個位置的裁剪并對其進行隨機水平翻轉(zhuǎn),從而對數(shù)據(jù)集進行擴充。對于每次輸入的batch-size,分別設置為4、8、16、32、64、128并進行對比。采用隨機梯度下降算法對網(wǎng)絡進行優(yōu)化,學習率設為0.001。模型采用Dropout 策略和L2范式防止過擬合,權(quán)重衰減設為0.000 5,Dropout 值設為0.5。實驗開發(fā)環(huán)境為Linux-Ubuntu14.04,Python 2.7,Tensorflow 1.3.0,開發(fā)工具為PyCharm。模型的訓練和測試均在Tesla P100-PCIE GPU 工作站上完成。
為證明所提出方法的有效性,本文在相同的數(shù)據(jù)集上對比了基于手工設計特征的方法和基于深度學習的方法。
1)GCH。由文獻[6]提出,融合由64 位二進制RGB 直方圖組成的全局顏色直方圖特征GCH 和局部顏色直方圖特征LCH 作為圖像特征訓練SVM 分類器進行情感分類。
2)SentiBank。由文獻[10]提出,該方法通過訓練得到視覺概念檢測器,可以檢測視覺圖像中的1 200 個形容詞名詞對(ANP),并利用其檢測結(jié)果作為特征進行情感分類。
3)DeepSentiBank。由文獻[11]提 出,作 為SentiBank 的改良版,該方法利用卷積神經(jīng)網(wǎng)絡在大規(guī)模數(shù)據(jù)集上訓練的視覺情感概念分類器進行情感分類。
4)PCNN。由文獻[4]提出,首先通過社交網(wǎng)站收集的大規(guī)模情感圖像訓練CNN,并采用漸進學習的策略對網(wǎng)絡進行微調(diào),然后通過少量人工標注的情感圖像數(shù)據(jù)對模型進行誘導域轉(zhuǎn)移,以提高其圖像情感分類性能。
5)VGGNet-16。由文獻[2]提出,首先在ImageNet數(shù)據(jù)集上進行預訓練,然后利用情感圖像數(shù)據(jù)集對網(wǎng)絡進行微調(diào)。
6)COIS。由文獻[24]提出,該方法通過目標檢測框架對設置的5 類對象進行檢測,并提取圖像的目標區(qū)域特征,進一步融合CNN 提取的圖像整體特征訓練softmax 分類器進行情感分類。
以上對比方法中的前2 種GCH 和SentiBank 均為基于手工設計特征的視覺情感分析方法,后4 種DeepSentiBank、PCNN、VGGNet-16 和COIS 為基于深度學習的視覺情感分析方法。
對于網(wǎng)絡輸入的不同batch-size設置,在TwitterⅠ數(shù)據(jù)集下進行了對比實驗。實驗對比了不同batch-size值下,訓練進行200 個epoches 所需的時間及其準確率,結(jié)果如表1 所示,其中對時間進行了歸一化處理。

表1 Twitter Ⅰ數(shù)據(jù)集下不同batch-size 值對結(jié)果的影響Table 1 Effect of different batch-size values on results under Twitter I dataset
從表1 可以看出,隨著batch-size 的增大,處理相同數(shù)據(jù)量的速度變快,迭代相同次數(shù)所需時間減少;當batch-size 為32 時,達到分類準確率的最優(yōu)。
表2 給出了本文方法與5 種對比方法在2 個二分類情感圖像數(shù)據(jù)集Twitter Ⅰ和Twitter Ⅱ上的分類結(jié)果,分類結(jié)果以準確率進行評估,準確率定義為正確分類的樣本數(shù)量占總樣本數(shù)數(shù)量的比例。

表2 不同方法在Twitter Ⅰ、Twitter Ⅱ數(shù)據(jù)集上的分類準確率Table 2 Classification accuracy of different methods on Twitter I and Twitter II datasets %
由表2可知,本文提出的方法在Twitter Ⅰ和Twitter Ⅱ數(shù)據(jù)集上的分類準確率分別達到了79.83%和78.25%,準確率均高于基于手工設計特征的視覺情感分析方法GCH和Sentbank。本文提出的方法同樣對比了基于深度學習的視覺情感分類模型DeepSentiBank、PCNN、VGGNet-16 和COIS。由表2 可知,基于深度學習的方法在圖像情感分類性能上均優(yōu)于基于手工設計特征的方法。而本文提出的方法在3 個數(shù)據(jù)集上的分類效果相較于對比方法均有提升,對比效果最好的COIS 模型在2個數(shù)據(jù)集上的分類準確率分別提升了0.93和1.42個百分點。
圖7 給出了本文方法與5 種對比方法在多分類情感圖像數(shù)據(jù)集EmotionROI 上的分類結(jié)果,分類結(jié)果以準確率進行評估。

圖7 不同方法在EmotionROI 數(shù)據(jù)集上的分類準確率Fig.7 Classification accuracy of different methods on EmotionROI dataset
由圖7 可知,本文方法在多分類情感圖像數(shù)據(jù)集EmotionROI上分類準確率達到了49.34%,高于基于手工設計特征的視覺情感分析方法GCH 和Sentbank。對比基于深度學習的視覺情感分類模型,DA-MLCNN 比DeepSentiBank和VGGNet-16的分類準確率分別提升了6.81個百分點和3.88個百分點,比PCNN 和COIS模型的分類準確率提升了1.78和1.21個百分點。通過對比各類視覺情感分類方法在多分類數(shù)據(jù)集上的分類結(jié)果,可以說明本文提出的DA-MLCNN 方法同樣能夠適應視覺情感的多分類任務。綜合在二分類和多分類情感圖像數(shù)據(jù)集上的分類表現(xiàn),說明本文提出的方法能夠?qū)W習更具判別性的視覺特征,從而提升視覺情感分析效果。
圖8 給出了利用本文所提出的方法正確分類的樣例以及錯誤分類的樣例。

圖8 實驗結(jié)果樣例Fig.8 Examples of experimental results
在圖8 中,圖8(a)均被正確分類,圖8(b)中2 張圖片分別被預測為joy 類和anger 類,而其真實標簽分別為surprise 和fear,故為錯誤分類。
為進一步驗證特征融合以及注意力機制在視覺情感分類任務中的作用及有效性,本文進行了消融實驗,對比本文所提出方法DA-MLCNN 及其不同設置的分類效果,具體說明如下:
1)VGGNet-16。本文模型DA-MLCNN 所使用的基礎網(wǎng)絡。
2)MLCNN。不使用視覺注意力機制,僅通過多層CNN 特征提取網(wǎng)絡提取圖像的多層次特征,并融合多層特征進行情感分類。
3)SA-MLCNN。在MLCNN 基礎上,提取多層次特征,僅僅對低層特征使用空間注意力,并融合多層特征進行情感分類。
4)CA-MLCNN。在MLCNN 基礎上,提取多層次特征,僅僅對高層特征使用通道注意力,并融合多層特征進行情感分類。
表3 所示為DA-MLCNN 及其設置在不同數(shù)據(jù)集上的分類準確率結(jié)果。由表3 可以看出,融合多層特征后的MLCNN 模型的分類準確率明顯高于VGGNet-16 的分類準確率,可以驗證多層CNN 特征融合能夠充分利用不同層次特征的互補優(yōu)勢,提高情感分類效果。由表3 可知,SA-MLCNN、CA-MLCNN、DA-MLCNN 相較于MLCNN,其分類準確率分別有不同程度的提升,其中DA-MLCNN 準確率提升最高,說明空間注意力和通道注意力在本文所提出的模型中能夠?qū)崿F(xiàn)更細化的特征抽取,從而加強特征表示,進而提高視覺情感分類效果。

表3 不同數(shù)據(jù)集上的分類準確率Table 3 Classification accuracy of different datasets %
現(xiàn)有的基于深度學習的視覺情感分析方法不能充分利用多層次的特征且模型對特征的表達能力不足。為此,本文提出一種基于視覺注意力和多層特征融合的視覺情感分析方法用于視覺情感分析。通過卷積神經(jīng)網(wǎng)絡提取圖像的多層次特征,考慮到高層特征和低層特征的特點,利用空間注意力加強低層特征挖掘特征的空間信息,運用通道注意力加強高層特征關注語義內(nèi)容更豐富的特征。最后融合高層特征和低層特征,形成語義增強的判別性視覺特征用于訓練情感分類器。通過在3 個公開的情感圖像數(shù)據(jù)集上進行的實驗對本文提出的DA-MLCNN 模型進行評估,結(jié)果表明,本文方法能夠提取更具判別性的特征表示,從而提升視覺情感分析性能。考慮到情感是復雜多樣的,當前視覺情感分析的分類方法并不能反映情感的復雜性,下一步將設計更合理的網(wǎng)絡模型提取圖像特征以及研究視覺情感的細粒度分類,同時,隨著社交媒體視頻內(nèi)容的增多,針對視頻的情感分析工作也是未來的一個重要研究方向。