李 巖, 張敏藝, 宿漢辰, 李芳芳, 李斌陽
(1.國際關系學院 網(wǎng)絡空間安全學院, 北京 100191;2.中國傳媒大學 廣告學院, 北京 100024;3.中南大學 計算機學院, 湖南 長沙 410083)
場景中的文字包含豐富語義信息,場景文本理解在智能交通系統(tǒng)、地理信息定位等領域均有廣泛應用。 與文本檢測識別[1]等常規(guī)理解任務不同,場景文本檢索[2]是從場景中搜索并定位與給定查詢文本相同或相似的所有文本實例。 具體地,給定待檢索的字符串,文本檢索算法從場景圖像庫中檢索出包含該字符串的圖像,同時定位出該字符串在圖像中的位置。 該項技術存在大量的應用需求,如網(wǎng)絡圖像的安全性審核、圖書館中圖書檢索以及按照知識點切分教學視頻等。
場景文本檢索任務通常需要將待查詢文本與從場景中識別的單詞進行匹配來實現(xiàn)。 隨著深度學習技術的廣泛應用,利用神經(jīng)網(wǎng)絡學習得到待檢索文本與場景文本實例之間的相似度并對其進行排序,選取相似度最高的實例作為最終檢索結(jié)果的方法成為該領域的主流方法[3]。 然而,此類方法在面對不規(guī)則文本實例時,由于無法準確提取不規(guī)則文本區(qū)域從而導致相似度計算的偏差,嚴重影響檢索效果。
為了解決這一問題,本文對現(xiàn)有端到端網(wǎng)絡模型進行重新設計,將不規(guī)則文本提取和跨模態(tài)相似度學習統(tǒng)一融合到同一框架內(nèi),利用學習到的相似度對不規(guī)則文本實例排序,從而實現(xiàn)對不規(guī)則文本的檢索。與現(xiàn)有方法不同,本文提出的方法針對不規(guī)則文本進行特別設計,構建高效精準的文本檢索模型。
傳統(tǒng)的文本檢索方法[2]通常只能用來處理手工裁剪后的文本圖像。 這類方法將待檢索文本字符串與剪裁后的文本圖像映射到同一特征空間中并計算它們之間的距離,挑選距離最短的文本圖像作為檢索結(jié)果。 其中,早期的文本字符串使用金字塔式字符直方圖( Pyramidal Histogram of Character,PHOC)[2]這類手工設計特征,后續(xù)研究工作通過學習萊文斯坦編輯距離[4]直接對文本圖像排序,突破了手工設計特征方法的局限。
然而在場景圖像中,裁剪良好的文本圖像邊界框大都不易被檢測器自動獲取,因此上述方法不能直接應用于場景文本檢索任務。 Mishra 等[5]提出將任務分解為字符檢測識別和文本查詢2 個子任務,采用查詢驅(qū)動的搜索方法,在查詢中找到字符的大致位置,然后施加空間約束以在數(shù)據(jù)庫中生成圖像的排序列表。 然而,這類方法的框架在字符檢測識別過程中采用人工設計的特征,且分割子任務的方式忽略了待檢索文本和檢測到的文本之間的相關性和互補性,性能受到極大限制。 Gómez 等[6]首次引入端到端網(wǎng)絡用于場景文本檢索,可以同時對候選文本及其對應字符的金字塔直方圖特征進行預測。
在端到端可訓練網(wǎng)絡方法中,文本定位模塊的融入可以極大地提升性能。 這類方法首先檢測并識別場景中的所有文本,將場景圖像中包含待檢索文本的概率表示為圖像中定位的文本中出現(xiàn)待檢索文本的頻次。 其中,利用跨模態(tài)相似度學習度量圖像中候選文本與待檢索文本的距離成為當前主流的方法[3]。 該方法通過建立端到端網(wǎng)絡共同優(yōu)化場景文本檢測和跨模態(tài)相似性學習,將場景文本檢索任務轉(zhuǎn)換為對檢測到的候選文本用學習到的相似性度量進行排序的問題。 然而,該方法在面對復雜場景下的不規(guī)則文本時,依然存在嚴重不足。
深度學習技術的出現(xiàn)顯著提高了文本定位的性能,這些方法可以大致分為2 類:基于有錨框方法和無錨框方法。 其中基于有錨框文本檢測器受Faster-RCNN[7]和SSD[7]等經(jīng)典目標檢測器啟發(fā),常用于形狀規(guī)則的文本定位, 如 TextBoxes[8], RRD[9],SSTD[10]和RRPN[11]等。
無錨文本檢測器將文本檢測問題轉(zhuǎn)換為文本分割問題,通常也稱為基于像素級分割的方法。 這種方法可以較好地處理場景中的不規(guī)則文本,通常建立在全卷積網(wǎng)絡( Fully Convolutional Network,FCN)[12]上。 Zhang 等[13]首先用FCN 估計文本并用最穩(wěn)定極值區(qū)域(Maximally Stable Extremal Regions,MSER)方法從這些文本塊中檢測候選字符。Yao 等[14]使用FCN 來預測文本實例的3 個部分,包括文本/非文本、字符類別和字符連接方向,并將其應用于后續(xù)文本檢測過程。 EAST[15]和DeepReg[16]采用FCN 預測可收縮的文本位置可能性分數(shù)圖,對其進行逐像素回歸并進行NMS(Non-Max Suppression) 后處理, 實現(xiàn)較好的文本檢測效果。PSENet[17]利用FCN 預測具有多尺度的文本實例,并采用一種先進的尺度擴展算法重構整個文本實例,可以將距離相近的文本實例有效分割開。 像素聚合網(wǎng)絡(Pixel Aggregation Network,PAN)[18]可以看做PSENet 的改進版本,其核心思想是引入了一種可學習的后處理方法,使其能夠通過預測出的相似向量來引導文字像素去糾正核參數(shù)。
本文所提方法采用的基本框架如圖1[3]所示。主體網(wǎng)絡包括2 個分支;一個是圖像分支,用以提取所有可能的文本候選框的特征E ;另一個是文本分支,將查詢詞Q轉(zhuǎn)換為特征F 。 最后,計算F 和E 的相似度,并進行排序得到最終結(jié)果。 整個網(wǎng)絡將文本檢測、文本轉(zhuǎn)換和相似度計算這3 個任務統(tǒng)一到同一個端到端的網(wǎng)絡中進行聯(lián)合優(yōu)化。
圖1 本文提出的文本檢索框架說明Fig.1 Illustration of proposed text retrieval framework
具體地,圖像分支由文本檢測模塊和序列到序列模塊(Image-S2SM)組成,目的是提取所有可能出現(xiàn)的文本候選框的特征。 針對不規(guī)則文本,本文選取PAN[18]作為文本檢測模塊的主要結(jié)構,詳見2.2 節(jié)。 與一般的目標檢測不同,由于場景文本通常以字符序列的形式出現(xiàn),因此使用基于圖像的Image-S2SM 可以顯著增強每個候選文本的上下文信息,具體結(jié)構如表1 所示。
表1 圖像與文本序列到序列模塊結(jié)構Tab.1 Architecture of Image-S2SM and Text-S2SM
對于給定的一幅圖像,檢測模塊將首先產(chǎn)生K個文本候選框(即產(chǎn)生K個文本實例),通過RoIAlign[19]技術提取感興趣區(qū)域(Region of Interest,RoI)的特征P={pi}K i=1,并將其輸入后續(xù)的Image-S2SM 中,產(chǎn)生特征E∈RK×T×C,其中T和C分別代表RoI 特征的寬度和通道數(shù)。
對于文本分支來說,與圖像不同的是,由于查詢詞無法在神經(jīng)網(wǎng)絡中直接被前向傳播,因此需要利用詞嵌入模塊將查詢詞轉(zhuǎn)化為特征詞。 與Image-S2SM 類似,本分支也使用了Text-S2SM,其結(jié)構詳見表1。 其中,詞嵌入模塊由嵌入層和雙線性插值算子組成。 給定查詢詞Q={qi}N i=1,其中N是查詢詞語集合中的元素個數(shù)(即查詢詞數(shù)),單詞qi可以表示成一個字符序列為單詞qi中所含的字符數(shù),yj是單詞qi的第j個字符的獨熱向量表示。 嵌入層首先將每個字符yj轉(zhuǎn)換為2C維特征,生成每個單詞的嵌入特征序列。 然后,每個特征序列通過串聯(lián)和插值操作成為固定長度特征。 最后,將Q所有特征堆疊為輸出特征∈RN×T×2C。 經(jīng)過單詞嵌入模塊對查詢詞的處理后,得到的特征通過序列到序列模塊映射到F∈RN×T×C,特征E和F將用于后續(xù)的相似度學習任務。
在不規(guī)則文本檢測模塊選取上,本文選取PAN[18],這是一種高效準確的任意形狀文本檢測器,由一個低計算成本的分割模塊和一個后處理模塊組成,整體框架如圖2 所示,主要包含2 個核心步驟:① 分割網(wǎng)絡用于預測文字區(qū)域、核區(qū)域以及相似向量(其中核區(qū)域與PSENet 類似,均為文字區(qū)域的縮放);② 從預測的核區(qū)域中重建完整的文字實例。
圖2 PAN 整體框架Fig.2 Whole framework of PAN
具體地,首先為了加快網(wǎng)絡的推理速度,縮減了骨架網(wǎng)絡ResNet 特征圖的通道數(shù)得到Fr。 在特征提取部分使用了特征金字塔增強模塊(Feature Pyramid Enhancement Module,FPEM)及特征融合模塊(FFM)構建輕量級的特征金字塔網(wǎng)絡(Feature Pyramid Networks,FPN)。 單個FPEM 呈U 形結(jié)構,由向上尺度(Up-scale)增強和向下尺度(Down-scale)增強2 個階段組成。 特征經(jīng)歷自上而下融合與自下而上融合2 個階段,不斷增強各個尺度F1,F2,…,Fnc特征信息。 FPEM 級聯(lián)多個模塊后可以通過FFM 將結(jié)果進行融合,對得到相同尺寸的特征圖進行上采樣及拼接操作,得到最終特征圖Ff。
在像素聚合階段使用了聚類的思想從核中重建完整的文字實例。 將文字實例視為聚類結(jié)果的類群,則文本實例的核為該類群的中心,文本像素為聚類樣本。 為了將文本像素聚類到對應的核,文本像素與和它相同文本之間的距離就要足夠小,即最小化Ldis,同時把不同實例拉遠,即最大化Lagg。 用這樣的方式引導文字像素去糾正核參數(shù),從而提升該模塊對于不規(guī)則文本檢測的能力。
抽取候選文本與查詢詞的特征E ∈RK×T×C和F ∈RN×T×C后,查詢詞Q與候選文本P的相似度可用相似度矩陣(Q,P) ∈RN×K表示。 這里,,j(Q,P)的值為特征Fi與Ej的余弦相似度,其公式為:
式中,V表示將二維矩陣重構為一維向量的算子。在訓練過程中,預測的相似度矩陣(Q,P)由目標相似度矩陣S(Q,P)進行監(jiān)督訓練。 每個目標相似度Si,j(Q,P)為詞對(qi,qj)之間的歸一化編輯距離,用式(2)表示。 其中距離(Distance)是萊文斯坦編輯距離[4],表示單詞qi的字符數(shù)。
除(Q,P)外,還計算(P,P)∈RK×K和(Q,Q)∈RK×K用于輔助訓練。 在推理過程中,qi與輸入圖像的相似度等于(Q,P)的最大值,并以此作為排序依據(jù)。 為了進一步彌補視覺特征E 與文本特征F 之間的語義鴻溝,采用 Connectionist Temporal Classification,即CTC 損失[19]對視覺特征與文本字符串進行對齊。 CTC 損失是計算一種損失值,可以對沒有對齊的數(shù)據(jù)進行自動對齊,主要用在沒有事先對齊的序列化數(shù)據(jù)訓練上。 在本文實驗中,存在很多Sequence to Sequence 結(jié)構,需要在預處理操作時進行對齊,如果不對齊而直接訓練模型,會由于字符間距離的不同,導致模型很難收斂。
對于訓練過程中的損失函數(shù)來說,主要由3 部分組成[3]:
式中,Ld為文本圖像檢測損失[18];Lc為文本圖像對齊的CTC 損失[20];Ls[3]為跨模態(tài)相似學習損失,采用平滑L1 損失函數(shù)Lr進行回歸計算:
式中,和Si為預測的相似度矩陣及其關聯(lián)的目標相似度矩陣;2N和K分別為增強后的查詢詞數(shù)和文本實例數(shù)。
本文使用PyTorch 1.8 版本,在Intel 酷睿i5 CPU,單塊Titan XP GPU 的平臺上進行文本檢索模型的訓練和評估。 實驗與當前最好的文本檢索方法STRTDSL[3]進行對比。 同時,對不規(guī)則文本模塊的骨架網(wǎng)絡選取進行了比較分析及中文檢索應用實驗驗證。
街景文本數(shù)據(jù)集(SVT)[21]有349 張來自谷歌Street View 的圖像。 該數(shù)據(jù)集包含100 張圖像組成的訓練集和249 張圖像組成的測試集。 測試集中含有427 個帶標注的單詞,被用作文本查詢。
場景文本檢索數(shù)據(jù)集(STR)[4]由50 個查詢詞和10 000 張圖像組成。 字體樣式和視角多變,極具挑戰(zhàn)。
Coco 文本檢索數(shù)據(jù)集(CTR)是Coco-Text[22]的一個子集。 從Coco-Text 中選擇500 個帶標注的單詞作為查詢。 然后,在Coco-Text 中使用7 196 張包含此類查詢詞的圖像來形成這個數(shù)據(jù)集。
中文街景文本檢索數(shù)據(jù)集(CSVTR)[3]由23 個預定義的中文查詢詞和從谷歌圖像搜索引擎搜集的1 667 幅中文場景文本圖像組成。 數(shù)據(jù)集共預定義23 個中文查詢詞,每個圖像都用其對應的查詢詞進行標注。
AIDATA 數(shù)據(jù)集是本文建立的一個極具挑戰(zhàn)的不規(guī)則文本數(shù)據(jù)集,包括433 張取自CTW1500[23]和Total-Text[24]數(shù)據(jù)集的圖像,其圖像具有任意形狀文本占比大、文本彎曲程度大的特點,目的是為了更好地驗證本文方法在自然場景特別是任意形狀不規(guī)則文本檢索的有效性。
實驗結(jié)果如表2 所示,MS 代表多尺度測試,該測試通過組合在多種分辨率測試圖的輸出來實現(xiàn)。在本文實驗中,輸入圖像的較長邊分別被調(diào)整為
表2 與最先進的方法在SVT,STR 和CTR 數(shù)據(jù)集上的性能比較Tab.2 Performance comparisons with SOTA text retrieval methods on SVT, STR and CTR dataset
960,1 280 和1 600。 與單尺度測試相比,SVT,STR和CTR 性能分別提高了1.71%,3.24%和1.18%。 不難發(fā)現(xiàn),在所有的數(shù)據(jù)集上,本文方法在推理速度FPS 下降不大的情況下平均準確率均優(yōu)于STR-TDSL 方法。 結(jié)果表明,本文方法能夠在給定查詢詞的情況下準確定位并檢索圖像實例。
表3 為本文方法與STR-TDSL 在AIDATA 上的實驗結(jié)果,不難發(fā)現(xiàn)本文在推理速度FPS 和平均準確率這2 個指標上均超過STR-TDSL 方法20%以上,這一較大差距說明STR-TDSL 方法不具備對彎曲程度大的不規(guī)則文本的有效檢索能力,而本文方法針對不規(guī)則文本檢索的引入的模塊設計是極其有效的。
表3 與最先進的方法在AIDATA 數(shù)據(jù)集上的性能比較Tab.3 Performance comparisons with the SOTA text retrieval method on AIDATA dataset
具體檢索效果示例如圖3 所示,其中第1 排為本文方法檢索結(jié)果,第2 排為STR-TDSL 方法檢索結(jié)果。
圖3 任意形狀文本檢索效果對比Fig.3 Comparison of retrieval effects for text detection with arbitrary shapes
為了驗證不規(guī)則文本檢測模塊中骨干網(wǎng)絡的選取對實驗結(jié)果的影響,將ResNet50 換成輕量級骨干ResNet18 和重量級骨干VGG16。 如表4 所示,在相同的設置下,ResNet50 和VGG16 對CTR 數(shù)據(jù)集性能提升都在1%以上,對AIDATA 的性能提升都在4%以上。 然而,重量級骨干網(wǎng)絡所導致的FPS 下降亦是必然的。
表4 骨架網(wǎng)絡性能比較Tab.4 Backbone performance comparison
正如之前所論述的,跨模態(tài)相似度學習是本文方法的必要組成部分。 從表5 可以看出,與Baseline 方法相比,在SVT,STR 和CTR 數(shù)據(jù)集上,CTC 損失上則比Baseline 方法提高了0.56%,2.07%,1.56%。
表5 CTC 損失的消融實驗(平均準確率)Tab.5 Ablation experiment of CTC loss (mAP scores)單位:%
研究結(jié)果表明了CTC 損失的必要性,CTC 損失可以幫助圖像分支聚焦于文本區(qū)域,從而提取純化的視覺特征,便于跨模態(tài)相似性度量。
為了進一步驗證本文方法對中文文本的通用性,在CSVTR 數(shù)據(jù)集上進行了中文場景文本檢索實驗。 本文方法與STR-TDSL 方法進行了比較。 如表6 所示,在3 755 個字符類型的設置下,本文的方法在推理速度保持12. 4 幀/秒的情況下實現(xiàn)了50.33% 的 平 均 準 確 率。 相 比 STR-TDSL 方 法50.12%的平均準確率略有提升。 結(jié)果表明,本文方法具有較強的魯棒性且易于推廣到非拉丁文本。
表6 CSVTR 數(shù)據(jù)集特征維度、檢索性能和推理時間比較Tab.6 Feature dimension,retrieval performance and inference time comparisons on CSVTR dataset
本文提出了一種結(jié)合任意形狀場景文本檢測和跨模態(tài)相似度學習的端到端框架,該框架可以從自然圖像中搜索與給定查詢文本相同或相似的文本實例。 實驗表明,在3 個基準數(shù)據(jù)集上,該方法的檢索性能均優(yōu)于目前最先進的檢索方法。 此外,本文創(chuàng)建了一個新的彎曲文本數(shù)據(jù)集AIDATA,并在該數(shù)據(jù)集上實現(xiàn)理想檢索效果。
未來的工作可以從兩方面繼續(xù)優(yōu)化:一是任意形狀文本檢測效果的進一步提高,提升框架整體檢測與檢索性能;二是框架內(nèi)容的拓展,本文以跨模態(tài)相似度為基本準則,未來可以利用自然語言處理技術獲取語義上下文信息,以此為準則提升框架整體性能。