劉立波 趙斐斐
(寧夏大學信息工程學院, 銀川 750021)
枸杞具有免疫調節、滋腎、潤肺、補肝等功效,在國內外市場備受青睞。同時,作為防風固沙和改良鹽堿地的先鋒樹,枸杞兼具生態與經濟價值,隨著氣候條件的變化和栽培技術的引進,近年來種植面積逐漸擴大[1],已成為寧夏乃至整個西北地區重要的經濟作物之一[2-3]。枸杞屬于多蟲寄主且抗蟲害能力較差,極易遭受蟲害侵擾,并呈現逐年加重趨勢,對于產量及品質影響巨大,造成了嚴重的經濟損失。因此快速準確檢索得到枸杞蟲害多方面信息并給予及時精準防治,對于避免蟲害進一步擴散進而提高枸杞產量與品質,推進枸杞產業帶動區域經濟發展至關重要。
傳統的農作物病蟲害檢索主要通過人眼查看病蟲害目標區域的顏色、紋理、蟲子體態等特征,與農作物病蟲害圖像信息手冊進行人工對比來實現[4]。該方法依賴個人經驗以及肉眼觀察,導致主觀性強、誤判率高并且耗費時間和精力[5]。隨著精準農業和智慧農業的發展,農作物病蟲害信息量爆炸式增長,其數據也因自身特點呈現多模態形式,圖像和文本兩種模態數據經常同時產生、相互關聯并互相補充。如何通過計算機視覺、圖像處理等先進信息技術,從這些不同模態且語義關聯的數據中獲取有價值的信息,進而實現圖像文本信息間的跨模態檢索,對滿足人們日益增長的農作物病蟲害信息多樣化檢索需求具有重要意義。
現有研究[4,6-8]在農作物病蟲害檢索任務中都取得了很好的成效,但均存在檢索模態單一的問題,即僅能夠以圖像檢索圖像,或者以文本檢索文本,很難將農作物病蟲害不同模態信息進行展示。隨著農業數據化信息及形式的多樣化[9],研究人員更加注重不同模態信息的互檢及模態的綜合分析,而跨模態檢索 (Cross-modal retrieval)正是兼具多模態數據之間的相似互檢這一特性,并融合圖像、文本等多個模態對數據進行高效互查與量化,使其不斷成為多媒體信息檢索中的一個研究熱點[10],被廣泛應用在醫療、交通、藝術等領域[11-12]。在農業領域,由于農作物病蟲害信息模態更加多樣化[13],圖像或文本的單模態檢索顯然已經不能滿足人們的需求,對于經驗不足的人員,僅憑農作物病蟲害圖像、文本等單模態信息并不能全面且直觀、形象地了解想要檢索的內容[14]。跨模態檢索能夠實現不同模態之間信息互檢,獲得更加多元化的農作物病蟲害信息,從而對農作物病蟲害的及時防治提供幫助。但目前跨模態檢索尚未在農業領域應用,因此將跨模態檢索引入農業領域實現農作物病蟲害的跨模態檢索更能滿足農業發展的現實需求。
由于不同模態在進行某些特定特征與語義交互學習時,往往存在細節信息不互補或者高級語義不平衡的現象,導致模態間的映射關系不對等,造成不同模態間特征描述缺失或者語義關聯匱乏。比如,枸杞蟲害圖像和枸杞蟲害文本之間的模態學習,圖像具有比文本更多的細節信息,而文本又包含了很多比圖像更強的語義描述。因而,為了解決上述問題,通過引入具有模擬人類視覺系統功效的注意力機制,能夠更加突出圖像與文本中更具區分性的重點部位,來緩解這種模態間的不對等以及不平衡性。
本文以17類枸杞蟲害圖像和與其相對應的枸杞蟲害文本為研究對象,針對現有方法檢索模態單一的問題,將跨模態檢索技術引入枸杞蟲害檢索中,利用注意力機制對圖像和文本數據進行特征提取,使模型能夠集中于圖像和文本中必要細粒度部分,學習圖像與文本的顯著性語義信息,從而挖掘兩者之間的語義關聯,針對枸杞蟲害的圖文跨模態檢索,期望獲得更高的實時性和更豐富的內容,為農作物病蟲害檢索提供新思路。
本文模型框架如圖1所示,由文本編碼模塊、圖像編碼模塊以及模態交互模塊3部分組成。

