您的位置:首頁>科技>正文

GAITC分論壇實錄丨金連文:文字識別:技術現狀、挑戰及機遇

主題:模式識別與智慧感知分論壇

時間:2017年5月22日下午

地點:國家會議中心401

本文根據速記進行整理

文字識別:技術現狀、挑戰及機遇

金連文

華南理工大學電子與資訊學院資訊工程系主任、教授

劉成林/主持人:下一位報告人是華南理工大學的金連文教授。

金連文:謝謝成林老師的介紹, 大家下午好, 今天非常高興在這裡做一個文字識別的技術現狀、目前存在的問題及挑戰、學術研究和商業應用機遇, 以及未來技術發展趨勢的報告。

首先簡要談一下人工智慧。 去年3月份, 美國紐約時報採訪了矽谷一些IT的大神們, 請他們談一下未來IT領域當中什麼方向是潛在的爆發點, 當時很多專家都不約而同談到一個觀點, 就是人工智慧很可能是未來IT領域的大事件。 其實不僅僅是在工業界, 在電腦學術界乃至整個科學界, 人工智慧過去幾年都是非常熱門的研究話題, 舉例來說, 在過去兩年, 與深度學習和機器學習相關的文章已經有5次上了Nature或Science的封面文章。 難怪科普期刊《Scientific American》去年撰文說人工智慧的春天來到了。 在國內, 我們發現人工智慧的春天似乎也正在悄悄來臨, 從中國工程院、科技部以及政府, 都在積極推動人工智慧學術研究及其在產業中的應用發展。

視覺感知是人工智慧當中特別重要的問題之一, 為什麼這麼說呢, 我們人類對世界的感知大約80%是通過眼睛獲取的。 電腦視覺使得人工智慧看懂世界, 典型的技術包括圖像識別, 人臉識別,

視頻監控等等, 這裡還想強調一點, 文字識別也是非常重要的電腦視覺技術。 因為文字是我們感知這個世界最重要的手段, 無論是從小學習知識到長大進行交流, 衣食住行都離不開文字。 在生活當中, 文字也無處不在, 離開了文字有時候我們很難理解整個社會和世界。 文字的重要性還表現在很多方面, 它是人類文明的標誌, 是資訊交流的途徑, 學習知識的重要管道, 是記錄歷史、思想、文化的載體, 文字和文明、文化還有很大的關係, 現在很多人用慣了拼音輸入法, 很可能造成提筆忘字等現象, 這是挺遺憾的一件事情。

有一句話這樣說,一圖勝千言,但是有時候如果圖片當中沒有文字,我們很難理解這個圖片的含義。這裡有兩幅圖,左邊圖是我在法國一家酒店裡拍的照片,右邊是一個漫畫,大家能夠猜到它們表達什麼意思嗎?特別是左邊這個圖,當時坑了我很久。右邊圖中配文是“心中的天氣是晴是雨全在自己”。沒有圖片我們可能表達起來不是那麼生動,但是沒有文字,有時可能無法理解其含義。比如這幅圖,沒有文字說明很難猜其表達什麼含義,其實它的配文是來自《金剛經》中的一句話“一切法無我,得成於忍”,講凡事包容、忍耐的道理。再舉個例子,這是個一個商品、商品包裝的裡面的正反面,大家第一眼看到可能想到這一定是藥品或保健品,但是實際上它是一個食品---葡萄乾。所以,我這裡想表達一個觀點就是,文字的重要性是非常大的,某種意義上來講,如果給你一張圖,若圖上有文字,80%以上的情況下,圖上的文字資訊是最重要最有信息量的。所以文字識別這個問題是一個重要的人工智慧問題,從這個角度看,文字識別的問題如果沒有解決好,人工智慧就不能稱得上真正的、完整的人工智慧。

下面我講講文字識別的一些技術的現狀。文字識別包括文檔分析和文字識別兩個部分。從文字獲取的途徑可以把文字識別分成OCR和線上文字識別兩大類。OCR是處理及識別通過光學設備如數碼相機、掃描器獲取的文檔圖像,線上文字識別是處理通過數位筆、觸控式螢幕捕捉的文字資料。兩類問題都有很多不同的研究子問題及應用場景,今天由於時間關係,我重點給大家介紹一些領域的現狀、和它面臨的挑戰和機遇。

文字識別的研究發展歷史已經有很多年的歷史,最早可以追溯到上世紀20年代,上世紀80年代90年代是文字識別的重要發展時期,那時候在圖書報刊數位化、郵遞區號及自動分揀、表單名片識別等都產生了非常廣泛的應用,2000年以後,隨著智慧手機和移動互聯網的興起,基於拍照和OCR以及手寫辨識及Ink理解受到了更多的關注。

我先講一下手寫文字識別,這個技術現在在手機、平板電腦的為輸入法相當普及,基本上是標準的配置功能之一,另外一方面就是OCR的手寫文字識別,如快遞單識別理解等等這樣的問題,也是有很多的應用場景。傳統的手寫文字識別的一般框架包括預處理、特徵提取、分類器設計等三個主要模組,每個模組技術都需要仔細設計,比如圖像歸一化做的不好就會明顯影響識別性能。

自從有了深度學習技術之後,文字識別這個事情變得簡單多了,我們現在利用相關的深度學習技術如CNN、DNN、RNN,可以把這個問題解決的很好。當然我後面也會講,只是簡單直接應用CNN等技術或許可以達到還不錯的結果,但是你要達到State-of-the-art的結果,還是需要一定的領域知識來輔助你做解決這個問題。我這裡還想說一下,其實在文字識別一直是深度學習一個主要的應用方向,深度學習如CNN/LSTM等模型在文字識別的應用有很長的歷史,上世紀90年代,深度學習的先驅者如Y. Lecun,很早就用神經網路來解決文字識別,1998年,Lecun和Bengio合作設計了LeNet5解決了手寫數字識別問題,這是他們在貝爾實驗室做的Demo。後來包括微軟劍橋研究院的學者在2003年就用CNN將MNIST的錯誤率做到了很低的程度(0.4%)。

