1. 程式人生 > >論文筆記:TextBoxes: A Fast Text Detector with a Single Deep Neural Network

論文筆記:TextBoxes: A Fast Text Detector with a Single Deep Neural Network

在自然場景中,場景文字(Scene text)是最常見的視覺物件(visual objects)之一。經常出現在路標,車牌,產品包裝袋上等等。閱讀場景文字產生了很多有用的應用,例如基於圖片的地理定位(image-basedgeolocation)。儘管它和傳統的OCR很相似,但是場景文字的閱讀更具有挑戰性,因為它的前景文字和背景物體的千變萬化,還有不可控的燈光條件等等。

由於這些無法避免的挑戰和複雜性,傳統的文字檢測方法往往包含多個處理步驟,例如字元或單詞候選區域的(candidategeneration)產生,候選區域的過濾(candidate filtering)和分組。這些經常需要想辦法讓每個模組工作正常,花費很多精力調參,還要設計啟發式規則。並且這些過程會降低檢測的速度。受目標檢測的啟發,我們提出了一個端到端訓練的神經網路,這可以通過直接通過單詞邊界盒子(wordbounding boxes)來預測檢測的文字。

貢獻

這篇文章的主要貢獻提出了一個快速而精確的文字檢測器,叫做TextBoxes,基於全連線的卷積神經網路。TextBoxes直接輸出單詞包圍盒子的座標,同時預測文字存在和預設盒子(defaultboxes)的座標偏移(coordinate offsets)。最後的輸出是所有盒子的聚合,緊接著的是一個標準的非最大化抑制過程。為了處理單詞的不同的縱橫比,我們設計了一些新穎的,inceptiong風格的輸出層,輸出層利用不規律的卷積核(irregular convolutional kernels)和預設盒子。我們的檢測器只用了單個的前向傳導,輸入是單比例的輸入,取得了高精度和高效率;同樣,在多比例的輸入下,用多穿到,也能取得很高的精度。

另外,單詞檢測對於從背景中區分出文字是有幫助的,特別是當單詞侷限在一個給定集合中。如一個詞典(lexicon)。我們成功的提出了一個文字識別演算法,CRNN,和TextBoxes配合使用。識別器不僅提供了額外的識別輸出,而且使得文字檢測有了語義層面的意思,結果極大的提高了單詞識別的精度。TextBoxes和CRNN的結合使得在文字識別和端到端文字識別任務上效能達到最好,是一個簡單且高效自然場景下的魯棒性文字閱讀(robusttext reading in the wild)的方案。

總結下,文章的貢獻分為三方面:

1、  設計了一個端到端訓練神經網路的場景文字檢測模型。

2、  提出了一個文字識別或端到端文字識別框架,高效的把檢測和識別結合起來。

3、  我們的模型,在保證效率的情況下,取得了良好的結果。

TextBoxes

結構


TextBoxes的結構如上,TextBoxes是一個28層的全連線卷積網路。其中13層是繼承的VGG-16的網路結構,----------保留了vgg16的conv1_1到conv4_3的層,vgg16最後的全連線層轉換成了引數下采樣的卷積層,後面在了一些卷積核池化層,稱為conv6到pool11層---------,額外的9個卷積層新增在VGG-16層之後,Text-box層連線著6個卷積層。在每一個特徵位置,一個text-box預測72維向量,這是文字出現的得分(text presencescores)(2維)和12個預設盒子的偏移(offsets)(4層)。一個非最大抑制(NMS)用來聚合所有文字盒子(text-boxlayers)層的輸出。

TextBoxes用300*300的圖片訓練的,優化規則為SGD。Momentum設定的是0.9,權重衰變(weightdecay)設定的是5*10^-4。學習率初始化設定為10^-3,訓練迭代了40,000次。除了SVT,在所有的資料集上,我們首先在SynthText上迭代了50,000次來訓練TextBoxes,之後在SVT上,我們用SVT訓練資料集進行微調(finetuning)。所有訓練圖片進行了隨機的切割和翻轉,用來對圖片進行線上擴充。所有的實驗在一臺有Titan X GPU上的PC上進行的。整個訓練過程是25個小時。文字識別是用一個預訓練的CRNN模型來實現的,這個模型原作者已經實現並且釋出了。

Text-box layers

Text-box層是TextBoxes的關鍵元件,一個text-box層同時預測文字存在和邊界盒子(bounding boxes),以輸入的特徵圖為條件,在每一個圖的位置,輸出分類的得分和相關預設盒子的卷積偏移。假設圖片和特徵圖的大小單獨用(wim,him)和(wmap,hmap)來表示。在一個和預設盒子b0=(x0,y0,w0,h0)相關的圖位置(map location)(i,j),text-box層預測(△x, △y,△w, △h,c),表明一個盒子b=(x,y,w,h)以置信度c檢測到了。