圖1 模型框架圖Fig.1 Frame of model

對于圖文跨模態檢索任務來說,給定任一相似的圖像文本,其中的內容往往只存在一部分相似性,不可能完全相似,該任務的這一特點便促使模型需要首先將數據拆分為多個部分,探索數據不同部分之間的語義關聯,進而挖掘數據中所包含的細粒度信息。再者,在本文自建的枸杞蟲害數據集中,這樣的局部相似性往往集中在圖像中包含害蟲的區域,以及文本中包含對蟲害特點進行描述的部分,這又進一步要求模型能夠提取圖像和文本中的顯著性語義信息。本文首先通過文本編碼模塊和圖像編碼模塊獲取各數據的細粒度特征序列,并基于注意力機制對序列進行聚合以獲取文本和圖像的顯著性語義特征,接著通過模態交互模塊提高文本和圖像特征的判別力,并對文本和圖像特征進行語義對齊,保證文本數據和圖像數據之間的模態間一致性。
對于文本模態,首先通過word2vec方式來獲取文本中每個單詞的詞向量作為文本的細粒度特征序列。接著通過Transformer模型獲取包含文本上下文信息的細粒度特征序列,使序列中每一個元素既包含其本身獨有的信息,又包含與整個數據的關系,增強可判別性。然后通過注意力機制獲取序列中每個元素的注意力權重,即每個元素對數據的重要性,并基于所得權重對序列元素進行加權求和以得到包含了顯著性語義信息的文本特征。同樣地,對于圖像模態,首先通過VGG19網絡提取該網絡最后一個池化層的特征圖譜,并將其拆分為49個子區域特征,形成圖像的細粒度特征序列。接著通過LSTM網絡獲取包含圖像上下文信息的細粒度圖像特征序列。然后通過注意力機制以同樣的方式得到圖像的特征表示。最后,通過模態交互模塊的模態內判別損失以及模態間一致性損失來共同引導模型的訓練。

圖2 Transformer模型的編碼器結構Fig.2 Encoder structure of Transformer model
在處理枸杞蟲害文本內容時,采用Transformer編碼器對文本進行編碼,Transformer[15]是Google團隊在2017年提出的一種自然語言處理(NLP)經典模型,是一種新的、基于注意力機制來實現的特征提取器,可以用于代替卷積神經網絡(CNN)和循環神經網絡(RNN)來提取序列的特征,其結構如圖2所示。圖中,N為Transformer的層數。
以1層Transformer模型為例,該模型可以被簡單表示為
yi=transformer(xi)
(1)
式中xi——輸入的詞向量
yi——輸入的詞向量經過模型編碼后的輸出向量
在對文本信息進行編碼時,對于給定的一個枸杞蟲害文本ti,設每個文本ti中包含T1個單詞,可表示為ti=[w1,w2,…,wT1]。在本文所提數據集文本語料庫中添加Wikipedia語料庫,基于skip-gram與Negative Sampling策略構建word2vec模型,將ti中的單詞wj轉換為一個詞向量,記為xj,得到該文本的細粒度特征序列,再將得到的序列送入Transformer編碼器中以獲取序列中每個單詞包含了文本上下文信息的特征向量yj,得到包含了文本上下文信息的細粒度特征序列Yi=[y1,y2,…,yj,…,yT1]。具體公式為
xj=word2vec(wj) (j∈[1,T1])
(2)
yj=transformer(xj) (j∈[1,T1])
(3)
接著采用類似的方法[16]實現注意力機制,將Transformer編碼器輸出的文本特征序列Yi送入前饋神經網絡中,然后利用softmax函數計算得到序列中每個yj的注意力權重αj,對應的注意力權重序列可被表示為α=[α1,α2,…,αT1],具體計算公式為
α=softmax(WtaQt)
(4)
(5)

