菜鳥讀文獻系列(三)

2021-07-27 17:52:31 字數 4651 閱讀 9985

end-to-end text recognition with convolutional neural networks

卷積神經網路的端到端文字識別

摘要:在自然影象中的完全端到端文字識別是乙個具有挑戰性的問題,近來已經受到極大關注。在這一領域的傳統系統依靠精心設計的模型結合仔細手工工程特徵或大量的先驗知識。在本文中,我們採取不同的路線,並結合大型多層神經網路的表示力量與無監督特徵學習的最近發展,這允許我們使用通用框架來訓練高精度文字檢測器和字元識別器模組。然後,只使用簡單的現成方法,我們將這兩個模組整合到乙個完整的端到端,詞典驅動,場景文字識別系統,實現了標準基準的最先進的效能,即街道 檢視文字和icdar 2003。

1簡介

從自然影象中提取文字資訊是許多實際應用中的乙個具有挑戰性的問題。與掃瞄文件的字元識別不同,在無約束影象中識別文字由於背景,紋理,字型和照明條件的廣泛變化而變得複雜。因此,許多文字檢測和識別系統依賴於巧妙地手工設計的特徵來表示基礎資料。還經常需要複雜的模型,例如條件隨機場或影象結構,以將原始檢測/識別輸出組合成乙個完整的系統。在本文中,我們從不同的角度攻擊這個問題。對於低階資料表示,我們使用無人監督的特徵學習演算法,可以自動從給定資料提取特徵。這樣的演算法在諸如視覺識別和動作識別的許多相關領域中已經獲得了許多成功。在文字識別的情況下,系統在文字檢測和字元識別中使用簡單且可擴充套件的特徵學習架構來實現競爭性結果,其包括非常少的手工工程和先驗知識。我們將這些學習的特徵整合到乙個大的,區別訓練的卷積神經網路(cnn)。cnn在諸如手寫識別,視覺物件識別和字元識別的類似問題中獲得了許多成功。通過利用這些網路的表現力,我們能夠訓練高精度的文字檢測和字元識別模組。使用這些模組,我們可以構建乙個端到端的系統,只有簡單的後處理技術,如非最大抑制(nms)和波束搜尋。儘管其簡單,我們的系統在標準測試集上實現了最先進的效能。

2學習架構

在本節中,我們描述了我們的文字檢測器和字元識別器模組,它們是我們完整的端到端系統的基本組成部分。給定乙個32乘32畫素的視窗,檢測器確定視窗是否包含居中的字元。類似地,識別器決定視窗中的62個字元(26個大寫字母,26個小寫字母和10個數字)中的哪乙個。如第3節中詳細描述的,我們在整個場景影象上滑動探測器,以識別文字的候選行,在其上執行字級分割和識別以獲得端到端結果。對於檢測和識別,我們使用乙個多層,卷積神經網路(cnn)類似於[8,16]。我們的網路有兩個卷積層,分別有n1和n2濾波器。我們用於檢測n1 = 96和n2 = 256的網路如圖1所示,而乙個更大的,但結構相同的(n1 = 115和n2 = 720)用於識別。我們用類似於[2,3]的無監督學習演算法訓練網路的第一層。特別地,給定如圖2所示的一組32乘32灰度訓練影象1,我們隨機提取m×8×8的塊,其被對比度規格化和zca白化以形成輸入向量x(i) ∈r64,i∈。然後我們使用[2]中描述的k-means變數學習一組低電平濾波器d∈r64×n1。對於單個標準化和白化的8×8補丁x,我們通過使用濾波器組執行內積來計算其第一層響應z,隨後是標量啟用函式:z = max ,其中α= 0.5是超引數。給定32×32輸入影象,我們對於每個8×8子視窗計算z以獲得25×25乘n1的第一層響應圖。如在cnn中常見的,我們在第一層響應圖上平均池以使其尺寸為5乘5乘n1。我們在第一層的頂部堆疊另乙個卷積和平均池層,以獲得2×2×n2的第二層響應圖。這些輸出完全連線到分類層。我們通過反向傳播l2-svm分類誤差2來區別性地訓練網路,但是我們固定在第一卷積層中的濾波器(從k均值學習)。給定網路的大小,使用多個gpu執行微調。

3端到端流水線整合

