CRAFT: Character Region Awareness for Text Detection ---- 論文翻譯

基於字符區域感知的文本檢測

論文地址:https://arxiv.org/abs/1904.01941

摘要

  最近出現了基於神經網絡的場景文本檢測方法,並且已經顯示出可觀的結果。之前的方法使用嚴格的單詞級別的邊界框訓練,在表示任意形狀的文本區域會有所限制。在本文中,我們提出了一種新的場景文本檢測方法,通過探索每個字符和字符之間的親和力來有效地檢測文本區域。爲了克服缺乏單個字符級註釋的缺點,我們提出的框架利用了合成圖像的給定字符級註釋和通過學習中間模型估計的真實圖像的字符級 ground-truths。爲了估計字符之間的親和力(affinity),使用新提出的關聯性表示來訓練網絡。在六項基準上拓展試驗,包括TotalText和CTW-1500數據集,其中包含自然圖像中的高度彎曲文本,表明我們的字符級文本檢測明顯優於最先進的檢測器。根據結果,我們提出的方法保證了檢測複雜場景文本圖像的高度靈活性,例如任意形狀的,彎曲的或變形的文本。

1. 介紹

   場景文本檢測由於它的衆多應用在計算機視覺上引起了很大的關注,例如即時翻譯,圖像檢索,場景解析,地理位置和盲導航。最近,在深度學習上的場景文本檢測展示處理可觀的表現。這些方法主要通過定位單詞級別的邊界框訓練他們的網絡。但是,它們可能會遇到困難的情況,例如彎曲,變形或極長的文本,這些是很難使用單個邊框檢測到。另外,通過以自下而上的方式連接連續的字符來處理具有挑戰性的文本時,字符感知具有許多優點。不幸的是,大多數現有的文本數據集都沒有提供字符級別的註釋,而獲得字符級別的ground_truth所需的工作成本太高。

   在本文中,我們提出了一個新穎的檢測器去定位單個字符區域,然後把連接檢測到的字符連接成一個文本實例。我們的框架CRAFT使用CNN,產生字符區域分數(region score)和親和力分數(affinity score)。使用區域分數來定位圖像中的單個字符,使用親和力分數把每一個字符進行分組到單個實例中。爲了補償字符級別註釋的缺點,我們提出了一個弱監督學習框架使用單詞級別的數據集估計字符級別的ground-truths。

   圖1是CRAFT在各種形狀的文本上的可視化結果。利用字符區域感知,各種形狀的文本很容易表示。我們在ICDAR數據集上進行了大量實驗來驗證我們的方法,實驗表明,提出的方法優於最新的文本檢測器。在MSRA-TD500,CTW-1500和TotalText數據集上的實驗顯示提出方法在複雜情況下的高度靈活性,例如長的,彎曲的,任意形狀的文本。

在這裏插入圖片描述



圖1. 使用CRAFT的字符級檢測結果

2. 相關工作

   在深度學習之前,場景文本檢測的主要趨勢是自上而下,大多數使用手工提取特徵(例如MSER 或 SWT)作爲基礎的組件。最近,通過採用流行的物體檢測/分割方法,如SSD,Faster R-CNN和FCN,提出了基於深度學習的文本檢測器。

    基於迴歸的文本檢測器 各種使用邊框迴歸的文本檢測器都是從已經提出的流行的目標檢測器改動來的。與通用目標不同,文本通常以具有各種寬高比的不規則形狀呈現。 爲了解決這個問題,TextBoxes 修改了卷積內核和anchor,以有效地捕獲各種文本形狀。 DMPNet試圖通過結合四邊形滑動窗口來進一步減少這個問題。 最近,Rotation-Sensitive Regression Detector (RSDD) 通過旋轉卷積核,充分利用了旋轉不變特徵。 然而,在使用這些方法時,獲取自然場景下的所有形狀時會有一些結構限制。

   基於分割的文本檢測器 另一種常見的方法是基於處理分割的工作,其目的是在像素級尋找文本區域。這些方法通過估計單詞邊界區域來檢測文本,例如多尺度FCN,Holistic-prediction和PixelLink,也已經提出使用分割作爲其基礎。SSTD試圖通過使用注意機制通過減少特徵級別的背景干擾來增強文本相關區域,從而從迴歸和分割方法中受益。最近,TextSnake 通過預測文本區域和中心線以及幾何屬性來檢測文本實例。

    端到端的文本檢測器 端到端方法同時訓練檢測和識別模塊,通過利用識別結果來提高檢測精度。FOTS 和EAA 結合了流行的檢測和識別方法,並以端到端的方式對它們進行訓練。Mask TextSpotter 利用其統一模型將識別任務視爲語義分割問題。很明顯,使用識別模塊進行訓練有助於文本檢測器對像文本的背景噪點更加健壯。

