隨著行業(yè)的發(fā)展和技術(shù)的成熟,文字識(shí)別(OCR)目前已經(jīng)應(yīng)用到了多個(gè)行業(yè)中,比如物流行業(yè)快遞包裹的分揀,金融行業(yè)的支票單據(jù)識(shí)別輸入,交通領(lǐng)域中的車牌識(shí)別,以及日常生活中的卡證、票據(jù)識(shí)別等等。OCR(文字識(shí)別)技術(shù)是目前常用的一種AI能力。但一般OCR的識(shí)別結(jié)果是一種按行輸出的半結(jié)構(gòu)化輸出。
本次公開課我們邀請到了百度高級(jí)研發(fā)工程師向宇波老師,他將在12月20日(周四)帶來一場主題為《基于模板的文字識(shí)別結(jié)果結(jié)構(gòu)化處理技術(shù)》的分享。本課程從百度自定義模板文字識(shí)別展開,從理論到案例,詳細(xì)介紹OCR結(jié)構(gòu)化的相關(guān)技術(shù),并理清OCR和結(jié)構(gòu)化之間的關(guān)系和適用場景。
向宇波:大家好,我是來自百度AI技術(shù)生態(tài)部的研發(fā)工程師,我叫向宇波,今天給大家?guī)淼姆窒硎腔谀0宓奈淖肿R(shí)別結(jié)果結(jié)構(gòu)化處理技術(shù),我們主要講的是文字處理結(jié)果的結(jié)構(gòu)化。
文字識(shí)別行業(yè)現(xiàn)狀
我們從一個(gè)財(cái)稅案例的角度出發(fā)。大家在公司里肯定都做過報(bào)銷,報(bào)銷的時(shí)候我們都會(huì)有出租車票、定額發(fā)票等,我們需要將各種發(fā)票貼到紙上然后提交上去,由財(cái)務(wù)來做后面的事情。通常來說,他們其實(shí)做的都非常辛苦,要耗費(fèi)大量的人力來進(jìn)行人工錄入。這樣的話,不僅成本很高,而且耗時(shí)也很長,人工錄入的話還有可能會(huì)出錯(cuò)。我們能不能夠通過用文字識(shí)別的方式來解決這個(gè)問題呢?比如把這個(gè)流程變成這樣,我們在中間加一層,不是人工錄入,而是通過一個(gè)識(shí)別系統(tǒng),首先我們把這些票據(jù)通過圖像采集設(shè)備,例如高分辨率掃描、拍照這種方式轉(zhuǎn)換成圖像,然后通過文字識(shí)別技術(shù)把圖像上的文字識(shí)別出來,再經(jīng)過一個(gè)數(shù)據(jù)的結(jié)構(gòu)化,最后輸入到財(cái)務(wù)系統(tǒng)。這樣能節(jié)約大量的人力物力,也能夠提高效率及準(zhǔn)確率。其關(guān)鍵部分是在識(shí)別之后做一個(gè)結(jié)構(gòu)化處理。
我們來看一下多模板的結(jié)構(gòu)化識(shí)別。首先來說,我們從剛剛的例子也能看得到,哪怕是一個(gè)很簡單的報(bào)銷過程,也涉及到很多種票據(jù),例如火車票、定額發(fā)票等等?,F(xiàn)實(shí)生活中這種票據(jù)非常多。所以,我們的結(jié)構(gòu)化方案要能夠支持多種模板。
一般來講,OCR識(shí)別出來的結(jié)果是單純的一行一行文字,這樣業(yè)務(wù)處理起來會(huì)比較困難,key value形式的結(jié)構(gòu)會(huì)比較好處理。我們用一個(gè)例子來解釋,比如我們識(shí)別一張火車票,這個(gè)火車票上面有一行文字是始發(fā)站,然后是車次、到達(dá)站。如果直接處理識(shí)別出來的那一行文字相對麻煩,因?yàn)樾枰デ蟹殖龈鱾€(gè)字段。但是,如果我們的識(shí)別結(jié)果有結(jié)構(gòu),那處理起來就會(huì)容易很多。通過key value的形式檢索,我就能夠知道我的始發(fā)站(北京南),然后到達(dá)站(天津)、車次。所以結(jié)構(gòu)化給業(yè)務(wù)處理帶來了極大的便利。
接下來我們看一下文字識(shí)別分類。通常來說文字識(shí)別分為兩個(gè)大類,一種是通用文字識(shí)別,另一種就是專用垂類識(shí)別。通用文字識(shí)別就像剛剛提到的,對一個(gè)圖片來說,識(shí)別結(jié)果會(huì)以行的形式輸出,同時(shí)會(huì)有比較準(zhǔn)確的文字坐標(biāo),這種按行輸出的結(jié)構(gòu)可以稱之為半結(jié)構(gòu)化,它只能告訴你在這一行,在這一行,從上到下羅列,沒有真正意義上的key value結(jié)構(gòu)。
專用垂類識(shí)別的結(jié)果有結(jié)構(gòu),比如說對于身份證,其實(shí)我們知道所有身份證都長的一樣,我們能夠知道身份證上這個(gè)地方是姓名,這個(gè)地方是性別,這個(gè)地方是民族,所以我們能夠返回的時(shí)候就告訴你姓名是什么,性別是什么,生日是什么。常見的專用垂類還覆蓋幾類常見卡證,像身份證、銀行卡、增值稅發(fā)票這些。但是開發(fā)一個(gè)專用垂類識(shí)別,通常來說需要花比較多的人力物力,才能夠達(dá)到一個(gè)比較高的準(zhǔn)確度,所以它的開發(fā)周期和人力成本都比較高。
整個(gè)看來,業(yè)務(wù)處理需要不同板式的文字識(shí)別,并且希望能夠結(jié)構(gòu)化,但是如果把它們變成專用的垂類模板來,就會(huì)面臨成本很高,周期很長的情況。
基于這些矛盾,我們推出了一個(gè)基于模板的文字識(shí)別結(jié)果的結(jié)構(gòu)化方案。給大家做一個(gè)例子來演示,比如用火車票。我有一個(gè)火車票的模板,就是就拿我自己的火車票舉例,大家可以看到我的始發(fā)站、終點(diǎn)站都有了。然后我們可以再做一個(gè)模板,這次可以換一個(gè)增值稅發(fā)票的。首先我們上傳一張模板的底圖,所有的增值稅發(fā)票都長的差不多。然后我現(xiàn)在來選一些參照字段,選這個(gè)納稅人、開票日期、稅率、開票人、小寫、收款人、價(jià)稅,這樣就差不多了。比如說我想要識(shí)別這個(gè),大寫的金額,保存。就可以選擇另外一張,這兩張顯然是不一樣的。我們來看一下,應(yīng)該是這張,可以看到這里寫的是1000元整,這樣的話我們也可以多框選一些別的字段,就可以像剛剛火車票一樣,在這邊,在頁面上就可以測試出來我們想要的字段都能夠給它結(jié)構(gòu)化,按key value的形式找到。
基于模板的文字識(shí)別結(jié)構(gòu)化流程
剛剛說的看起來操作很簡單,但其實(shí)在它的背后我們做了一系列的操作。這個(gè)就是我們對整個(gè)文字識(shí)別結(jié)構(gòu)化的流程,它經(jīng)歷了4個(gè)大的步驟(4大流程)。首先是圖片擺正,然后是模板匹配、多次擺正,最后是結(jié)構(gòu)化。
對于圖片的擺正來說,首先我們會(huì)進(jìn)行一次文字識(shí)別,然后基于文字來尋找參照字段。我們通過參照字段來選擇參照字段能夠圍成的最大面積的四邊形,根據(jù)這個(gè)四邊形來計(jì)算透視投影矩陣,并做一系列的圖像變換,然后再計(jì)算所匹配的程度。如果足夠匹配了,OK,那我們結(jié)構(gòu)化;如果沒有匹配,并且沒有達(dá)到我們的匹配次數(shù)上限,我們是可以再來一次,嘗試多次擺正,擺得更好一點(diǎn)。
基于深度學(xué)習(xí)的文字識(shí)別
我們來講一講基于深度學(xué)習(xí)的文字識(shí)別。首先大體上來說有兩種方式,一種是單字檢測加上單字識(shí)別,另一種是行檢測加上行識(shí)別。單字檢測就是把文字當(dāng)做一般的物體檢測任務(wù),例如可以用faster-rcnn這個(gè)網(wǎng)絡(luò)去做,每一個(gè)字都可以當(dāng)做一個(gè)小物體。檢測出來的單字再用單字識(shí)別處理,本質(zhì)上是個(gè)多分類任務(wù)。行識(shí)別就不再是檢測一個(gè)一個(gè)字,而是一個(gè)文本行。一般來說文本行的特征有:高度不是很高,但是可能一行字會(huì)比較長,它其實(shí)是類似于小豎條,然后橫著擺過來一個(gè)很長條的。對通常的物體檢測模型做改造,然后去檢測,其中一個(gè)好的例子就是cptn。然后把一行文字導(dǎo)出來之后再來識(shí)別,就可以當(dāng)做是一個(gè)序列標(biāo)注的問題了。當(dāng)然現(xiàn)在也有這種端到端的,是大家正在做的一些方向。
基于模板的圖片擺正
我們再回到剛剛的模板。模板可以認(rèn)為是一個(gè)標(biāo)準(zhǔn)的底版定義的結(jié)構(gòu),比如這個(gè)定額發(fā)票,其實(shí)我們一開始就知道我們需要識(shí)別的部分在模板上的位置,在這個(gè)票據(jù)上,我就知道這個(gè)發(fā)票代碼它其實(shí)就在這兒,發(fā)票號(hào)碼在這兒,金額在這兒。如果每張圖都長這樣,其實(shí)就很簡單。但實(shí)際上來識(shí)別的圖都不像模板一樣擺的那么正,識(shí)別的區(qū)域在圖片上的位置不是固定的,比如有可能我上傳的圖是這樣,如果按照固定位置扣取,很可能什么都扣不到。所以我們需要有一種方案,也就是剛剛說的擺正那套流程,希望把所有待識(shí)別圖都擺的跟模板一樣正。我們選用的是透視投影方法來做圖片的擺正,盡可能的把待識(shí)別的圖跟模板圖對齊,這樣比較方便后面提取字。
透視投影變換的時(shí)候,需要4組從待識(shí)別圖到模板圖對應(yīng)的點(diǎn)對。也就是說像這樣,比如這個(gè)發(fā)票的票字它在這兒,但是識(shí)別圖上在這兒,模板上在這兒,這邊一個(gè)發(fā)票號(hào)碼,然后各種類似這樣的對應(yīng)起來的點(diǎn)對。通過這4組點(diǎn)對可以計(jì)算一個(gè)透視投影矩陣,做透視投影變換。我們通過框選模板上固定字段來做參照字段,進(jìn)而通過文字匹配方式尋找對應(yīng)點(diǎn)對。通常一個(gè)票據(jù)它的板式固定,那么它就符合我們剛剛說的那種條件,是對應(yīng)的點(diǎn)對。
如果參照字段有多個(gè),這個(gè)時(shí)候可能就會(huì)遇到一個(gè)問題了。比如說對于這個(gè)票據(jù)來說,它雖然很簡單,在上面可以提取的字也只有1、2、3、4、5,比如說我只提取了5個(gè)字段作為參照字段,但是計(jì)算索引的時(shí)候只需要4個(gè)點(diǎn),此時(shí)需要取舍。比如這兒雖然只有5個(gè)字段,但實(shí)際組成的點(diǎn)對個(gè)數(shù)其實(shí)是比較多的,比如這個(gè)藍(lán)線的可以算一個(gè),這個(gè)紅線這一圈也可以算一個(gè)。我們經(jīng)過一些實(shí)驗(yàn),當(dāng)然從主觀上看也能夠想到,參照字段越分散它擺正的效果越好??梢赃@么理解,越分散的時(shí)候每一個(gè)點(diǎn)它能夠管轄的區(qū)域就越存在這個(gè)票面的四周,那么它擺的時(shí)候,相當(dāng)于說你從一個(gè)更高的維度或者一個(gè)更大的范圍去擺,那么擺完的效果肯定比在一個(gè)小范圍內(nèi)去拉動(dòng)其他地方來擺的誤差小。
然后怎么樣來衡量這個(gè)分散的程度?我們選用面積作為衡量四邊形分散程度的指標(biāo)。我們選面積的一個(gè)原因是好計(jì)算,四邊形可以當(dāng)做是兩個(gè)三角形,只要有坐標(biāo),那么兩個(gè)三角形的面積很好計(jì)算。另一個(gè),其實(shí)說分散是很難衡量的,如果轉(zhuǎn)化成面積的話其實(shí)面積就是一個(gè)數(shù),比較好度量比較。
模板匹配
我們把待識(shí)別圖做了透視投影之后,接下來要計(jì)算它和模板匹配的程度。因?yàn)橛械臅r(shí)候,比如說這個(gè)時(shí)候識(shí)別的文字并不是太好,我擺了一下,然后這個(gè)時(shí)候我發(fā)現(xiàn)我可以識(shí)別的字更多了,而且第一次擺的時(shí)候我能識(shí)別得更多,但是發(fā)現(xiàn)這個(gè)時(shí)候擺的還不夠,那我怎么能知道它擺得不夠好?就需要來計(jì)算和模板的匹配程度。我們在這個(gè)地方選擇的是用新的透視投影矩陣來計(jì)算擺正的程度。用新的透視投影矩陣計(jì)算擺正圖片四頂點(diǎn)和模板,四頂點(diǎn)的距離來判斷匹配程度。比如剛剛我們擺正之后,這個(gè)圖的四個(gè)頂點(diǎn)和模板底圖的四個(gè)頂點(diǎn),有三個(gè)點(diǎn)都是比較近的,然后這個(gè)點(diǎn)相對來說遠(yuǎn)一點(diǎn),就可以通過這種距離的方式來判斷它的匹配程度。如果這個(gè)點(diǎn)通過擺正之后,計(jì)算出來它到了這個(gè)位置,那么距離的差其實(shí)就很小了,就可以認(rèn)為它已經(jīng)擺的非常好了,所以我們選擇的是用這種策略來判斷它匹配的程度。當(dāng)然如果擺得很歪,這兒離得也很遠(yuǎn),整個(gè)是這樣一個(gè)傾斜的角度,如果和模板原圖的四個(gè)點(diǎn)其實(shí)距離比較遠(yuǎn),是能夠判斷出去這個(gè)時(shí)候匹配得不夠好,可能還要再去做一次。
剛剛說到了多次擺正,也就是說我可能會(huì)計(jì)算多個(gè)透視投影矩陣。這個(gè)時(shí)候我們用到了一種技巧,就是透視投影矩陣的一個(gè)棧來操作。如果對級(jí)聯(lián)透視矩陣有了解的同學(xué)就知道,我們通常來說透視投影的乘法是倒著乘的。比如這里的一個(gè)公式,M1代表的是透視投影之后的一個(gè)結(jié)果,M_origin表示是原圖的矩陣,然后乘透視投影矩陣。如果它只有一次擺正的時(shí)候,只有一個(gè)透視投影矩陣,這個(gè)時(shí)候它就等價(jià)于那個(gè)結(jié)果就是用原圖乘以這個(gè)透視投影矩陣。但有可能中間我們在處理的時(shí)候發(fā)現(xiàn)沒有擺正,可能這個(gè)時(shí)候就會(huì)計(jì)算出很多個(gè)透視投影矩陣,我們就會(huì)把它們都重復(fù)地往透視投影矩陣的棧里面壓入。這個(gè)時(shí)候,我們乘以透視投影矩陣棧就等價(jià)于原圖逆序乘以矩陣棧中每個(gè)元素。
為什么一定要費(fèi)勁來用這個(gè)透視投影矩陣棧?我倒著乘它,從origin倒著乘M2,再乘M1,和乘M2、M1,它倆的解讀要加一個(gè)括號(hào),其實(shí)是一樣的,從矩陣上是這樣。但是因?yàn)槲覀兤鋵?shí)還是對圖片做透視投影,如果單純的類似括號(hào)的方式處理的話,它先乘以M2,它可能會(huì)把這個(gè)角扭到這兒,這個(gè)角往里收,可能會(huì)有一些圖超出了圖片原本的大小。那么在最后的一步處理的時(shí)候會(huì)進(jìn)行一個(gè)裁剪,如果它有超出的部分,那么這個(gè)部分其實(shí)就已經(jīng)被拋棄了。即使我后面希望再把它扭回來,其實(shí)那部分的信息已經(jīng)永遠(yuǎn)丟失。所以我們在這個(gè)時(shí)候有一個(gè)透視投影矩陣棧,雖然它是逆著出來的,但其實(shí)計(jì)算的時(shí)候是先把這個(gè)矩陣棧里邊做了一個(gè)相當(dāng)于加括號(hào)的優(yōu)先計(jì)算,以保留原圖的全部信息。
多類型結(jié)構(gòu)化
我們經(jīng)過一系列的擺正操作之后,圖片就跟模板比較接近了,可以對它進(jìn)行一個(gè)識(shí)別結(jié)果的結(jié)構(gòu)化處理。從剛剛我們的演示操作能看得到,我們的處理通常來說是有一個(gè)固定的識(shí)別區(qū),就像剛剛火車票的這種始發(fā)站、車次號(hào)、終點(diǎn)站,我們識(shí)別出來是每個(gè)字有個(gè)小方框。我們對于這種固定識(shí)別區(qū)來說操作相對比較簡單,可以根據(jù)單字矩形框的待識(shí)別區(qū)矩形框的交并比來判斷是否屬于某個(gè)字段。就像這樣,比如說我們框的北京框是這兒,對于北京南這三個(gè)字完全處在起點(diǎn)站這個(gè)待識(shí)別區(qū)的內(nèi)部。OK,那就可以確定它倆肯定是起點(diǎn)站這個(gè)識(shí)別區(qū)的內(nèi)容。對于站這個(gè)字,雖然它也沾了一點(diǎn),但是這個(gè)字的矩形框和整個(gè)待識(shí)別區(qū)矩形框的交并比并不多,所以我們就把它拋棄掉。對于車次來說,我們正好把這個(gè)全部框住,所以它們都是。對天津兩個(gè)字跟北京南的情況類似。對于這種簡單的情況可能就結(jié)束了。
對于更復(fù)雜的,比如說成段落的,比如說我框了整個(gè)這一片的時(shí)候,我們就需要做縱橫雙向排序來自動(dòng)處理跨行文字的拼接。什么意思?比如這兩行,我會(huì)先對文字做一個(gè)上下的排序,所以第一行的字肯定拿出來會(huì)在第二行的前面,所以需要先對縱向每一個(gè)字做比較,然后把它們先分成上下兩行。然后再看那兩行之后,按照左右來排序,這樣排完之后出來的結(jié)果才是順序的從左到右,第一行然后第二行這樣的關(guān)系。
還有一種表格識(shí)別區(qū)。比如這個(gè)地方,這個(gè)識(shí)別區(qū)就是某一種體檢的結(jié)果,可以很明顯地看到它是一種表格,而且它沒有線,它既沒有橫線,也沒有豎線。我們需要把整個(gè)表格的結(jié)構(gòu)從文字重新構(gòu)建出來,我們在這個(gè)地方采用的是一種自底向上的表格構(gòu)建方式,用先列后行的方式來減少非剛性形變的影響。比如說我們識(shí)別完了之后,現(xiàn)有單字的位置(比如前白蛋白4個(gè)字)的坐標(biāo),我們先從單字的坐標(biāo)開始來構(gòu)建組成一個(gè)字段關(guān)系。比如我們現(xiàn)在有4個(gè)字,我們根據(jù)位置關(guān)系把它組合成一個(gè)字段,這樣的話我們就知道它們是一個(gè)整體,不可拆分。通常來說表格的這種一個(gè)單格的內(nèi)容確實(shí)是不可拆分的。然后我們根據(jù)它的橫向的位置關(guān)系來串成列,其實(shí)就有點(diǎn)像串冰糖葫蘆一樣。比如這個(gè),我們知道其實(shí)所有的字段它的橫向位置都在這個(gè)區(qū)域,我們就可以把它們都這樣串起來,像串糖葫蘆一樣,串成一列。另外的兩列也可以做類似的操作,但最后讀的時(shí)候是一行一行讀,比如糖、5.04。按列之后,再每次取列的頭部字段,來根據(jù)高度信息組裝成行。比如在這兒就是糖,這一列取第一個(gè)就是糖,第二列取第一個(gè)就是5.04,第三個(gè)就是取這個(gè)。
這種方式能夠一定程度上地減少對于非剛性形變的影響。比如說什么叫剛性形變,什么叫非剛性形變?比如像現(xiàn)在是個(gè)平鋪的,就是一個(gè)很薄的很平整的一個(gè)面片,把它做仿射變換,都是剛性的,但如果是彎曲這種,扭過來,折痕這種,其實(shí)就稱為非剛性形變。那么它們的相對位置可能會(huì)有一些波紋型的變化,這種會(huì)比較難以處理。
我們現(xiàn)在就把結(jié)構(gòu)化的兩個(gè)方式講完了,總結(jié)一下,還是對應(yīng)到剛剛的4個(gè)大的流程,一個(gè)是圖片擺正,一個(gè)是模板匹配,計(jì)算和模板匹配的程度,如果匹配的還不錯(cuò),匹配上了,OK,那我們就進(jìn)行結(jié)構(gòu)化,去提取我們事先定義好的待識(shí)別區(qū)和表格識(shí)別區(qū)。但如果很不幸我們擺的還不夠正,那可能就會(huì)需要去做多次擺正這樣一個(gè)操作,力求把它跟模板匹配得比較好,最后再做結(jié)構(gòu)化。
遷移學(xué)習(xí)與圖像分類
下面給大家介紹一下我們這個(gè)產(chǎn)品的分類器。為什么需要分類?其實(shí)根據(jù)第一個(gè)財(cái)稅的例子來看,可能我們會(huì)報(bào)很多種票據(jù),比如說出租車票、增值稅發(fā)票。一般來說我們傳的時(shí)候,是一張一張傳,但匯聚到財(cái)務(wù)的時(shí)候,那就是一堆了,財(cái)務(wù)其實(shí)對不同的票據(jù)處理方式都不一樣,所以非常需要把它們區(qū)分出來。比如說對增值稅發(fā)票,有可能你報(bào)了那個(gè)發(fā)票多會(huì)對公司有什么減稅,別的人只是單純的報(bào)銷。
最近,我們也提出了對模板進(jìn)行分類。其實(shí)最簡單的一個(gè)想法是,如果我們是按圖片,它就是一個(gè)簡單的圖像分類。我們可以采用的方案是基于遷移學(xué)習(xí)的一個(gè)圖像分類,所謂遷移學(xué)習(xí)就是在已有的分類任務(wù)上效果比較好的CNN的模型在別的分類任務(wù)上面也有不錯(cuò)的效果,大家都知道比如ImageNet比賽有很龐大的數(shù)據(jù),如果在那上面運(yùn)行的預(yù)訓(xùn)練模型的結(jié)果不錯(cuò),那么用它提取出來的特征在別的分類上效果也不錯(cuò)。第二就是遷移學(xué)習(xí)能夠極大地減少訓(xùn)練數(shù)據(jù)需求的量,還有訓(xùn)練時(shí)長。
我們的分類除了基于圖像,還有關(guān)注到它基本都是票據(jù)類的圖像,它其實(shí)是包括文字的,所以我們也結(jié)合了文字的特征來進(jìn)行一個(gè)分類。首先是把整張圖過一遍CNN的模型,提取出它的圖像的特征,然后還要結(jié)合它的OCR出來的文字,提取它的文字特征。最后把兩種特征進(jìn)行一個(gè)融合,然后再去訓(xùn)練最終的分類器。
可以給大家看一個(gè)例子。比如在這里有一個(gè)分類器管理,我們可以看到我現(xiàn)在已經(jīng)有的三個(gè)分類器,點(diǎn)編輯進(jìn)去看一看。我現(xiàn)在能分的就是車牌跟火車票,可以在這兒試一試?;疖嚻保头诸惖轿业幕疖嚻绷?,就像剛剛我定的那個(gè)模板一樣,就把那些數(shù)據(jù)都給結(jié)構(gòu)化出來。就是說剛剛在這個(gè)地方的時(shí)候,相當(dāng)于是指定了某一個(gè)模板。但是在分類器的時(shí)候其實(shí)就不需要了,隨便扔,隨便把圖扔進(jìn)去,然后它就能自動(dòng)地幫我們分類,并且做我們需要的結(jié)構(gòu)化?;诜诸惖脑砭褪沁@樣。
最后給大家?guī)硪粋€(gè)財(cái)稅場景上的例子,就是木牛盒子這個(gè)產(chǎn)品,它首先通過批量的票據(jù)掃描,其實(shí)就是這種掃描儀,能夠把圖像比較清晰地掃描出來,然后使用我們剛剛自定義模板的票據(jù)分類,然后結(jié)構(gòu)化的功能加各種票據(jù)進(jìn)行分類出來,就做到了智能識(shí)別。然后再把它結(jié)構(gòu)化出來,再生成憑證,進(jìn)行輸出。
-
識(shí)別系統(tǒng)
+關(guān)注
關(guān)注
1文章
154瀏覽量
19139 -
結(jié)構(gòu)化
+關(guān)注
關(guān)注
0文章
27瀏覽量
10406 -
文字識(shí)別
+關(guān)注
關(guān)注
0文章
18瀏覽量
8814
原文標(biāo)題:基于模板的文字識(shí)別結(jié)果結(jié)構(gòu)化處理技術(shù) | 公開課速記
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
AI提取圖片里包含的文字信息-解決文字無法復(fù)制的痛點(diǎn)

音頻信息識(shí)別與檢索技術(shù)
首發(fā) | 告別手動(dòng)錄入,開放平臺(tái)OCR上線印刷文字識(shí)別!
TrustZone結(jié)構(gòu)化消息是什么?
基于AI通用文字識(shí)別能力,檢測和識(shí)別文檔翻拍、街景翻拍等圖片中的文字
結(jié)構(gòu)化設(shè)計(jì)分為哪幾部分?結(jié)構(gòu)化設(shè)計(jì)的要求有哪些
結(jié)構(gòu)化布線的綜合說明
改進(jìn)區(qū)域生長的非結(jié)構(gòu)化道路識(shí)別

基于matlab的文字識(shí)別算法

基于FPGA的OCR文字識(shí)別技術(shù)的深度解析
視頻結(jié)構(gòu)化技術(shù)在智慧交通領(lǐng)域有什么可以應(yīng)用的
使用貝葉斯決策和Hough實(shí)現(xiàn)非結(jié)構(gòu)化道路檢測與障礙物識(shí)別算法

評論