(6)
在處理枸杞蟲害圖像時,首先將圖像vi的尺寸調整為256像素×256像素,并將其輸入到VGG19網絡中獲取該網絡最后一個池化層的特征圖譜,該特征圖譜的尺寸為7×7×512,3個參數分別表示特征圖譜的高、寬以及通道數,由此將該特征圖譜看作圖像49(7×7)個子區域對應的特征,每個子區域可被表示為512維的特征向量,將這49個子區域連接起來便可構成圖像的特征序列,可以表示為r=[r1,r2,…,rj,…,rT2],T2為圖像區域總數,rj為第j個區域所對應的特征向量。然后利用長短期記憶網絡[17](Long short term memory,LSTM)獲取包含了圖像上下文信息的細粒度特征序列Hi=[h1,h2,…,hj,…,hT2]。
LSTM是一種特殊的循環神經網絡,通過記憶單元學習長期依賴關系和更新門的能力較強,同時保留了之前的時間步長信息,能夠有效解決一般的RNN存在的長期依賴問題,圖3為LSTM計算單元內部結構。

圖3 LSTM單元架構Fig.3 Architecture of LSTM unit
LSTM單元計算公式為
it=σ(Wi[ht-1,xt]+bi)
(7)
ft=σ(Wf[ht-1,xt]+bf)
(8)
ut=tanh(WC[ht-1,xt]+bC)
(9)
ot=σ(Wo[ht-1,xt]+bo)
(10)
Ct=ftCt-1+itut
(11)
ht=ottanh(Ct)
(12)
其中ft為遺忘門,表示Ct-1的哪些特征被用于計算Ct,ft是一個向量,向量的每個元素均位于[0,1]范圍內;ut表示單元狀態更新值,由輸入數據xt和隱節點ht-1經由一個神經網絡層得到,單元狀態更新值的激活函數通常使用tanh。it為輸入門,同ft一樣也是元素介于[0,1]區間內的向量,由xt和ht-1經由Sigmoid計算得到。it用于控制ut的哪些特征用于更新Ct,使用方式與ft相同。最后為了計算預測值和生成下個時間片完整的輸入,需要計算隱節點的輸出ht,ht由輸出門ot和單元狀態Ct得到,其中ot計算方式與ft和it相同。σ為Sigmoid激活函數,其定義為
(13)
接著同樣利用注意機制將從LSTM得到的特征序列Hi送入前饋神經網絡中,利用softmax函數計算對應的注意力權重序列β=[β1,β2,…,βT2],計算公式為
β=softmax(WvaQv)
(14)
(15)

(16)

在整個模態交互模塊中,采用類似文獻[18]中提出的跨媒體聯合損失函數,對枸杞蟲害圖像和文本兩種媒體類型數據間的語義關聯進行約束。
使映射入隱空間后的文本與圖像特征向量通過一個分類器,進而通過模態內判別損失約束模型訓練過程,使得到的圖像和文本特征在各自模態內保持語義類別方面的可判別性。該分類器以圖像和文本特征作為輸入,預測各特征所屬語義類別的概率分布,本文通過計算特征真實標簽與所得概率分布間的交叉熵來構建模態內判別損失,具體公式為
(17)
式中Lsem——所有圖像文本對語義類別分類的交叉熵損失
n——圖像文本對總數
ci——真實類別標簽

(18)
(19)


λ——平衡參數μ——邊緣約束
D(·,·)——兩向量間的余弦距離

(20)