​  大多數方法以單詞爲單位檢測文本,但是對檢測單詞的範圍的定義非常重要的,因爲單詞可以通過各種標準分隔,例如含義,空格或顏色。另外,不能嚴格定義分詞的邊界,因此詞段本身沒有明顯的語義含義。對於迴歸和分割方法,單詞註釋的模糊性淡化了ground-truth的含義。

    字符級別的文本檢測器 Zhang 等人提出了一種使用 MSER 提取的文本塊候選的字符級檢測器。它使用MSER識別單個字符限制了它在某些情況下的檢測魯棒性,例如低對比度,曲率和光反射的場景。Yao等人使用了字符的預測 map 以及文本詞區域的 map 和請求的字符級別註釋的連接方向。Seglink 不是明確的字符級別預測,而是搜索文本網格(部分文本片段)並將這些片段與其他鏈接預測相關聯。即使Mask TextSpotter 預測了字符級概率圖,它也被用於文本識別而不是發現單個字符。

    這項工作的靈感來自WordSup 的想法,它使用弱監督框架來訓練字符級別的檢測器。然而,Wordsup的一個缺點是用矩形anchor來表示字符,使其易受由各種攝像機視角引起的字符的透視變形的影響。此外,它受骨架結構性能的限制(使用SSD並受anchor數量及其尺寸的限制)。

3. 方法

    我們的主要目的是 精確地定位自然圖像中的每一個字符 。爲此,我們訓練了一個深度神經網絡去預測字符區域和字符之間的親和力。由於沒有可用的公共字符集數據集,因此以弱監督的方式訓練模型。

3.1 結構

    基於VGG-BN的全卷積神經網絡作爲主幹網絡。我們的模型在解碼部分中跳過連接,這類似於U-net,因爲它聚合了低級特徵。最終的輸出有兩個通道作爲score map:region score 和 affinity score。網絡架構在圖2中展示。

在這裏插入圖片描述

圖2. 網絡結構

3.2 訓練

3.2.1 Ground Truth Label 生成

對於每一張圖像,我們爲 region score 和 affinity score 生成帶有字符級別邊界框的 ground truth label。region score 表示給定的像素是字符中心的概率,affinity score 表示相鄰兩個字符中間空白區域中心的概率。

    不像二進制分割圖以離散方式標記每個像素,我們使用高斯熱圖對字符中心的概率進行編碼。該熱圖表示已經用於其他應用,例如姿勢估計工作,因爲它在處理非嚴格限制的ground truth 區域時具有高度的靈活性。我們使用熱圖表示去學習region score和 affinity score。

    圖3 總結了一個合成圖像的 label 生成流程。直接計算在邊界框中的每一個像素的高斯分佈值是非常耗時的。由於圖像上的字符邊界框通常通過透視投影扭曲,所以我們使用以下的步驟來近似生成 region score 和 affinity score的 ground truth:1)準備一個二維各向同性高斯映射;2)計算高斯圖區域和每個字符框之間的透視變換;3)把高斯圖映射到字符框區域。

    對於affinity score的 ground truth,親和(affinity)框是通過相鄰字符框定義的,如圖3 所示。通過連接每個字符框的對角畫出對角線,生成兩個三角形(我們將其成爲上下三角形)。然後,對於每對相鄰字符框,通過將上下三角形的中心設置爲框的角來生成親和框。

在這裏插入圖片描述

圖3. region score 和 affinity score 的GT生成

    儘管使用了小的感受野,但提出的 ground truth 定義使模型能夠充分檢測大的或長的文本實例。另一方面,像基於邊框迴歸先前方法在這種情況下需要大的感受野。我們的字符級檢測使得卷積核可以僅關注字符內和字符間,而不是整個文本實例。

