ICPR 圖像識別與檢測挑戰賽冠軍方案出爐,基於偏旁部首來識別 Duang 字

隨著互聯網的飛速發展,圖片成為信息傳播的重要媒介,圖片中的文本識別與檢測技術也一度成為學界業界的研究熱點,應用在諸如證件照識別、信息採集、書籍電子化等領域。

然而,一直以來存在的問題是,尚沒有基於網絡圖片的、以中文為主的 OCR 數據集。基於這一痛點,阿里巴巴「圖像和美」團隊推出 MTWI 數據集,這是阿里首個公開的 OCR 數據集,也是現有難度最大、內容最豐富的網絡圖片 OCR 數據集。

基於該數據集,阿里巴巴「圖像和美」團隊聯合華南理工大學共同舉辦 ICPR MTWI 2018 挑戰賽,這場比賽共分為三個獨立賽道,一是識別單文本行(列)圖片中的文字,二是檢測並定位圖像中的文字行位置,三是識別整圖中的文字內容。三場賽道各自獨立,每場賽道都吸引了超過一千支隊伍參賽。

來自 NELSLIP(National Engineering Laboratory for Speech and Language Information Processing,中科大語音及語言國家工程實驗室)的杜俊教授、戴禮榮教授團隊與科大訊飛合作,包攬全部三項任務的冠軍。以下便是在這項比賽中分別負責識別和檢測任務的中科大學生張建樹和朱意星對比賽方案的描述,對於第三個賽道,他們則是結合了識別和檢測的方案。

此次比賽中,主辦方提供 20000 張圖像作為數據集。其中 50% 作為訓練集,50% 作為測試集。該數據集全部來源於網絡圖像,主要由合成圖像、產品描述、網絡廣告構成,每一張圖像或包含複雜排版,或包含密集的小文本或多語言文本,或包含水印,這對文本檢測和識別均提出了挑戰。以下是典型圖片。

ICPR 图像识别与检测挑战赛冠军方案出炉,基于偏旁部首来识别 Duang 字

文本識別

這次比賽提交的方案大體上可以分為兩種,一種是基於 CTC 的方案,另外一種是基於注意力的 Encoder-Decoder 方案。NELSLIP 團隊根據復現結果,最終選定第二種方案。

比賽難點

首先是 OCR 長期面臨的難題,比如連續文本,以及自然場景背景複雜,噪聲干擾比較大。

其次,深度學習模型需要很大的數據量來進行訓練。如果訓練樣本很少,很難將模型訓練好。這次識別存在一些繁體字,而關於繁體字的訓練樣本比較少,會導致識別比較困難。

解決方案

  • Radical Analysis Network 網絡