(21)
因此,模態交互模塊中跨媒體聯合損失函數L可表示為
L=ε1Lsem+ε2Lrelated
(22)
其中超參數ε1和ε2用于平衡各損失項在訓練時對模型的影響。
綜上,本文首先引入注意力機制提取枸杞蟲害圖像與文本數據自身所蘊含的顯著性語義信息,接著通過最小化跨媒體聯合損失函數來探索枸杞蟲害圖像與文本特征間的語義關聯,挖掘不同模態間語義相關關系,最終達到提升枸杞蟲害圖文跨模態檢索準確率的目的。
以尺蠖、大青葉蟬、負泥蟲、木虱、蚜蟲、薊馬等17種常見枸杞蟲害為研究對象,通過實地調研拍照、書本收集以及網絡爬蟲技術共獲取9 380幅包含17類枸杞蟲害圖像樣本,圖像樣本均為.jpg格式。根據圖文跨模態檢索數據集構建的需要,充分利用網絡渠道并借助專家力量為每類枸杞蟲害中所有蟲害圖像撰寫對應的文本描述,圖4為自建枸杞蟲害數據集部分類別圖像及文本示例。給17類枸杞蟲害分配所屬類別標簽,標簽0為尺蠖,標簽1為大青葉蟬,標簽2為負泥蟲,以此類推到標簽16蛀果蛾。以跨模態檢索常用的Wikipedia數據集結構為基準,構建枸杞蟲害圖像-文本對列表,按照8∶2的比例將自建的枸杞蟲害數據集劃分訓練集與測試集。Wikipedia數據集圖像-文本對列表格式為“文本名稱 圖像名稱 所屬類別標簽”,自建的枸杞蟲害數據集圖像-文本對列表格式為“圖像相對路徑 文本相對路徑 所屬類別標簽”。

圖4 自建枸杞蟲害數據集部分類別圖像及對應文本示例Fig.4 Some category images and corresponding text examples of self-built Lycium pest dataset
針對自建枸杞蟲害數據集學習樣本少,在復雜網絡中容易發生過擬合問題,本研究采用數據增強技術對原始數據集進行擴充。數據增強可使原始數據集更具多樣性,從而減少過擬合現象,進一步提升訓練模型的泛化能力。

圖5 枸杞蟲害圖像數據增強操作Fig.5 Lycium pests image data enhancement operation
在處理圖像樣本時,通過對原始圖像進行垂直翻轉、調整亮度、隨機裁剪以及旋轉操作擴增枸杞蟲害圖像樣本,部分圖像擴增前后結果如圖5所示。
在處理文本樣本時,現有自然語言處理的數據樣本增強擴充主要有2種方法:加噪和回譯。加噪即在原始文本數據基礎之上通過替換詞、刪除詞等方式生成新的與原始數據相似的文本樣本;回譯即將原始文本數據翻譯為其他語言,再將翻譯得到的結果再次翻譯回原始語言。本文采用文本分類任務的簡單數據增強(Easy data augmentation for text classification tasks,EDA)方法通過加噪的思路對文本進行處理,該方法中主要的加噪形式有同義詞替換、隨機插入、隨機交換以及隨機刪除,其處理效果如圖6所示。

圖6 枸杞蟲害文本數據增強操作Fig.6 Lycium pests text data enhancement operation
將擴增后的文本內容與擴增后的圖像相對應,更新枸杞蟲害樣本內容,得到擴增后的枸杞蟲害樣本集,按照8∶2的比例劃分訓練集與測試集,并用新得到的枸杞蟲害數據集代替原始數據集進行后續試驗。
試驗在寧夏大學高性能計算平臺上進行,平臺操作系統為Ubuntu 16.04 LTS。加載軟件環境有gcc、cuda 9.0和Python 3.6.10。GPU為NVIDIA quadro p 5000。采用深度學習框Tensorflow 1.13.1。
為了充分驗證本文方法的可行性及準確率,在自建的枸杞蟲害數據集上,使用枸杞蟲害圖像檢索枸杞蟲害文本以及枸杞蟲害文本檢索枸杞蟲害圖像2個任務對模型準確率進行衡量。
采用平均精度均值(Mean average precision,MAP)和準確率(Precision)-召回率(Recall)曲線作為枸杞蟲害跨模態檢索準確率的評價指標。
相同試驗環境下通過試驗對比了2種傳統跨模態檢索方法:典型相關分析[19](Canonical correlation analysis,CCA)和核典型相關分析[20](Kernel canonical correlation analysis,KCCA),以及6種基于深度神經網絡的方法:深度典型相關分析[21](Deep canonical correlation analysis,DCCA)、端到端的深度典型相關分析[22](End-to-end DCCA)、深度語義匹配[23](Deep semantic matching,Deep-SM)、通信自編碼器[24](Correspondence autoencoder,Corr-AE)、對抗式跨模態檢索[25](Adversarial cross-modal retrieval,ACMR)、特定模態的跨模態相似度測量[26](Modality-specific cross-modal similarity measurement,MCSM)。傳統的跨模態檢索方法CCA通過學習映射矩陣,最大化公共空間中不同模態投影特征之間的相關性。KCCA是CCA的一種擴展,它使用核函數將特征投影到一個高維空間,能更好的處理特征集合非線性的情景。DCCA是CCA的一個非線性延伸,能夠同時學習2個數據視圖間的非線性投影,使得到的映射特征高度非線性相關。End-to-end DCCA采用GPU以及減少過擬合的方法可以應對原始DCCA框架的不足。Deep-SM采用2種不同的卷積神經網絡進行深度語義匹配,實現跨模態檢索。Corr-AE由2個耦合在編碼層的自編碼器網絡組成,可以同時對重構誤差和相關損耗進行建模。ACMR在不同模態之間互相作用獲得一個有效的共享子空間,能夠有效解決一個模態的一項數據可能存在多個語義不同項的問題。MCSM為不同模態數據構建獨立的語義空間,通過端到端框架直接從每個語義空間生成特定于模態的跨模態相似度。為公平對比,所有對比方法的圖像端輸入均為從預訓練VGG19網絡中提取的4096維深度特征,文本端則首先通過word2vec提取詞向量然后將文本中所有詞向量的平均值作為輸入。除了CCA、KCCA、DCCA、End-to-end DCCA 為20維,其他所有方法最后的特征維數均為1 024。
本文方法與所對比方法的結果如表1所示。實驗結果表明,本文方法的平均精度均值平均值達到了0.458。不論通過圖像檢索文本,還是通過文本檢索圖像,本方法的平均精度均值均高于對比方法。在所有對比方法中,MCSM方法表現最好,而本文方法相較于該方法平均精度均值平均值提高了0.011。ACMR方法和Corr-AE方法效果相當。本文方法比Deep-SM、End-to-end DCCA以及DCCA方法的平均精度均值平均值分別提高了0.045、0.069、0.074,而CCA方法的平均精度均值平均值只有0.263。

表1 不同方法平均精度均值結果對比Tab.1 Comparison of results of different methods
現有的跨模態檢索方法大多將來自其自身特征空間的不同模態的數據平均投影到一個單一的公共空間中,以找到它們之間的潛在對齊方式,學習它們之間的內在聯系。但這些方法只能粗略捕捉枸杞蟲害圖像與文本之間的對應關系,無法探索圖像與文本數據中的細粒度信息。而本文方法有針對性地融合注意力機制對枸杞蟲害圖像和文本分別進行處理,能夠充分挖掘枸杞蟲害圖像與文本之間復雜的跨媒體關聯,從而提高檢索準確率。
為進一步證實本文方法的有效性,在枸杞蟲害數據集上的Precision-Recall曲線如圖7和圖8所示。由圖7可知,本文方法在圖像檢索文本任務中性能明顯優于其他對比方法。對于圖8中文本檢索圖像任務,召回率取0.3~1.0時,本文方法的準確率略低于某些對比方法,但基本與性能最優方法持平,而在召回率取0~0.3時,本文方法的準確率明顯高于其他對比方法。綜合來看,本文方法在文本檢索圖像任務中的檢索性能也優于其他對比方法。