3.2.2 弱監督學習

與合成數據集不同,數據集中的真實圖像通常是單詞級註釋。 在這裏,我們以弱監督的方式從每個單詞級註釋生成字符框,如圖4所示。當提供具有單詞級註釋的真實圖像時,學習的中間模型預測裁剪的單詞圖像的字符區域分數以生成字符級邊界框。爲了反映中間模型預測的可靠性,每個單詞框上的置信度圖的值與檢測到的字符數除以ground truth字符的數量成比例,用於學習訓練期間權重。
在這裏插入圖片描述

圖4. 整體訓練流程

    圖6顯示了分割字符的整個過程。首先,從原始圖像裁剪詞級圖像。 其次,最新訓練的模型預測了region score。 第三,分水嶺算法用於分割字符區域,用於使字符邊界框覆蓋區域。最後,使用來自裁剪步驟的逆變換將字符框的座標變換回原始圖像座標。region score 和 affinity score 的 pseudo-ground truths(pseudoGTs)可以通過圖3中描述的步驟使用獲得的四邊形字符級邊界框生成。

    當使用弱監督訓練模型時,我們被迫訓練不完整的 pseudo-GTs。 如果使用不準確的區域分數訓練模型,則輸出可能在字符區域內模糊。爲了防止這種情況,我們去衡量模型生成的每個 pseudo-GTs 的質量。幸運的是,文本註釋中有一個非常有用的線索,即單詞長度。 在大多數數據集中,提供了單詞的轉錄,並且單詞的長度可用於評估 pseudo-GTs 的置信度。

    對於訓練數據的單詞級註釋樣本 ww, 讓 R(w)R(w)l(w)l(w) 分別代表樣本 ww 的邊框區域和單詞長度。根據字符分割流程,我們可以獲得估計的字符邊界框和他們相應的字符長度 lc(w)l^c(w) 。然後樣本 ww 的置信分數 sconf(w)s_{conf}(w)​ 可以這樣計算,