這次比賽 NELSLIP 團隊用到 Radical Analysis Network,該網絡主要用於解決少樣本問題,這一網絡基於張建樹在 ICME2018 上的論文 Radical analysis network for zero-shot learning in printed Chinese character recognition(論文鏈接:http://t.cn/RFJIN9k),在比賽中做了一些優化,有如下明顯優點:

這是一種基於注意力機制的編解碼方法,而不是通過滑窗的形式來切分字符,不管輸入是橫排還是豎排,它只關注相應的像素點。

在這個方案之前,大家都是把漢字當成整個字符或一張圖片來識別,所用到的方法跟圖像識別,或者 ImageNet 圖像分類的方案差不多,忽略了漢字本身的重要性質——漢字由偏旁部首構成。比賽中,他們以偏旁部首的形式將漢字拆解。拿「殿」字舉例,這個字是左右結構,先是「共」字旁和「八」字旁行成上下結構,然後「屍」字旁左上包圍這一上下結構。右邊由「幾」和「右」上下組成。

ICPR 图像识别与检测挑战赛冠军方案出炉,基于偏旁部首来识别 Duang 字

可以通過深度優先遍歷的方式,將這種樹形結構遍歷成字符串的形式,然後再通過識別字符串來識別漢字。在這裡有一個預先定義好的 IDS2char 字典。例如「聚」、「黔」、「坊」這三個字,將這些字的字符串識別出來之後,在字典裡就能索引出結構類別,進而進行漢字識別。

ICPR 图像识别与检测挑战赛冠军方案出炉,基于偏旁部首来识别 Duang 字

這一方法可以帶來兩個好處:

1. 漢字類別很多,通過拆解成偏旁部首,可以將數量大大壓縮,去除掉冗餘性。

雖然看起來把漢字拆解成了一個很長的序列,但實際上提高了運算速度。如果想將識別做得很好,肯定要涵括全部漢字,如果把一些古代用的字全部算上,字數達到 10 萬。如果做一個十萬種類別的分類器,效率將會很低。因此,雖說每個詞的序列由原先的一被拆解成五、六或者更多,但序列中每個類別的類別數變少,搜索空間會相應變小,折中下來,解碼效率相對得到提高。

2. 能識別低頻詞,例如在訓練集裡沒有出現過的詞,這時候不需要額外收集數據,也不需要重新訓練模型。

舉個例子,之前很火爆的 duang 字,上成下龍。雖然這個字很簡單,但是因為訓練集中沒有,普通的模型沒辦法識別,很有可能將其識別成「成」、「龍」或其他字。對 RAN 模型來說,可以在 OOV 場景下將其識別出來。例如把 duang 字作為輸入,會解出成和龍,同時會出現一個表示成和龍上下結構的序列。

ICPR 图像识别与检测挑战赛冠军方案出炉,基于偏旁部首来识别 Duang 字

在識別繁體字時也是同理。

如下圖所示,由於圖像都是基於真實場景,所以出現了「薬」和「購」這樣的繁體字。雖然一般的語言模型,能夠將「代購」識別成「代購」,這在語義上是對的,但其實還是存在問題。通過 RAN 網絡,就能很好地解決這裡的 OOV 問題,正確識別出繁體字。

ICPR 图像识别与检测挑战赛冠军方案出炉,基于偏旁部首来识别 Duang 字

他們對 RAN 網絡的改進還有一點,以前的網絡是針對單字識別,模型的 encoder 只有一個 CNN,這一次的任務是文本行識別,為了建模文本的常識信息,他們在 encoder CNN 之後添加了一個雙向 RNN 網絡。另外,從單字識別到文本行識別,對於模型來說,這兩者的隔閡不是特別大,在這裡用來提取偏旁部首的注意力機制還可以區分字和字之間的間隔,實際上只需要在每個字的偏旁部首中間加上標誌符。

  • 針對注意力機制的改進

他們還對注意力機制進行了改進,以前是單 head 注意力機制,在此次比賽中,增加到 4-head 注意力機制,還額外在注意力上添加了一個 coverage actor,coverage actor 會把歷史的注意力信息告訴當前時刻的注意力模型,這樣能提高注意力的對齊能力。

另外,他們還使用了 attention guider 技術,除了把模型當成一個黑盒子讓它自己學習,還會給注意力模型更強的指導。在這種真實場景的情況下,當噪聲很大時,注意力模型很難學好,通過給予模型更好的指導,注意力會學得更快,模型也會收斂得更好。

RGB+HSV 主要用來解決通用 OCR 的一些問題,比如複雜的背景。一些通過人的眼睛看不清的圖片可以通過 HSV 凸顯出色調的差異性,從而就能正確識別。

此外,他們還做了一些數據增強工作,比如文本旋轉,壓縮等。

難以解決的案例:

第一種例子是背景噪聲太大。如下圖是人眼都看不清的比較複雜的例子。這個例子中背景是粉紅色,前景是淡黃色,雖然可以通過 HSV 對圖像進行色調增強,但可以看到,它的真實標註是漂亮寶貝 NO1,如果不用 HSV,結果錯得很離譜。用了之後,漂亮兩個字還是難以檢測出來。

ICPR 图像识别与检测挑战赛冠军方案出炉,基于偏旁部首来识别 Duang 字

第二種例子是一些從真實場景中摳出來的圖片,如果圖片本身特別小,將其放大到一定程度,機器識別就會變得很模糊。

第三個比較難的例子就是前面提到的低頻詞問題,通過 RAN 網絡可以正確識別。

檢測

這次比賽中,檢測存在四個方面的問題:

  • 一是多角度問題。之前學術界的檢測都是用矩形框標註的,比如檢測沙發或人體,但如果做文本檢測,比如一個 45 度角的傾斜文本,這時候如果用矩形框,就會多出來很多噪聲。

  • 二是文本之間的交疊問題。例如下面這幅圖,兩行字重疊在一起了。

  • 三是文本模糊問題。如下圖中框出來的部分,連人眼也看不清。

  • 四是文本長度差距比較大。有的文本特別長,有的文本特別短。

ICPR 图像识别与检测挑战赛冠军方案出炉,基于偏旁部首来识别 Duang 字

針對這些問題的優化

這是此次比賽中使用的網絡結構圖,這是一個下采樣過程,把不同尺寸下的特徵進行了融合。

ICPR 图像识别与检测挑战赛冠军方案出炉,基于偏旁部首来识别 Duang 字

第二個要解決的是多角度問題。對於多角度問題,如果在第一步直接擬合四個頂點會產生歧義,為了避免這種情況,他們在第一步使用了 LocSLPR,會對輸入圖像構建空間金字塔,在各個尺度上描繪出文本的輪廓,從而完成文本行的準確定位。

這裡使用了堆疊 R-CNN,第一次 proposal box 是水平矩形框,使用 LocSLPR 擬合輪廓,第二次的時候已經有了輪廓信息,所以第二步 proposal box 是旋轉矩形框。

ICPR 图像识别与检测挑战赛冠军方案出炉,基于偏旁部首来识别 Duang 字

剩下的圖片模糊問題靠神經網絡的魯棒性就可以解決,雖然說這一問題也比較難解決,但此次比賽中沒有特意來設計網絡。

比賽中碰到的實際問題

CVPR、ICCV 等計算機視覺會議上,每年都會有不少論文和方案,在這次比賽中,想拿第一名得參考各種不錯的方案。

識別有一個比較大的難點,即有些圖片過小,放大之後看不清楚,或者圖片失真,圖像分辨率不高,他們想做一些超分辨率的方法,提升放大後的圖像質量,也篩選了 CVPR 上一些不錯的超分辨率方案,但做完之後發現效果不是很理想,此外旋轉上的一些問題也比較難解決。

另外,現在針對注意力的研究也非常多,包括 NLP,機器翻譯等方向都有很多注意力機制的改進方案。但這些方案不是針對文本問題,所以在最開始嘗試的時候並不能確定方案對任務的改進效果如何。在選擇一些看起來比較合適的注意力機制方案進行改進和嘗試的過程中,也遇到不少問題。

這一方案目前在手寫字符識別上還需要改進。人在手寫時,會非常隨意,有時候會出現連筆,抹消掉了漢字本該有的偏旁部首和空間結構,這時候基於 RAN 的方法獲得的性能提升就沒有打印體的大。

未來,可能主要會針對注意力以及編碼器進行改進。


分享到:


相關文章: