編者按:
“清風不識字,何事亂翻書。”
早在1929年,德國科學家Tausheck提出了OCR的概念,定義為將印刷體的字元從紙質文件中識別出來。而技術發展至今,識字,已不再僅限於識別書本上的文字,而是要識別真實世界開放場景中的文字。因此,也衍生出了一系列問題,例如真實環境中文字角度不可控、語種複雜多樣、環境噪聲多變等,針對這些問題,學術界開展了OCR領域研究工作。本文中,來自華中科技大學的白翔教授,將為大家介紹過去一年中,OCR領域的研究進展。
文末,大講堂提供文中提到參考文獻的下載連結。
報告從文字檢測,文字識別,端到端識別,還有資料集四個方面展開。
文字檢測方面。首先是去年自動化所發表在ICCV的研究成果。之前的迴歸方法大多為計算給定的default box和待要檢測的文字框的offset,而這裡採用的是基於一個畫素點回歸的方法,也就是迴歸文字框與當前畫素點的offset。另一個區別是融合不同層的特徵,通過多工學習進行文字分割以及文字框的迴歸。整體上,他們的工作在場景文字檢測任務上帶來了一定效能上的提升。
另外一個工作是用全卷積網路將文字區域分成三種型別,第一種型別是文字內部區域,第二種型別是背景區域,第三種型別是文字的邊界。這種手段可以較好地應對之前的基於分割的場景文字檢測方法難以區分相鄰的文字例項的問題,從而帶來檢測效能的提升。
上面這項工作的思路相對比較簡單,就是在SSD基礎上加了一個模組,這個模組引入了attention的機制即預測text mask,通過文字和非文字的判別讓檢測更加關注到文字區域上。
這是百度的工作,做法也比較直接:通過一個弱監督的框架使用單詞級別的標註來訓練字元檢測器,然後通過結構分析將檢測到的字元組合成單詞。
這篇是我們今年發表在TIP上面的一篇工作。其主要改進點為在去年TextBoxes基礎上增加了額外的兩個分支,其中一個分支被用來回歸文字水平包圍盒,另外一個分支被用來回歸四邊形(表示為4個頂點)。此外,我們還用識別資訊來過濾檢測到的候選框,進一步提升檢測結果。
這是我們今年被CVPR接收的一篇文章。其主要思路是:對於文字來說,無論是迴歸還是分類,特徵往往是共享的。然而對於場景文字檢測問題來說,特徵共享對於這兩個任務其實是不利的。首先對於文字與背景的分類問題,一般要求特徵具有方向不變性。但是對於迴歸出文字的包圍框這個任務,又要求特徵對方向資訊是敏感的。因此直接對這兩個任務做特徵分享可能會帶來效能損失。這裡我們採用非常簡單的方法來解決這個問題,就是在應對迴歸和分類兩個不同任務時,在迴歸部分跟原來一樣,在分類部分中加入oriented response pooling。這個做法可以讓分類特徵具有旋轉不變性,可以更好地關注它是文字還是非文字的問題,方向不帶來額外影響。最後對兩個任務進行多工學習,可以提高效能,在應對長文字和方向變化比較劇烈的情況,提升尤為顯著。
這篇同樣是我們今年被CVPR接收的一篇場景文字檢測的文章。這項工作主要是為了解決場景文字多方向,長寬比變化較大等場景文字檢測中的難點問題。之前的方法大多采用包圍盒迴歸的方法或者文字區域分割的方法去解決上述問題,但是效果並不是特別好。本篇文章用了一個新的思路來解決這個問題,即檢測文字區域的角點,然後通過組合角點的方式得到文字框。因此,我們設計了corner detection,思路是直接檢測文字區域的四個頂點。由於我們是檢測角點,所以首先我們的方法不會受到感受野的影響,其次我們的方法對方向比較魯棒。此外我們還結合了position sensitive segmentation來提供文字區域的位置資訊以及文字的例項資訊,並使用segmentation map資訊為角點組合成的包圍盒進行打分,這比直接計算包圍盒得分更加魯棒。
角點檢測使用的是基於DSSD的方法,此外我們將角點檢測和文字區域的分割在同一個網路框架內實現。
從實驗結果中可以看出用了角點以後檢測效能提升比較明顯。
第二個方面是關於文字識別的進展,進展稍微小一點,因為目前的識別效能已經比較好。
利用attention model去做序列文字識別,可能會因為影象解析度較低、遮擋、文字間間隔較大等問題而導致attention位置並不是很準,從而造成字元的錯誤識別。海康威視在ICCV2017上提出使用字元畫素級別的監督資訊使attention更加準確地聚焦在文字區域,從而使識別變得更精準。他們用了部分畫素級別的標註,有了類別資訊以後做多工,結果較為精準。並且只要部分字元的標註就可以帶來網路效能的一定提升。
針對有形變或者任意方向文字的識別問題,Cheng等人在CVPR2018上提出了該模型。他們在水平方向之外加了一個豎直方向的雙向LSTM,這樣的話就有從上到下,從下到上,從左到右,從右到左四個方向序列的特徵建模。接下來引入一個權重,該權重用來表示來自不同方向的特徵在識別任務中發揮作用的重要性。這對效能有一定提升,尤其是對任意排列的文字識別。
端到端識別從ICCV2017開始出現了將檢測和識別統一在一個網路框架下的思路。目前來說這種做法訓練起來較為困難。它的主要思路是通過RPN產生一些proposal,然後在後面接上序列識別網路。為了使網路有效,往往需要對檢測和識別模組分別進行預訓練,預訓練完後再把兩個模組一起進行進一步訓練。這種方法較為複雜。
其它方法也採用了大同小異的思路,比如去年ICCV的這篇文章,在RPN的基礎上,加入能產生任意方向文字框的proposal,可以做任意方向文字的端到端識別。
這篇CVPR的工作也是大同小異,使用了更好的檢測器EAST,識別部分和訓練過程基本和之前端到端的識別工作類似。
最後我們介紹一些新的資料集。比如說去年icdar比賽中的中文資料集RCTW,以及多語言檢測資料集MLT,同時包含了語種識別和檢測任務。RCTW資料集主要由場景中文文字構成,總共包含了12,034張圖片,其中訓練集8034張,測試集4000張。比賽分為文字檢測和端到端文字識別兩部分。MLT資料集由6個文種共9種語言的文字圖片構成,共18,00張圖片。該比賽包括了文字檢測、語種識別以及文字檢測加語種識別三個任務。
另外是今年華南理工金連文老師提出的比較有意思的資料集,用來探討異常排列、有形變的文字的檢測和識別問題。該資料集共1000張訓練圖片和500張測試圖片,每張圖片包含了至少一個曲行文字樣本。另外,ICDAR2017上也有一個類似的資料集Total-Text,包括了水平方向、多方向以及曲形文字共1555張圖片。
總結一下,通過資料集的演變過程,關於場景文字的研究方法有這樣幾個趨勢:第一,以後檢測和識別端到端進行可能是一個趨勢,但是未必一定把這兩個任務接在一起;第二,處理更難的文字,例如不規則文字,可能也是一個有意思的方向;第三,方法的泛化能力,英文上結果比較好的模型在中文中不一定有效,中英文差別很大,應設計適應多語種的方法來解決這些問題。
參考文獻連結:
https://pan.baidu.com/s/10LT47XsUpzBjHu8S9mcy7Q 密碼: k2iv