(1)sconf(w)=l(w)min(l(w),l(w)lc(w))l(w) s_{conf}(w) = \frac{l(w) - min(l(w), |l(w) - l^c(w)|)}{l(w)} \tag{1}
一張圖像的像素級置信圖 ScS_c 可以這樣計算,
(2)Sc(p)={sconf(w)pR(w)1otherwise S_c(p) = \begin{cases} s_{conf}(w) \quad p \in R(w) \\ 1 \qquad \qquad \rm{otherwise} \end{cases} \tag{2}
其中 pp 代表在區域 R(w)R(w) 中的像素。目標 LL 定義爲,
(3)L=pSc(p)(Sr(p)Sr(p)22+Sa(p)Sa(p)22) L = \sum_{p} S_c(p) \cdot (||S_r(p) - S^*_r(p)||^2_2 + ||S_a(p) - S^*_a(p)||^2_2) \tag{3}
其中 Sr(p)S^*_r(p)Sa(p)S^*_a(p) 分別代表 region score 和 affinity map 的 pseudo-ground truth ,Sr(p)S_r(p)Sa(p)S_a(p) 分別表示預測的 region score和 affinity score。使用合成數據訓練時,我們可以獲得真的ground truth,所以 Sc(p)S_c(p) 設置爲1。

在這裏插入圖片描述

圖5. 訓練期間的字符區域 score map

    隨着訓練的進行,CRAFT模型可以更準確地預測字符,並且置信度得分 sconf(w)s_{conf}(w)也逐漸增加。圖5 顯示了訓練期間的字符score map。在訓練的早期,對於自然圖像中不熟悉的文本,region score相對較低。該模型學習新文本的外觀,例如不規則字體,以及與 SynthText 數據集具有不同數據分佈的合成文本。

    如果置信分數 sconf(w)s_{conf}(w) 低於0.5,估計的字符邊界框應該忽視,因爲在訓練模型時,他們會產生不良影響。在這種情況下,我們假設單個字符的寬度是常數,並通過簡單地將詞區域 R(w)R(w) 除以字符數 l(w)l(w) 來計算字符級預測。然後, sconf(w)s_{conf}(w)​ 設置爲 0.5 學習看不見的文本。
在這裏插入圖片描述

圖6. 字符分割流程

3.3 推理

    在推理階段,最終輸出可以以各種形狀傳遞,例如單詞框或者字符框,以及其他多邊形。對於像ICDAR這種數據集,評估方法是單詞級的IoU,所以這裏我們描述怎樣通過一個簡單且有效的後處理步驟把預測的 SrS_r​SaS_a​ 生成單詞級的邊框 QuadBoxQuadBox​

    生成邊框的後處理總結如下。首先,覆蓋圖像的二進制圖 MM 初始化爲0。如果 Sr(p)>τrS_r(p) > \tau_r 或者 Sa(p)>τaS_a(p) > \tau_aM(p)M(p) 設置爲1,其中 τr\tau_r 是區域閾值,τa\tau_a 是親和力閾值。第二,在 MM 上使用連通區域標記法(Connected Component Labeling,CCL)。最後,通過找到旋轉的矩形來獲得 QuadBoxQuadBox,在封閉的最小區域連接對應於每個標籤的組件。像OpenCV的函數 connectedComponentsconnectedComponentsminAreaRectminAreaRect 都可以使用。

    請注意,CRAFT的一個優點是它不需要任何進一步的後處理方法,如非極大抑制(NMS)。 因爲我們有通過CCL分隔的單詞圖像區域,因此單詞的邊界框僅由單個封閉的矩形框定義。另一方面,我們的字符連接過程是在像素級進行的,這與其他基於連接的方法不同,它們是依賴於明確地搜索文本組件之間的關係。

    此外,我們可以圍繞整個字符區域生成多邊形,以有效地處理曲線文本。 多邊形生成的過程如圖7所示。第一步是沿掃描方向找到字符區域的局部最大值線,如圖中的藍色箭頭。局部最大線的長度被相等地設置爲它們中的最大長度,以防止最終的多邊形結果變得不均勻。連接全部局部最大線的中點的線是中心線,在圖中爲黃色。然後旋轉局部最大線以垂直於中心線,反映字符的傾斜角度,圖中爲紅色。局部最大值線的端點是文本多邊形的控制點的候選點。爲了完全覆蓋文本區域,我們沿着局部最大中心線向外移動兩個最外邊的傾斜的局部最大值線,形成最終控制點(綠點)。

在這裏插入圖片描述

圖7. 任意形狀文本的多邊形生成

4. 實驗

4.1 數據集

ICDAR2013 (IC13)是在ICDAR 2013 Robust Reading Competition競賽中對於場景文本檢測提出的,包含高分辨率圖像,229張訓練圖像和233張測試圖像,包含英文文本。註釋是單詞矩形框。

ICDAR2015 (IC15)是在ICDAR 2015 Robust Reading Competition競賽中附帶的場景文本檢測介紹的,包含1000張訓練圖像和500張測試圖像,都包含英文文本。註釋是單詞四邊形框。

ICDAR2017 (IC17)包含7200張訓練圖像,1800張驗證圖像,9000張測試圖像,有9種語言的多語言場景文本檢測。與IC15類似,在IC17中的文本區域也是通過4個頂點的四邊形註釋的。

MSRA-TD500 (TD500)包含500張自然圖像,分爲300張訓練圖像和200張測試圖像,使用相機在室內和室外收集的。圖像包含英文和中文腳本。 文本區域由旋轉的矩形註釋。

TotalText (TotalText)最近在ICDAR 2017上展出,包含1255個訓練和300個測試圖像。 它特別提供了彎曲的文本,這些文本由多邊形和詞級轉錄註釋。

CTW-1500 (CTW)包含1000張訓練和500張測試圖像。每一張圖像都有彎曲文本實例,通過14個點的多邊形註釋。

4.2 訓練策略

    訓練流程包括兩步:首先使用合成數據集(SynthText)訓練50K個迭代,然後採用每個基準數據集來微調模型。在ICDAR 2015和ICDAR2017中的一些“DO NOT CARE”文本區域通過設置 sconf(w)=0s_{conf}(w) =0 進行忽視。在全部的訓練中使用 ADAM優化器。對於多GPU訓練,訓練和監督GPU是分開的,由監督GPU生成的 pseudo-GTs 存儲在內存中。在微調期間,SynthText數據集也以1:5的比率使用,以確保字符區域肯定是分開的。爲了濾除自然場景中的紋理文本,以 1:31:3 的比例使用在線硬負挖掘(On-line Hard Negative Mining)。此外,還應用了基本數據增強技術,如裁剪,旋轉和/或顏色變化。

    弱監督培訓需要兩種類型的數據;用於裁剪單詞圖像的四邊形註釋和用於計算單詞長度的轉錄。滿足這些條件的數據集是IC13,IC15和IC17。其他數據集(如MSRA-TD500,TotalText和CTW-1500)不符合要求。MSRA-TD500不提供轉錄,而TotalText和CTW-1500僅提供多邊形註釋。因此,我們僅在ICDAR數據集上訓練CRAFT,並在沒有微調的情況下對其他數據集進行測試。使用ICDAR數據集訓練兩種不同的模型。 第一個模型在IC15上進行訓練,僅評估IC15。 第二個模型同時在IC13和IC17上進行訓練,用於評估其他五個數據集。沒有額外的圖像用於訓練。 微調的迭代次數設置爲25k。

4.3 實驗結果

四邊形數據集(ICDAR和MSRATD500) 所有實驗均以單一圖像分辨率進行。 IC13,IC15,IC17和MSRA-TD500中圖像的較長邊分別調整爲960,2240,2560和1600。表1列出了ICDAR和MSRA-TD500數據集上各種方法的 h-mean 得分。爲了與端到端方法進行公平比較,我們通過參考原始論文來獲取其僅檢測結果。我們在所有數據集上實現了最先進的表現。此外,由於簡單而有效的後處理,CRAFT在IC13數據集上的運行速度爲8.6 FPS,相對較快。

    對於MSRA-TD500,提供的是行註釋,包括框中單詞之間的空格。 因此,需要組合單詞框的後處理步驟。如果一個框的右側和另一個框的左側足夠接近,則將兩個框組合在一起。即使沒有在TD500訓練集上進行微調,CRAFT仍然優於表1所示的所有其他方法。
在這裏插入圖片描述

表1. 四邊形數據集的結果

多邊形數據集 (TotalText和CTW-1500)在TotalText和CTW-1500上直接訓練模型是一項挑戰,因爲它們的註釋形狀爲多邊形,這使得在弱監督訓練期間分割字符框的文本區域裁剪變得複雜化。因此,我們只使用了IC13和IC17的訓練圖像,並且沒有進行微調以學習這些數據集提供的訓練圖像。在推理步驟中,我們使用region score中的多邊形生成後處理來處理提供的多邊形類型註釋。

   這些數據集的實驗也是以單一圖像分辨率執行的。 TotalText和CTW-1500中圖像的較長邊分別調整爲1280和1024。 多邊形數據集的實驗結果如表2所示。與其他方法相比,CRAFT的字符定位能力使我們能夠在檢測任意形狀的文本方面實現更強大和更優越的性能。特別地,TotalText數據集具有各種變形,包括如圖8所示的彎曲文本,對於這些變形,基於四邊形的文本檢測器的推斷是不可行的。因此,可以在這些數據集上評估非常有限數量的方法。

   在CTW-1500數據集的情況下,兩個困難的特徵共存,即提供的行註釋和任意形狀的多邊形。爲了在這種情況下幫助CRAFT,我們稱之爲LinkRefiner的小型連接細化網絡與CRAFT結合使用。LinkRefiner的輸入是regoin score,affinity score 和CRAFT的中間 feature map 的拼接,輸出是針對長文本調整的refined affinity score(精確親和力分數)。爲了組合字符,使用 refined affinity score 代替原始的affinity score,然後生成多邊形的方式與TotalText生成多邊形的方式相同。固定住CRAFT,只在CTW-1500數據集上訓練 LinkRefiner。 LinkRefiner的詳細實現在補充材料中。如表2所示,所提出的方法實現了最先進的性能。

在這裏插入圖片描述

表2. 多邊形數據集的結果

在這裏插入圖片描述
圖8. 在TotalText數據集上的結果

4.4 討論

尺度變化的魯棒性 我們僅在所有數據集上進行單尺度實驗,即使文本的大小非常多樣化。這與大多數其他方法不同,他們依靠多尺度測試來處理尺度變化問題。這個優勢來自於我們方法是定位單個字符而不是整個文本。相對較小的感受野足以覆蓋大圖像中的單個字符,這使得CRAFT在檢測尺度變化文本時具有魯棒性。

多語言問題 IC17數據集包含孟加拉語和阿拉伯語字符,這些字符未包含在合成文本數據集中。 而且,兩種語言都難以單獨分割成字符,因爲每個字符都是很草地寫成的。因此,我們的模型無法區分孟加拉語和阿拉伯語,以及拉丁語,韓語,中文和日語。在東亞字符的情況下,它們可以很容易地以恆定的寬度分開,這有助於通過弱監督訓練模型的高性能。

與端到端方法的比較 我們的方法僅使用 ground truth 實例框進行檢測,但與其他端到端方法相當,如表3所示。通過對失敗案例的分析,我們期望我們的模型能夠從識別結果中受益,特別是當 ground truth 詞語被語義分離而不是視覺線索時。

泛化能力 我們的方法在3個不同的數據集上實現了最新的性能,無需額外的微調。這表明我們的模型能夠捕獲文本的一般特徵,而不是過度擬合特定的數據集。

5. 結論

    我們提出了一種名爲CRAFT的新型文本檢測器,它可以檢測單個字符,即使沒有給出字符標註。 所提出的方法提供了字符 region score 和字符affinity score,它們一起以自下而上的方式完全覆蓋各種文本形狀。由於提供了字符級註釋的真實數據集很少,我們提出了一種弱監督學習方法,可以從中間模型生成 pseudo-ground truthes。CRAFT在大多數公共數據集上展示了最先進的性能,並通過顯示這些性能而無需微調來展示泛化能力。作爲我們未來的工作,我們希望以端到端的方式使用識別模型訓練我們的模型,以瞭解CRAFT的性能,穩健性和普遍性是否轉化爲更好的場景文本定位系統。

CTW-1500數據集的 LinkRefiner

在這裏插入圖片描述

圖9. LinkRefiner結構

    CTW-1500數據集只提供了多邊形註釋,沒有文本轉錄。而且只有行級註釋,沒有空格。這遠非我們對親和力的假設,即對於在它們之間具有空格的字符,親和力的分數爲零。

    爲了從檢測到的字符中獲取單個長的多邊形,我們使用一個網絡進行連接細化,即所謂的LinkRefiner。結構如圖9所示。LinkRefiner的輸入是 region score 和 affinity score 和網絡中間 feature map的拼接,中間feature map是原始CRAFT模型的Stage4的輸出。採用ASPP來確保用於將字符和單詞組合到統一文本行的大感受野。

    對於 LinkRefiner 的 ground truth,簡單地在註釋多邊形的成對控制點的中心之間繪製線,這類似於中使用的文本線生成。每條線的寬度與成對控制點之間的距離成比例。LinkRefiner的ground truth生成如圖10所示。這個模型的輸出稱爲 link score。對於訓練,固定CRAFT不變,只在CTW1500數據集上訓練Linkrefiner。

    訓練後,我們得到模型產生的輸出,即region score,affinity score和 link score。link score被用來代替 affinity score,文本多邊形完全通過與TotalText相同的過程獲得。CRAFT模型定位單個字符,LinkRefiner模型將字符以及由空格分隔的單詞組合在一起,用來做CTW1500評估。CTW-1500的結果如圖11所示。通過所提出的方法成功地檢測到有挑戰的具有長文本和彎曲文本。此外,利用我們的多邊形表示,可以將曲線圖像校正爲直文圖像,這也在圖11中示出。我們相信這種整改能力可以進一步用於識別任務。

在這裏插入圖片描述

圖10. LinkRefiner的ground truth 生成

在這裏插入圖片描述[外鏈圖片轉存失敗(img-6JGF1JJX-1564488244256)(./圖11-2 CTW-1500數據集的結果.png)]在這裏插入圖片描述
圖11. CTW-1500數據集的結果

對於每一類,輸入圖像(上),region score(中左),link score(中右),彎曲文本的修正多邊形結果(底部,箭頭下方)。請注意,未在CTW-1500數據集中呈現親和力分數並且未使用它們。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章