郭蕾蕾,俞 璐,段國侖,陶性留
(1.陸軍工程大學 通信工程學院,江蘇 南京 210007;2.陸軍工程大學 指揮控制工程學院,江蘇 南京 210007)
隨著互聯網的迅速普及以及多媒體技術的快速發展,圖像資源的數量急劇增長。如何快速、有效檢索圖像正逐漸成為學術界研究的一個熱點,圖像標注作為圖像檢索的核心,也越來越受到研究者的關注。同時圖像標注具有廣泛的應用領域和前景,在圖像分析、圖像理解、大規模圖像管理等不同領域均有一定的應用和研究[1]。
傳統的圖像標注大都是人工標注,即專家手工地對圖像進行文本注釋。然而面對海量圖像,人工標注費時費力,同時會帶入某些主觀因素,直接影響到圖像標注的準確性。顯然這種依賴人工方式實現的圖像標注,已經無法滿足需求[2],圖像自動標注技術得以迅速發展。
所謂圖像自動標注,就是讓計算機自動地為圖像添加上能夠反映圖像內容或用戶意圖的文本標簽[3]。圖像自動標注分為有監督學習的圖像自動標注和無監督學習的圖像自動標注。由于大多數網絡圖像集都未帶語義標簽,因此無監督的學習方法備受學者關注,這也是本文研究的一個重點內容。
互聯網時代,大多數圖像是Web圖像。Web圖像通常關聯著豐富的文本信息,如圖像文件名、周邊文本等,圖像的語義或多或少地都與這些關聯文本相關,分析挖掘這些關聯文本信息,可以更準確地對圖像進行標注[4]。因此,在Web圖像語義自動標注過程中,如何利用Web圖像的伴隨文本來提高標注性能是當前研究的熱點之一。
為說明伴隨文本信息對于圖像標注的重要性,本文提出了一種僅利用圖像伴隨文本信息,而沒有利用圖像特征的批量標注方法。
TF-IDF(Term Frequency-Inverse Document Frequency)算法是一種廣泛應用于信息檢索和文本挖掘領域的常用技術。其主要思想是:如果某個詞在某篇文檔中出現的頻率高,即TF高;在語料庫其他文檔中出現的頻率低,即DF很低,也即IDF高,則認為這個詞具有很好的區分能力[5]。
詞頻(Term Frequency)、逆文檔頻率(Inverse Document Frequency)的計算公式如下:
(1)
(2)

tfidfi,j=tfi,j×idfi
(3)
向量空間模型(VSM)是文本建模中常用的模型之一,它的主要思想是將文本用多維空間的向量來表示,每一個不同的特征項(詞語或句子)對應向量空間的一維,而每一維的值就是對應的特征項在文本中的特征值。
通常,向量空間模型(VSM)將文本集中的每個文檔di用特征權重向量(wi1,wi2,..,win)表示,其中wij表示特征詞tj(j=1,2,…,n)的權重。向量空間模型的構造過程如圖1所示[6]。

圖1 向量空間模型構造過程圖
向量空間模型中的特征權重向量常用Word2vec模型獲得。Word2vec是Google在2013年開源的一款將詞表征為空間向量的模型工具,主要采用連續詞袋模型(Continuous Bag-Of-Words,CBOW)以及Skip-gram模型[7]。它基于人工神經網絡,通過多層感知機將初始的底層特征組合為更抽象的高層特征,并將高層特征用于普通的機器學習方法以得到更好的效果。Word2vec通過訓練,可以把文本內容的處理簡化為n維向量空間中的向量運算,向量空間上的相似度可以用來表示文本語義上的相似度。
雖然可以直接將句子/文檔中所有詞的向量取均值作為它們的向量表示,但是這樣會忽略單詞之間的排列順序對句子或文本信息的影響?;诖?,MIKOLOV T提出了Doc2vec模型。Doc2vec模型其實是在Word2vec模型的基礎上做出的改進,基本思路很接近。
針對傳統人工標注所展現出來的缺點,本文提出了如圖2所示的方法來批量自動標注圖像。

