劉仲民 周志亮
(蘭州理工大學(xué)電氣工程與信息工程學(xué)院 蘭州 730050)
圖像語義描述[1~2]是涉及計算機視覺[3]與自然語言處理[4]的交叉學(xué)科,具體任務(wù)是指讓計算機識別圖像中包含的信息,并將該信息用文本語言描述出來。該學(xué)科是許多重要應(yīng)用的基礎(chǔ),如幫助視障人士感知周圍環(huán)境,使人機交互更加智能化等。
早期的圖像語義描述主要使用基于檢索的方法和基于模板的方法,主要代表有Ordonez等[5]和Kulkarni等[6]提出的方法。
隨著人工智能的發(fā)展,深度學(xué)習(xí)的優(yōu)越性也逐漸展現(xiàn)出來,使圖像描述進入一個嶄新的階段。Vinyals等[7]提出了谷歌神經(jīng)圖像描述模型(Neural Image Caption,NIC)做文本描述,在編碼階段采用Google Net,解碼階段采用長短期記憶模型(Long Short-Term Memory,LSTM),取得了不錯的效果。此后圖像語義描述基本都圍繞編解碼框架展開。后來隨著注意力機制的出現(xiàn),被廣泛應(yīng)用在神經(jīng)網(wǎng)絡(luò)之中。在圖像描述中主要代表有Xu等[8]和Li等[9]提出的方法。
雖然編解碼框架被廣泛應(yīng)用于圖像描述,但是這種方法容易產(chǎn)生梯度爆炸和梯度消失的問題。而且在解碼階段生成語句使用的方法為最大似然估計法,下一個生成的單詞依靠前一個單詞,容易產(chǎn)生偏差,如果前一個單詞產(chǎn)生一個偏差,那么會累積到下一個單詞上,通過不斷累積,那么最后生成的單詞越來越差。而基于生成對抗網(wǎng)絡(luò)的圖像語義描述很好的解決了上述問題。Dai等[10]提出Conditional GAN模型,通過對初始化生成器LSTM隱藏層向量方差的控制,對圖像生成多個描述。Shetty等[11]也將Conditional GAN用在圖像描述中,在輸入項中增加了目標(biāo)檢測的特征,使用。Zhang等[12]提出兩個GAN組成的網(wǎng)絡(luò),其中一個用來繪出背景的分布,產(chǎn)生一個圖像,另外一個用來結(jié)合描述語句。
綜上所述,目前對于語義豐富性的研究仍在早期階段,雖然生成對抗網(wǎng)絡(luò)已經(jīng)應(yīng)用到了圖像描述中,但是豐富性和準(zhǔn)確性還有待提升?;诖耍疚氖褂蒙蓪咕W(wǎng)絡(luò)來搭建圖像描述模型,為了使生成圖像的語句更加具有豐富性,在其中加入語料庫Senticap[13]來訓(xùn)練模型;為了使提取圖像特征更加充分,加入注意力機制模型。
為了建立圖像語義描述模型,采用圖1所示結(jié)構(gòu),主要包括生成器和判別器兩個部分,其中生成器用來生成描述語句,用來欺騙判別器;判別器用來判斷該描述語句是真實的還是虛假的,同時也會輸出一個0~1之間的評分,該評分還會作為獎勵輸出到生成器,激勵生成器繼續(xù)訓(xùn)練。
圖1 基于生成對抗網(wǎng)絡(luò)的結(jié)構(gòu)圖
生成器部分主要用來生成描述語句,該描述語句會在判別器網(wǎng)絡(luò)中進行判別,本文中生成器部分主要包括特征提取部分、注意力機制以及LSTM部分。生成器部分如圖2所示。
圖2 生成器部分
2.1.1 特征提取
目前提取圖像特征最重要的工具之一是深度卷積神經(jīng)網(wǎng)絡(luò),其中ResNet(Residual Neural Network)在ILSVRC2015比賽中取得冠軍,在top5上的錯誤率僅為3.57%,同時參數(shù)量比VGGNet低,效果非常突出。ResNet的結(jié)構(gòu)可以極快的加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,模型的準(zhǔn)確率也有較大提升。因此本文使用ResNet101作為圖像的特征提取網(wǎng)絡(luò)。
2.1.2 注意力機制
盡管神經(jīng)網(wǎng)絡(luò)在圖像處理方面有很大的優(yōu)勢,但是在特征提取方面無法區(qū)分特別關(guān)注點和一般關(guān)注點,對于一些需要重點去關(guān)注的對象和區(qū)域,應(yīng)該盡可能的去保留其特征。注意力機制很好的解決了該問題,傳統(tǒng)的注意力機制只考慮了通道方面或者空間方面,因此本文使用卷積塊注意力機制模型 (Convolutional Block Attention Module,CBAM),該方法很好地將通道注意力機制和空間注意力機制進行了融合,模型結(jié)構(gòu)如圖3所示。
圖3 注意力機制模型
通道注意力機制如式(1)所示,其中MLP(MultiLayer Perceptron)表示多層感知機,AvgPool表示平均池化,MaxPool表示最大池化,σ表示激活函數(shù),W1和W0表示兩層卷積層??臻g注意力模型如式(2)所示,將通道注意力機制生成的特征圖作為空間注意力模型的輸入,將該特征圖進行平均池化和最大池化,然后進行通道拼接,再經(jīng)過7*7卷積操作和激活函數(shù)激活,最后生成輸出模型。
2.1.3 LSTM部分
經(jīng)過注意力機制處理后的圖像特征向量如式(3),vi是圖像特征向量中某一位置的圖像特征,其中i={1,2,…,n};n代表圖像特征的個數(shù)。
該圖像特征向量將會送到LSTM編碼部分并學(xué)習(xí)序列之間的相關(guān)性,然后在編碼LSTM中運用極大似然估計法,對每個可能出現(xiàn)的單詞的概率進行預(yù)測,概率最大的單詞則被索引到下一個LSTM中。計算過程如式(4)和(5)所示。其中c0和h0是初始化的網(wǎng)絡(luò)輸入值,finit,c和finit,h為單層感知機計算函數(shù),vi代表圖像的特征,n則代表圖像特征的個數(shù)。
在LSTM解碼部分,輸入填充的情感語句并且進行學(xué)習(xí),引導(dǎo)LSTM生成帶有情感色彩的描述語句。在LSTM解碼部分將編碼LSTM的輸出、上下文向量、先前生成的單詞等進行相加,最后得到一個關(guān)于情感描述語句單詞的輸出。
判別器部分的主要作用是將生成器部分的生成語句進行判別,并反饋一個獎勵值給生成器,該值介于0~1之間,越接近0,證明生成語句越虛假,越偏離真實語句;越接近1,證明生成語句越接近真實語句,描述效果較好。
目前卷積神經(jīng)網(wǎng)絡(luò)在建模時普遍存在參數(shù)多,網(wǎng)絡(luò)層數(shù)深,缺少局部的等變特性,隨著網(wǎng)絡(luò)層數(shù)的增多也會出現(xiàn)泛化能力降低的問題,基于此本文在判別器中用膠囊網(wǎng)絡(luò)(Capsule Networks)對句子進行重構(gòu)和概率預(yù)測,重構(gòu)后的句子與圖像在語義上一致,該網(wǎng)絡(luò)有助于對特征之間的關(guān)系進行編碼。重構(gòu)完的句子會在判別器的作用下生成獎勵值,并反饋給生成器。
數(shù)據(jù)集采用 MS COCO[14]數(shù)據(jù)集,該數(shù)據(jù)集的每個圖像至少有五個標(biāo)題。實驗中,以標(biāo)簽中最長的語句作為參考,設(shè)置句子長度為40,將不夠40的語句用<pad>進行填充,訓(xùn)練開始語句為<start>,結(jié)束語句<end>。
同時添加Senticap語料庫,該語料庫是在MS COCO的基礎(chǔ)上生成的具有客觀描述的情感圖像語句,該語料庫包含1027個正面情緒的形容詞-名詞對,436個負面情緒的形容詞-名詞對。
為了對生成的描述語句進行客觀評價,采用BLEU、ROUGE、CIDEr評價指標(biāo)。
其中BLEU是一種自動評估機器翻譯,且獨立于語言的方法。計算公式如下:
其中n表示n-gram,wn表示n-gram的權(quán)重;BP表示短句子懲罰因子,用r表示最短的參考翻譯的長度,c表示候選翻譯的長度。
ROUGE(Recall-Oriented Understudy for Gisting Evaluation)是一組關(guān)于評估自動文摘和機器翻譯的指標(biāo),主要是通過自動生成的摘要或者翻譯與人工生成的摘要進行比較并計算出分值,衡量出兩者之間的相似度。
CIDEr是基于共識的評測標(biāo)準(zhǔn),計算n元語言模型(N-gram)在參考描述句子和模型生成待評測句子的共現(xiàn)概率。
本文實驗結(jié)果如圖4、圖5、圖6所示,左邊是圖像,右邊是該圖像生成的描述語句,其中包含積極描述和消極描述,可以看到消極描述帶有一些人類的負面情感在里面,比如冰冷的空氣,寒冷的山,孤獨的街道等,都是一些帶有消極的形容詞,而積極描述則有好天氣,繁忙的街道等,有一些中性詞和積極樂觀的形容詞。通過這些描述語句可以看出,本文所提出模型在情感豐富性上有了較大的提升,多了人類的感情色彩在描述語句中。
圖4 用于生成描述語句的示例1
圖5 用于生成描述語句的示例2
圖6 用于生成描述語句的示例3
為了驗證本文方法的正確性和有效性,與原來方法進行對比,結(jié)果如表1,可以看出本文方法相比較其他傳統(tǒng)方法,在評價指標(biāo)上具有較大的優(yōu)勢,在準(zhǔn)確性指標(biāo)BLUE上面的性能均有所提升,在語義描述的摘要質(zhì)量ROUGE-L上面也比其他模型更好,在語義豐富程度指標(biāo)CIDEr上面的指標(biāo)與其他模型基本保持相似水平。
表1 性能實驗對比
利用Senticap語料庫以及CBAM模型,提出了一個基于生成對抗網(wǎng)絡(luò)的圖像語義描述框架。通過生成器和判別器的對抗訓(xùn)練,描述出帶有正面和負面情緒的語句,在生成器部分對圖像特征進行提取,加入CBAM注意力機制,讓模型可以更好地關(guān)注到重點視覺區(qū)域,充分提取圖像特征并結(jié)合Senticap語料庫對生成語句進行訓(xùn)練,接著在判別器部分對輸入語句的真實性進行判別,輸出一個0~1之間的值,并將該值反饋給生成器部分用以激勵生成器的訓(xùn)練,最終在生成器和判別器的對抗訓(xùn)練下,生成近似于真實值的描述語句。實驗結(jié)果不僅描述出了圖像中的內(nèi)容,還帶有一定的感情色彩,包括人的負面和正面情感,可以看出模型在情感豐富性上有很大提升,同時在性能上也得到一定程度的提高。