李雅紅,周海英,徐少偉
(中北大學 大數(shù)據(jù)學院,太原 030051)
圖像描述生成是一項結合計算機視覺和自然語言處理(Natural Language Processing,NLP)的綜合性任務。近年來,通過機器自動提取圖像中的信息已成為圖像理解領域的熱點研究內(nèi)容[1]。圖像描述先提取圖像特征,再使用自然語言處理語句描述出圖像特征,從而實現(xiàn)圖像到文本的轉化,在圖像檢索和幫助視障人理解圖像方面具有較高的應用價值。
基于深度學習的圖像描述方法是目前主流的方法。文獻[2]通過將卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)與循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)相結合來搭建神經(jīng)圖像描述(Neural Image Caption,NIC)模型并生成圖像描述,但是生成的描述僅包含圖像的全局特征而未關注重點信息。注意力機制可實現(xiàn)從眾多信息中挑選出關鍵信息,文獻[3-4]通過利用CNN、注意力機制和長短期記憶(Long Short-Term Memory,LSTM)模型,使得生成的描述更加符合實際。文獻[5]通過對卷積網(wǎng)絡進行改進,利用特征層的空間注意以及通道注意,使得模型關注到不同的語義信息。文獻[6]在引入視覺哨兵機制基礎上提出了自適應注意力機制。文獻[7]在解碼器中加入視覺監(jiān)督信號,可在生成描述時自主決定應該依賴視覺信號還是語言模型。文獻[8]提出基于目標檢測的圖像描述方法,先利用目標檢測技術提取圖像特征,再將特征輸入到語言模型中生成描述。文獻[9]提出自上而下與自下而上相結合的注意力模型,其中基于自下而上的注意力模型用于提取對象特征,而基于自上而下的注意力模型則用于學習特征對應的權重。
雖然以上研究均取得一定效果,但是仍存在沒有合理利用被檢測對象之間的空間關系信息[9-11]的問題,然而這些信息對于理解圖像中的內(nèi)容通常是至關重要的。針對空間關系信息僅在目標檢測中應用的問題,文獻[10]采用邊界框方法標注出主體對象和相關對象,并通過網(wǎng)絡學習邊界框內(nèi)的視覺特征。文獻[11]提出幾何注意,使用邊界框的坐標和大小來推斷對象間關系的重要性。文獻[12]在視覺關系檢測方面提出了訓練對象和謂詞的視覺模型,并將其相結合來預測每幅圖像的多種關系。圖像場景圖[13]在視覺關系檢測方面也有廣泛的應用,例如文獻[14]采用圖像場景方法提取圖像中的目標特征、目標屬性特征和目標間的關系特征,該模型的關鍵是使用字典來消除圖像和語言間的語義障礙。文獻[15]提出融合圖像場景和物體先驗知識的圖像描述模型,使得網(wǎng)絡能夠學習到更加豐富的語義信息。現(xiàn)有圖像描述研究成果在生成描述時缺乏空間關系信息,且不能充分利用圖像特征,使得圖像的描述僅停留在淺層,造成生成的圖像描述存在語義不明確且內(nèi)容不豐富等問題。為此,本文提出基于對象關系網(wǎng)狀轉換器的圖像描述模型。該模型先使用自底向上注意機制模型提取圖像的外觀特征和邊界框特征并計算得出對象關系特征,再將提取的特征輸入到改進的轉換器模型中,從而生成圖像描述。
注意力機制會模擬人類關注重點信息的某些特定部分。目前注意力機制已廣泛應用于機器翻譯[16]和文本分類[17]等領域,其目的是使得模型更加全面地捕捉到關鍵信息。
多頭注意力機制是由多個自我注意力層并行組成,且每個頭可進行獨立的放縮點積注意。多頭注意力實現(xiàn)框圖如圖1 所示。
圖1 多頭注意力機制實現(xiàn)框圖Fig.1 Block diagram of multi-head attention mechanism implementation
多頭注意力機制是將查詢向量序列Q、鍵向量序列K和值向量序列V經(jīng)過線性變換輸入到縮放點積注意中,通過h次縮放點積注意計算后,將計算結果進行合并線性變換。
使用F={f1,f2,…,fn}表示n個輸入向量并經(jīng)過以下步驟進行處理:
步驟1經(jīng)過式(1)得到查詢向量序列Q、鍵向量序列K和值向量序列V。
步驟2計算Q和K的點積,為了防止點積過大,使梯度更加穩(wěn)定,按照比例因子歸一化處理,并得到注意力權重ΩA為:
步驟3通過h個不同的權值矩陣WQ、WK、WV生成不同的Q、K、V矩陣,并根據(jù)式(3)計算h個headi:
步驟4通過concat(·)將h個不同的注意力結果拼接生成一個包含所有注意力信息的矩陣:
轉換器模型[18]較早開始應用于機器翻譯領域,該模型的關鍵是在編碼器和解碼器中多次使用多頭注意力機制,可使得模型注意到不同位置的信息,還能在不同子空間表示中學習到相關信息,有助于模型捕捉到更為豐富的信息。轉換器模型如圖2所示。
圖2 轉換器模型Fig.2 Transformer model
轉換器模型沒有用到CNN 和RNN,完全基于注意力機制,主要由編碼器和解碼器兩個部分組成。而編碼器和解碼器主要由自我注意力機制[19]和前饋神經(jīng)網(wǎng)絡組成。相比RNN 和CNN,該模型本身不能捕捉到位置信息,因此在數(shù)據(jù)預處理部分需加入位置編碼,并將輸入嵌入向量Emb 結合位置編碼向量作為編碼器和解碼器的輸入。位置編碼PE 的計算方法為:其中,pos 表示位置,i表示嵌入維度,dm表示模型維度。當向量維度為偶數(shù)時則使用式(5)來計算PE,當向量維度為奇數(shù)時則使用式(6)進行計算。
多頭注意力機制在模型中起到關鍵作用,如圖2所示,帶有一層編碼器和解碼器的轉換器模型中共有三處用到多頭注意:第一處是在編碼器的多頭注意,其中Q、K、V都來自上一層編碼器的輸出,可保證編碼器的每個位置都可以注意到上一層的所有位置;第二處是在解碼器的多頭注意力,與編碼器不同的是,在放縮點積注意操作中添加了掩碼函數(shù),保證不會將該位置后面的V連到注意機制中;第三處是在編碼器到解碼器的注意層,其中K和V來自編碼器的輸出,保證解碼器的每個位置都注意到輸入序列的所有位置,而Q來自上一層的解碼器。
本文提出的基于對象關系網(wǎng)狀轉換器的圖像描述模型的總體流程如圖3 所示。首先使用自底向上注意力機制模型提取圖像外觀特征和邊界框特征,然后將上述特征輸入到改進的轉換器模型中進行編解碼生成描述。分別對模型的編碼器和解碼器部分進行改進,通過將外觀特征和邊界框特征合并為對象關系特征,從而改進編碼器自我注意力層的注意力權值,使得模型利用到空間關系信息。將編碼器和解碼器的連接設計為網(wǎng)狀結構,讓每層編碼器與解碼器相連接,使得模型充分利用圖像特征,并生成更為全面準確的圖像描述。
圖3 基于對象關系網(wǎng)狀轉換器的圖像描述模型總體流程Fig.3 The overall process of the image description model based on the object relational mesh converter
Faster R-CNN[20]在目標檢測和目標定位任務中有較高的準確率,其核心思想是位置預測機制,且主要分為兩個階段來實現(xiàn)目標檢測。第一階段是先使用CNN 提取圖像特征,然后通過區(qū)域建議網(wǎng)絡(Region Proposal Network,RPN)生成目標候選區(qū)域,再采用非極大值抑制方法選取前N個超過交并比閾值(Intersection-over-Union,IoU)的候選區(qū)域作為感興趣區(qū)池化層的輸入。在第二階段通過感興趣區(qū)池化層將每個圖像特征和候選區(qū)域映射為固定長度的特征向量,輸入到全連接層和Softmax 層,最終輸出預測對象類別和邊界框偏移量。
本文使用Faster R-CNN 和ResNet-101[21]對圖像特征進行提取。對Faster R-CNN 預測出的對象類別采用非極大值抑制方法,丟棄類預測概率低于置信度的所有邊界框。在空間維度上應用均值池化為每個對象邊界框生成2 048 維特征向量。最后提取的特征中包含每一個對象的外觀特征組成的A=,即n個對象自身的大小、顏色等特征,邊界框特征組成的,即n個對象的位置及大小,然后將這些特征向量作為轉換器模型的輸入。
編碼器由多個完全相同的層堆疊而成,每層由一個多頭自我注意力層和一個全連接前饋網(wǎng)絡層這2 個子層組成。將從2.1 節(jié)得到的目標檢測器的特征向量A、G作為編碼器的輸入,首先通過一個輸入嵌入層將圖像特征向量維數(shù)從2 048 降至512,然后將嵌入的特征向量作為轉換器模型的第一個編碼器層的輸入。對于第2 層~6 層的編碼器,使用前一個編碼器層的輸出作為當前層的輸入。
本文提出的對象關系編碼器是通過將對象外觀和邊界框特征合并為關系特征來改進自我注意層的注意力權重,充分利用圖像中目標之間的位置關系,強化目標之間的關聯(lián)性。外觀特征和邊界框特征計算得到的關系特征如圖4 所示。
圖4 對象關系示意圖Fig.4 Schematic diagram of object relationships
其中,WV同式(1)中的權重矩陣,表示對象m的外觀特征,表示關系權重。外觀權重和邊界框權重計算方法為:
其中,設置比例因子dk=64,WK、WQ、WG為權重矩陣,EG表示將邊界框特征嵌入到高維中表示,分別表示對象m、n的邊界框特征表示對象m、n的相對位置,假設m、n的位置分別表示為(xm,ym,wm,hm)、(xn,yn,wn,hn),其中x,y,w,h分別表示中心點的坐標和寬高,則m和n相對位置的計算方法為:
編碼器的每個注意頭將輸入特征F={F1,F(xiàn)2,…,F(xiàn)n}中的每個特征利用式(1)計算查詢向量序列Q、鍵向量序列K和值向量序列V,然后代入式(2)生成新的注意力權重ΩA+R,通過代入式(3)計算h=8 個不同注意力的輸出headi,最后連接代入式(4)計算得出MultiHead(Q,K,V)。
編碼器自我注意力層的輸出作為全連接前饋網(wǎng)絡層(Fully connected Feedforward Network,F(xiàn)FN)的輸入,F(xiàn)FN 包括ReLU 激活函數(shù)和線性激活函數(shù)。
其中,M表示自我注意力層的輸出MultiHead(Q,K,V),W1、W2表示權值,b1、b2表示偏差。
將編碼器中自我注意力層和前饋網(wǎng)絡層的輸出都輸入到殘差連接及歸一化Add&Norm 中,并將輸入轉化為均值為0、方差為1 的數(shù)據(jù)。
根據(jù)上述多個完全相同的編碼層堆疊結構,將提取的特征F={F1,F(xiàn)2,…,F(xiàn)n}經(jīng)過多級編碼得到輸出。
傳統(tǒng)的轉換器模型在所有特征編碼完成后才與解碼器連接,存在未全面利用特征信息的問題。因此本文提出網(wǎng)狀解碼器,即將編碼器與解碼器以網(wǎng)狀形式連接,使得每層編碼器與解碼器連接,實現(xiàn)編碼器和解碼器的交叉注意,充分利用圖像特征,使生成的描述更加全面準確。
解碼器部分和編碼器部分結構類似,也是由多個完全相同的層堆疊形成的,層數(shù)與編碼器的層數(shù)相同。與編碼器不同的是,在自我注意力層與全連接層前饋網(wǎng)絡中間加一層編解碼注意力層,每層解碼器由3 個子層組成。解碼器部分由編碼器的輸出以及t-1 時刻生成的單詞Yt-1作為輸入,并生成t時刻單詞Yt。在自我注意層,由于當前t時刻單詞的預測僅依賴于先前t-1 時刻預測出的單詞,為隱藏t時刻以后的信息,以保證當前預測時無法獲取未來的信息,在自我注意力層使用包含掩碼的多頭自我注意力機制。
編解碼注意力層用來計算當前描述內(nèi)容與編碼的特征向量之間的關系。原始轉換器模型中解碼器只用到最后一層編碼器的最終輸出,而本文改進的網(wǎng)狀解碼器將用到所有編碼器層的輸出,更充分地利用了圖像的特征。將編碼器的輸出以及t-1 時刻生成的單詞Yt-1作為輸入,則網(wǎng)狀注意力可定義為:
解碼器層還包含全連接層前饋網(wǎng)絡,編解碼器多頭注意的輸出經(jīng)過殘差連接及歸一化Add&Norm進行歸一化數(shù)據(jù),再通過一個線性層和Softmax 操作后,得出概率值最大的詞即為t時刻的預測結果Yt。
實驗選擇的數(shù)據(jù)集主要包括以下2 種:
1)Visual Genome 數(shù)據(jù)集[22]。本文使用Visual Genome 數(shù)據(jù)集訓練自底向上的注意力模型。該數(shù)據(jù)集包含10.8 萬幅圖像,且每幅都標注了圖像中包含的物體對象以及對象的屬性。
2)UR-caption 數(shù)據(jù)集。UR Fall Detection(URFD)數(shù)據(jù)集被用來訓練本文提出的圖像描述模型。該數(shù)據(jù)集包含30 個跌倒和40 個日常生活視頻片段,包含走路、跌倒、蹲下、坐著、彎腰和平躺6 種日常活動。由于該數(shù)據(jù)集數(shù)量大且標注格式與本文方法要求格式不同,因此本文選用1 000 張RGB 圖像,數(shù)據(jù)集樣本如圖5 所示。按照Microsoft COCO 2014 caption dataset[23]格式進行標注,每個圖像有2 句人工標注語句,生成了UR-caption 數(shù)據(jù)集的json 文件,并按照8∶1∶1 比例生成訓練集、驗證集和測試集。
圖5 數(shù)據(jù)集樣本Fig.5 Samples of dataset
描述圖像生成的評價指標包括定量評價和人工主觀評價。為了定量評價本文的圖像描述模型,采用圖像描述任務中常用的3 個指標:BLEU@N[24]、METEOR[25]和CIDEr[26],且這3 種指標的得分越高表示生成的描述越接近參考描述。
1)BLEU@N是基于N-grams 準確率的評測,用于分析模型生成的語句與參考語句中N元組共同出現(xiàn)的程度,N可取1、2、3、4。
本文模型生成的描述表示為ci,參考語句表示為si,N-gram 表示n個單詞長度的詞組集合,ωn為第n組可能的N-gram,ωn在句子ci中出現(xiàn)的次數(shù)為hn(ci),在句子si中出現(xiàn)的次數(shù)為hn(si),則準確率Pn和BLUE@N可表示為:
其中,ls和lc分別表示參考語句的長度和模型生成語句的長度。
2)METEOR 是基于準確率P和召回率R的指標,主要評測生成的描述與參考描述同義詞、詞根的匹配情況。模型生成語句描述與參考描述間的準確率和召回率的調(diào)和平均值計算方法為:
其中,P表示準確率,R表示召回率,m表示預先給定的一組校準,α、γ,θ是用于評價的默認參數(shù)。
3)CIDEr 是圖像描述的專用指標,通過計算參考描述與模型生成描述的余弦相似度評測,則更能反映所生成句子的語義質量。
ci為模型生成的語句,Si={si1,si2,…,sim}為第i張圖片的參考語句的集合,則有:
其中,gn(ci)和gn(sij)為TF-IDF 向量。
當用多種長度的N-grams 時,則有:
用ωk計算權重TF-IDF 的向量gk(sij)為:
其中,Ω表示全部N-grams 詞表,I表示圖像的集合,hk(sij)表示ωk在sij中出現(xiàn)的次數(shù)。
實驗環(huán)境為Ubuntu 18.04 64 位系統(tǒng),開發(fā)軟件為Pycharm,編程語言為Python3.6,使用Pytorch 深度學習框架,硬件配置為Intel i5-8250U,NVIDIA GeForce MX150 顯卡。
在采用自底向上注意機制模型提取特征時,分別對Faster R-CNN 和ResNet-101 進行訓練,在模型中設置IoU 閾值為0.7,設置類別預測概率的置信度閾值為0.2。在圖像描述生成模型訓練時,編碼器解碼器層數(shù)設置為6,訓練模型的批量處理和學習率分別設定為15 和5e-4。在句子處理部分,本文采用Word2Vec[27](Word to Vector)的編碼方式,模型生成句子的最大長度設定為16 個單詞。采用Pytorch 架構中的Adam 優(yōu)化器對模型參數(shù)進行優(yōu)化,訓練的epoch 設定為30。
本文模型在訓練完成后,采用集束搜索的方法驗證其性能,通過搜索寬度來確定模型每一步保留下來的可能性詞的數(shù)量。為驗證不同搜索寬度對模型的影響,在數(shù)據(jù)集上使用不用搜索寬度進行實驗,結果如表1 所示。其中,最優(yōu)結果加粗表示。
表1 本文模型在不同搜索寬度下的評價指標Table 1 Evaluation index of the proposed model under different search widths %
如表1 所示,隨著搜索寬度的增加,BLEU@N和METEOR 的評分也會增加,這表明模型性能更好。評價指標中的CIDEr 是專用于圖像描述的評價指標,結合圖6 和表1 可以看出,當搜索寬度數(shù)值設置為3 時CIDEr 值最大,且其他指標也相對較大,這表明此時模型效果最好。
圖6 本文模型在不同搜索寬度下的CIDEr 值Fig.6 CIDEr values of the proposed model under different search widths
為驗證本文模型中對象關系網(wǎng)狀轉換器對生成圖像描述的影響,在實驗中將基線模型中基于單一注意力的自上而下圖像描述生成模型Top-down[9]和本文基于對象關系網(wǎng)狀轉換器模型進行對比,結果如表2 所示。結果表明,本文提出的對象關系網(wǎng)狀轉換器模型生成的描述評分比Top-down 模型分別提高了7.6、1.1、0.2、2.1、0.8 和3.7 個百分點。
表2 2 種圖像描述模型評價指標對比Table 2 Comparison of evaluation index of two image description models %
為驗證本文模型的性能,使用上述客觀評價指標對本文模型生成的圖像描述進行評價。本文模型與Hard-attention[3]、SCST[28]、Adaptive[6]、Top-down[9]和NBT[8]模型評價指標對比結果如表3 所示。其中,最優(yōu)結果加粗表示。Hard-attention 引入了注意力機制,使得不同時刻的特征動態(tài)輸入到語言模型生成描述。SCST(Self-Critical Sequence Training)是基于自臨界訓練序列生成描述,采用強化學習的方法優(yōu)化圖像描述問題。Adaptive 是基于帶有視覺哨兵的自適應注意力機制的圖像描述模型,由模型決定是依賴圖像還是視覺哨兵生成圖像描述。Top-down是基于自上而下與自下而上相結合的注意力模型,該模型在目標物體或者圖像的其他顯著區(qū)域上計算注意力權值。NBT(Neural Baby Talk)是生成一個句子模板,將模板中的空缺與圖像區(qū)域相關聯(lián),并將圖像中檢測到的目標物體嵌入到句子模板中來生成圖像描述。
表3 本文模型與其他模型的評價指標對比Table 3 Comparison of evaluation index between the proposed model and other models %
從表3 可以看出,除了評價指標BLEU@3 外,本文模型的評價指標值均高于其他5 種模型。其中,本文模型相比Hard-attention 模型CIDEr 值提升了10.9 個百分點。
為進一步驗證本文模型效果,本文進行大量主觀對比實驗。將基于Top-down 模型和本文模型生成的圖像描述進行對比,結果如圖7所示。圖7(a)中的Topdown 模型描述出人走進房間,而本文模型進一步描述了人和椅子的關系,即人在朝著椅子走;圖7(b)中的Topdown 模型只描述出人坐在椅子上,本文模型還正確描述出椅子和墻的相對位置關系,即人坐在墻角的椅子上;圖7(c)中的Top-down 模型描述出人蹲著,本文模型則在細節(jié)上描述出人正在朝著床底看;圖7(d)中的Top-down 模型描述出人彎腰撿東西,本文模型在細節(jié)上描述了人與椅子的相對位置關系;圖7(e)中的Topdown 模型描述出人摔倒在地上,而本文模型進一步描述出人摔倒時所在的位置;圖7(f)中的Top-down 模型描述出人躺在床上,而本文模型準確定位到床的位置并注意到人在側身躺著。綜上所述,本文模型生成的描述在對象關系以及位置關系等細節(jié)上表現(xiàn)更佳,且語義更加全面豐富。
圖7 Top-down 模型和本文模型生成圖像描述對比Fig.7 Comparison of image caption generated by Top-down model and the proposed model
本文提出一種基于對象關系網(wǎng)狀轉換器的圖像描述模型。該模型采用自底向上注意力機制提取圖像中的外觀特征和邊界框特征,再將提取的特征輸入到改進的轉換器模型中經(jīng)編解碼生成圖像描述。利用基于注意力機制的轉換器模型編解碼,可關注到圖像的關鍵細節(jié)部分。在編碼器部分,使用對象外觀特征和邊界框特征合并得到關系特征來改進自我注意力層的注意力權值,并有效利用對象之間的空間關系信息,強化目標之間的關聯(lián)性。在解碼器部分,將編碼器和解碼器的連接設計為網(wǎng)狀結構,以充分利用圖像特征。實驗結果表明,該模型可顯著提升描述語句的準確性。下一步將在本文模型基礎上加入視頻和音頻等數(shù)據(jù),并在視頻描述相關任務中展開研究,以實現(xiàn)視頻的高效檢索。