OCR技术发展综述与达观数据的实践经验
光學(xué)字符識別OCR技術(shù)(Optical Character Recognition)是指從圖像中自動提取文字信息的技術(shù)。這項技術(shù)橫跨了人工智能里的兩大領(lǐng)域:CV(計算機視覺)和NLP(自然語言處理),綜合使用了這兩大領(lǐng)域中的很多技術(shù)成果。
在過往40余年的技術(shù)發(fā)展歷程中,OCR始終具備很強的產(chǎn)業(yè)應(yīng)用背景,是計算機領(lǐng)域里少數(shù)幾個一開始就由工業(yè)界和學(xué)術(shù)界雙輪驅(qū)動的領(lǐng)域。近年來OCR技術(shù)已經(jīng)在工業(yè)界成熟落地應(yīng)用,學(xué)術(shù)界里對此的研究熱度反而弱于其他方向。甚至有人認為OCR技術(shù)已經(jīng)充分成熟,沒有更多研究必要了。然而隨著近年來智能文本處理IDP(Intelligent Document Processing)在工業(yè)界的逐步落地應(yīng)用,OCR和IDP相結(jié)合的應(yīng)用場景越來越多,用語義理解NLP的角度進一步去延伸OCR的應(yīng)用,出現(xiàn)了很多更有產(chǎn)業(yè)應(yīng)用價值的場景。本文回顧了OCR技術(shù)的發(fā)展歷程,并結(jié)合達觀數(shù)據(jù)在工程實踐方面的經(jīng)驗,介紹與語義分析技術(shù)結(jié)合后,當(dāng)前OCR技術(shù)的一些最新發(fā)展和落地經(jīng)驗。
? OCR技術(shù)的發(fā)展歷程? ?
OCR技術(shù)的誕生其實比計算機的歷史還要悠久,早在1930年代,德國發(fā)明家Tausheck(陶舍克)和美國工程師Handel(漢德)分別申請了最早的OCR專利,這比計算機的誕生還要早20年時間。因為當(dāng)年還完全沒有計算機以及相關(guān)外設(shè)(如今天廣泛使用的掃描儀或高拍儀),所以最早提出的OCR技術(shù)采用的是機械掩模和模板匹配的方法來處理打字機輸出的文檔。當(dāng)時的技術(shù)雛形離實際應(yīng)用還比較遙遠。
?
OCR技術(shù)真正開始進入辦公應(yīng)用是到了1960年代,引領(lǐng)這項技術(shù)的是美國IBM公司。隨著二戰(zhàn)后美國經(jīng)濟的騰飛,計算機開始進入企業(yè)辦公領(lǐng)域,在一些日常處理量大且步驟繁瑣的場景下OCR開始發(fā)揮應(yīng)用價值。例如1965年紐約世博會展出的IBM1287機器就能自動識別英文字母和數(shù)字,且準(zhǔn)確率很高。此后逐步被用于一些訂單編號的識別派發(fā),和信封郵政編碼的識別和郵件分揀等任務(wù)中。
1980年代起,隨著日本經(jīng)濟尤其是電子技術(shù)的飛躍,富士通、日立、東芝、NEC等日本科技公司紛紛入場。這個時期的研究特點是圖像采集的電子器件得到快速發(fā)展,光柵掃描、成像、電子化圖像傳輸?shù)刃盘柌杉夹g(shù)成長迅速,相應(yīng)的輪廓提取、結(jié)構(gòu)分析等軟件算法也開始出現(xiàn)。
在以精密電器制造見長的日本企業(yè)推動下,掃描儀等采集設(shè)備的效果、速度、成本有了長足的進步,對標(biāo)準(zhǔn)打印字符的識別效果越來越好,OCR系統(tǒng)開始普及應(yīng)用。和其他很多高科技領(lǐng)域里“先從大學(xué)有了早期理論研究突破,然后逐步在產(chǎn)業(yè)界孵化出實用系統(tǒng)”的方式不同,在這個階段,OCR技術(shù)始終是由工業(yè)界主導(dǎo)并取得了良好的應(yīng)用效果。唯一的例外是對手寫字符的識別。因為手寫字符的變化太大,各種連筆、涂改、變形等讓計算機辨認確實太難(甚至過于潦草的情況下讓人辨識都很難),所以作為OCR領(lǐng)域的研究分支,成為了學(xué)術(shù)界的一個研究熱點。尤其1990年代模式識別(Pattern Recognition)興起,激發(fā)了學(xué)術(shù)研究界對手寫字符識別的熱情。此時出現(xiàn)大名鼎鼎的MNIST數(shù)據(jù)集,由美國國家標(biāo)準(zhǔn)與技術(shù)研究所(NIST,National Institute of Standards and Technology)發(fā)起整理了來自250個不同人的手寫數(shù)字圖片。
??MNIST是OCR乃至模式分類領(lǐng)域最知名的入門數(shù)據(jù)集
此后大量的模式分類以及圖像處理論文都以MNIST作為基礎(chǔ),進行各類特征抽取和模式分類的算法研究。至今一些大學(xué)人工智能的入門課程還會用MNIST數(shù)據(jù)集來跑試驗,可謂經(jīng)久不衰。
為什么只有手寫字符集,不搞打印字符測試數(shù)據(jù)集?因為對打印字符的識別準(zhǔn)確率已經(jīng)極高(99.9%以上),沒有科研必要了……
此處順便一提,百度創(chuàng)始人李彥宏1996年在美國IDD公司工作時也參與了OCR技術(shù)研究,其中一篇優(yōu)秀的研究成果發(fā)表在機器學(xué)習(xí)界知名學(xué)術(shù)期刊IEEE Transaction PAMI上。
百度李彥宏的OCR論文,發(fā)表于IEEE Trans on PAMI
21世紀(jì)后,OCR被進一步應(yīng)用于各行各業(yè)里卡證票據(jù)的識別。針對的是日常生活中頻繁使用到的發(fā)票、身份證、銀行卡、營業(yè)執(zhí)照、房產(chǎn)證、駕駛證、汽車牌照等實體證件。在這個階段,圖像掃描技術(shù)已經(jīng)高度成熟了,所以技術(shù)研究基本集中在軟件算法方面,并細分為信息檢測(Detection)和識別(Recognition)兩個技術(shù)分支分別發(fā)展,本文后面有更詳細的技術(shù)介紹。
因為大部分常見的卡證票據(jù)都有相對固定的格式布局,所以通常只需要有足夠多的訓(xùn)練樣本,通過樣本標(biāo)注生成元素的模板定位,就能解決絕大部分問題,不用大費周折使用“智能化”的檢測算法。通俗地說,這類應(yīng)用場景是”數(shù)據(jù)為王”。
自2015年之后OCR技術(shù)和應(yīng)用又迎來了巨大的變化,這次主要來自兩個因素的推動。第一個因素是移動手機拍照的普及。在此之前,OCR的圖像通常來自于掃描儀、高拍儀等企業(yè)級專用采集設(shè)備,圖像的質(zhì)量非常高,但因為固定在辦公桌面使用,不夠方便靈活,限制了應(yīng)用場景,所以此前的OCR集中于企業(yè)級商用。而智能手機的迅速普及,讓我們每個人都有了一個“拍攝+上傳”的一體化終端,為OCR的應(yīng)用普及帶來了新的歷史機遇,隨之而來產(chǎn)生了很多新的應(yīng)用場景。例如各種個人證照、文件等的自助式拍攝和上傳,用于遠程申報和審批等事項,或者拍攝并識別文件進行內(nèi)容自動處理等創(chuàng)新場景(例如教育領(lǐng)域的拍題搜答案等)。
這個因素也隨之帶來了一些新的技術(shù)問題,例如手機因為拍攝相對隨意,個人拍攝的水平參差不齊,會導(dǎo)致圖像存在陰影遮擋、角度畸變、失焦模糊等等一堆新的問題。也相應(yīng)產(chǎn)生了一批解決這些問題的工程手段。(達觀數(shù)據(jù)陳運文)
另一個重要因素來自深度學(xué)習(xí)技術(shù)的巨大理論突破。在深度神經(jīng)網(wǎng)絡(luò)的旋風(fēng)刮到OCR領(lǐng)域之前,用于檢測和識別的技術(shù)可謂是百花齊放,例如各種各樣的信號處理(例如Fourier、Radon、Hough、Zernike)特征提煉方法、圖像結(jié)構(gòu)的方法(交叉線、圓圈、橫豎線條)、各種算子(如SIFT、SURF、各類卷積算子等)等、以及各種映射技術(shù)等。針對一些專用的字符類型和特殊應(yīng)用場景,還有專門構(gòu)造的人工特征提取技術(shù)。
但深度學(xué)習(xí)時代里通過多層網(wǎng)絡(luò)結(jié)構(gòu)來自動進行特征學(xué)習(xí),顛覆了這些傳統(tǒng)的人工特征提取過程,效果也有明顯的改善。近年來學(xué)術(shù)界的論文已經(jīng)是神經(jīng)網(wǎng)絡(luò)一統(tǒng)江湖了。加上之前限制深度學(xué)習(xí)的算力成本大幅度降低,新的更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)層出不窮,將OCR技術(shù)的效果不斷推上新的臺階。
在“智能手機+深度學(xué)習(xí)”這兩個因素共同助推下,近年來OCR技術(shù)的研發(fā)迎來了三個新的熱點方向,分別是:
OCR與智能文本處理(IDP)相結(jié)合,進行無固定格式文檔的語義理解和結(jié)構(gòu)化解析,不僅識別文字本身,而且理解文字的版面、結(jié)構(gòu)、表格元素、段落內(nèi)容等,從而完成對文本要素信息的還原和結(jié)構(gòu)化抽取工作,并用于智能文檔審閱處理等場景
OCR與專業(yè)領(lǐng)域的符號識別相結(jié)合,如數(shù)學(xué)公式符號、物理公式、化學(xué)分子結(jié)構(gòu)圖、建筑圖紙等等,實現(xiàn)專業(yè)領(lǐng)域的應(yīng)用,如拍圖搜題,圖紙審核等場景
OCR與開放場景的文字識別相結(jié)合(常稱為STR,Scene Text Recognition),例如路牌、店面招牌、商標(biāo)文字、戶外廣告識別等,用于交通、戶外消費、自動駕駛等場景
這三類當(dāng)前的熱點應(yīng)用,都有各自的技術(shù)難點,也分別衍生出了相應(yīng)的產(chǎn)品技術(shù)解決方案。其中OCR與IDP的結(jié)合是目前達觀數(shù)據(jù)的主要研究和應(yīng)用方向,接下來會進行一些技術(shù)分享。
? OCR技術(shù)的發(fā)展情況? ?
當(dāng)前學(xué)術(shù)界普遍將OCR處理分為?圖像預(yù)處理、文本檢測(Detection)、文本識別(Recognition)這三大步驟,或者也有將檢測和識別合并,直接用端到端學(xué)習(xí)(End-to-End)進行處理工作。
圖像預(yù)處理用于對待處理的原始圖像進行一些矯正操作,以助于降低后續(xù)的檢測和識別難度。例如使用一些工程化技術(shù)來調(diào)整圖像對比度、旋轉(zhuǎn)對齊、進行局部裁剪、折痕和墨點等干擾信息的淡化等都屬于相對基礎(chǔ)的預(yù)處理操作。因為在使用高拍儀或掃描儀等專業(yè)采集設(shè)備時,圖像品質(zhì)普遍較好,所以在2010年以前對圖像預(yù)處理方面的系統(tǒng)性的研究并不多,更多集中于對局部的畸變進行校正(Image Rectifier)或圖像去噪。
經(jīng)典的圖像預(yù)處理經(jīng)常用到各類濾波器(如高斯濾波、BM3D等)進行去噪,另外一些信號處理手段也常用于對圖像進行旋轉(zhuǎn)對齊,橫平豎直的文檔會讓后續(xù)的檢測和識別變得容易得多。
智能手機拍攝普及后,光照不均勻、陰影遮擋、局部扭曲、甚至對焦模糊等復(fù)雜情況層出不窮,所以在實際工程應(yīng)用中,圖像預(yù)處理的好壞對后續(xù)識別精度價值很大,盡管這個環(huán)節(jié)作為OCR的一個非核心環(huán)節(jié),受到學(xué)術(shù)圈的重視較少,各大學(xué)術(shù)會議上也幾乎罕見這方面的研究論文(近年有幾篇不錯的Text deblurring論文)。但學(xué)術(shù)和工程的目標(biāo)是不一樣的,工程應(yīng)用要在瑣碎中見真章,會配置很多業(yè)務(wù)規(guī)則和處理步驟。
順便一提,為了增加標(biāo)注樣本的數(shù)量,提升算法在不同場景下的魯棒性,生成對抗網(wǎng)絡(luò)(GAN)的思想在OCR的樣本生成方面也很常用。尤其在標(biāo)注樣本不充足的情況下,用GAN網(wǎng)絡(luò)結(jié)合人工標(biāo)注和積累的真實樣本,日拱一卒不斷擴大訓(xùn)練樣本庫,也是常用的做法。
文本檢測是OCR的最重要環(huán)節(jié)之一(另一個是文本識別),傳統(tǒng)的文本檢測使用了各種人工構(gòu)造的特征,例如常見的二值投影、旋轉(zhuǎn)仿射變換、各類圖像算子如HoG算子、SURF算子,DPM模型(Deformable Parts Model)等來定位文本行列位置。在2010年前最常見的技術(shù)手段為滑動窗口檢測、或基于連通區(qū)域檢測的方法,由下而上逐步擬合出文本塊。
因為構(gòu)造特征的過程偏定制,很難針對不同的文檔類型形成大而全的普適方案。在具有特定結(jié)構(gòu)規(guī)律的OCR領(lǐng)域,尤其是卡證票據(jù)這類常見檢測應(yīng)用場景,傳統(tǒng)的模板+滑動窗口定位檢測的方法是管用的。
近10年來隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,多種多樣的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(如稱為XXNET或XXNN)的檢測效果明顯優(yōu)于傳統(tǒng)人工構(gòu)造的特征,當(dāng)前主流的檢測技術(shù)由深度學(xué)習(xí)來主導(dǎo)。
文本檢測中常見的思想有兩大類,一類是基于回歸的方法,另一類是基于分割的方法。
基于回歸的檢測方法,基本思路是先利用若干個默認錨點(Anchor),然后想辦法進行合并形成文字框box。2016年ECCV發(fā)表的CTPN是基于回歸思想的經(jīng)典技術(shù)(Detecting Text in Natural Image with Connectionist Text Proposal Network,論文出自中科院,為我們中國研究者點贊)。
CTPN是基于回歸的文本檢測中的經(jīng)典方法
CTPN綜合了CNN和LSTM的網(wǎng)絡(luò)特性,在假設(shè)文本已經(jīng)是水平橫向分布的前提條件下,做了以下步驟的操作:
VGG16位backbone提取空間特征,取conv5層輸出特征
在垂直vertical方向進行feature map,并進行reshape
引入Bi-LSTM,從而更好地利用文字連貫性的特征來提升檢測效果
使用類似Faster R-CNN的RPN網(wǎng)絡(luò)獲得text proposals
對獲得的大量text proposals,使用NMS(Non-Maximum Suppression,非極大值抑制),或改進后的Soft NMS,Weighted NMS等,過濾和合并文本框。(這個階段的工作和通用的目標(biāo)檢測任務(wù)相似)
CTPN綜合了上述若干種網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)點,有優(yōu)秀的檢測效果,尤其對邊框矩形的四個頂點的識別很準(zhǔn)確,對OCR檢測技術(shù)的后續(xù)發(fā)展有承前啟后的意義。例如此后的SegLink算法沿用了CTPN的思想,并引入了SSD和旋轉(zhuǎn)角度學(xué)習(xí)的方法,來解決CTPN遺留的多角度文本檢測的問題。
基于回歸的方法對相對工整(橫平豎直)的書面文檔文本的檢測效果很好,但對各類自然場景下的文本的檢測效果難以保障(例如各類彎曲形變的店鋪招牌)。所以有另一類思想是源于圖像分割(image segmentation)的方法來進行文本檢測,即:
先從像素層面做分類,判別每一個像素點是否屬于一個文本目標(biāo),得到文本區(qū)域的概率圖,然后利用polygon等來繪制出這些候選區(qū)域的最小包圍曲線,相當(dāng)于把一堆散落的像素塊像串聯(lián)珍珠那樣,鏈接到一起來形成邊界框。
PSENet網(wǎng)絡(luò)是基于分割的文本檢測技術(shù),對明顯彎曲的文本有良好效果
基于分割的方面近年優(yōu)秀的成果包括2019年南京大學(xué)等組成的研究團隊發(fā)表于CVPR的PSENet網(wǎng)絡(luò),通過漸進式的尺度擴張網(wǎng)絡(luò)(Progressive Scale Expansion)來學(xué)習(xí)文本分割區(qū)域,其主干網(wǎng)絡(luò)本質(zhì)是ResNet,通過使用不同尺度的Kernel,預(yù)測不同收縮比例的文本區(qū)域,并逐個擴大檢測到的文本區(qū)域。
PSENet的實質(zhì)是邊界學(xué)習(xí)方法的變體,可以有效解決任意形狀相鄰文本的檢測問題。具體如網(wǎng)絡(luò)結(jié)構(gòu)和檢測效果如上圖所示。
2021年華南理工大學(xué)在CVPR提出的FCENet,提出了用傅里葉變換來對文本外圍的包絡(luò)線進行參數(shù)表示的方法,通過設(shè)計合適的模型預(yù)測來擬合任意形狀文本包圍框,從而實現(xiàn)自然場景文本檢測中對于高度彎曲文本實例的檢測精度的提升。
在圖像處理和模式識別界最近幾年知名國際學(xué)術(shù)會議,如CVPR、ICCV,AAAI或ICDAR上,每年都有一些最新的網(wǎng)絡(luò)改進模型被提出(且大量優(yōu)秀成果都來自中國本土的科研團隊,可喜可賀),以下是幾篇值得延伸閱讀的論文。
CTPN(Detecting Text in Natural Image with Connectionist Text Proposal Network,ECCV2016)
SegLink(Detecting Oriented Text in Natural Images by Linking Segments,CVPR2017)
EAST(EAST: An Efficient and Accurate Scene Text Detector,CVPR2017)
PSENet(Shape Robust Text Detection with Progressive Scale Expansion Network,CVPR2019)
DBNet(Real-time Scene Text Detection with Differentiable Binarization,AAAI2019)
FCENet(Fourier Contour Embedding for Arbitrary-Shaped Text Detection,CVPR2021)
文本識別技術(shù)? ?
CRNN網(wǎng)絡(luò)(循環(huán)卷積神經(jīng)網(wǎng)絡(luò))是識別領(lǐng)域里最為經(jīng)典的方法,直至今日仍然被廣泛使用。CRNN網(wǎng)絡(luò)的技術(shù)思想是用深度卷積Convolutional來生成圖像基礎(chǔ)特征,再使用Bi-LSTM循環(huán)網(wǎng)絡(luò)(雙向長短時記憶網(wǎng)絡(luò),能吸收上下文語義信息)進行時序特征訓(xùn)練(這一步利用文本序列的前后特征能有效提升效果),最后引入CTC損失函數(shù)來實現(xiàn)端對端的不定長序列識別,解決訓(xùn)練時字符無法對齊的問題。
論文原文見:An End-to-End Trainable Neural Network for Image-based?
Sequence Recognition and Its Application to Scene Text Recognition,值得一提的是CRNN由華中科技大學(xué)白翔老師團隊提出,在OCR領(lǐng)域是極為優(yōu)秀的研究成果。
近年來隨著Attention機制在NLP領(lǐng)域取得了很好的效果,將CRNN和Attention結(jié)合也成為OCR識別的新思路,在CRNN網(wǎng)絡(luò)輸出層之后加上attention機制,把GRU網(wǎng)絡(luò)的輸出作為encoder的輸入,對其做attention,并通過softmax輸出,也有非常優(yōu)異的效果。
此處特別值得推薦的是來自NAVER的OCR團隊hwalsuklee同學(xué)Github上匯總的OCR知識庫:https://github.com/hwalsuklee/awesome-deep-text-detection-recognition
其中包括了近幾年學(xué)術(shù)界在OCR檢測和識別領(lǐng)域的一些知名論文、ICDAR的數(shù)據(jù)測試集評分和部分開源代碼,對系統(tǒng)性了解學(xué)術(shù)界在OCR領(lǐng)域的成果很有幫助,推薦感興趣的朋友們閱讀,是一個非常好的資料學(xué)習(xí)庫。
OCR的工程應(yīng)用開發(fā):從OCR到OCR Pro
在當(dāng)前學(xué)術(shù)圈,OCR研究的熱點集中在室外自然場景下的應(yīng)用。因為這些工作的難度高,效果還不太好,商業(yè)化應(yīng)用還在早期,所以學(xué)術(shù)研究很熱(技術(shù)成熟并大量工程應(yīng)用的領(lǐng)域反而理論研究就會變少),每年都有很多論文發(fā)表。這些自然場景STR工作其實和自然語言理解的關(guān)系不大,而和計算機視覺(CV)更接近,尤其是通用目標(biāo)檢測(Object Detection)。甚至很多自然場景下的OCR算法干脆就借用了end-to-end的通用框架,例如Yolo這類大名鼎鼎的通用檢測系統(tǒng)。
而在實際OCR的落地應(yīng)用界,“卡證票據(jù)”的識別已經(jīng)非常成熟,所以當(dāng)前的應(yīng)用熱點集中在無固定格式文檔的識別和理解上。
下圖解釋了有固定格式的“卡證票據(jù)”的處理,和無固定格式的文檔資料處理的差異。?
?無固定格式的文檔資料OCR是當(dāng)前應(yīng)用的熱點和難點
“卡證票據(jù)”的特點是格式相對明確和固定(例如身份證,姓名、性別、身份證號等各個信息的位置是明確的),所以檢測(Detection)和識別(Recognition)要容易的多,通過設(shè)定模板來檢測定位,進而進行文字識別來輸出各類Key:Value型的結(jié)構(gòu)化抽取結(jié)果是相對容易的。
而我們?nèi)粘^k公所經(jīng)常面對的無固定格式的文檔資料,因為版式變化多樣,需要進行提取的內(nèi)容可能分布在不同的位置,因而很難簡單用模板匹配的方式來進行檢測、識別、抽取三個動作,需要更復(fù)雜的操作步驟,我們稱為OCR Pro系統(tǒng)。
針對無固定格式的OCR Pro系統(tǒng),一個待處理的文檔圖片(掃描件或手機翻拍件)要依次進行版面分析(Layout Analysis),文字識別(Recognition)、信息提取(Intelligent Document Processing)、行業(yè)知識校驗(Domain Knowledge Recheck)等步驟。
使用版面分析的原因是日常辦公文檔的構(gòu)成元素非常復(fù)雜,不僅有常見的文字塊,還會出現(xiàn)標(biāo)題、目錄、印章、簽名、表格、圖例、頁眉頁腳等各類元素,版面分析技術(shù)的目的就是要通過頁面各類元素信息的視覺特征、結(jié)合文本語義特征和各類embedding信號,將文檔“庖丁解牛”分解為若干元素,為后續(xù)的識別和結(jié)構(gòu)化抽取打好基礎(chǔ)。
版面分析技術(shù)在OCR和IDP中有重大意義
在版面分析中,有一類常見且重要的特殊元素——表格。因為OCR的最終目的是將文檔里最關(guān)鍵的內(nèi)容自動化提取出來,表格中往往包含非常密集的重要信息,因此對表格的解析和語義理解技術(shù)相對更為特殊,在后面的章節(jié)中將進一步對該技術(shù)進行詳細介紹。
和自然場景下(in the wild)的OCR檢測不同,針對辦公文檔的OCR因為文字的橫豎布局以及背景圖片質(zhì)量明顯比自然場景的圖片要高得多,也用不著太多來自于通用目標(biāo)檢測(Object Detection)的技巧。在辦公文檔OCR的實際產(chǎn)業(yè)應(yīng)用里,版面分析技術(shù)事實上代替了文本檢測技術(shù)發(fā)揮實際作用。
文檔處理環(huán)節(jié)里的文字識別則技術(shù)相對成熟,因為大部分文字都以打印字符的形式存在,通常情況下這個環(huán)節(jié)下的文字識別技術(shù)已經(jīng)非常成熟和準(zhǔn)確了。當(dāng)前達觀的一些研究主要分布在以下一些相對特殊的場合:
01?去除文檔的底紋或水印干擾
工作文檔采用帶有底紋的特殊紙張,或者有的人為打上水印(例如一些重大項目的投標(biāo)書)
02?提取和理解關(guān)鍵性元素
書面文本處理中存在一些特殊種類的元素,例如印章、手寫簽名等元素就是國內(nèi)(包括東亞地區(qū)各國家)合同里極為重要的組成部分,需要專門的模型進行處理。而且還需要對印章的文字內(nèi)容進行提取和識別(通常為圓形),并用于后續(xù)和合同里簽署主體進行對比審核。手寫簽名提取后也會用于進行比對
03?識別和處理特殊符號
書面文檔中經(jīng)常有一些表達語義的專用符號,如√(對勾)、編號①、角標(biāo)(常見于注釋提示)、下標(biāo)(常見于數(shù)理化公式)等
達觀OCR的工程化實踐
要開發(fā)出真正可以落地使用的OCR產(chǎn)品,需要面對真實使用情況里多種多樣的問題。這些問題往往顯得非常的瑣碎,但是只有實實在在把這些瑣碎的問題解決好,才能讓產(chǎn)品落地好用。
就以最為常見的表格的OCR解析為例,其實我們?nèi)粘N臋n中遇到的表格情況非常多,以下圖為例,這些表格存在各類分欄,水印、跨頁、揉搓、陰影、印章遮擋等各種各樣的問題,需要逐一有技術(shù)來應(yīng)對。(達觀數(shù)據(jù)陳運文)
另外表格中還存在無邊框表格(常見于一些上市公司財報),或單元格嵌套的復(fù)雜表格(常見于一些復(fù)雜行政審批事項填報表),都需要進行處理。如下圖所示。
達觀數(shù)據(jù)對表格的OCR處理和語義理解
近年來基于深度學(xué)習(xí)的表格檢測和識別算法在ICDAR(International Conference on Document Analysis and Recognition)會議上有很多原創(chuàng)性的成果,如A Genetic-based Search for Adaptive Table Recognition in Spreadsheets論文所提出的方法,將表格中的單元格分為Header、Data和Metadata等類型,然后相鄰單元格根據(jù)標(biāo)簽異同組成不同的區(qū)域,這些區(qū)域根據(jù)相鄰關(guān)系則構(gòu)成了一個標(biāo)簽區(qū)域圖,巧妙的將表格結(jié)構(gòu)識別任務(wù)變成了子圖分割任務(wù),方法接著定義了將10個衡量因素加權(quán)求和來評判分割質(zhì)量,用于確定優(yōu)化目標(biāo)。然后使用序列二次規(guī)劃的方法來自動調(diào)節(jié)權(quán)重,并綜合運用了遺傳算法和一些啟發(fā)式方法、或窮舉搜索等來進行最優(yōu)化。
ICDAR中基于深度學(xué)習(xí)的表格檢測和識別算法
近年來通過ICDAR的技術(shù)競賽,有一些優(yōu)秀的方法涌現(xiàn)出來,在這個領(lǐng)域里國內(nèi)也出現(xiàn)了很多研究團隊,如北京大學(xué)的高良才老師提出了很多優(yōu)秀的研究成果。
和一些直接套用計算機視覺檢測的方法不同,表格因為有橫列縱列的重復(fù)分布特征,所以利用這個特征來進行識別往往能取得更有針對性的效果,ICDAR2019論文Table structure extraction with Bi-directional Gated Recurrent Unit Networks提出了使用循環(huán)神經(jīng)網(wǎng)絡(luò)來進行表格結(jié)構(gòu)識別任務(wù)。在一系列基礎(chǔ)性的二值化和膨脹預(yù)處理后,將圖像按像素行或列放入獨立的兩個兩層雙向循環(huán)神經(jīng)網(wǎng)絡(luò),同時將某個像素行或列的相鄰兩個鄰居考慮進去。接著將循環(huán)神經(jīng)網(wǎng)絡(luò)的輸出行列特征分類為是否屬于行列分隔符區(qū)域,最終把預(yù)測分隔區(qū)域的中點作為最終的行列分割結(jié)果。GRU網(wǎng)絡(luò)的效果相比LSTM整體略好。
達觀的實踐總結(jié)與展望
在達觀實踐OCR產(chǎn)品過程中,我們發(fā)現(xiàn)一旦版面分析工作做扎實后,文本檢測就變得很容易了。而完成文本識別后,利用語義上下文技術(shù),對內(nèi)容進行結(jié)構(gòu)化提取就是IDP系統(tǒng)來完成的工作了,Attention以及NLP的一些模型可以很好發(fā)揮長處。
達觀工程化OCR處理流程
如上圖所示,為了更好地提升效果,充分運用行業(yè)知識校驗對提升OCR效果也起到了重要作用。學(xué)術(shù)研究里通常不會涉及外部領(lǐng)域知識,但在實際落地應(yīng)用中構(gòu)造專業(yè)領(lǐng)域的知識圖譜對每一個垂直細分領(lǐng)域的文本OCR任務(wù)都有巨大的收益。
例如財務(wù)報表OCR中,各類數(shù)字之間隱含的勾稽關(guān)系(如利潤表中的“主營業(yè)務(wù)成本”與資產(chǎn)負債表中的“應(yīng)付賬款”以及現(xiàn)金流浪表中的“購買商務(wù)和勞務(wù)支出”可以進行交叉校驗)可以用于對OCR提取的數(shù)字進行校驗和糾正,大幅提升準(zhǔn)確率。再比如IPO招股書中的企業(yè)經(jīng)營數(shù)據(jù),會在相應(yīng)的審計報告中再次出現(xiàn),如果引入投行的專業(yè)經(jīng)驗,那么對OCR的處理效果會有很大幫助。最后,人工復(fù)檢工作以及相應(yīng)的結(jié)果自動反饋機制也非常重要,人工復(fù)檢不僅能讓系統(tǒng)最終實現(xiàn)100%的準(zhǔn)確率,并且人工糾正后的結(jié)果能不斷作為訓(xùn)練樣本用于矯正原有系統(tǒng)的問題,從而能讓系統(tǒng)越來越“聰明”,逐步逼近更高的識別準(zhǔn)確率。
在達觀近年來將IDP、知識圖譜和OCR進行融合來進行工程實踐的過程中,我們深刻領(lǐng)會到一個優(yōu)秀的產(chǎn)品一定要實事求是的吸收各種思想的優(yōu)點,既要有傳統(tǒng)方法的長處,也要借鑒最新網(wǎng)絡(luò)模型的優(yōu)點。對數(shù)據(jù)的積累和標(biāo)注是一個持之以恒的事情,產(chǎn)品的使用細節(jié)體驗,人機交互的過程也需要不斷地完善和提升。好的產(chǎn)品從來都不是一蹴而就的,而是需要反復(fù)打磨和持續(xù)改進的。隨著OCR技術(shù)近年來不斷向前發(fā)展,和各類下游的應(yīng)用場景,如文檔審核、語義理解、RPA等的結(jié)合日益增多,OCR的應(yīng)用還將發(fā)揮越來越大的價值。(達觀數(shù)據(jù)陳運文)
作者簡介
陳運文,達觀數(shù)據(jù)董事長兼CEO。復(fù)旦大學(xué)計算機博士,優(yōu)秀博士論文獎獲得者,國家“萬人計劃”專家,2021年中國青年創(chuàng)業(yè)獎,中國五四青年獎?wù)?#xff0c;上海市十大青年科技杰出貢獻獎獲得者,上海市優(yōu)秀技術(shù)帶頭人,第九屆上海青年科技英才;國際計算機學(xué)會(ACM)、電子電器工程師學(xué)會(IEEE)、中國計算機學(xué)會(CCF)、中國人工智能學(xué)會(CAAI)高級會員,上海市計算機學(xué)會多媒體分會副會長;上海市首批人工智能正高級職稱獲得者。在人工智能領(lǐng)域擁有近百項國家技術(shù)發(fā)明專利,是復(fù)旦大學(xué)、上海財經(jīng)大學(xué)、上海外國語學(xué)院聘任的校外研究生導(dǎo)師,在IEEE Transactions、SIGKDD等國際頂級學(xué)術(shù)期刊和會議上發(fā)表數(shù)十篇高水平科研成果論文,出版《智能RPA實戰(zhàn)》、人工智能經(jīng)典著作《智能Web 算法》(第2 版),參與撰寫《數(shù)據(jù)實踐之美》等論著;曾多次摘取ACM KDD CUP、CIKM、EMI Hackathon等世界最頂尖的大數(shù)據(jù)競賽的冠亞軍榮譽。曾擔(dān)任盛大文學(xué)首席數(shù)據(jù)官、騰訊文學(xué)高級總監(jiān)、百度核心技術(shù)研發(fā)工程師。在機器學(xué)習(xí)、自然語言處理、搜索推薦等領(lǐng)域有豐富的研究和工程經(jīng)驗。
總結(jié)
以上是生活随笔為你收集整理的OCR技术发展综述与达观数据的实践经验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLAlchemy()分页器pagin
- 下一篇: 理解:复杂度是O(log^n) 就是二