0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

了解光學(xué)字符識(shí)別技術(shù)識(shí)別票據(jù)原理

新機(jī)器視覺 ? 來源:新機(jī)器視覺 ? 作者:Ivan Ozhiganov ? 2020-11-27 10:28 ? 次閱讀

本文翻譯自dzone 中Ivan Ozhiganov 所發(fā)文章Deep Dive Into OCR for Receipt Recognition 文中版權(quán)、圖像代碼等數(shù)據(jù)均歸作者所有。為了本土化,翻譯內(nèi)容略作修改。

光學(xué)字符識(shí)別技術(shù)(OCR)目前被廣泛利用在手寫識(shí)別、打印識(shí)別及文本圖像識(shí)別等相關(guān)領(lǐng)域。小到文檔識(shí)別、銀行卡身份證識(shí)別,大到廣告、海報(bào)。因?yàn)镺CR技術(shù)的發(fā)明,極大簡(jiǎn)化了我們處理數(shù)據(jù)的方式。

同時(shí),機(jī)器學(xué)習(xí)(ML)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的快速發(fā)展也讓文本識(shí)別出現(xiàn)了巨大的飛躍!我們?cè)诒疚牡难芯恐幸矊⑹褂镁矸e神經(jīng)網(wǎng)絡(luò)CNN技術(shù)來識(shí)別零售店的紙質(zhì)票據(jù)。為了方便演示,我們本次將僅采用俄語版的票據(jù)進(jìn)行測(cè)試。

我們的目標(biāo)是項(xiàng)目開發(fā)一個(gè)客戶端來識(shí)別來獲取相關(guān)文檔,在有服務(wù)器端去識(shí)別解析數(shù)據(jù)。準(zhǔn)備好了嗎?讓我們一起去看看怎么做吧!

預(yù)處理

首先,我們需要接收?qǐng)D像相關(guān)數(shù)據(jù),使其水平豎直方向垂直,接下來使用算法進(jìn)行檢測(cè)是否為票據(jù),最終二值化方便識(shí)別。

旋轉(zhuǎn)圖像識(shí)別收據(jù)

我們有三種方案來識(shí)別票據(jù),下文對(duì)這三種方案做了測(cè)試。

1. 高閾值的自適應(yīng)二值化技術(shù)。2. 卷積神經(jīng)網(wǎng)絡(luò)(CNN)。3. Haar特征分類器。

自適應(yīng)二值化技術(shù)

首先,我們看到,圖中圖像上包含了完整的數(shù)據(jù),同時(shí)票據(jù)又與背景有些差距。為了能更好識(shí)別相關(guān)數(shù)據(jù),我們需要將圖片進(jìn)行旋轉(zhuǎn)。使其水平沿豎直方向?qū)R。

我們使用Opencv中的自適應(yīng)閾值化函數(shù)adaptive_threshold和scikit-image框架來調(diào)整收據(jù)數(shù)據(jù)。利用這兩項(xiàng)函數(shù),我們可以在高梯度區(qū)域保留白色像素,低梯度區(qū)域保留黑色像素。這使得我們獲得了一個(gè)高反差的樣本圖片。這樣,通過裁剪,我們就能得到票據(jù)的相關(guān)信息了。

使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)

起初我們決定使用CNN來做相關(guān)位置檢測(cè)的接收點(diǎn),就像我們之前做對(duì)象檢測(cè)項(xiàng)目一樣。我們使用判斷角度來拾取相關(guān)關(guān)鍵點(diǎn)。這種方案雖然好用,但是和高閾值對(duì)比檢測(cè)裁剪更差。

因?yàn)镃NN只能找到文本的角度坐標(biāo),而文字的角度變化很大,這就意味著CNN模型不是很精準(zhǔn)。詳情請(qǐng)參考下面CNN測(cè)試的結(jié)果。

使用Haar特征分類器來識(shí)別收據(jù)

作為第三種選擇,我們嘗試使用Haar特征分類器來做分類篩選。然而經(jīng)過一周的分類訓(xùn)練和改變相關(guān)參數(shù),我們并沒有得到什么比較積極的結(jié)果,甚至發(fā)現(xiàn)CNN都比Haar表現(xiàn)好得多。

二值化

最終我們使用opencv中的adaptive_threshold方法進(jìn)行二值化,經(jīng)過二值化處理,我們得到了一個(gè)不錯(cuò)的圖片。

文本檢測(cè)

接下來我們來介紹幾個(gè)不同的文本檢測(cè)組件。

通過鏈接組件檢測(cè)文本

首先,我們使用Opencv中的find Contours函數(shù)找到鏈接的文本組。大多數(shù)鏈接的組件是字符,但是也有二值化留下來嘈雜的文本,這里我們通過設(shè)置閾值的大小來過濾相關(guān)文本。

然后,我們執(zhí)行合成算法來合成字符,如:Й和=。通過搜索最臨近的字符組合合成單詞。這種算法需要你找到每個(gè)相關(guān)字字母最臨近的字符,然后從若干字母中找到最佳選擇展示。

接下來文字形成文字行。我們通過判斷文字是否高度一致來判斷文本是否屬于同一行。

當(dāng)然,這個(gè)方案的缺點(diǎn)是不能識(shí)別有噪聲的文本。

使用網(wǎng)格對(duì)文本進(jìn)行檢測(cè)

我們發(fā)現(xiàn)幾乎所有票據(jù)都是相同寬度的文本,所以我們?cè)O(shè)法在收據(jù)上畫出一個(gè)網(wǎng)格,并利用網(wǎng)格分割每個(gè)字符:

網(wǎng)格一下子精簡(jiǎn)了票據(jù)識(shí)別的難度。神經(jīng)網(wǎng)絡(luò)可以精準(zhǔn)識(shí)別每個(gè)網(wǎng)格內(nèi)的字符。這樣就解決了文本嘈雜的情況。最終可以精確統(tǒng)計(jì)文本數(shù)量。

我們使用了以下算法來識(shí)別網(wǎng)格。

首先,我在二值化鏡像中使用這個(gè)連接組件算法。

然后我們發(fā)現(xiàn)圖中左下角有些是真,所喲我們通過二維周期函數(shù)來調(diào)整網(wǎng)格識(shí)別。

修正網(wǎng)格失真背后主要的思想是利用圖形峰值點(diǎn)找到非線性幾何失真,換句話說,我們必須找到這個(gè)函數(shù)的最大值的和。另外,我們還需要一個(gè)最佳失真值才行。

我們使用ScipyPython模塊中的RectBivariateSpline函數(shù)來參數(shù)化幾何失真。并用Scipy函數(shù)進(jìn)行優(yōu)化。得到如下結(jié)果:

總而言之,這個(gè)方法緩慢且不穩(wěn)定,所以堅(jiān)決不打算使用這個(gè)方案。

光學(xué)字符識(shí)別

我們通過組連接識(shí)別發(fā)現(xiàn)文本,并識(shí)別完整的單詞。

識(shí)別通過連接組發(fā)現(xiàn)的文本

對(duì)于文本識(shí)別,我們使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)接收相關(guān)字體進(jìn)行培訓(xùn)。輸出部分,我們通過對(duì)比來提升概率。我們那個(gè)幾個(gè)最初的幾個(gè)選項(xiàng)多對(duì)比,發(fā)現(xiàn)有99%的準(zhǔn)確識(shí)別率后。又通過對(duì)比字典來提高準(zhǔn)確度,并消除相關(guān)類似的字符,如"З" 和 "Э"造成的錯(cuò)誤。

然而,當(dāng)涉及嘈雜的文本時(shí),該方法性能卻十分低下。

識(shí)別完整的單詞

當(dāng)文本太嘈雜的時(shí)候,需要找到完整的單詞才能進(jìn)行單個(gè)字母的識(shí)別。我們使用下面兩個(gè)方法來解決這個(gè)問題:

LSTM網(wǎng)絡(luò)

圖像非均勻分割技術(shù)

LSTM網(wǎng)絡(luò)

您可以閱讀這些文章,以更加深入了解使用卷積神經(jīng)網(wǎng)絡(luò)識(shí)別序列中的文本 ,或我們可以使用神經(jīng)網(wǎng)絡(luò)建立與語言無關(guān)的OCR嗎?為此,我們使用了OCRopus庫來進(jìn)行識(shí)別。

我們使用了等寬的字體來作為人工識(shí)別樣本進(jìn)行訓(xùn)練。

訓(xùn)練結(jié)束后,我們由利用其他數(shù)據(jù)來測(cè)試我們的神經(jīng)網(wǎng)絡(luò),當(dāng)然,測(cè)試結(jié)果非常積極。這是我們得到的數(shù)據(jù):

訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)在簡(jiǎn)單的例子上表現(xiàn)十分優(yōu)秀。同樣,我們也識(shí)別到了網(wǎng)格不適合的復(fù)雜情況。

我們抽取的相關(guān)的訓(xùn)練樣本,并讓他通過神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。

為了避免神經(jīng)網(wǎng)絡(luò)過度擬合,我們多次停止并修正訓(xùn)練結(jié)果,并不斷加入新數(shù)據(jù)作為訓(xùn)練樣本。最后我們得到以下結(jié)果:

新的網(wǎng)絡(luò)擅長識(shí)別復(fù)雜的詞匯,但是簡(jiǎn)單的文字識(shí)別卻并不好。

我們覺得這個(gè)卷積神經(jīng)網(wǎng)絡(luò)可以細(xì)化識(shí)別單個(gè)字符來使文本識(shí)別更加優(yōu)秀。

圖像非均勻分割技術(shù)

因?yàn)槭論?jù)字體是等寬的字體,所以我們決定按照字符分割字體。首先,我們需要知道每個(gè)字母的寬度。因此,字符的寬度尤為重要,我們需要估計(jì)每個(gè)字母的長度,利用函數(shù),我們得到下圖。選擇多種模式來選取特定的字母寬度。

我們得到一個(gè)單詞的近似寬度,通過除以字符中的字母數(shù),給出一個(gè)近似分類:

區(qū)分最佳的是:

這種分割方案的準(zhǔn)確度是非常高的:

當(dāng)然,也有識(shí)別不太好的情況:

分割后我們?cè)谑褂肅NN做識(shí)別處理。

從收據(jù)中提取含義

我們使用正則表達(dá)式來查找收據(jù)中購買情況。所有收據(jù)都有一個(gè)共通點(diǎn):購買價(jià)格以XX.XX格式來撰寫。因此,可以通過提取購買的行來提取相關(guān)信息。個(gè)人納稅號(hào)碼是十位數(shù),也可以通過正則表達(dá)式輕松獲取。同樣,也可以通過正則表達(dá)式找到NAME / SURNAME等信息。

總結(jié)

不論你選擇什么方法,LSTM或者其他更加復(fù)雜的方案,都沒有錯(cuò)誤,有些方法很難用,但是有些方法卻很簡(jiǎn)單,因識(shí)別樣本而異。

我們將繼續(xù)優(yōu)化這個(gè)項(xiàng)目。目前來看,在沒有噪聲的情況下,系統(tǒng)性能更加優(yōu)秀。

原文鏈接:https://dzone.com/articles/using-ocr-for-receipt-recognition

責(zé)任編輯:xj

原文標(biāo)題:深入淺出了解OCR識(shí)別票據(jù)原理

文章出處:【微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OCR
    OCR
    +關(guān)注

    關(guān)注

    0

    文章

    142

    瀏覽量

    16309
  • 識(shí)別
    +關(guān)注

    關(guān)注

    3

    文章

    173

    瀏覽量

    31934