剛才說了,簡單利用深度學習解決手寫漢字這些比較難的問題,效果並不是很理想,所以過去兩年國內有很多研究團隊,針對手寫寫文字的識別做了大量的工作,包括我們團隊做的一些針對漢字識別的DropSample訓練新方法,還有一些領域知識與CNN的結合,如英國華威大學的Graham教授、我們團隊在CNN中引入了路徑積分特徵圖這樣的領域知識層,可以進一步提升文字識別的準確率。大家知道,在2012年CVPR的文章,直接用CNN網路來解決手寫漢字識別還幹不過傳統的Bayes方法,但是現在我們可以把CNN/RNN等用的更好,遠超過傳統的方法。這是中科院自動化所做的最新的工作,他們也發現加上一些領域知識,結合CNN的方法,可以更好把文字識別這個問題解決的更好。這個是中科院自動化所基於迴圈神經網路,針對文字識別提出的一種Sequential Dropout 方法,使得模型的魯棒性做的更好,這個結果是目前文字識別中識別率最高的。

有了深度學習的技術和我們的領域知識相結合以後,單字元的文字識別技術現在基本上解決的差不多了,這是連線漢字識別在公開評測集的技術指標現狀,深度學習的結果基本上都超過了人眼識別的水準。

手寫辨識另外一個有用的方向就是在簽名識別,或者筆跡鑒定領域,今天國內外特別是國外大超市購物刷卡的時候,收銀系統已經在開始使用數位化的簽名,但目前這個簽名目前還沒有辦法做自動的識別和鑒別,實際上本來簽名是一種有效的身份認證技術。傳統的方法需要做很多特徵的分析及提取,相似度的判斷等等。過去幾年我們發現,利用深度學習也可以有效的解決筆跡識別的問題。筆跡識別比較大的挑戰就是訓練樣本很少、很難獲取。我們針對這個問題提了一些資料增廣方法,並結合領域知識,目前基本上可以把這個問題解決的很好。這是中科院自動化所做的另外一種方法,是利用RNN做的,結果做的特別好。在書寫者識別的一個資料集上,識別率已經做的很高了,但是值得指出的是,這個資料還是很小,只有不到200人的規模,實際應用能否經受得起考驗,這可能還有很長的路要走。

簽名的資料很難獲取,因為涉及到個人的隱私,這兩年也有一些學者開始用深度學習的方法解決,而且解決的還不錯,這是一種基於深度學習的度量學習方法。另外我們團隊做了一種基於RNN深度網路的方法,看一下在SVC資料庫,基於深度學習的方法也可以做到很高的準確度。這裡還想給大家一個資訊就是,一般而言深度學習需要大資料才能進行有效訓練,但在簽名識別這個小資料問題上,我們發現通過資料增廣等方法,深度學習也大有用武之地。

文本行識別是文字識別中另外一個傳統的問題,包括有基於分割和無分割的方法。這個是傳統的基於過切分的中文離線無手寫文本行識別的一些典型方法,後面的兩種用了CNN分類器;這是基於HMM無切分的識別。這是法國的學者在2015年用多方向LSTM的方法來解決中文離線手寫文本行識別,但是當時的性能還幹不過傳統的方法。當然現在富士通及中科院的團隊把傳統方法結合CNN以後,現在的性能有了明顯的提升。

在連線文本行識別方面思路和離線識別一樣,這兩年也有很多關於深度學習方面的文章應用,這裡舉個例子,比如哈爾濱工業大學的研究團隊提出的多層LSTM識別模型,模型雖然很簡單,但是效果非常好。這是我們團隊做的工作,基於全卷積回歸神經網路中文連線手寫文本行識別,可能是目前公開文獻報導中最好的結果,我們也把這個系統實現到雲端了。和三年的技術相比,目前手寫文本行這個技術有了顯著進步。但在篇幅級的識別,比如給你一段文檔,特別是圖文混排版面複雜情況,這個問題還比較難。雖然已經有很多學者在關注這個問題,這個問題還沒有得到徹底的解決,其中一個一方面的原因是目前學術界還缺乏足夠多的真實資料。這是一種利用attention機制和MDLSTM來解決篇幅級的文字識別的方法,可以進行整行的檢測,然後再做識別。不過這個法文資料集的挑戰還不是特別大,就算這樣的資料集目前也沒有做的特別好,針對手寫中文的篇幅級研究報導還不多見,所以還有很多研究的機會。

對於手寫辨識研究還有另外一個重要的問題,就是要解決移動端即時應用問題,因為手機的輸入法必須即時處理,這方面我們做了一些相關的工作,我們利用了矩陣分解和自動裁剪網路連結的方法,在3755類漢字識別的問題上,可以把模型大小壓縮到2M左右,速度在CPU上可以做到9.7毫秒每個字,可以達到實用化的程度。在連線漢字識別方面我們採用相關的技術也可以把CNN模型大小壓到很低,一般的文字識別CNN網路模型大小有幾十MB甚至上百MB,但是我們可以壓到0.6M左右而精度損失不到1%。基於這樣的技術,我們實現了面向移動端和網路端的識別引擎,左邊是手機端的SCUT gPen手寫輸入法的Demo,右邊是網路端(www.deephcr.net),識別精度還不錯,只要你寫得基本上像一個漢字,一般都可以識別出來。我們移動端的識別引擎目前已經授權給搜狗公司使用,搜狗Android端及iOS端的手寫輸入法目前採用了我們提供的識別引擎。

