許柏祥,劉麗,邱桃榮
(南昌大學 信息工程學院,江西 南昌 330031)
隨著通信技術和圖像獲取設備的發(fā)展,圖像的數(shù)量迅猛增長,與此同時出現(xiàn)了大量的近重復圖像。近重復圖像是指從同一個目標在不同條件下拍攝得到的圖像,圖像之間在光照、傾斜角度以及視角等各方面均有差異。本文主要研究目標為近重復文本圖像檢索。文本圖像是一種特殊的圖像,其主體內(nèi)容一般為文字。近重復文本圖像檢索在文本圖像分析與理解中起著非常重要的作用,而且在很多領域有重要應用,例如,在建立數(shù)字圖書館過程中,大量紙質文檔被掃描或拍攝,并以圖像格式存儲。由于同一個紙質文檔可能分散在多處,經(jīng)常出現(xiàn)將同一個紙質文檔進行多次掃描的情況,產(chǎn)生了近重復文本圖像。這樣一來,不僅導致了冗余,占用了大量的磁盤空間,而且給后續(xù)建立索引等工作帶來不便。因此,研究一種有效的近重復文本圖像檢索方法至關重要。
由于近重復文本圖像之間在視角以及光照等方面存在差異,給近重復文本圖像檢索帶來很大的挑戰(zhàn)。一般來說,近重復文本圖像檢索分為兩個步驟,即圖像特征提取以及相似度計算。其中,特征提取是關鍵,提取的特征應對近重復文本圖像之間存在的各種變換均具有良好的魯棒性。基于所提取的特征,可以采用不同的相似度計算方法,例如歐氏距離、余弦距離等[1]。
本文將卷積神經(jīng)網(wǎng)絡[2](convolutional neural network,CNN)應用于近重復文本圖像檢索這一研究領域,提出一種基于三分支孿生卷積神經(jīng)網(wǎng)絡的近重復文本圖像檢索方法,3 個分支共享權重。訓練時網(wǎng)絡輸入為一個三元組,包括查詢圖像、查詢圖像的近重復圖像以及查詢圖像的非近重復圖像。通過采用三元損失使得查詢圖像和近重復圖像之間的距離小于其與非近重復圖像之間的距離。本文提出的方法能夠自動學習近重復文本圖像之間存在的各種變換,包括圖像旋轉、投影變換以及光照變化等。所提取的特征具有良好的魯棒性,在新建的兩個近重復文本圖像數(shù)據(jù)集上取得了較好的結果。
現(xiàn)有近重復文本圖像檢索方法主要采用手工特征描述圖像。早期研究通常采用文本圖像中的字符來描述圖像[3-4]。例如,Spitz[3]首先分割出文本圖像中的所有字符,接下來將字符根據(jù)其形狀進行編碼,進而將圖像表示為一個字符串,接下來采用Levenshtein 距離計算圖像之間的相似度。然而字符分割本身就是一個難題,經(jīng)常出現(xiàn)字符黏連或者過分割等現(xiàn)象,導致后續(xù)檢索失敗。為了解決該問題,學者們直接利用文本圖像中的詞作為特征[5-7],從而避免了字符分割這一問題。例如,Nakai 等[5]提出一種名為LLAH (locally likely arrangement hashing)的近重復文本圖像檢索方法,將圖像中每個詞的中心點作為特征點,對于每個特征點,根據(jù)其與相鄰特征點之間的空間位置關系定義多個仿射不變量。利用詞作為特征只能應用于印刷體文本圖像,在手寫體文本圖像中,如何準確地將詞分割出來目前仍然是個難題。除了字符和詞,文本圖像的布局由于其具有較強的描述能力也被用于近重復文本圖像檢索[8-9]。提取圖像的布局需要對圖像進行分割,然而圖像分割本身是一個極具挑戰(zhàn)的問題。此外,SIFT (scaleinvariant feature transform)等局部特征[10]由于其對圖像變換,如旋轉、縮放以及一定程度的仿射變換均具有良好的魯棒性,也被用于近重復文本圖像檢索[11]。但正如文獻[12]所述,文本圖像中由于部分文字經(jīng)常反復出現(xiàn)給關鍵點匹配帶來很大干擾。近年來,CNN 迅猛發(fā)展,在很多領域具有廣泛應用,例如圖像分類[13]、目標檢測以及跟蹤[14]等。目前已有學者將CNN 應用于解決近重復非文本圖像檢索[15-19],主要包括自然場景圖像以及建筑物圖像等。例如,Babenko 等[15-16]采用CNN 作為特征提取器,比較了網(wǎng)絡中不同層在描述圖像方面的差異,以及微調對近重復圖像檢索性能的影響,并且基于卷積層提出一種SPoC(sum pooling of convolutions)特征用于描述圖像。Min 等[17]設計了一個包含兩種不同損失函數(shù)的網(wǎng)絡,并且提出了一個新的網(wǎng)絡層RGMP。Husain 等[18]提出了一種名為ACTNET 的網(wǎng)絡,其融合了網(wǎng)絡中不同層來表示圖像。Gordo 等[19]將R-MAC[20]嵌入到孿生卷積神經(jīng)網(wǎng)絡中,最終以端到端的形式生成圖像特征。
據(jù)我們所知,目前還沒有研究將CNN 應用于近重復文本圖像檢索這一領域。本文提出一種基于三分支孿生網(wǎng)絡的近重復文本圖像檢索方法,創(chuàng)新點主要體現(xiàn)在如下兩個方面:
1)將CNN 應用于近重復文本圖像檢索這一領域,能自動學習近重復文本圖像之間存在的各種變換,包括圖像旋轉、投影變換以及光照變化等,進而避免了傳統(tǒng)手工提取特征容易受到人主觀性的影響,而且通常無法考慮到近重復文本圖像之間存在的所有變換這一問題。
2)所提出的三分支孿生網(wǎng)絡專門針對近重復文本圖像檢索這一任務而設計。通過采用三元損失,可以保證查詢圖像和近重復圖像之間的距離小于其與非近重復圖像之間的距離。
網(wǎng)絡結構如圖1(a)所示,網(wǎng)絡輸入為一個三元組,包括查詢圖像、查詢圖像的近重復圖像以及查詢圖像的非近重復圖像。每個圖像分別經(jīng)過一個分支,每個分支由卷積層、高斯加權SPoC 池化以及后處理構成,3 個分支共享權重。網(wǎng)絡中每個組成部分具體介紹如下。