我們的完整端到端系統使用後處理技術將詞典與我們的檢測/識別模組結合,包括nms和波束搜尋。在這裡,我們假設給定乙個特定影象的詞典(幾十到幾百個候選詞的列表)。正如在[18]中所論證的,這通常是乙個有效的假設,因為我們可以使用先驗知識將搜尋限制在許多應用中的某些單詞。管道主要包括以下兩個階段:

(1)我們對高解析度輸入影象執行滑動視窗檢測以獲得一組候選文字行。 使用這些檢測器響應,我們還估計線中的空間的位置。

(2)我們使用波束搜尋[15]將字元響應與候選間隔整合,以獲得完整的端到端結果。

首先,給定輸入影象,我們使用多尺度,滑動視窗檢測來識別文字的水平線。在每個尺度s,我們評估縮放影象中每個點(x,y)處的檢測器響應rs [x,y]。如圖3所示,以正確尺度的單個字元為中心的視窗產生正rs [x,y]。我們將nms [13]應用於每個單獨行r中的rs [x,r],以估計水平線上的字元位置。對於具有非零r_s [x,r]的行r,我們形成具有與縮放的滑動視窗相同的高度的線級邊界框lr。lr的左邊界和右邊界被定義為min(x)和max(x),當r_s [x,r]> 0時。這產生一組可能重疊的線級邊界框。我們通過平均rs [x,r]的非零值對每個方框進行評分。然後我們應用標準nms來去除與另乙個更高分數的框重疊超過50%的所有l,並且獲得最後一組線級邊界框l。由於詞之間的間隙產生明顯的負響應,我們還通過對負響應應用與上述相同的nms技術來估計每個lr內的可能的空間位置。在識別文字的水平線之後,我們將文字的行共同分割成單詞並識別該行中的每個單詞。給定線級邊界框l及其候選空間位置,我們使用維特比風格演算法評估許多可能的詞級邊界框,並使用類似於[9]的波束搜尋技術找到最佳分割方案。為了評估詞級邊界框b,我們在其上滑動字元識別器並獲得62×n的分數矩陣m,其中n是邊界框內的滑動視窗的數量。直觀地,更正的m(i,j)表示具有索引i的字元以第j個視窗的位置為中心的機會較高。與檢測階段類似,我們在m上執行nms以選擇字元最可能存在的列。m的其他列設定為-∞。然後,我們找到最好匹配分數矩陣m的詞典詞w ,如下:給定詞典詞w,計算對齊分數,其中lw是w中的字元和m的列之間的對齊向量。sm可以使用類似於[17]的維特比樣式對齊演算法有效地計算。我們計算所有詞典單詞的sm,並用最高分數詞w 標記單詞級邊界框b. 我們取sb = sm作為b的識別分數。已經定義了單個邊界框的識別分數,現在我們可以使用波束搜尋[15]系統地評估可能的詞級分割,廣度優先搜尋的變體根據一些啟發式得分探索前n個可能的部分分割。在我們的例子中,候選分割的啟發性得分是在一行文字l中的所有結果邊界框上的sb的總和。為了處理來自文字檢測階段的可能的假陽性,我們基於它們的識別分數來劃定單獨的分段。以這種方式,具有低識別分數的片段被修剪為「非文字」。

4實驗結果

在本節中,我們給出了我們的文字識別管道的詳細評估。我們測量裁剪字元和詞識別準確性,以及我們的系統在icdar 2003 [10]和街景文字(svt)[18]資料集的端對端文字識別效能。除此之外,我們還執行額外的分析來評估模型大小對管道不同階段的重要性。

首先,我們評估icdar 2003資料集上的字元識別器模組。我們的62路字元分類器對來自icdar 2003測試集的裁剪字元達到83.9%的最先進的精度。在同一基準上最好的已知結果是81.7%[2]。我們的字識別子系統是根據來自icdar 2003和svt資料集的完美裁剪單詞的影象評估的。我們使用與[18]完全相同的測試設定。更具體地,我們使用包含來自icdar測試集合(稱為i-wd)的所有單詞的詞典來測量詞級精度,並且使用由該影象的地面真實詞組成的詞典加上從影象中新增的50個隨機「干擾」詞語 測試集(稱為i-wd-50)。對於svt資料集,我們使用提供的詞典來評估準確性(稱為svtwd)。 表1比較了我們的結果與[18]和最近的工作[11]。