雖然手寫輸入法已經廣泛普及,其實無約束手寫辨識尚未完成解決,例如國家標準GB/T18790—2010連線手寫漢字識別系統技術要求與測試規程,要求手寫輸入軟體及設備需支援識別正負45度的手寫樣本。這個問題消費者可能沒有覺得很重要,所以目前的許多產品都還沒有解決好。在整個文本行識別當中,我們測了五種主流的輸入法,(在iPad裝了相關的手寫輸入法軟體),這裡是五種軟體識別的情況,有個別的輸入法根本不讓你進行整行無約束的書寫,有一些能夠識別一些字,但整體而言識別率還不高,所以這個問題離真正的解決,還有一定的距離。最下面識別得最好的是我們實驗室做的網路版的Demo。另外,有一些輸入法對生僻字以及常見的符號的識別支援也並不太好,最常用的一些符號如“√” 的識別都不支援。

第二個方面給大家介紹一下場景文字的檢測與識別,這是一個典型的OCR問題,在電腦視覺裡近年來廣泛受關注的一個研究問題,包括場景圖像中文字的檢測,文字識別,端到端的解決技術等。場景文字檢測面臨的挑戰,包括有不同的語種、任意的長度、形狀、顏色,複雜背景、複雜字體、光照、雜訊干擾等等。

傳統的文字檢測方法主要包括基於滑窗的方法和基於連通域分析的方法。其優點是速度快,無需大量的資料來進行模型訓練,但缺點是識別性能不夠高。近年來基於深度學習的物體檢測方法如Faster R-CNN/YOLO/SSD/R-FCN等為解決此問題提供了全新的解決思路。雖然文字檢測可以看成是物體檢測的特殊例子,但是簡單的把深度學習中的物體檢測的框架做檢測是達不到理想的效果的,這是四篇最新的文章給出的對比實驗結果,可以看到如果直接用Faster R-CNN、SSD甚至幹不過傳統的方法,但是如果針對文本檢測的問題做一些特殊的設計,檢測效果就會得到明顯提升。

這是去年CVPR提出的一種基於FCN深度網路來進行場景文字檢測的方法,是華中科技大學學者發表的文章,這個方法比之前的結構的有了很大的提升。另外,他們今年在AAAI上還提出了一種基於深度學習的TextBox文本檢測方法,針對文字檢測設計了特別的Text-box layer。這是我們實驗室今年CVPR2017錄用論文的一個工作,我們基於SSD框架提出使用任意四邊形回歸的方法檢測場景文本,主要的優點是可以把文字檢測更加緊密一點,方便做後面的識別,在ICDAR2015年挑戰4的檢測效果當時在公開文獻報導中是最好的。但是今年我們發現有很多相關工作,把這個準確度快速提升上來了,比如華中科技大學研究團隊也基於SSD的框架,採用多個小框回歸及合併的方法,在ICDAR 2014挑戰4上F Measure做到了75%;復旦大學的研究團隊提出了一種RRPN及旋轉矩形RoI Pooling的方法,做到77%;這是Face++今年CVPR的論文,基於PVANet,設計了多種不同的損失函數來進行多方向文字檢測,做到了80.72%;這是中科院自動化的研究團隊所做的工作,也是利用類似FCN等深度學習的方面,ICDAR2014挑戰4上做到了81%左右,可能是目前公開文獻報導中最好的結果。

這裡我給出了ICDAR場景文字檢測及識別競賽(ICDAR 2015)官網上最新公開的一些結果。我們看到挑戰2的問題基本上得到了不錯的解決,挑戰4最近兩年之內檢測識別性能指標也有很大的提升。當然值得提一下這兩個資料集的規模其實都還很小。圖片數量都不到1000張。

場景文字還有很多有趣的應用,比如可以輔助我們進行圖像的搜索和圖像的分類,這篇華中科技大學研究人員的論文,通過文本檢測識別輸出的編碼Word Vector以及圖像識別網路GoogleNet的輸出編碼Vision Vector,兩者拼在一起再進行最後做圖像的細細微性分類。舉個例子,這裡是一大堆的瓶子,這裡面有可口可樂、有飲料瓶,還有啤酒瓶等等,上面有文字資訊可以輔助來進行圖像的細細微性分類,極大的提升它的分類準確度。

第三個方面我講一下文字識別的市場機遇,這方面包括圖像搜尋引擎、自動駕駛、金融保險、AR、智慧型機器人、教育醫療等等很多領域都有很多應用。比如OCR技術,在移動辦公、遠端開戶,智慧物流都有應用。像名片識別這種比較成熟的技術,我們一般連絡人資訊輸入名字和電話號碼就完了,利用這個技術就可以把連絡人的各種資訊包括單位、職務、email位址等完整保留起來。場景文字檢測還可以用來做輔助圖像搜索,包括以詞搜圖,更好的提升圖像搜索的使用者體驗;另外一個典型應用是AR眼鏡實現即時場景包括街景的文字翻譯,這裡還可以產生很多創新應用,例如可以讓盲人看懂世界、盲人看大片等等。另外,筆計算與數字墨水也是一個有很大潛在應用的市場,今天的觸控式螢幕及數字筆的書寫體驗和傳統紙張書寫體驗還有很大差距,如果這方面的硬體技術做好的話,Ink識別理解及搜索都會有很大的各種不同應用場景。另外,還需說一下其實國內從事文字識別及應用的企業也有不少,同學們如果從事這個領域的研究,將來找工作完全不用擔心,這裡我列舉了一些,比如國際國內專門做文字識別及應用的公司,還有很多大公司像微軟、Google、三星、BAT等也有文字識別的部門或小組。用“早稻”這個企業搜索網站以關鍵字OCR進行搜索,可以找到100多家相關的企業。

下面舉一些成功應用的例子,比如車牌識別這個比較成熟的技術,據搜狐網上面的一篇文章報導,2014年國內車牌識別收費系統的市場容量大於37億,隨著車輛的普及以及智慧社區、智慧停車場的大量普及,而且未來5年以年均17.4%的複合增長率在發展,早稻網中輸入“車牌識別”,也可以找到好幾百家公司,所以我們看到OCR相關技術已經逐漸走入了市場。