圖1 本文提出的三分支孿生網(wǎng)絡Fig.1 Our proposed convolutional siamese network
2.1.1 卷積層
每個分支首先中采用VGG-16[21]作為骨干網(wǎng)絡,并且去掉VGG-16 中的全連接層,具體結構如圖2 所示。假設輸入一個224×224×3 的圖像,則最終得到512 個大小為14×14 的特征圖。

圖2 VGG-16 網(wǎng)絡卷積層Fig.2 Convolutional layers in VGG-16
2.1.2 高斯加權SPoC 池化
基于卷積層,本文采用SPoC 池化方法將其聚合為一個緊湊的特征向量。具體來說,令VGG-16 最后一個卷積層具有N個大小為H×W的特征圖Pn(n=1,2,···,N),Pn[i,j]代表第n個特征圖中第i行第j列的值(1≤i≤H,1≤j≤W)。使用SPoC 池化將得到一個N維的向量:f=[f1f2···fN],其中fn(n=1,2,···,N)定義為

此外,鑒于文本圖像有效信息大部分都在圖像中間部分,在進行SPoC 池化時加入高斯加權,即將式(1)修改為

其中G(i,j)定義為

根據(jù) 3σ 準則,將 σ的值設置為圖像中心和最近邊界距離的三分之一:

2.1.3 后處理
本文采用的后處理流程為l2歸一化、PCA 白化[22]以及再次l2歸一化,該特征后處理方法被廣泛使用并取得了良好的性能[16]。
1)l2歸一化:給定特征向量f,進行l(wèi)2歸一化后為f′,則:

2)PCA 白化:可以降低特征之間的相關性,在網(wǎng)絡中可以利用減均值和全連接層來實現(xiàn)[19]。
網(wǎng)絡訓練時采用三元損失函數(shù),定義如下:

式中:(I,I+,I?)為輸入的三元組,令I、I+、I?分別表示查詢圖像、查詢圖像的近重復圖像以及查詢圖像的非近重復圖像;f、f+、f?分別為I、I+、I?經(jīng)過網(wǎng)絡之后得到的特征;m是一個經(jīng)驗閾值。利用該三元損失函數(shù),可以保證查詢圖像與近重復圖像之間距離小于查詢圖像與非近重復圖像之間距離。
利用訓練好的三分支孿生網(wǎng)絡,可以提取任意圖像的特征。具體來說,將圖像輸入三分支中的任意一個分支,即可得到該圖像的特征向量,如圖1(b)所示。
檢索時,首先利用本文提出的網(wǎng)絡提取查詢圖像以及圖像庫中圖像的特征向量,接下來利用歐氏距離計算查詢圖像與圖像庫中每個圖像的相似度,距離越小則認為相似度越高,并且按照相似度從高到低進行排序。
由于目前沒有公開的近重復文本圖像數(shù)據(jù)集,本文自建了2 個近重復文本圖像數(shù)據(jù)集,即NDDoc_ENG 和NDDoc_CN,分別包括英文和中文文本圖像。文本圖像傳統(tǒng)獲取方式為采用掃描儀進行掃描。隨著智能手機的普及,手機拍攝圖像越來越多。在本文自建數(shù)據(jù)集中,不僅包括掃描圖像,而且包括手機拍攝圖像。相比較掃描圖像,手機拍攝圖像經(jīng)常存在旋轉,光照不均以及投影變換等問題,給后續(xù)圖像檢索帶來很大挑戰(zhàn)。每個數(shù)據(jù)集的具體細節(jié)如下:
1)NDDoc_ENG 數(shù)據(jù)集
該數(shù)據(jù)集共包含2 596 個英文文本圖像,分為518 組,每組有5~6 個圖像,為近重復文本圖像。具體來說,每組第1 個圖像由PDF 版電子書中的一頁轉換得到,接下來將其打印出來,用手機對其進行不同角度的拍攝獲得3~4 個圖像。此外,利用掃描儀掃描得到1 個圖像。所有圖像均為灰度圖,格式為JPG,尺寸為750 像素×1 200 像素。圖3 給出了一組近重復英文文本圖像示例。
人工成本是指企業(yè)在一定時期內(nèi),在生產(chǎn)、經(jīng)營和提供勞務活動中因使用勞動力而支付的所有直接費用和間接費用的總和,是企業(yè)總成本的組成部分,范圍包括:工資總額、社會保險費用、福利費用、教育經(jīng)費、勞動保護費用、住房費用和其他人工成本。其中,工資總額是人工成本的主要組成部分。企業(yè)做好人工成本管理,根本目的是有效控制人工成本的構成與比例,提高人工成本的投入產(chǎn)出效率,達到企業(yè)和員工雙贏的效果。


圖3 NDDoc_ENG 數(shù)據(jù)集上一組近重復圖像示例Fig.3 A sample group of images from NDDoc_ENG dataset
2)NDDoc_CN 數(shù)據(jù)集
該數(shù)據(jù)集共包含2 710 個中文文本圖像,分為542 組,每組有5 個圖像,為近重復文本圖像,圖像的獲取方式和上述近重復英文文本圖像相似。圖4 給出了一組近重復中文文本圖像示例。


