李 巖, 張敏藝, 宿漢辰, 李芳芳, 李斌陽
(1.國際關系學院 網絡空間安全學院, 北京 100191;2.中國傳媒大學 廣告學院, 北京 100024;3.中南大學 計算機學院, 湖南 長沙 410083)
場景中的文字包含豐富語義信息,場景文本理解在智能交通系統、地理信息定位等領域均有廣泛應用。 與文本檢測識別[1]等常規理解任務不同,場景文本檢索[2]是從場景中搜索并定位與給定查詢文本相同或相似的所有文本實例。 具體地,給定待檢索的字符串,文本檢索算法從場景圖像庫中檢索出包含該字符串的圖像,同時定位出該字符串在圖像中的位置。 該項技術存在大量的應用需求,如網絡圖像的安全性審核、圖書館中圖書檢索以及按照知識點切分教學視頻等。
場景文本檢索任務通常需要將待查詢文本與從場景中識別的單詞進行匹配來實現。 隨著深度學習技術的廣泛應用,利用神經網絡學習得到待檢索文本與場景文本實例之間的相似度并對其進行排序,選取相似度最高的實例作為最終檢索結果的方法成為該領域的主流方法[3]。 然而,此類方法在面對不規則文本實例時,由于無法準確提取不規則文本區域從而導致相似度計算的偏差,嚴重影響檢索效果。
為了解決這一問題,本文對現有端到端網絡模型進行重新設計,將不規則文本提取和跨模態相似度學習統一融合到同一框架內,利用學習到的相似度對不規則文本實例排序,從而實現對不規則文本的檢索。與現有方法不同,本文提出的方法針對不規則文本進行特別設計,構建高效精準的文本檢索模型。
傳統的文本檢索方法[2]通常只能用來處理手工裁剪后的文本圖像。 這類方法將待檢索文本字符串與剪裁后的文本圖像映射到同一特征空間中并計算它們之間的距離,挑選距離最短的文本圖像作為檢索結果。 其中,早期的文本字符串使用金字塔式字符直方圖( Pyramidal Histogram of Character,PHOC)[2]這類手工設計特征,后續研究工作通過學習萊文斯坦編輯距離[4]直接對文本圖像排序,突破了手工設計特征方法的局限。
然而在場景圖像中,裁剪良好的文本圖像邊界框大都不易被檢測器自動獲取,因此上述方法不能直接應用于場景文本檢索任務。 Mishra 等[5]提出將任務分解為字符檢測識別和文本查詢2 個子任務,采用查詢驅動的搜索方法,在查詢中找到字符的大致位置,然后施加空間約束以在數據庫中生成圖像的排序列表。 然而,這類方法的框架在字符檢測識別過程中采用人工設計的特征,且分割子任務的方式忽略了待檢索文本和檢測到的文本之間的相關性和互補性,性能受到極大限制。 Gómez 等[6]首次引入端到端網絡用于場景文本檢索,可以同時對候選文本及其對應字符的金字塔直方圖特征進行預測。
在端到端可訓練網絡方法中,文本定位模塊的融入可以極大地提升性能。 這類方法首先檢測并識別場景中的所有文本,將場景圖像中包含待檢索文本的概率表示為圖像中定位的文本中出現待檢索文本的頻次。 其中,利用跨模態相似度學習度量圖像中候選文本與待檢索文本的距離成為當前主流的方法[3]。 該方法通過建立端到端網絡共同優化場景文本檢測和跨模態相似性學習,將場景文本檢索任務轉換為對檢測到的候選文本用學習到的相似性度量進行排序的問題。 然而,該方法在面對復雜場景下的不規則文本時,依然存在嚴重不足。
深度學習技術的出現顯著提高了文本定位的性能,這些方法可以大致分為2 類:基于有錨框方法和無錨框方法。 其中基于有錨框文本檢測器受Faster-RCNN[7]和SSD[7]等經典目標檢測器啟發,常用于形狀規則的文本定位, 如 TextBoxes[8], RRD[9],SSTD[10]和RRPN[11]等。
無錨文本檢測器將文本檢測問題轉換為文本分割問題,通常也稱為基于像素級分割的方法。 這種方法可以較好地處理場景中的不規則文本,通常建立在全卷積網絡( Fully Convolutional Network,FCN)[12]上。 Zhang 等[13]首先用FCN 估計文本并用最穩定極值區域(Maximally Stable Extremal Regions,MSER)方法從這些文本塊中檢測候選字符。Yao 等[14]使用FCN 來預測文本實例的3 個部分,包括文本/非文本、字符類別和字符連接方向,并將其應用于后續文本檢測過程。 EAST[15]和DeepReg[16]采用FCN 預測可收縮的文本位置可能性分數圖,對其進行逐像素回歸并進行NMS(Non-Max Suppression) 后處理, 實現較好的文本檢測效果。PSENet[17]利用FCN 預測具有多尺度的文本實例,并采用一種先進的尺度擴展算法重構整個文本實例,可以將距離相近的文本實例有效分割開。 像素聚合網絡(Pixel Aggregation Network,PAN)[18]可以看做PSENet 的改進版本,其核心思想是引入了一種可學習的后處理方法,使其能夠通過預測出的相似向量來引導文字像素去糾正核參數。
本文所提方法采用的基本框架如圖1[3]所示。主體網絡包括2 個分支;一個是圖像分支,用以提取所有可能的文本候選框的特征E ;另一個是文本分支,將查詢詞Q轉換為特征F 。 最后,計算F 和E 的相似度,并進行排序得到最終結果。 整個網絡將文本檢測、文本轉換和相似度計算這3 個任務統一到同一個端到端的網絡中進行聯合優化。