某些特定的垂直領域的OCR技術解決差不多了,但是對於更通用的場景文字OCR解決怎麼樣了呢?我們測試了百度、微軟、穀歌幾個主流的OCR雲端識別情況,在背景比較簡單、字體比較規範情況下,即使字有傾斜,這幾個引擎識別的還不錯,雖然偶爾有一點小錯誤,其中這個是做的最好的,我就不說是哪家公司了。但如果字體不是很常見,例如這是一個茶館的標牌,我們看到不少文字都識別錯了。圖像解析度不太高情況下,幾個引擎識別率都不高。這個圖中的文字按理說很規範,但八個字就錯了三個字。另外,圖像中有手寫體文字的情況下,基本上大多無法進行正確檢測及識別。所以我們看到場景文字OCR這個問題目前還遠遠沒有得到解決。

文字識別還有很多困難和挑戰,比如金融票據的識別、簽名識別(主要是我們缺乏足夠的資料)、混合手寫印刷體的郵政快遞表單識別、書法古跡文獻識別、教育文檔例如中小學生的手寫作業及試卷(特別是數理化文檔)的OCR,這些問題都有很大挑戰性,就更不要說醫療行業中醫生寫的處方病歷等手寫體字元了。另外還有來自網路的一些奇特或者藝術化的文字圖像,人雖然能輕鬆辨識,但這樣的圖像文字識別,未來5年都不一定能得到解決。

最後我談一點個人對此領域未來技術發展的趨勢和展望,要解決我剛才講的OCR和文字識別的技術,第一方面就是要有更好的技術理論和方法,除了目前的深度學習之外,我們也期待別的新理論方法的出現,還有無監督學習、弱標注學習、One-shot Learning方法等等。第二個方面是自主學習、長效學習或終身學習這些新方法,都可能會為我們解決大資料無標注或弱標注情況下的OCR問題提供新的解決思路。協力廠商面,現在人工智慧還處於剛剛起步的階段,離強人工智慧還很遠。在OCR領域我們今天也只能做一些簡單的識別感知問題,從感知到智慧理解再到高層認知,還有很長的路要走。第四方面,對文字識別仍然需要更好的端到端的解決方案,例如對場景文字OCR,我們需要把檢測和識別做成完全可學習的端到端的解決方法;圖文混排複雜版面的手寫及印刷體OCR,也可嘗試進行版面分析加自動分割加識別的端到端可學習方法的研究探討。第五方面,從應用角度看,我認為垂直行業的有非常多的行業應用機會,例如金融、保險、自動駕駛、醫療、教育、機器人、AR、智慧城市等等。第六方面,手寫體的識別,尤其是複雜版面下的手寫體OCR,這個問題遠遠沒有得到解決。第七個方面,剛才我講了資料,高品質的資料和大資料是非常關鍵的,我們現在很難獲取一些特定領域的文檔資料,例如金融文字圖像資料,快遞表單文檔圖像資料等等,這需要學術界和工業界一起合作解決相關問題。未來有沒有更多更好的資料非常值得我們期待。

最後談一個觀點,我們今天的針對一些典型的模式識別問題的解決方案還做得不夠智慧及通用,針對不同的視覺識別問題都需要設計不同的識別模型,例如人臉有人臉識別引擎,圖像有圖像識別引擎,文字有文字識別引擎,這相當於我們今天的人工智慧其實是需要很多隻不同的眼睛來解決不同的視覺感知問題。將來有沒有可能設計一個通用的解決方案,哪怕針對文字OCR這個特定領域的問題,把手寫、場景文字、表單、名片、證照等等用一個通用的統一方案來解決這些問題,無論從理論和技術上都值得研究,這樣我們文字識別這個眼睛才真正稱得上是人工智慧領域中的一隻智慧的眼睛。

我的報告就到這裡,謝謝大家!

劉成林/主持人:謝謝金教授的報告,在技術和應用方面介紹的很全面,對未來的發展也有很多的思考。

提問:我有兩個問題,第一個問題,您對整篇文檔級的文字識別有什麼看法?

金連文:國內外學者例如法國的研究人員做過相關的研究工作,但是資料做的比較簡單,傳統的印刷體識別版面分析已經有很多年的研究歷史了。針對複雜版面混合手寫圖文的情況,我們現在還缺乏足夠的資料,如果有資料以後,有沒有可能用深度學習這樣的思路來解決是值得做的一個方向。

提問:您有做嘗試嗎?

金連文:目前還沒有開始。

提問:我也是沒有資料,所以一直沒有動手做。第二個問題,就是上一位嘉賓華老師PPT裡有一張寫的是char-Gan關於車牌的文字生成問題,這種技術可能對OCR有用嗎。

金連文:我們試過手寫OCR的情況,也許我們做的還不是特別深入特別對,目前的結論是GAN看起來很美好,但對識別率提升並不是很明顯。

提問:對,比如像印刷體,都是99%的識別率,錯誤率很小,這種情況如何呢?

金連文:如果已經99%就沒特別的必要用GAN合成樣本了。針對複雜背景場景文字的合成,我們也初步嘗試過,從對檢測識別的角度來看,目前至少我們還沒有試成功,GAN目前的技術有沒有實際應用價值還有待觀察。這方面我不是專家,我的經驗只能到這裡,謝謝。

提問:金教授,我剛才聽了您的演講,涉及到了手寫體,我是做金融和合同一些比對數字識別的,在識別當中我發現一個問題,無論國內和國外,都說對印刷體的識別率可以達到99.9%幾,但是在實際過程當中,真正要用的時候,按照10個欄位測試,他們的識別率 最高只有百分之七十幾,我想知道一下,國內公司哪一個公司做的比較好?

金連文:這個我不能給他們做廣告,我瞭解也不一定不全,比如漢王文通好像有做金融票據處理的解決方案,其他還有上海合合資訊、微模式等等。你用通用的OCR肯定不行的,為什麼之前報導的識別率那麼高,可能因為那些資料規模很小,而且很乾淨,和實際應用差距很大。所以我希望你們公司也能公開一些資料,學術界很難拿到這些資料,如果把資料脫敏以後,希望公開一些資料,這樣工業界和學術界可以一起來把這些問題解決好。

提問:在我們所有的識別裡,我們最感興趣的是可信研究,每個漢字的識別結果要非常可信,不需要人工介入的處理,您有什麼建議?

金連文:像深度學習模型本身你用Softmax層的輸出是可以獲得識別結果的置信度描述的,當然不能百分之百的可信,百分之九十多還是可以的,我們團隊在ICDAR 2015的一篇論文中研究過這個問題。另外,在機器學習、模式識別等領域,研究置信度的工作有很多,您可以查查相關的文獻。

CAAI原創 丨 作者金連文

未經授權嚴禁轉載及翻譯

如需轉載合作請向學會或本人申請

轉發請注明轉自中國人工智慧學會

交叉、 融合、 相生 、 共贏

有一句話這樣說,一圖勝千言,但是有時候如果圖片當中沒有文字,我們很難理解這個圖片的含義。這裡有兩幅圖,左邊圖是我在法國一家酒店裡拍的照片,右邊是一個漫畫,大家能夠猜到它們表達什麼意思嗎?特別是左邊這個圖,當時坑了我很久。右邊圖中配文是“心中的天氣是晴是雨全在自己”。沒有圖片我們可能表達起來不是那麼生動,但是沒有文字,有時可能無法理解其含義。比如這幅圖,沒有文字說明很難猜其表達什麼含義,其實它的配文是來自《金剛經》中的一句話“一切法無我,得成於忍”,講凡事包容、忍耐的道理。再舉個例子,這是個一個商品、商品包裝的裡面的正反面,大家第一眼看到可能想到這一定是藥品或保健品,但是實際上它是一個食品---葡萄乾。所以,我這裡想表達一個觀點就是,文字的重要性是非常大的,某種意義上來講,如果給你一張圖,若圖上有文字,80%以上的情況下,圖上的文字資訊是最重要最有信息量的。所以文字識別這個問題是一個重要的人工智慧問題,從這個角度看,文字識別的問題如果沒有解決好,人工智慧就不能稱得上真正的、完整的人工智慧。

下面我講講文字識別的一些技術的現狀。文字識別包括文檔分析和文字識別兩個部分。從文字獲取的途徑可以把文字識別分成OCR和線上文字識別兩大類。OCR是處理及識別通過光學設備如數碼相機、掃描器獲取的文檔圖像,線上文字識別是處理通過數位筆、觸控式螢幕捕捉的文字資料。兩類問題都有很多不同的研究子問題及應用場景,今天由於時間關係,我重點給大家介紹一些領域的現狀、和它面臨的挑戰和機遇。

文字識別的研究發展歷史已經有很多年的歷史,最早可以追溯到上世紀20年代,上世紀80年代90年代是文字識別的重要發展時期,那時候在圖書報刊數位化、郵遞區號及自動分揀、表單名片識別等都產生了非常廣泛的應用,2000年以後,隨著智慧手機和移動互聯網的興起,基於拍照和OCR以及手寫辨識及Ink理解受到了更多的關注。

我先講一下手寫文字識別,這個技術現在在手機、平板電腦的為輸入法相當普及,基本上是標準的配置功能之一,另外一方面就是OCR的手寫文字識別,如快遞單識別理解等等這樣的問題,也是有很多的應用場景。傳統的手寫文字識別的一般框架包括預處理、特徵提取、分類器設計等三個主要模組,每個模組技術都需要仔細設計,比如圖像歸一化做的不好就會明顯影響識別性能。

自從有了深度學習技術之後,文字識別這個事情變得簡單多了,我們現在利用相關的深度學習技術如CNN、DNN、RNN,可以把這個問題解決的很好。當然我後面也會講,只是簡單直接應用CNN等技術或許可以達到還不錯的結果,但是你要達到State-of-the-art的結果,還是需要一定的領域知識來輔助你做解決這個問題。我這裡還想說一下,其實在文字識別一直是深度學習一個主要的應用方向,深度學習如CNN/LSTM等模型在文字識別的應用有很長的歷史,上世紀90年代,深度學習的先驅者如Y. Lecun,很早就用神經網路來解決文字識別,1998年,Lecun和Bengio合作設計了LeNet5解決了手寫數字識別問題,這是他們在貝爾實驗室做的Demo。後來包括微軟劍橋研究院的學者在2003年就用CNN將MNIST的錯誤率做到了很低的程度(0.4%)。

剛才說了,簡單利用深度學習解決手寫漢字這些比較難的問題,效果並不是很理想,所以過去兩年國內有很多研究團隊,針對手寫寫文字的識別做了大量的工作,包括我們團隊做的一些針對漢字識別的DropSample訓練新方法,還有一些領域知識與CNN的結合,如英國華威大學的Graham教授、我們團隊在CNN中引入了路徑積分特徵圖這樣的領域知識層,可以進一步提升文字識別的準確率。大家知道,在2012年CVPR的文章,直接用CNN網路來解決手寫漢字識別還幹不過傳統的Bayes方法,但是現在我們可以把CNN/RNN等用的更好,遠超過傳統的方法。這是中科院自動化所做的最新的工作,他們也發現加上一些領域知識,結合CNN的方法,可以更好把文字識別這個問題解決的更好。這個是中科院自動化所基於迴圈神經網路,針對文字識別提出的一種Sequential Dropout 方法,使得模型的魯棒性做的更好,這個結果是目前文字識別中識別率最高的。