圖4 NDDoc_CN 數(shù)據(jù)集上一組近重復圖像示例Fig.4 A sample group of images from NDDoc_CN dataset
從圖3 和圖4 中可以看出,近重復文本圖像之間在旋轉角度、光照以及視角等方面均存在差異。將每個數(shù)據(jù)集中的圖像以組為單位,按照6:2:2 的比例隨機劃分為訓練集、驗證集與測試集,訓練集主要用于訓練本文提出的三分支孿生網(wǎng)絡,驗證集用于確定網(wǎng)絡中的學習率等超參數(shù),接下來將在驗證集上取得最優(yōu)結果的參數(shù)應用于測試集上。
本文將訓練集、驗證集與測試集隨機劃分5 次,采用測試集上的平均mAP[23]作為評價指標。具體來說,在測試集上,用每組的第一個圖像作為查詢圖像進行檢索,計算該查詢圖像和其他圖像之間的相似度,根據(jù)相似度大小由高到低排序。該查詢圖像的近重復圖像排序越靠前,mAP 值越高。
本文首先對訓練集進行擴充。具體來說,針對訓練集上的每一組圖像,通過改變光照以及視角的方式進行數(shù)據(jù)增強,使得每一組圖像的數(shù)量達到600~700 個,訓練集中圖像總數(shù)擴充為20 萬。如2.1 節(jié)所述,每個三元組包括一個查詢圖像,該圖像的近重復圖像和該圖像的非近重復圖像。為了產(chǎn)生三元組用于訓練本文提出的三分支孿生網(wǎng)絡,首先在訓練集上隨機生成大量的三元組,并且利用式(6)計算損失,接下來根據(jù)損失大小進行降序排序,選取前M個三元組作為網(wǎng)絡的輸入。這樣的做法可以保證在反向傳播時得到更大的梯度,加快網(wǎng)絡的訓練。本文中,實驗M取值為96 000。
本文提出的三分支孿生網(wǎng)絡中,卷積層和PCA 白化層是可訓練的。為了初始化卷積層,將訓練集上的每一組圖像看成一類,訓練一個用于分類的VGG-16,接下來用訓練好的網(wǎng)絡初始化卷積層。PCA 白化層利用訓練集上學習的PCA白化矩陣進行初始化。本文提出的網(wǎng)絡可以接受任意尺寸的圖像,minibatch 設置為32,學習率設置為0.001,實驗使用的GPU 顯卡型號為NVIDIA Tesla P100。

圖5 不同池化方法的性能比較Fig.5 Performance comparison between different pooling techniques
為了驗證本文提出網(wǎng)絡中PCA 白化層的有效性,比較了有無PCA 白化層時的檢索性能,以及有PCA 白化層時不降維與降至256 維的結果,具體如表1 所示。可以看出采用PCA 白化層可以大大提高mAP,主要原因在于其降低了特征之間的相關性。當降至256 維時,mAP 比不降維時有所下降,但依然高于無PCA 白化層時的結果。

表1 有無PCA 白化層的性能比較Table 1 Performance with and without PCA whitening layers %
圖6 中給出了m取不同值時的檢索結果,可以看出,在數(shù)據(jù)集NDDoc_CN 上,當m=1.4 時,檢索效果最好;在數(shù)據(jù)集NDDoc_ENG 上,當m=1.1時,檢索效果最好。

圖6 mAP 隨m 的變化曲線Fig.6 mAP w.r.t.different values of m.
圖7 中給出訓練不同數(shù)目epoch 時檢索性能的變化,可以看出,在數(shù)據(jù)集NDDoc_CN 上,訓練18 個epoch 時取得了最高的mAP,即98.76%。而在數(shù)據(jù)集NDDoc_ENG 上,訓練11 個epoch 時取得了最高的mAP,即96.50%。