圖1 本文提出的文本檢索框架說明Fig.1 Illustration of proposed text retrieval framework
具體地,圖像分支由文本檢測模塊和序列到序列模塊(Image-S2SM)組成,目的是提取所有可能出現的文本候選框的特征。 針對不規則文本,本文選取PAN[18]作為文本檢測模塊的主要結構,詳見2.2 節。 與一般的目標檢測不同,由于場景文本通常以字符序列的形式出現,因此使用基于圖像的Image-S2SM 可以顯著增強每個候選文本的上下文信息,具體結構如表1 所示。

表1 圖像與文本序列到序列模塊結構Tab.1 Architecture of Image-S2SM and Text-S2SM
對于給定的一幅圖像,檢測模塊將首先產生K個文本候選框(即產生K個文本實例),通過RoIAlign[19]技術提取感興趣區域(Region of Interest,RoI)的特征P={pi}K i=1,并將其輸入后續的Image-S2SM 中,產生特征E∈RK×T×C,其中T和C分別代表RoI 特征的寬度和通道數。
對于文本分支來說,與圖像不同的是,由于查詢詞無法在神經網絡中直接被前向傳播,因此需要利用詞嵌入模塊將查詢詞轉化為特征詞。 與Image-S2SM 類似,本分支也使用了Text-S2SM,其結構詳見表1。 其中,詞嵌入模塊由嵌入層和雙線性插值算子組成。 給定查詢詞Q={qi}N i=1,其中N是查詢詞語集合中的元素個數(即查詢詞數),單詞qi可以表示成一個字符序列為單詞qi中所含的字符數,yj是單詞qi的第j個字符的獨熱向量表示。 嵌入層首先將每個字符yj轉換為2C維特征,生成每個單詞的嵌入特征序列。 然后,每個特征序列通過串聯和插值操作成為固定長度特征。 最后,將Q所有特征堆疊為輸出特征∈RN×T×2C。 經過單詞嵌入模塊對查詢詞的處理后,得到的特征通過序列到序列模塊映射到F∈RN×T×C,特征E和F將用于后續的相似度學習任務。
在不規則文本檢測模塊選取上,本文選取PAN[18],這是一種高效準確的任意形狀文本檢測器,由一個低計算成本的分割模塊和一個后處理模塊組成,整體框架如圖2 所示,主要包含2 個核心步驟:① 分割網絡用于預測文字區域、核區域以及相似向量(其中核區域與PSENet 類似,均為文字區域的縮放);② 從預測的核區域中重建完整的文字實例。