有了深度學習的技術和我們的領域知識相結合以後,單字元的文字識別技術現在基本上解決的差不多了,這是連線漢字識別在公開評測集的技術指標現狀,深度學習的結果基本上都超過了人眼識別的水準。

手寫辨識另外一個有用的方向就是在簽名識別,或者筆跡鑒定領域,今天國內外特別是國外大超市購物刷卡的時候,收銀系統已經在開始使用數位化的簽名,但目前這個簽名目前還沒有辦法做自動的識別和鑒別,實際上本來簽名是一種有效的身份認證技術。傳統的方法需要做很多特徵的分析及提取,相似度的判斷等等。過去幾年我們發現,利用深度學習也可以有效的解決筆跡識別的問題。筆跡識別比較大的挑戰就是訓練樣本很少、很難獲取。我們針對這個問題提了一些資料增廣方法,並結合領域知識,目前基本上可以把這個問題解決的很好。這是中科院自動化所做的另外一種方法,是利用RNN做的,結果做的特別好。在書寫者識別的一個資料集上,識別率已經做的很高了,但是值得指出的是,這個資料還是很小,只有不到200人的規模,實際應用能否經受得起考驗,這可能還有很長的路要走。

簽名的資料很難獲取,因為涉及到個人的隱私,這兩年也有一些學者開始用深度學習的方法解決,而且解決的還不錯,這是一種基於深度學習的度量學習方法。另外我們團隊做了一種基於RNN深度網路的方法,看一下在SVC資料庫,基於深度學習的方法也可以做到很高的準確度。這裡還想給大家一個資訊就是,一般而言深度學習需要大資料才能進行有效訓練,但在簽名識別這個小資料問題上,我們發現通過資料增廣等方法,深度學習也大有用武之地。

文本行識別是文字識別中另外一個傳統的問題,包括有基於分割和無分割的方法。這個是傳統的基於過切分的中文離線無手寫文本行識別的一些典型方法,後面的兩種用了CNN分類器;這是基於HMM無切分的識別。這是法國的學者在2015年用多方向LSTM的方法來解決中文離線手寫文本行識別,但是當時的性能還幹不過傳統的方法。當然現在富士通及中科院的團隊把傳統方法結合CNN以後,現在的性能有了明顯的提升。

在連線文本行識別方面思路和離線識別一樣,這兩年也有很多關於深度學習方面的文章應用,這裡舉個例子,比如哈爾濱工業大學的研究團隊提出的多層LSTM識別模型,模型雖然很簡單,但是效果非常好。這是我們團隊做的工作,基於全卷積回歸神經網路中文連線手寫文本行識別,可能是目前公開文獻報導中最好的結果,我們也把這個系統實現到雲端了。和三年的技術相比,目前手寫文本行這個技術有了顯著進步。但在篇幅級的識別,比如給你一段文檔,特別是圖文混排版面複雜情況,這個問題還比較難。雖然已經有很多學者在關注這個問題,這個問題還沒有得到徹底的解決,其中一個一方面的原因是目前學術界還缺乏足夠多的真實資料。這是一種利用attention機制和MDLSTM來解決篇幅級的文字識別的方法,可以進行整行的檢測,然後再做識別。不過這個法文資料集的挑戰還不是特別大,就算這樣的資料集目前也沒有做的特別好,針對手寫中文的篇幅級研究報導還不多見,所以還有很多研究的機會。

對於手寫辨識研究還有另外一個重要的問題,就是要解決移動端即時應用問題,因為手機的輸入法必須即時處理,這方面我們做了一些相關的工作,我們利用了矩陣分解和自動裁剪網路連結的方法,在3755類漢字識別的問題上,可以把模型大小壓縮到2M左右,速度在CPU上可以做到9.7毫秒每個字,可以達到實用化的程度。在連線漢字識別方面我們採用相關的技術也可以把CNN模型大小壓到很低,一般的文字識別CNN網路模型大小有幾十MB甚至上百MB,但是我們可以壓到0.6M左右而精度損失不到1%。基於這樣的技術,我們實現了面向移動端和網路端的識別引擎,左邊是手機端的SCUT gPen手寫輸入法的Demo,右邊是網路端(www.deephcr.net),識別精度還不錯,只要你寫得基本上像一個漢字,一般都可以識別出來。我們移動端的識別引擎目前已經授權給搜狗公司使用,搜狗Android端及iOS端的手寫輸入法目前採用了我們提供的識別引擎。

雖然手寫輸入法已經廣泛普及,其實無約束手寫辨識尚未完成解決,例如國家標準GB/T18790—2010連線手寫漢字識別系統技術要求與測試規程,要求手寫輸入軟體及設備需支援識別正負45度的手寫樣本。這個問題消費者可能沒有覺得很重要,所以目前的許多產品都還沒有解決好。在整個文本行識別當中,我們測了五種主流的輸入法,(在iPad裝了相關的手寫輸入法軟體),這裡是五種軟體識別的情況,有個別的輸入法根本不讓你進行整行無約束的書寫,有一些能夠識別一些字,但整體而言識別率還不高,所以這個問題離真正的解決,還有一定的距離。最下面識別得最好的是我們實驗室做的網路版的Demo。另外,有一些輸入法對生僻字以及常見的符號的識別支援也並不太好,最常用的一些符號如“√” 的識別都不支援。

第二個方面給大家介紹一下場景文字的檢測與識別,這是一個典型的OCR問題,在電腦視覺裡近年來廣泛受關注的一個研究問題,包括場景圖像中文字的檢測,文字識別,端到端的解決技術等。場景文字檢測面臨的挑戰,包括有不同的語種、任意的長度、形狀、顏色,複雜背景、複雜字體、光照、雜訊干擾等等。