圖7 mAP 隨epoch 數(shù)目的變化曲線Fig.7 mAP w.r.t.different number of epochs
為了驗證本文提出方法的有效性,將其與現(xiàn)有近重復圖像檢索方法進行比較。具體來說,將本文提出方法與文獻[5,8,11,15,17-19]中的方法進行比較。其中文獻[5,8,11]采用傳統(tǒng)手工特征進行近重復文本圖像檢索。而文獻[15,17-19]中均采用基于CNN 的方法。在兩個數(shù)據(jù)集上的具體比較結果如表2 所示。

表2 本文提出方法與現(xiàn)有方法檢索性能比較Table 2 Performance comparison between our proposed approach and the other approaches %
根據(jù)表2,可以得出如下結論:
1)對于傳統(tǒng)基于手工特征的近重復文本圖像檢索方法:文獻[5,8,11]分別利用文字之間的空間位置關系、布局以及關鍵點來表示圖像。其中,文獻[5]中的方法在英文數(shù)據(jù)集NDDoc_ENG 上取得了最高的mAP,然而,在中文數(shù)據(jù)集NDDoc_CN 上的性能很差,主要原因在于對于印刷體中文文本圖像來說,文字為方塊字,大小基本一致,并且文字之間沒有空格,進而使得文字之間的空間位置關系具有較低的區(qū)分度[24]。
2)對于采用CNN 的方法,根據(jù)文獻[15,17-19]的實驗結果可知,它們在近重復非文本圖像檢索中具有良好的性能。然而,本文提出的方法在近重復文本圖像檢索方面優(yōu)于其他幾個方法。此外,文獻[19]中的方法將RMAC 池化嵌入到孿生卷積神經(jīng)網(wǎng)絡中,在兩個數(shù)據(jù)集上的mAP 分別為69.62%和48.07%,遠遠低于本文提出方法。由此可以看出,SPoC 池化方法更適合文本圖像。
3)本文所提出的三分支孿生網(wǎng)絡專門針對近重復文本圖像檢索這一任務而設計。所提取的特征對近重復文本圖像之間存在的旋轉、投影變換以及光照變化具有良好的魯棒性,在中英文兩個數(shù)據(jù)集上均取得了令人滿意的效果,mAP 分別達到了98.76%和96.50%。
為了進一步驗證本文提出的近重復文本圖像檢索方法在大規(guī)模數(shù)據(jù)集下的性能,將測試集中分別增加10 000、20 000 以及30 000 個圖像作為干擾,這些圖像均來自RVL-CDIP 數(shù)據(jù)集[25],實驗結果如表3 所示。從表中可以看出,隨著干擾圖像數(shù)量的增加,mAP 有所下降,但仍然具有較好的檢索效果。

表3 測試集加入干擾后的mAPTable 3 mAP of the proposed approach after adding different quantities of distractors to the test set %
本文提出了一種基于三分支孿生網(wǎng)絡的近重復文本圖像檢索方法,可以自動學習近重復文本圖像之間存在的各種變換。訓練時網(wǎng)絡輸入為一個三元組,包括查詢圖像、查詢圖像的近重復圖像以及查詢圖像的非近重復圖像。網(wǎng)絡中每個分支包括卷積層、高斯加權SPoC 池化以及后處理,三個分支共享權重。通過采用三元損失使得查詢圖像和近重復圖像之間的距離小于其與非近重復圖像之前的距離。訓練好后,可以將任意圖像輸入網(wǎng)絡的一個分支提取特征,所提取的特征對近重復文本圖像之間存在的各種變換具有良好的魯棒性。由于目前沒有公開的近重復文本圖像數(shù)據(jù)集,本文新建了2 個近重復文本圖像數(shù)據(jù)集,包括不同語言并且近重復文本圖像之間在光照以及視角等方面均有較大的差異。本文提出的方法在兩個數(shù)據(jù)集上均取得了令人滿意的結果。