圖2 PAN 整體框架Fig.2 Whole framework of PAN
具體地,首先為了加快網絡的推理速度,縮減了骨架網絡ResNet 特征圖的通道數得到Fr。 在特征提取部分使用了特征金字塔增強模塊(Feature Pyramid Enhancement Module,FPEM)及特征融合模塊(FFM)構建輕量級的特征金字塔網絡(Feature Pyramid Networks,FPN)。 單個FPEM 呈U 形結構,由向上尺度(Up-scale)增強和向下尺度(Down-scale)增強2 個階段組成。 特征經歷自上而下融合與自下而上融合2 個階段,不斷增強各個尺度F1,F2,…,Fnc特征信息。 FPEM 級聯多個模塊后可以通過FFM 將結果進行融合,對得到相同尺寸的特征圖進行上采樣及拼接操作,得到最終特征圖Ff。
在像素聚合階段使用了聚類的思想從核中重建完整的文字實例。 將文字實例視為聚類結果的類群,則文本實例的核為該類群的中心,文本像素為聚類樣本。 為了將文本像素聚類到對應的核,文本像素與和它相同文本之間的距離就要足夠小,即最小化Ldis,同時把不同實例拉遠,即最大化Lagg。 用這樣的方式引導文字像素去糾正核參數,從而提升該模塊對于不規則文本檢測的能力。
抽取候選文本與查詢詞的特征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)進行監督訓練。 每個目標相似度Si,j(Q,P)為詞對(qi,qj)之間的歸一化編輯距離,用式(2)表示。 其中距離(Distance)是萊文斯坦編輯距離[4],表示單詞qi的字符數。
除(Q,P)外,還計算(P,P)∈RK×K和(Q,Q)∈RK×K用于輔助訓練。 在推理過程中,qi與輸入圖像的相似度等于(Q,P)的最大值,并以此作為排序依據。 為了進一步彌補視覺特征E 與文本特征F 之間的語義鴻溝,采用 Connectionist Temporal Classification,即CTC 損失[19]對視覺特征與文本字符串進行對齊。 CTC 損失是計算一種損失值,可以對沒有對齊的數據進行自動對齊,主要用在沒有事先對齊的序列化數據訓練上。 在本文實驗中,存在很多Sequence to Sequence 結構,需要在預處理操作時進行對齊,如果不對齊而直接訓練模型,會由于字符間距離的不同,導致模型很難收斂。
對于訓練過程中的損失函數來說,主要由3 部分組成[3]:
式中,Ld為文本圖像檢測損失[18];Lc為文本圖像對齊的CTC 損失[20];Ls[3]為跨模態相似學習損失,采用平滑L1 損失函數Lr進行回歸計算:
式中,和Si為預測的相似度矩陣及其關聯的目標相似度矩陣;2N和K分別為增強后的查詢詞數和文本實例數。
本文使用PyTorch 1.8 版本,在Intel 酷睿i5 CPU,單塊Titan XP GPU 的平臺上進行文本檢索模型的訓練和評估。 實驗與當前最好的文本檢索方法STRTDSL[3]進行對比。 同時,對不規則文本模塊的骨架網絡選取進行了比較分析及中文檢索應用實驗驗證。
街景文本數據集(SVT)[21]有349 張來自谷歌Street View 的圖像。 該數據集包含100 張圖像組成的訓練集和249 張圖像組成的測試集。 測試集中含有427 個帶標注的單詞,被用作文本查詢。
場景文本檢索數據集(STR)[4]由50 個查詢詞和10 000 張圖像組成。 字體樣式和視角多變,極具挑戰。
Coco 文本檢索數據集(CTR)是Coco-Text[22]的一個子集。 從Coco-Text 中選擇500 個帶標注的單詞作為查詢。 然后,在Coco-Text 中使用7 196 張包含此類查詢詞的圖像來形成這個數據集。
中文街景文本檢索數據集(CSVTR)[3]由23 個預定義的中文查詢詞和從谷歌圖像搜索引擎搜集的1 667 幅中文場景文本圖像組成。 數據集共預定義23 個中文查詢詞,每個圖像都用其對應的查詢詞進行標注。
AIDATA 數據集是本文建立的一個極具挑戰的不規則文本數據集,包括433 張取自CTW1500[23]和Total-Text[24]數據集的圖像,其圖像具有任意形狀文本占比大、文本彎曲程度大的特點,目的是為了更好地驗證本文方法在自然場景特別是任意形狀不規則文本檢索的有效性。
實驗結果如表2 所示,MS 代表多尺度測試,該測試通過組合在多種分辨率測試圖的輸出來實現。在本文實驗中,輸入圖像的較長邊分別被調整為