傳統的文字檢測方法主要包括基於滑窗的方法和基於連通域分析的方法。其優點是速度快,無需大量的資料來進行模型訓練,但缺點是識別性能不夠高。近年來基於深度學習的物體檢測方法如Faster R-CNN/YOLO/SSD/R-FCN等為解決此問題提供了全新的解決思路。雖然文字檢測可以看成是物體檢測的特殊例子,但是簡單的把深度學習中的物體檢測的框架做檢測是達不到理想的效果的,這是四篇最新的文章給出的對比實驗結果,可以看到如果直接用Faster R-CNN、SSD甚至幹不過傳統的方法,但是如果針對文本檢測的問題做一些特殊的設計,檢測效果就會得到明顯提升。

這是去年CVPR提出的一種基於FCN深度網路來進行場景文字檢測的方法,是華中科技大學學者發表的文章,這個方法比之前的結構的有了很大的提升。另外,他們今年在AAAI上還提出了一種基於深度學習的TextBox文本檢測方法,針對文字檢測設計了特別的Text-box layer。這是我們實驗室今年CVPR2017錄用論文的一個工作,我們基於SSD框架提出使用任意四邊形回歸的方法檢測場景文本,主要的優點是可以把文字檢測更加緊密一點,方便做後面的識別,在ICDAR2015年挑戰4的檢測效果當時在公開文獻報導中是最好的。但是今年我們發現有很多相關工作,把這個準確度快速提升上來了,比如華中科技大學研究團隊也基於SSD的框架,採用多個小框回歸及合併的方法,在ICDAR 2014挑戰4上F Measure做到了75%;復旦大學的研究團隊提出了一種RRPN及旋轉矩形RoI Pooling的方法,做到77%;這是Face++今年CVPR的論文,基於PVANet,設計了多種不同的損失函數來進行多方向文字檢測,做到了80.72%;這是中科院自動化的研究團隊所做的工作,也是利用類似FCN等深度學習的方面,ICDAR2014挑戰4上做到了81%左右,可能是目前公開文獻報導中最好的結果。

這裡我給出了ICDAR場景文字檢測及識別競賽(ICDAR 2015)官網上最新公開的一些結果。我們看到挑戰2的問題基本上得到了不錯的解決,挑戰4最近兩年之內檢測識別性能指標也有很大的提升。當然值得提一下這兩個資料集的規模其實都還很小。圖片數量都不到1000張。

場景文字還有很多有趣的應用,比如可以輔助我們進行圖像的搜索和圖像的分類,這篇華中科技大學研究人員的論文,通過文本檢測識別輸出的編碼Word Vector以及圖像識別網路GoogleNet的輸出編碼Vision Vector,兩者拼在一起再進行最後做圖像的細細微性分類。舉個例子,這裡是一大堆的瓶子,這裡面有可口可樂、有飲料瓶,還有啤酒瓶等等,上面有文字資訊可以輔助來進行圖像的細細微性分類,極大的提升它的分類準確度。

第三個方面我講一下文字識別的市場機遇,這方面包括圖像搜尋引擎、自動駕駛、金融保險、AR、智慧型機器人、教育醫療等等很多領域都有很多應用。比如OCR技術,在移動辦公、遠端開戶,智慧物流都有應用。像名片識別這種比較成熟的技術,我們一般連絡人資訊輸入名字和電話號碼就完了,利用這個技術就可以把連絡人的各種資訊包括單位、職務、email位址等完整保留起來。場景文字檢測還可以用來做輔助圖像搜索,包括以詞搜圖,更好的提升圖像搜索的使用者體驗;另外一個典型應用是AR眼鏡實現即時場景包括街景的文字翻譯,這裡還可以產生很多創新應用,例如可以讓盲人看懂世界、盲人看大片等等。另外,筆計算與數字墨水也是一個有很大潛在應用的市場,今天的觸控式螢幕及數字筆的書寫體驗和傳統紙張書寫體驗還有很大差距,如果這方面的硬體技術做好的話,Ink識別理解及搜索都會有很大的各種不同應用場景。另外,還需說一下其實國內從事文字識別及應用的企業也有不少,同學們如果從事這個領域的研究,將來找工作完全不用擔心,這裡我列舉了一些,比如國際國內專門做文字識別及應用的公司,還有很多大公司像微軟、Google、三星、BAT等也有文字識別的部門或小組。用“早稻”這個企業搜索網站以關鍵字OCR進行搜索,可以找到100多家相關的企業。

下面舉一些成功應用的例子,比如車牌識別這個比較成熟的技術,據搜狐網上面的一篇文章報導,2014年國內車牌識別收費系統的市場容量大於37億,隨著車輛的普及以及智慧社區、智慧停車場的大量普及,而且未來5年以年均17.4%的複合增長率在發展,早稻網中輸入“車牌識別”,也可以找到好幾百家公司,所以我們看到OCR相關技術已經逐漸走入了市場。

某些特定的垂直領域的OCR技術解決差不多了,但是對於更通用的場景文字OCR解決怎麼樣了呢?我們測試了百度、微軟、穀歌幾個主流的OCR雲端識別情況,在背景比較簡單、字體比較規範情況下,即使字有傾斜,這幾個引擎識別的還不錯,雖然偶爾有一點小錯誤,其中這個是做的最好的,我就不說是哪家公司了。但如果字體不是很常見,例如這是一個茶館的標牌,我們看到不少文字都識別錯了。圖像解析度不太高情況下,幾個引擎識別率都不高。這個圖中的文字按理說很規範,但八個字就錯了三個字。另外,圖像中有手寫體文字的情況下,基本上大多無法進行正確檢測及識別。所以我們看到場景文字OCR這個問題目前還遠遠沒有得到解決。

文字識別還有很多困難和挑戰,比如金融票據的識別、簽名識別(主要是我們缺乏足夠的資料)、混合手寫印刷體的郵政快遞表單識別、書法古跡文獻識別、教育文檔例如中小學生的手寫作業及試卷(特別是數理化文檔)的OCR,這些問題都有很大挑戰性,就更不要說醫療行業中醫生寫的處方病歷等手寫體字元了。另外還有來自網路的一些奇特或者藝術化的文字圖像,人雖然能輕鬆辨識,但這樣的圖像文字識別,未來5年都不一定能得到解決。