原文標(biāo)題:深入淺出了解OCR識(shí)別票據(jù)原理

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    光學(xué)字符識(shí)別是什么的一種技術(shù)

    光學(xué)字符識(shí)別(Optical Character Recognition,簡(jiǎn)稱OCR)是一種將文本資料轉(zhuǎn)換為計(jì)算機(jī)可編輯和可搜索的數(shù)據(jù)格式的技術(shù)。這項(xiàng)技術(shù)廣泛應(yīng)用于文檔掃描、數(shù)據(jù)錄入、
    的頭像 發(fā)表于 09-10 15:48 ?379次閱讀

    光學(xué)識(shí)別技術(shù)的工作原理是什么?

    光學(xué)識(shí)別技術(shù)(Optical Character Recognition,簡(jiǎn)稱OCR)是一種將圖像中的文字信息轉(zhuǎn)換成可編輯和可搜索的文本數(shù)據(jù)的技術(shù)。它廣泛應(yīng)用于文檔掃描、數(shù)據(jù)錄入、自動(dòng)識(shí)別
    的頭像 發(fā)表于 09-10 15:46 ?462次閱讀

    光學(xué)識(shí)別字符是自動(dòng)識(shí)別技術(shù)

    光學(xué)識(shí)別字符(Optical Character Recognition,簡(jiǎn)稱OCR)是一種自動(dòng)識(shí)別技術(shù),它能夠?qū)⒏鞣N類型文檔(如掃描的紙質(zhì)文檔、PDF文件或數(shù)字相機(jī)拍攝的圖片)中的文字轉(zhuǎn)換成可編
    的頭像 發(fā)表于 09-10 15:43 ?322次閱讀

    光學(xué)識(shí)別的過程包含哪些

    光學(xué)識(shí)別(Optical Character Recognition,OCR)是一種將圖像中的文字轉(zhuǎn)換為機(jī)器可讀文本的技術(shù)。這個(gè)過程涉及多個(gè)步驟,包括圖像預(yù)處理、文本檢測(cè)、字符分割、字符識(shí)別
    的頭像 發(fā)表于 09-10 15:36 ?262次閱讀

    光學(xué)識(shí)別輸入的基本原理是什么

    光學(xué)字符識(shí)別(Optical Character Recognition,OCR)是一種將不同格式的文檔(如掃描的紙張文檔、PDF文件或數(shù)字相機(jī)拍攝的圖片)轉(zhuǎn)換成可編輯和可搜索的數(shù)據(jù)的技術(shù)。OCR
    的頭像 發(fā)表于 09-10 15:34 ?458次閱讀

    人臉識(shí)別技術(shù)的原理介紹

    人臉識(shí)別技術(shù)是一種基于人臉特征信息進(jìn)行身份識(shí)別的生物識(shí)別技術(shù)。它通過分析人臉圖像,提取人臉特征,然后與已知人臉特征進(jìn)行匹配,從而實(shí)現(xiàn)身份識(shí)別
    的頭像 發(fā)表于 07-04 09:22 ?1017次閱讀

    智能手機(jī)充電頭OCR精準(zhǔn)識(shí)別

    文本是人類最重要的信息來源之一,自然場(chǎng)景中充滿了形形色色的文字符號(hào)。光學(xué)字符識(shí)別(OCR)相信大家都不陌生。而工業(yè)場(chǎng)景的圖像文字識(shí)別更加復(fù)雜,OCR出現(xiàn)在很多不同的場(chǎng)合,對(duì)某些特殊的表
    的頭像 發(fā)表于 06-11 08:24 ?385次閱讀
    智能手機(jī)充電頭OCR精準(zhǔn)<b class='flag-5'>識(shí)別</b>

    AOI字符識(shí)別機(jī)器視覺系統(tǒng)方案

    根據(jù)被測(cè)產(chǎn)品(字符)測(cè)量要求,需要對(duì)其字符進(jìn)行檢查并判斷,屬于字符識(shí)別(OCR、OCV)檢測(cè)范疇。傳統(tǒng)上的這些參數(shù)測(cè)量主要依靠員工利用眼睛等進(jìn)行人工檢查,且必須離線后單個(gè)測(cè)量,檢查正確與否易受人
    的頭像 發(fā)表于 05-17 00:33 ?402次閱讀
    AOI<b class='flag-5'>字符識(shí)別</b>機(jī)器視覺系統(tǒng)方案

    項(xiàng)目分享|基于ELF 1開發(fā)板的車牌識(shí)別系統(tǒng)

    方面,借助了百度提供的OCR(光學(xué)字符識(shí)別)服務(wù)來確保準(zhǔn)確高效地讀取車牌數(shù)據(jù)。同時(shí),手機(jī)APP則是采用Java編程語言進(jìn)行開發(fā),可以便捷地接收和查看識(shí)別結(jié)果。一、
    的頭像 發(fā)表于 03-12 09:22 ?420次閱讀
    項(xiàng)目分享|基于ELF 1開發(fā)板的車牌<b class='flag-5'>識(shí)別</b>系統(tǒng)

    人臉識(shí)別技術(shù)的原理是什么 人臉識(shí)別技術(shù)的特點(diǎn)有哪些

    人臉識(shí)別技術(shù)的原理 人臉識(shí)別技術(shù)是一種通過計(jì)算機(jī)以圖像或視頻為輸入,識(shí)別、檢測(cè)、跟蹤和分析人臉的技術(shù)
    的頭像 發(fā)表于 02-18 13:52 ?1570次閱讀

    超聲波指紋識(shí)別技術(shù)原理 超聲波指紋識(shí)別和短焦區(qū)別

    超聲波指紋識(shí)別技術(shù)是一種利用聲波在物體表面的反射和散射特性來識(shí)別指紋的方法。與傳統(tǒng)的光學(xué)指紋識(shí)別技術(shù)
    的頭像 發(fā)表于 02-03 14:06 ?6896次閱讀

    圖像識(shí)別技術(shù)原理 圖像識(shí)別技術(shù)的應(yīng)用領(lǐng)域

    圖像識(shí)別技術(shù)是一種通過計(jì)算機(jī)對(duì)圖像進(jìn)行分析和理解的技術(shù)。它借助計(jì)算機(jī)視覺、模式識(shí)別、人工智能等相關(guān)技術(shù),通過對(duì)圖像進(jìn)行特征提取和匹配,找出圖
    的頭像 發(fā)表于 02-02 11:01 ?2188次閱讀

    輪胎質(zhì)量監(jiān)控:機(jī)器視覺技術(shù)的核心作用

    輪胎檢測(cè)主要包括字符識(shí)別、尺寸測(cè)量、輪胎磨損及輪胎結(jié)構(gòu)等方面的檢測(cè),旨在確保輪胎的安全性和性能。
    發(fā)表于 01-30 10:13 ?739次閱讀
    輪胎質(zhì)量監(jiān)控:機(jī)器視覺<b class='flag-5'>技術(shù)</b>的核心作用

    簡(jiǎn)單認(rèn)識(shí)射頻識(shí)別技術(shù)

    技術(shù)無須識(shí)別系統(tǒng)與目標(biāo)間建立機(jī)械或者光學(xué)連接,應(yīng)用靈活、識(shí)別速度快,相關(guān)設(shè)備具有使用簡(jiǎn)單、壽命長、安全性高的特點(diǎn)。RFID技術(shù)是構(gòu)建物聯(lián)網(wǎng)
    的頭像 發(fā)表于 01-08 09:43 ?1104次閱讀

    離線語音識(shí)別及控制是怎樣的技術(shù)?

    引言:  隨著人工智能的飛速發(fā)展,離線語音識(shí)別技術(shù)成為了一項(xiàng)備受矚目的創(chuàng)新。離線語音識(shí)別技術(shù)能夠?qū)⑷说恼Z音轉(zhuǎn)化為可理解的文本,無需依賴網(wǎng)絡(luò)連接,極大地提升了語音
    發(fā)表于 11-24 17:41