表2 與最先進的方法在SVT,STR 和CTR 數據集上的性能比較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%。 不難發現,在所有的數據集上,本文方法在推理速度FPS 下降不大的情況下平均準確率均優于STR-TDSL 方法。 結果表明,本文方法能夠在給定查詢詞的情況下準確定位并檢索圖像實例。
表3 為本文方法與STR-TDSL 在AIDATA 上的實驗結果,不難發現本文在推理速度FPS 和平均準確率這2 個指標上均超過STR-TDSL 方法20%以上,這一較大差距說明STR-TDSL 方法不具備對彎曲程度大的不規則文本的有效檢索能力,而本文方法針對不規則文本檢索的引入的模塊設計是極其有效的。

表3 與最先進的方法在AIDATA 數據集上的性能比較Tab.3 Performance comparisons with the SOTA text retrieval method on AIDATA dataset
具體檢索效果示例如圖3 所示,其中第1 排為本文方法檢索結果,第2 排為STR-TDSL 方法檢索結果。

圖3 任意形狀文本檢索效果對比Fig.3 Comparison of retrieval effects for text detection with arbitrary shapes
為了驗證不規則文本檢測模塊中骨干網絡的選取對實驗結果的影響,將ResNet50 換成輕量級骨干ResNet18 和重量級骨干VGG16。 如表4 所示,在相同的設置下,ResNet50 和VGG16 對CTR 數據集性能提升都在1%以上,對AIDATA 的性能提升都在4%以上。 然而,重量級骨干網絡所導致的FPS 下降亦是必然的。

表4 骨架網絡性能比較Tab.4 Backbone performance comparison
正如之前所論述的,跨模態相似度學習是本文方法的必要組成部分。 從表5 可以看出,與Baseline 方法相比,在SVT,STR 和CTR 數據集上,CTC 損失上則比Baseline 方法提高了0.56%,2.07%,1.56%。

表5 CTC 損失的消融實驗(平均準確率)Tab.5 Ablation experiment of CTC loss (mAP scores)單位:%
研究結果表明了CTC 損失的必要性,CTC 損失可以幫助圖像分支聚焦于文本區域,從而提取純化的視覺特征,便于跨模態相似性度量。
為了進一步驗證本文方法對中文文本的通用性,在CSVTR 數據集上進行了中文場景文本檢索實驗。 本文方法與STR-TDSL 方法進行了比較。 如表6 所示,在3 755 個字符類型的設置下,本文的方法在推理速度保持12. 4 幀/秒的情況下實現了50.33% 的 平 均 準 確 率。 相 比 STR-TDSL 方 法50.12%的平均準確率略有提升。 結果表明,本文方法具有較強的魯棒性且易于推廣到非拉丁文本。

表6 CSVTR 數據集特征維度、檢索性能和推理時間比較Tab.6 Feature dimension,retrieval performance and inference time comparisons on CSVTR dataset
本文提出了一種結合任意形狀場景文本檢測和跨模態相似度學習的端到端框架,該框架可以從自然圖像中搜索與給定查詢文本相同或相似的文本實例。 實驗表明,在3 個基準數據集上,該方法的檢索性能均優于目前最先進的檢索方法。 此外,本文創建了一個新的彎曲文本數據集AIDATA,并在該數據集上實現理想檢索效果。
未來的工作可以從兩方面繼續優化:一是任意形狀文本檢測效果的進一步提高,提升框架整體檢測與檢索性能;二是框架內容的拓展,本文以跨模態相似度為基本準則,未來可以利用自然語言處理技術獲取語義上下文信息,以此為準則提升框架整體性能。