最後我談一點個人對此領域未來技術發展的趨勢和展望,要解決我剛才講的OCR和文字識別的技術,第一方面就是要有更好的技術理論和方法,除了目前的深度學習之外,我們也期待別的新理論方法的出現,還有無監督學習、弱標注學習、One-shot Learning方法等等。第二個方面是自主學習、長效學習或終身學習這些新方法,都可能會為我們解決大資料無標注或弱標注情況下的OCR問題提供新的解決思路。協力廠商面,現在人工智慧還處於剛剛起步的階段,離強人工智慧還很遠。在OCR領域我們今天也只能做一些簡單的識別感知問題,從感知到智慧理解再到高層認知,還有很長的路要走。第四方面,對文字識別仍然需要更好的端到端的解決方案,例如對場景文字OCR,我們需要把檢測和識別做成完全可學習的端到端的解決方法;圖文混排複雜版面的手寫及印刷體OCR,也可嘗試進行版面分析加自動分割加識別的端到端可學習方法的研究探討。第五方面,從應用角度看,我認為垂直行業的有非常多的行業應用機會,例如金融、保險、自動駕駛、醫療、教育、機器人、AR、智慧城市等等。第六方面,手寫體的識別,尤其是複雜版面下的手寫體OCR,這個問題遠遠沒有得到解決。第七個方面,剛才我講了資料,高品質的資料和大資料是非常關鍵的,我們現在很難獲取一些特定領域的文檔資料,例如金融文字圖像資料,快遞表單文檔圖像資料等等,這需要學術界和工業界一起合作解決相關問題。未來有沒有更多更好的資料非常值得我們期待。

最後談一個觀點,我們今天的針對一些典型的模式識別問題的解決方案還做得不夠智慧及通用,針對不同的視覺識別問題都需要設計不同的識別模型,例如人臉有人臉識別引擎,圖像有圖像識別引擎,文字有文字識別引擎,這相當於我們今天的人工智慧其實是需要很多隻不同的眼睛來解決不同的視覺感知問題。將來有沒有可能設計一個通用的解決方案,哪怕針對文字OCR這個特定領域的問題,把手寫、場景文字、表單、名片、證照等等用一個通用的統一方案來解決這些問題,無論從理論和技術上都值得研究,這樣我們文字識別這個眼睛才真正稱得上是人工智慧領域中的一隻智慧的眼睛。

我的報告就到這裡,謝謝大家!

劉成林/主持人:謝謝金教授的報告,在技術和應用方面介紹的很全面,對未來的發展也有很多的思考。

提問:我有兩個問題,第一個問題,您對整篇文檔級的文字識別有什麼看法?

金連文:國內外學者例如法國的研究人員做過相關的研究工作,但是資料做的比較簡單,傳統的印刷體識別版面分析已經有很多年的研究歷史了。針對複雜版面混合手寫圖文的情況,我們現在還缺乏足夠的資料,如果有資料以後,有沒有可能用深度學習這樣的思路來解決是值得做的一個方向。

提問:您有做嘗試嗎?

金連文:目前還沒有開始。

提問:我也是沒有資料,所以一直沒有動手做。第二個問題,就是上一位嘉賓華老師PPT裡有一張寫的是char-Gan關於車牌的文字生成問題,這種技術可能對OCR有用嗎。

金連文:我們試過手寫OCR的情況,也許我們做的還不是特別深入特別對,目前的結論是GAN看起來很美好,但對識別率提升並不是很明顯。

提問:對,比如像印刷體,都是99%的識別率,錯誤率很小,這種情況如何呢?

金連文:如果已經99%就沒特別的必要用GAN合成樣本了。針對複雜背景場景文字的合成,我們也初步嘗試過,從對檢測識別的角度來看,目前至少我們還沒有試成功,GAN目前的技術有沒有實際應用價值還有待觀察。這方面我不是專家,我的經驗只能到這裡,謝謝。

提問:金教授,我剛才聽了您的演講,涉及到了手寫體,我是做金融和合同一些比對數字識別的,在識別當中我發現一個問題,無論國內和國外,都說對印刷體的識別率可以達到99.9%幾,但是在實際過程當中,真正要用的時候,按照10個欄位測試,他們的識別率 最高只有百分之七十幾,我想知道一下,國內公司哪一個公司做的比較好?

金連文:這個我不能給他們做廣告,我瞭解也不一定不全,比如漢王文通好像有做金融票據處理的解決方案,其他還有上海合合資訊、微模式等等。你用通用的OCR肯定不行的,為什麼之前報導的識別率那麼高,可能因為那些資料規模很小,而且很乾淨,和實際應用差距很大。所以我希望你們公司也能公開一些資料,學術界很難拿到這些資料,如果把資料脫敏以後,希望公開一些資料,這樣工業界和學術界可以一起來把這些問題解決好。

提問:在我們所有的識別裡,我們最感興趣的是可信研究,每個漢字的識別結果要非常可信,不需要人工介入的處理,您有什麼建議?

金連文:像深度學習模型本身你用Softmax層的輸出是可以獲得識別結果的置信度描述的,當然不能百分之百的可信,百分之九十多還是可以的,我們團隊在ICDAR 2015的一篇論文中研究過這個問題。另外,在機器學習、模式識別等領域,研究置信度的工作有很多,您可以查查相關的文獻。

CAAI原創 丨 作者金連文

未經授權嚴禁轉載及翻譯

如需轉載合作請向學會或本人申請

轉發請注明轉自中國人工智慧學會

交叉、 融合、 相生 、 共贏

Next Article
喜欢就按个赞吧!!!
点击关闭提示