圖2 圖像標注流程圖
一般而言,相比處理整個句子的文本,處理一個詞匯組成的列表更為簡單,因此,需要采用分詞技術將字詞與字詞分割開來,即進行分詞處理。對于中文分詞,目前技術比較成熟,常用的分詞工具有jieba、NLPIR、THULAC等。
分詞后的文本中通常會存在大量的虛詞、代詞、生僻詞或者沒有特定含義的詞,這些詞語對文本分析起不到任何幫助。在具體的文本處理中,通常情況下需要構建一個停用詞表,通過字符串匹配或借助其他策略將文本中的停用詞剔除[8],這個過程就是去除停用詞。
接下來利用Doc2vec將文檔向量化,把每一個文檔表示成向量形式,以便后續進行計算與處理。
2.2.1聚類意義
本文研究的是無監督圖像標注,沒有樣本類別信息可供學習,采用聚類方式至少有兩個優點:
(1)通過聚類可以抽取樣本的本質特征,過濾掉一些無關的或者特有的信息。比如對于多個描述“犬類”的文檔,若不采用聚類,得到的圖像標注可能是具體的描述,如“貴賓犬”、“牧羊犬”、“秋田犬”等,但事實上看到這些圖像,只希望標注出“狗”、“犬”等即可,聚類可以達到此目的。
(2)通過聚類得到的簇中包含了多個具有共性的文檔,可將整個簇中的文本所對應的圖像用相同的詞語進行標注,借此解決批量標注圖像的難題,有利于提高海量圖像管理與檢索的效率。
2.2.2AP聚類
Affinity Propagation聚類算法又叫近鄰傳播算法,簡稱AP[9],其基本思想是將全部樣本看作網絡的節點,通過數據元素之間的消息傳遞,實現數據集合中元素的自適應聚類[10]。AP聚類的輸入為節點間的相似度矩陣S,其中s(i,j)表示節點i與節點j之間的相似度值,表明了j作為i的聚類中心的能力。聚類過程中,共有兩種消息在各節點間傳遞,分別是吸引度(responsibility)和歸屬度(availability)。AP算法通過迭代過程不斷更新每一個節點的吸引度和歸屬度值,直到產生m個高質量的Exemplar(類似于質心),同時將其余的數據點分配到相應的聚類中。吸引度信息用r(i,k)表示,即數據點k適合作為數據點i的聚類中心的程度,r(i,k)值越大,則表示數據點k成為聚類中心的能力越強;歸屬度信息用a(i,k)表示,即數據點i選擇數據點k作為聚類中心的合適程度。兩種信息的迭代公式如下:
r(i,k)←s(i,k)-maxk′≠k{a(i,k′)+s(i,k′)}
(4)

(5)

(6)
其中,a(i,k′)表示除k外其他點對i點的歸屬度值,初始為0;r(i′,k)表示節點k作為除i外其他節點的聚類中心的吸引度值。在相似度矩陣中,索引相同的點(如s(i,i))的值稱為參考度或偏好參數(preference),此參數會影響到最后聚類的數量,參考度越大說明某個數據點成為聚類中心的能力越強,則最終聚類中心的個數越多。迭代開始前假設所有點成為聚類中心的能力相同,因此參考度一般設為相似度矩陣中所有值的最小值或者中位數。
關鍵詞抽取就是從文本中把與這篇文檔意義最相關的一些詞抽取出來。從算法的角度來看,關鍵詞抽取算法主要有兩類:(1)有監督學習算法,將關鍵詞抽取過程視為二分類問題,先抽取出候選詞,對每個候選詞劃定標簽,訓練關鍵詞抽取分類器;(2)無監督學習算法,先抽取出候選詞,然后對各個候選詞進行打分,輸出topK個分值最高的候選詞作為關鍵詞。根據打分的策略不同,有不同的算法,例如TF-IDF、TextRank等算法。
基于TF-IDF的抽取算法對文檔集中的每個文檔提取分值最高的5個關鍵詞,其抽取步驟如下:
(1)預處理,對文本進行分詞和詞性標注,將滿足指定詞性的詞作為候選詞;
(2)分別計算每個詞的TF-IDF值;
(3)根據每個詞的TF-IDF值降序排列,并輸出5個詞匯作為可能的關鍵詞。
文本聚類后得到不同的簇,每個簇中包含不同數量的具有相似性的文檔,而且經過Word2vec詞向量化及關鍵詞抽取后,每個文檔已經提取出了5個最具代表性的關鍵詞,且這些關鍵詞都在語料庫中并被表示為向量形式。為了批量標注圖像,需要把位于同一個簇中的樣本的共性提取出來,因此需要對詞語進行相似度度量,選取相似度較大的幾個詞語作為該簇中的所有圖像的標注。為此,選取網頁中經常檢索的詞語構建一個候選詞詞典,并將該詞典加入到語料庫,訓練模型,得到詞語的向量表示,每個簇中的圖像的最終標注就是從該候選詞詞典中選出的與抽取的關鍵詞相似度較大的幾個詞語。
2.4.1候選詞與文檔關鍵詞的相似度度量
相似度度量通常采用的方法是計算樣本間的距離,余弦相似度是用向量空間中兩個向量夾角的余弦值來衡量兩個樣本個體間差異的大小。假設有兩個n維向量a和b,其余弦相似度為:
(7)
式中,a·b表示兩個向量的點積,夾角余弦取值范圍為[-1,1],取值越大表示兩向量的夾角越小,兩向量越相似。
假設第i個簇中第j個文檔經過關鍵詞抽取后得到5個關鍵詞kij1,kij2,…,kij5,候選詞詞典中有M個候選詞h1,h2,…,hM。候選詞語與抽取的關鍵詞之間的相似度為:

(8)
其中,hm表示第m個候選詞語的特征向量,kijp表示第i個簇中第j個文檔抽取的第p個關鍵詞的特征向量。
2.4.2候選詞與文檔的相似度度量
在得到候選詞語與各文檔抽取的關鍵詞之間的余弦相似度后,由于每篇文檔抽取的關鍵詞有差異,不能作為整個聚類圖像的標注結果,因此要提取聚類簇中文檔關鍵詞的共性,得到候選詞語與每個文檔之間的余弦相似度。通常一個候選詞與文檔中的某個關鍵詞的相似度較大,就認為該候選詞與該文檔的相似度就大。因此選擇候選詞語與每個文檔抽取的5個關鍵詞中相似度最大的一個作為候選詞語與該文檔之間的相似度。
假設文本聚類后有K個簇c1,c2,…,cK,每個簇中有N個文檔di1,di2,…,diN,則候選詞與文檔之間的余弦相似度為:
s(hm,dij)?maxp=1,2,…,5{g(hm,kijp)}
i=1,2,…,K;m=1,2,…,M
(9)
其中,dij表示第i個簇中第j個文檔,s(hm,dij)表示第m個候選詞語與第i個簇中第j個文檔的相似度。
2.4.3候選詞與聚類簇的相似度度量
通過式(9)計算得到候選詞與每個文檔的相似度s(hm,dij)后,要想對每個簇進行批量標注,還需知道候選詞與每個簇之間的相似度大小。由于關鍵詞抽取、聚類等屬于無監督學習,聚類后每個簇中的樣本準確性不能保證,因此不能簡單采取像2.4.2節中的方法直接將候選詞與某簇中文檔相似度最大的一個作為候選詞與聚類簇的相似度。為了消除各種噪聲影響,本文用候選詞-文檔相似度的均值來定義候選詞與聚類簇的相似度。為避免聚類中得到的差異較大的文本帶來的不良影響,需對N個候選詞-文檔相似度s(hm,dij)由大到小進行排序,排序結果用(si1,si2,…,siN)表示,選取topQ(Q≤N)個相似度求均值來計算候選詞與第i個簇的相似度:

(10)
式中,sil表示第i個簇排序結果中第l個相似度值。
通過式(10)計算出每個候選詞到每個簇的相似度值f(hm,ci),m=1,2,…,M;i=1,2,…,K,將每個簇中的相似度值由大到小順序排列,選取值最大的3個對應的候選詞作為該簇的標注結果。
為了驗證本文方法的有效性,首先需要訓練模型得到文檔及詞語的向量,為此下載了中文維基百科語料庫。本文在PyCharm EDU環境下調用gensim庫中的wikicorpus函數去除語料庫中無用的標記符號,將壓縮文件轉換為txt文本,并安裝開源項目OpenCC,去除繁體數據,完成繁簡轉化。
同時,在PyCharm EDU環境下編寫Python程序爬取百度百科網頁,獲得了480幅圖像及對應的伴隨文本(一幅圖像對應一個伴隨文本文檔),這些圖像大致分為7類:狗(70)、植物(70)、飛機(70)、橋(70)、鳥類(70)、建筑(70)、山水(60)。隨后將480個伴隨文本文檔添加入維基百科語料庫,對添加后的文本使用jieba分詞工具進行分詞,分詞過程中將自己構建的停用詞表導入該程序以去除停用詞,并調用gensim庫中的Word2vec模型進行模型訓練,得到包含大量詞語的詞匯庫及所對應的向量。
本文還選取了115個網頁檢索中常用的詞語構建了一個候選詞詞典,圖像的最終標注結果將從這個候選詞詞典中得到。
在本文中,所使用的數據集都是從網絡上得到的真實數據,沒有標準的標注結果,在驗證實驗結果前,首先對提取的480幅真實圖像從候選詞詞典中選取某些詞語進行了人工標注,每幅圖像標注了1~6個語義標簽。
對于聚類結果,采用純度[11]進行了簡單的評價,定義第i簇的純度為:
(11)
其中,mi是第i簇中樣本的個數,mij是第i簇中第j類的樣本個數。
聚類的總純度為:
(12)
其中,K表示聚類簇的個數,m是樣本的總數。
本文使用準確率P(Precision)、召回率R(Recall)和F1值對每幅圖像的標注結果進行評測[12],準確率、召回率、F1值定義如下:
(13)
(14)
(15)

圖3 標注結果示例
其中,precision(Ii)表示第i幅圖像標注的準確率,度量了圖像標注的精度;recall(Ii)表示第i幅圖像標注的召回率,度量了圖像標注的完整性;F1(Ii)是準確率與召回率的加權平均值,度量了圖像標注的綜合性能,其值越接近1,表示性能越好。Numc(Ii)表示第i幅待標注圖像返回的正確標注詞語的個數,Numr(Ii)表示第i幅待標注圖像返回的標注詞語的個數,Numm(Ii)表示第i幅待標注圖像人工標注詞語的個數。
本文對圖像集里的每幅圖像進行標注,最后將所有圖像的準確率、召回率、F1值分別取平均作為最終評價指標[13],即定義宏準確率(macro-precision)、宏召回率(macro-recall)、宏F1值(macro-F1),如下:
macro-precision=
(16)
macro-recall=
(17)
(18)
式中Image表示待標注圖像集合,|Image|表示待標注圖像集合中圖像的數量。
為了更加直觀地評價和展現標注結果,本文定義了一種簡化的評價準則,即自動標注的詞語中只要有一個與人工標注結果相同或相近,則認為圖像被正確標注,得到圖像標注的精度為:

(19)
其中,|correct|表示正確標注的圖像的數目。
本文對480幅圖像利用其伴隨文本信息進行了標注,在文本聚類中產生了7個簇,每個簇中包含數量不等的文檔數,且在候選詞與聚類簇相似度度量中設置Q=0.8×N,表1給出了此次標注的結果。
圖3給出了利用本文所提方法得到的某個簇中部分圖像標注結果的實例。

表1 圖像標注的性能
從上述結果可以看出,大部分圖像可以借助其文本信息實現標注,采用本文定義的簡化準則,標注精度可達到88%,而且批量標注提高了標注的效率。
僅采用伴隨文本信息進行圖像標注難以達到更精確的結果,究其原因有如下幾點:(1)圖像伴隨文本信息并不能完全表達圖像的含義,如有些圖像中“燈光”等信息沒有在文本中體現,這說明圖像視覺特征的重要性;(2)因為是無監督學習,文檔關鍵詞提取和聚類都難以保證準確性,如圖3中的第6幅圖像,因為沒有正確聚類,導致標注不夠準確。但總體來說,此次實驗達到了預想的目標。
本文僅利用圖像的伴隨文本信息作為特征,結合文本聚類及關鍵詞抽取等技術,提出了基于伴隨文本信息的Web圖像批量標注框架,并且利用Python爬取百度百科網頁自建圖像數據庫,實現了對圖像的批量標注。
本文工作充分證明了伴隨文本信息對于圖像標注的重要性。下一步將研究圖像的視覺特征,將圖像特征與伴隨文本信息進行結合,以實現對圖像的精確標注。