端到端的文字檢測識別

2021-08-20 04:03:57 字數 3182 閱讀 8482

選自iccv 2017 澳大利亞阿德萊德大學

沈春華老師組的作品

towards end-to-end text spotting with convolutional recurrent neural networks

。是目前為止第一篇提出端到端

ocr文字檢測

+識別的文章。

文章主要3點貢獻:

(1)提出端到端的ocr檢測

+識別的框架

(2)改進的roi pooling。相比於

fasterrcnn

中roi pooling

只能產生固定長寬的

feature map

,本文改進的

roi pooling

可以產生固定長度,不同寬度的

feature map

,更適用於文字這樣乙個有著不同長度的物件,然後經過

lstm

產生固定長度的

feature

。(3)基於本文複雜的網路結構,提出了課程學習策略,一種由易到難的學習策略。先使用簡單的在彩色背景上寫字的合成進行訓練,然後使用中等難度的在風景上寫字的合成進行訓練,最後使用真實的樣本進行訓練。

網路整體結構:

從網路結構可以看出和faster rcnn的結構很像。主要由

tpn,

rfe,

tdn,

trn幾個部分組成。

其中,基礎cnn網路結構和

faster rcnn

一樣,都是修改的

vgg16

結構。tpn結構類似

faster rcnn

中的rpn

,用途一樣。

rfe模組類似

faster rcnn

中的roi pooling

。tdn模組用於文字框的回歸和文字框的分數。

trn模組用於文字內容的識別。

tpn(

text proposal network

)模組

tpn模組包含24個

anchor

,其中4

個scale(with box areas of 16*16, 32*32, 64*64, 80*80)

,6個aspect ratio(1 : 1, 2 : 1,3 : 1, 5 : 1, 7 : 1, 10 : 1)

。然後,這裡採用了

2種濾波器進行卷積,分別為

5*3*256

,3*1*256

。這樣的好處可以分別學到細節和上下文特徵。

rfe(

region feature encoder

)模組

該模組和類似於faster rcnn中

roi pooling

,區別在於,這裡的

roi pooling

中,輸出的是固定高度,不定長度的

feature map

,大小為h×

min(wmax; 2hw/h) ,然後經過lstm變化為固定長度的特徵輸出。最終輸出

1024

維的特徵。

tdn(

text detection network

)模組tdn輸出

2048

維的特徵,然後分別接入邊框的回歸和分類的分數**。

trn(

text recognition network

)模組

該模組是乙個基於attention機制的

seq2seq

模型。最終模型輸出

38維向量(

26個字母,

10個數字,

1個標點符號的代表,乙個結束標誌

其中,v = [v1; : : : ; vw ] 為特徵經過

lstm

編碼後的輸出特徵。

hi』為解碼層的輸出值,wv,

wh為需要學習的嵌入矩陣,α為

attention

矩陣的權值,

ci 為輸入特徵的加權求和。

在每個時間步t = 0; 1; : : : ; t + 1 ,依據上面公式進行解碼。其中,

f()函式為

rnn的函式,wo 為將特徵對映到輸出空間的對映矩陣。

損失函式

整個框架的分類為binary_crossentrop,回歸為

在tpn模組中,正

anchor

閾值為0.7

,負anchor

閾值為0.3,n

為乙個batch

中隨機選擇的

anchor

個數,為

256,

n+為正

anchor

的個數,為

ldr模組中,n^為

tpn中輸出的

roi的個數,為

128,

n^+為正的

roi個數,小於等於

64。其中,正

anchor

的閾值為

0.6,負

anchor

的閾值為

0.4references:

基於深度學習(端到端)的OCR文字識別

開發環境 anaconda python3.6 tensorflow keras pytorch 該模型使用了 opencv 模組。依賴包版本需求 你可以使用 pip install 包名 conda install 包名 安裝依賴 easydict 1.7tensorflow gpu 1.3.0 ...

Deep Speech 端到端的語音識別

對於傳統的語音識別,通常會分為3個部分 語音模型,詞典,語言模型。語音模型和語言模型都是分開進行訓練的,因此這兩個模型優化的損失函式不是相同的。而整個語音識別訓練的目標 wer word error rate 與這兩個模型的損失函式不是一致的。對於端到端的語音識別,模型的輸入就為語音特徵 輸入端 而...

移動端實時數字識別檢測

最近在做數字檢測與識別,主要檢測識別手機端的數字,裝置為樹莓派3。我在樹莓派上安裝了tesseract ocr,發現檢測數字的速度並不是很快,一串數字識別大概要3 400多毫秒,配上特定環境 檢測的話,至少要1s左右,這個速度要想達到實時檢測是不可能的,因為要想用攝像頭達到實時檢測的效果,每幀識別至...