我們在icdar 2003和svt資料集上評估我們的最終端到端系統,其中我們在給定詞典的情況下定位和識別全景影象中的單詞。對於svt資料集,我們使用提供的詞典; 對於icdar 2003資料集,我們使用由[18]的作者提供的5,20和50干擾詞的詞典,以及由測試集中的所有詞組成的「full」詞典。我們分別稱之為基準i-5,i-20,i-50和i-full。像[18],我們只考慮至少有3個字元的字母數字字。圖5顯示了我們系統的一些示例輸出。我們遵循[10]中描述的標準評估標準來計算精度和回憶。 圖4顯示了icdar 2003資料集上不同基準的精確度和召回率圖。除了使用已知詞典的設定之外,我們還通過使用大詞典l的常用詞將我們的系統擴充套件到更一般的設定。因為在這種情況下搜尋所有詞是不可行的,所以我們將搜尋限制為「視覺上可信的」詞的小子集p∈l。我們首先對位置和字元類的分數矩陣m執行nms,然後用不同的值對其進行閾值以獲得一組原始字串。將原始字串輸入到hunspell5中以產生一組建議的單詞作為我們較小的詞典p.使用這個簡單的設定,我們在icdar資料集上獲得0.54 / 0.30 / 0.38(精確度/回憶/ f評分)的分數。這與用通用詞典[14]獲得的最好的已知結果0.42 / 0.39 / 0.40相當。

為了分析模型大小對管道不同階段的影響,我們還使用較少的第二層卷積濾波器訓練檢測和識別模組。檢測模組具有n2 = 64和128,而在我們的完整模型中為256。我們分別稱為檢測模組d64,d128和d256。類似地,我們稱為識別模組c180,c360和c720,其對應於n2 = 180,360和720。與全模型相比,較小的模型具有大約1/4和1/2的可學習引數。為了評估檢測模組的效能,我們通過裁剪來自icdar測試影象的補丁來構造2向(字元與非字元)分類資料集。識別模組僅根據裁剪的字元進行評估。這表明較大的模型尺寸產生更好的識別模組,但不一定是更好的檢測模組。最後,我們評估3個不同的識別模組在i-full基準,與d256作為所有3種情況的檢測器。端對端f分數相對於表3中的相應分類準確度列出。結果表明,較高的字元分類精度確實產生更好的端到端結果。 這個趨勢與自然影象中房屋號碼識別的發現[12]是一致的。

5. 總結

在本文中,我們考慮了一種用於端對端文字識別的新方法。 通過利用大的,多層的cnn,我們訓練強大和魯棒的文字檢測和識別模組。由於表示能力的這種增加,我們能夠使用簡單的非最大抑制和波束搜尋技術來構造完整的系統。這表示與以前通常依賴於複雜的圖形模型或精心手工設計的系統的偏離。作為這種方法的力量的證據,我們已經展示了字元識別以及詞彙裁剪詞識別和端到端識別的最佳結果。更重要的是,我們可以通過利用傳統的開源拼寫檢查器輕鬆地將我們的模型擴充套件到通用設定,從而實現與最先進技術相當的效能。

菜鳥讀文獻系列(一)

摘要 本文給出了一種在自然影象中檢測和識別文字的演算法。我們首先獲得由盲人和正常目標物件拍攝的城市影象的資料集。接下來,我們執行文字區域的統計分析以確定哪些影象特徵是文字的可靠指示符並且具有低熵 即,特徵響應對於所有文字影象類似 我們通過使用關於概率的聯合概率來獲得弱分類器。這些弱分類器用作adab...

怎麼讀文獻

拿到一篇文獻後,不妨先問自己幾個問題,帶著問題讀文獻效率會很高 這篇文章屬於什麼領域或方向?可以分類建立資料夾,讓讀過的文獻融入自己的知識體系。解決了什麼問題?為什麼這個問題這麼重要?使用了什麼方法和模型?為什麼這個方法可以解決這個問題?核心結論是什麼?下一步還可以怎麼做?其他 tips 對於陌生的...

拼命三娘衝(20191115 如何量讀文獻

在進行了刪選文章之後,需要記錄和關注的點如下。1 abstract 1 question 2 method 3 answer 2 introduction 1 why background and meaning 2 related work 目前的進展 3 assumption 3 conclus...