圖7 圖像檢索文本任務的Precision-Recall曲線Fig.7 Precision-Recall curves of image to text task

圖8 文本檢索圖像任務的Precision-Recall曲線Fig.8 Precision-Recall curves of text to image task

圖9 本文方法與比較方法MCSM在自建枸杞蟲害數據集上的跨模態檢索結果示例Fig.9 Examples of cross-modal retrieval results of proposed method and comparison method MCSM on self-built Lycium pest dataset
圖9給出了本文方法與MCSM方法在自建的枸杞蟲害數據集上的跨模態檢索結果對比示例,帶有綠色邊框的表示正確的檢索結果,帶有紅色邊框的表示錯誤結果。以大青葉蟬的圖像檢索文本任務為例,在本文方法檢索得到的前8個文本中,檢索正確的有7個,錯誤的有1個,而通過MSCM方法檢索得到正確結果有5個,錯誤結果有3個。從圖9中可看出,不論在圖像檢索文本任務上,還是在文本檢索圖像任務上,本文方法的跨模態檢索表現均略優于MCSM。
為了進一步驗證注意力機制對所提方法各個部分的影響,本文進行了消融試驗,結果如表2所示。其中 I表示圖像編碼模塊,T表示文本編碼模塊,A表示圖像或文本編碼模塊中包含注意力機制,NA則表示不包含注意力機制。從表2可以看出,融合注意力機制的模型可以突出枸杞蟲害圖像和文本內容中較為重要的細粒度局部信息,更好地為2種模態間的關聯關系建模,提高檢索準確率。

表2 自建枸杞蟲害數據集上基線試驗的平均精度均值結果Tab.2 MAP results of baseline experiment on self-constructed Lycium barbarum pest dataset
另外,為進一步證明模型的魯棒性,本文探索了隱空間中特征維度對本文模型的影響。在構建網絡時分別將隱空間設置為256、512、1 024維并進行試驗,結果如表3所示。從表3可以看出,在特征維度取1 024時,模型性能最佳,但在特征維度取256或512時,模型性能并沒有出現顯著下降。

表3 不同特征維度的平均精度均值結果Tab.3 MAP results of different feature dimensions
(1)針對現有農作物病蟲害識別與檢索方法識別或檢索模態較為單一的問題,本文以枸杞尺蠖、大青葉蟬、負泥蟲、木虱、蚜蟲、薊馬等共17類枸杞蟲害為研究對象,提出了一種融合注意力機制的枸杞蟲害圖文跨模態檢索方法。根據跨模態檢索任務需要,構建枸杞蟲害數據集,然后通過圖像編碼模塊以及文本編碼模塊分別對圖像和文本信息進行細粒度處理,經過模態交互模塊中損失函數的約束,深入挖掘不同模態間的語義相關關系,實現跨模態檢索任務,并在自建的枸杞蟲害數據集上對本文方法以及一些經典方法的性能進行了對比分析。
(2)提出的融合注意力機制的枸杞蟲害圖文跨模態檢索模型,將跨模態檢索引入枸杞蟲害檢索中,為枸杞蟲害多模式數據檢索提供了有效而強大的方法,相比于傳統的基于單模式的技術更加方便且檢索結果更加直觀、豐富。
(3)通過在模型中融入注意力機制,能夠挖掘數據中的細粒度信息,捕捉數據的顯著性語義信息,從而提升檢索性能,與8種現有方法相比,本文方法平均精度均值平均值提高了0.011~0.195,優于所有對比方法。