0
本文作者: 汪思穎 | 2018-08-31 18:13 |
雷鋒網(wǎng) AI 科技評(píng)論按:隨著互聯(lián)網(wǎng)的飛速發(fā)展,圖片成為信息傳播的重要媒介,圖片中的文本識(shí)別與檢測(cè)技術(shù)也一度成為學(xué)界業(yè)界的研究熱點(diǎn),應(yīng)用在諸如證件照識(shí)別、信息采集、書(shū)籍電子化等領(lǐng)域。
然而,一直以來(lái)存在的問(wèn)題是,尚沒(méi)有基于網(wǎng)絡(luò)圖片的、以中文為主的 OCR 數(shù)據(jù)集?;谶@一痛點(diǎn),阿里巴巴「圖像和美」團(tuán)隊(duì)推出 MTWI 數(shù)據(jù)集,這是阿里首個(gè)公開(kāi)的 OCR 數(shù)據(jù)集,也是現(xiàn)有難度最大、內(nèi)容最豐富的網(wǎng)絡(luò)圖片 OCR 數(shù)據(jù)集。
基于該數(shù)據(jù)集,阿里巴巴「圖像和美」團(tuán)隊(duì)聯(lián)合華南理工大學(xué)共同舉辦 ICPR MTWI 2018 挑戰(zhàn)賽,這場(chǎng)比賽共分為三個(gè)獨(dú)立賽道,一是識(shí)別單文本行(列)圖片中的文字,二是檢測(cè)并定位圖像中的文字行位置,三是識(shí)別整圖中的文字內(nèi)容。三場(chǎng)賽道各自獨(dú)立,每場(chǎng)賽道都吸引了超過(guò)一千支隊(duì)伍參賽。
來(lái)自 NELSLIP(National Engineering Laboratory for Speech and Language Information Processing,中科大語(yǔ)音及語(yǔ)言國(guó)家工程實(shí)驗(yàn)室)的杜俊教授、戴禮榮教授團(tuán)隊(duì)與科大訊飛合作,包攬全部三項(xiàng)任務(wù)的冠軍。以下便是在這項(xiàng)比賽中分別負(fù)責(zé)識(shí)別和檢測(cè)任務(wù)的中科大學(xué)生張建樹(shù)和朱意星對(duì)比賽方案的描述,對(duì)于第三個(gè)賽道,他們則是結(jié)合了識(shí)別和檢測(cè)的方案。
此次比賽中,主辦方提供 20000 張圖像作為數(shù)據(jù)集。其中 50% 作為訓(xùn)練集,50% 作為測(cè)試集。該數(shù)據(jù)集全部來(lái)源于網(wǎng)絡(luò)圖像,主要由合成圖像、產(chǎn)品描述、網(wǎng)絡(luò)廣告構(gòu)成,每一張圖像或包含復(fù)雜排版,或包含密集的小文本或多語(yǔ)言文本,或包含水印,這對(duì)文本檢測(cè)和識(shí)別均提出了挑戰(zhàn)。以下是典型圖片。
文本識(shí)別
這次比賽提交的方案大體上可以分為兩種,一種是基于 CTC 的方案,另外一種是基于注意力的 Encoder-Decoder 方案。NELSLIP 團(tuán)隊(duì)根據(jù)復(fù)現(xiàn)結(jié)果,最終選定第二種方案。
比賽難點(diǎn)
首先是 OCR 長(zhǎng)期面臨的難題,比如連續(xù)文本,以及自然場(chǎng)景背景復(fù)雜,噪聲干擾比較大。
其次,深度學(xué)習(xí)模型需要很大的數(shù)據(jù)量來(lái)進(jìn)行訓(xùn)練。如果訓(xùn)練樣本很少,很難將模型訓(xùn)練好。這次識(shí)別存在一些繁體字,而關(guān)于繁體字的訓(xùn)練樣本比較少,會(huì)導(dǎo)致識(shí)別比較困難。
解決方案
Radical Analysis Network 網(wǎng)絡(luò)
這次比賽 NELSLIP 團(tuán)隊(duì)用到 Radical Analysis Network,該網(wǎng)絡(luò)主要用于解決少樣本問(wèn)題,這一網(wǎng)絡(luò)基于張建樹(shù)在 ICME2018 上的論文 Radical analysis network for zero-shot learning in printed Chinese character recognition,在比賽中做了一些優(yōu)化,有如下明顯優(yōu)點(diǎn):
這是一種基于注意力機(jī)制的編解碼方法,而不是通過(guò)滑窗的形式來(lái)切分字符,不管輸入是橫排還是豎排,它只關(guān)注相應(yīng)的像素點(diǎn)。
在這個(gè)方案之前,大家都是把漢字當(dāng)成整個(gè)字符或一張圖片來(lái)識(shí)別,所用到的方法跟圖像識(shí)別,或者 ImageNet 圖像分類(lèi)的方案差不多,忽略了漢字本身的重要性質(zhì)——漢字由偏旁部首構(gòu)成。比賽中,他們以偏旁部首的形式將漢字拆解。拿「殿」字舉例,這個(gè)字是左右結(jié)構(gòu),先是「共」字旁和「八」字旁行成上下結(jié)構(gòu),然后「尸」字旁左上包圍這一上下結(jié)構(gòu)。右邊由「幾」和「右」上下組成。
可以通過(guò)深度優(yōu)先遍歷的方式,將這種樹(shù)形結(jié)構(gòu)遍歷成字符串的形式,然后再通過(guò)識(shí)別字符串來(lái)識(shí)別漢字。在這里有一個(gè)預(yù)先定義好的 IDS2char 字典。例如「聚」、「黔」、「坊」這三個(gè)字,將這些字的字符串識(shí)別出來(lái)之后,在字典里就能索引出結(jié)構(gòu)類(lèi)別,進(jìn)而進(jìn)行漢字識(shí)別。
這一方法可以帶來(lái)兩個(gè)好處:
漢字類(lèi)別很多,通過(guò)拆解成偏旁部首,可以將數(shù)量大大壓縮,去除掉冗余性。
雖然看起來(lái)把漢字拆解成了一個(gè)很長(zhǎng)的序列,但實(shí)際上提高了運(yùn)算速度。如果想將識(shí)別做得很好,肯定要涵括全部漢字,如果把一些古代用的字全部算上,字?jǐn)?shù)達(dá)到 10 萬(wàn)。如果做一個(gè)十萬(wàn)種類(lèi)別的分類(lèi)器,效率將會(huì)很低。因此,雖說(shuō)每個(gè)詞的序列由原先的一被拆解成五、六或者更多,但序列中每個(gè)類(lèi)別的類(lèi)別數(shù)變少,搜索空間會(huì)相應(yīng)變小,折中下來(lái),解碼效率相對(duì)得到提高。
能識(shí)別低頻詞,例如在訓(xùn)練集里沒(méi)有出現(xiàn)過(guò)的詞,這時(shí)候不需要額外收集數(shù)據(jù),也不需要重新訓(xùn)練模型。
舉個(gè)例子,之前很火爆的 duang 字,上成下龍。雖然這個(gè)字很簡(jiǎn)單,但是因?yàn)橛?xùn)練集中沒(méi)有,普通的模型沒(méi)辦法識(shí)別,很有可能將其識(shí)別成「成」、「龍」或其他字。對(duì) RAN 模型來(lái)說(shuō),可以在 OOV 場(chǎng)景下將其識(shí)別出來(lái)。例如把 duang 字作為輸入,會(huì)解出成和龍,同時(shí)會(huì)出現(xiàn)一個(gè)表示成和龍上下結(jié)構(gòu)的序列。
在識(shí)別繁體字時(shí)也是同理。
如下圖所示,由于圖像都是基于真實(shí)場(chǎng)景,所以出現(xiàn)了「薬」和「購(gòu)」這樣的繁體字。雖然一般的語(yǔ)言模型,能夠?qū)ⅰ复?gòu)」識(shí)別成「代購(gòu)」,這在語(yǔ)義上是對(duì)的,但其實(shí)還是存在問(wèn)題。通過(guò) RAN 網(wǎng)絡(luò),就能很好地解決這里的 OOV 問(wèn)題,正確識(shí)別出繁體字。
他們對(duì) RAN 網(wǎng)絡(luò)的改進(jìn)還有一點(diǎn),以前的網(wǎng)絡(luò)是針對(duì)單字識(shí)別,模型的 encoder 只有一個(gè) CNN,這一次的任務(wù)是文本行識(shí)別,為了建模文本的常識(shí)信息,他們?cè)?encoder CNN 之后添加了一個(gè)雙向 RNN 網(wǎng)絡(luò)。另外,從單字識(shí)別到文本行識(shí)別,對(duì)于模型來(lái)說(shuō),這兩者的隔閡不是特別大,在這里用來(lái)提取偏旁部首的注意力機(jī)制還可以區(qū)分字和字之間的間隔,實(shí)際上只需要在每個(gè)字的偏旁部首中間加上標(biāo)志符。
針對(duì)注意力機(jī)制的改進(jìn)
他們還對(duì)注意力機(jī)制進(jìn)行了改進(jìn),以前是單 head 注意力機(jī)制,在此次比賽中,增加到 4-head 注意力機(jī)制,還額外在注意力上添加了一個(gè) coverage actor,coverage actor 會(huì)把歷史的注意力信息告訴當(dāng)前時(shí)刻的注意力模型,這樣能提高注意力的對(duì)齊能力。
另外,他們還使用了 attention guider 技術(shù),除了把模型當(dāng)成一個(gè)黑盒子讓它自己學(xué)習(xí),還會(huì)給注意力模型更強(qiáng)的指導(dǎo)。在這種真實(shí)場(chǎng)景的情況下,當(dāng)噪聲很大時(shí),注意力模型很難學(xué)好,通過(guò)給予模型更好的指導(dǎo),注意力會(huì)學(xué)得更快,模型也會(huì)收斂得更好。
RGB+HSV 主要用來(lái)解決通用 OCR 的一些問(wèn)題,比如復(fù)雜的背景。一些通過(guò)人的眼睛看不清的圖片可以通過(guò) HSV 凸顯出色調(diào)的差異性,從而就能正確識(shí)別。
此外,他們還做了一些數(shù)據(jù)增強(qiáng)工作,比如文本旋轉(zhuǎn),壓縮等。
難以解決的案例:
第一種例子是背景噪聲太大。如下圖是人眼都看不清的比較復(fù)雜的例子。這個(gè)例子中背景是粉紅色,前景是淡黃色,雖然可以通過(guò) HSV 對(duì)圖像進(jìn)行色調(diào)增強(qiáng),但可以看到,它的真實(shí)標(biāo)注是漂亮寶貝 NO1,如果不用 HSV,結(jié)果錯(cuò)得很離譜。用了之后,漂亮兩個(gè)字還是難以檢測(cè)出來(lái)。
第二種例子是一些從真實(shí)場(chǎng)景中摳出來(lái)的圖片,如果圖片本身特別小,將其放大到一定程度,機(jī)器識(shí)別就會(huì)變得很模糊。
第三個(gè)比較難的例子就是前面提到的低頻詞問(wèn)題,通過(guò) RAN 網(wǎng)絡(luò)可以正確識(shí)別。
檢測(cè)
這次比賽中,檢測(cè)存在四個(gè)方面的問(wèn)題:
一是多角度問(wèn)題。之前學(xué)術(shù)界的檢測(cè)都是用矩形框標(biāo)注的,比如檢測(cè)沙發(fā)或人體,但如果做文本檢測(cè),比如一個(gè) 45 度角的傾斜文本,這時(shí)候如果用矩形框,就會(huì)多出來(lái)很多噪聲。
二是文本之間的交疊問(wèn)題。例如下面這幅圖,兩行字重疊在一起了。
三是文本模糊問(wèn)題。如下圖中框出來(lái)的部分,連人眼也看不清。
四是文本長(zhǎng)度差距比較大。有的文本特別長(zhǎng),有的文本特別短。
針對(duì)這些問(wèn)題的優(yōu)化
這是此次比賽中使用的網(wǎng)絡(luò)結(jié)構(gòu)圖,這是一個(gè)下采樣過(guò)程,把不同尺寸下的特征進(jìn)行了融合。
第二個(gè)要解決的是多角度問(wèn)題。對(duì)于多角度問(wèn)題,如果在第一步直接擬合四個(gè)頂點(diǎn)會(huì)產(chǎn)生歧義,為了避免這種情況,他們?cè)诘谝徊绞褂昧?LocSLPR,會(huì)對(duì)輸入圖像構(gòu)建空間金字塔,在各個(gè)尺度上描繪出文本的輪廓,從而完成文本行的準(zhǔn)確定位。
這里使用了堆疊 R-CNN,第一次 proposal box 是水平矩形框,使用 LocSLPR 擬合輪廓,第二次的時(shí)候已經(jīng)有了輪廓信息,所以第二步 proposal box 是旋轉(zhuǎn)矩形框。
剩下的圖片模糊問(wèn)題靠神經(jīng)網(wǎng)絡(luò)的魯棒性就可以解決,雖然說(shuō)這一問(wèn)題也比較難解決,但此次比賽中沒(méi)有特意來(lái)設(shè)計(jì)網(wǎng)絡(luò)。
比賽中碰到的實(shí)際問(wèn)題
CVPR、ICCV 等計(jì)算機(jī)視覺(jué)會(huì)議上,每年都會(huì)有不少論文和方案,在這次比賽中,想拿第一名得參考各種不錯(cuò)的方案。
識(shí)別有一個(gè)比較大的難點(diǎn),即有些圖片過(guò)小,放大之后看不清楚,或者圖片失真,圖像分辨率不高,他們想做一些超分辨率的方法,提升放大后的圖像質(zhì)量,也篩選了 CVPR 上一些不錯(cuò)的超分辨率方案,但做完之后發(fā)現(xiàn)效果不是很理想,此外旋轉(zhuǎn)上的一些問(wèn)題也比較難解決。
另外,現(xiàn)在針對(duì)注意力的研究也非常多,包括 NLP,機(jī)器翻譯等方向都有很多注意力機(jī)制的改進(jìn)方案。但這些方案不是針對(duì)文本問(wèn)題,所以在最開(kāi)始嘗試的時(shí)候并不能確定方案對(duì)任務(wù)的改進(jìn)效果如何。在選擇一些看起來(lái)比較合適的注意力機(jī)制方案進(jìn)行改進(jìn)和嘗試的過(guò)程中,也遇到不少問(wèn)題。
這一方案目前在手寫(xiě)字符識(shí)別上還需要改進(jìn)。人在手寫(xiě)時(shí),會(huì)非常隨意,有時(shí)候會(huì)出現(xiàn)連筆,抹消掉了漢字本該有的偏旁部首和空間結(jié)構(gòu),這時(shí)候基于 RAN 的方法獲得的性能提升就沒(méi)有打印體的大。
未來(lái),可能主要會(huì)針對(duì)注意力以及編碼器進(jìn)行改進(jìn)。
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。