精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于傳統算法的OCR技術

新機器視覺 ? 來源:AI算法修煉營 ? 作者:AI算法修煉營 ? 2022-06-20 14:31 ? 次閱讀

文本是人類最重要的信息來源之一,自然場景中充滿了形形色色的文字符號。光學字符識別(OCR)相信大家都不陌生,就是指電子設備(例如掃描儀或數碼相機)檢查紙上打印的字符,通過檢測暗、亮的模式確定其形狀,然后用字符識別方法將形狀翻譯成計算機文字的過程。

工業場景的圖像文字識別更加復雜,出現在很多不同的場合。例如醫藥品包裝上的文字、各種鋼制部件上的文字、容器表面的噴涂文字、商店標志上的個性文字等。在這樣的圖像中,字符部分可能出現在彎曲陣列、曲面異形、斜率分布、皺紋變形、不完整等各種形式中,并且與標準字符的特征大不相同,因此難以檢測和識別圖像字符。

對于文字識別,實際中一般首先需要通過文字檢測定位文字在圖像中的區域,然后提取區域的序列特征,在此基礎上進行專門的字符識別。但是隨著CV發展,也出現很多端到端的End2End OCR。

01 基于傳統算法的OCR技術

傳統的OCR技術通常使用opencv算法庫,通過圖像處理和統計機器學習方法從圖像中提取文本信息,包括二值化、噪聲濾波、相關域分析、AdaBoost等。傳統的OCR技術根據處理方法可分為三個階段:圖像準備、文本識別和后處理。

一、圖像準備預處理:

文字區域定位:連通區域分析、MSER

文字矯正:旋轉、仿射變換

文字分割:二值化、過濾噪聲

二、文字識別:

分類器識別:邏輯回歸、SVM、Adaboost

三、后處理:規則、語言模型(HMM等)

針對簡單場景下的圖片,傳統OCR已經取得了很好的識別效果。傳統方法是針對特定場景的圖像進行建模的,一旦跳出當前場景,模型就會失效。隨著近些年深度學習技術的迅速發展,基于深度學習的OCR技術也已逐漸成熟,能夠靈活應對不同場景。

02 基于深度學習的OCR技術

目前,基于深度學習的場景文字識別主要包括兩種方法,第一種是分為文字檢測和文字識別兩個階段;第二種則是通過端對端的模型一次性完成文字的檢測和識別。

2.1 階段一:文字檢測

文字檢測定位圖片中的文本區域,而Detection定位精度直接影響后續Recognition結果。

bfe4db16-efd1-11ec-ba43-dac502259ad0.jpg

圖1.1

如圖1.1中,紅框代表“LAN”字符ground truth(GT),綠色框代表detection box。在GT與detection box有相同IoU的情況下,識別結果差異巨大。所以Detection對后續Recognition影響非常大!

目前已經有很多文字檢測方法,包括:EAST/CTPN/SegLink/PixelLink/TextBoxes/TextBoxes++/TextSnake/MSR/...,具體來說:

2.1.1 CTPN [1]

CTPN是ECCV 2016提出的一種文字檢測算法,由Faster RCNN改進而來,結合了CNN與LSTM深度網絡,其支持任意尺寸的圖像輸入,并能夠直接在卷積層中定位文本行。

CTPN由檢測小尺度文本框、循環連接文本框、文本行邊細化三個部分組成,具體實現流程為:

1、使用VGG16網絡提取特征,得到conv5_3的特征圖;

2、在所得特征圖上使用3*3滑動窗口進行滑動,得到相應的特征向量;

3、將所得特征向量輸入BLSTM,學習序列特征,然后連接一個全連接FC層;

最后輸出層輸出結果。

bff317e4-efd1-11ec-ba43-dac502259ad0.png

CTPN是基于Anchor的算法,在檢測橫向分布的文字時能得到較好的效果。此外,BLSTM的加入也進一步提高了其檢測能力。

2.1.2 TextBoxes/TextBoxes++ [2,3]

TextBoxes和TextBoxes++模型都來自華中科技大學的白翔老師團隊,其中TextBoxes是改進版的SSD,而TextBoxes++則是在前者的基礎上繼續擴展。

c00615e2-efd1-11ec-ba43-dac502259ad0.png

TextBoxes共有28層卷積,前13層來自于VGG-16(conv_1到conv4_3),后接9個額外的卷積層,最后是包含6個卷積層的多重輸出層,被稱為text-box layers,分別和前面的9個卷積層相連。由于這些default box都是細長型的,使得box在水平方向密集在垂直方向上稀疏,從而導致該模型對水平方向上的文字檢測結果較好。

c022f978-efd1-11ec-ba43-dac502259ad0.png

TextBoxes++保留了TextBoxes的基本框架,只是對卷積層的組成進行了略微調整,同時調整了default box的縱橫比和輸出階段的卷積核大小,使得模型能夠檢測任意方向的文字。

2.1.3 EAST [4]

EAST算法是一個高效且準確的文字檢測算法,僅包括全卷積網絡檢測文本行候選框和NMS算法過濾冗余候選框兩個步驟。

其網絡結構結合了HyperNet和U-shape思想,由三部分組成:

特征提取:使用PVANet/VGG16提取四個級別的特征圖;

特征合并:使用上采樣、串聯、卷積等操作得到合并的特征圖;

輸出層:輸出單通道的分數特征圖和多通道的幾何特征圖。

c031ccaa-efd1-11ec-ba43-dac502259ad0.jpg

EAST算法借助其獨特的結構和簡練的pipline,可以檢測不同方向、不同尺寸的文字且運行速度快,效率高。

2.2 階段二:文字識別

通過文字檢測對圖片中的文字區域進行定位后,還需要對區域內的文字進行識別。針對文字識別部分目前存在幾種架構,下面將分別展開介紹。

3.2.1 CNN + softmax [5]

此方法主要用于街牌號識別,對每個字符識別的架構為:先使用卷積網絡提取特征,然后使用N+1個softmax分類器對每個字符進行分類。具體流程如下圖所示:

c0555044-efd1-11ec-ba43-dac502259ad0.jpg

使用此方法可以處理不定長的簡單文字序列(如字符和字母),但是對較長的字符序列識別效果不佳。

3.2.2 CNN + RNN + attention [6]

本方法是基于視覺注意力的文字識別算法。主要分為以下三步:

模型首先在輸入圖片上運行滑動CNN以提取特征;

將所得特征序列輸入到推疊在CNN頂部的LSTM進行特征序列的編碼;

使用注意力模型進行解碼,并輸出標簽序列。

c067ec36-efd1-11ec-ba43-dac502259ad0.jpg

本方法采用的attention模型允許解碼器在每一步的解碼過程中,將編碼器的隱藏狀態通過加權平均,計算可變的上下文向量,因此可以時刻讀取最相關的信息,而不必完全依賴于上一時刻的隱藏狀態。

3.2.3 CNN + stacked CNN + CTC [7]

上一節中提到的CNN + RNN + attention方法不可避免的使用到RNN架構,RNN可以有效的學習上下文信息并捕獲長期依賴關系,但其龐大的遞歸網絡計算量和梯度消失/爆炸的問題導致RNN很難訓練。基于此,有研究人員提出使用CNN與CTC結合的卷積網絡生成標簽序列,沒有任何重復連接。

這種方法的整個網絡架構如下圖所示,分為三個部分:

注意特征編碼器:提取圖片中文字區域的特征向量,并生成特征序列;

卷積序列建模:將特征序列轉換為二維特征圖輸入CNN,獲取序列中的上下文關系;

CTC:獲得最后的標簽序列。

c07a2bc6-efd1-11ec-ba43-dac502259ad0.png

本方法基于CNN算法,相比RNN節省了內存空間,且通過卷積的并行運算提高了運算速度。

3.2.4 特定的彎曲文本行識別

對于特定的彎曲文本行識別,早在CVPR2016就已經有了相關paper:

Robust Scene Text Recognition with Automatic Rectification. CVPR2016.

論文地址:arxiv.org/abs/1603.03915

對于彎曲不規則文本,如果按照之前的識別方法,直接將整個文本區域圖像強行送入CNN+RNN,由于有大量的無效區域會導致識別效果很差。所以這篇文章提出一種通過STN網絡學習變換參數,將Rectified Image對應的特征送入后續RNN中識別。

c09ad7cc-efd1-11ec-ba43-dac502259ad0.jpg

其中Spatial Transformer Network(STN)核心就是將傳統二維圖像變換(如旋轉/縮放/仿射等)End2End融入到網絡中。具體二維圖像變換知識請翻閱:Homograph單應性從傳統算法到深度學習:https://zhuanlan.zhihu.com/p/74597564

Scene Text Recognition from Two-Dimensional Perspective. AAAI2018.

該篇文章于MEGVII 2019年提出。首先在文字識別網絡中加入語義分割分支,獲取每個字符的相對位置。

c0af141c-efd1-11ec-ba43-dac502259ad0.jpg

其次,在獲取每個字符位置后對字符進行分類,獲得文字識別信息。該方法采用分類解決識別問題,并沒有像傳統方法那樣使用RNN。

c0ba3996-efd1-11ec-ba43-dac502259ad0.png

除此之外,在文章中還是使用了Deformable Convolution可變形卷積。相比傳統3x3卷積,可變形卷積可以提取文字區域不同形狀的特征。

c0c76288-efd1-11ec-ba43-dac502259ad0.jpg

3.3 端對端文字識別

使用文字檢測加文字識別兩步法雖然可以實現場景文字的識別,但融合兩個步驟的結果時仍需使用大量的手工知識,且會增加時間的消耗,而端對端文字識別能夠同時完成檢測和識別任務,極大的提高了文字識別的實時性。

3.3.1 STN-ORC [8]

STN-OCR使用單個深度神經網絡,以半監督學習方式從自然圖像中檢測和識別文本。網絡實現流程如下圖所示,總體分為兩個部分:

定位網絡:針對輸入圖像預測N個變換矩陣,相應的輸出N個文本區域,最后借助雙線性差值提取相應區域;

識別網絡:使用N個提取的文本圖像進行文本識別。

c0dad480-efd1-11ec-ba43-dac502259ad0.png

本方法的訓練集不需要bbox標注,使用友好性較高;但目前此模型還不能完全檢測出圖像中任意位置的文本,需要在后期繼續調整。

3.3.2 FOTS [9]

FOTS是一個快速的端對端的文字檢測與識別框架,通過共享訓練特征、互補監督的方法減少了特征提取所需的時間,從而加快了整體的速度。其整體結構如圖所示:

c0f1645c-efd1-11ec-ba43-dac502259ad0.png

卷積共享:從輸入圖象中提取特征,并將底層和高層的特征進行融合;

文本檢測:通過轉化共享特征,輸出每像素的文本預測;

ROIRotate:將有角度的文本塊,通過仿射變換轉化為正常的軸對齊的本文塊;

文本識別:使用ROIRotate轉換的區域特征來得到文本標簽。

FOTS是一個將檢測和識別集成化的框架,具有速度快、精度高、支持多角度等優點,減少了其他模型帶來的文本遺漏、誤識別等問題。

03 中文OCR開源項目推薦 目前比較常用的中文OCR開源項目是 chineseocr,最近又有一個新開源的中文OCR項目,登上Github Trending榜單第二——chineseocr_lite

c11b58c0-efd1-11ec-ba43-dac502259ad0.png

這是一個超輕量級中文 ocr,支持豎排文字識別,支持 ncnn 推理,psenet (8.5M) + crnn (6.3M) + anglenet (1.5M) 總模型僅17M。目前已經在Github上標星2.6K,累積343個Fork(Github地址:https://github.com/ouyanghuiyu/chineseocr_lite) chineseocr_lite實現的功能如下:

提供輕量的backone檢測模型psenet(8.5M),crnn_lstm_lite(9.5M) 和行文本方向分類網絡(1.5M)

任意方向文字檢測,識別時判斷行文本方向

crnncrnn_lite lstmdense識別(ocr-dense和ocr-lstm是搬運chineseocr的)

支持豎排文本識別

ncnn 實現 (支持lstm)

mnn 實現

接下來,我們再說一下chineseocr_lite的運行環境:

Ubuntu 18.04

Python 3.6.9

Pytorch 1.5.0.dev20200227+cpu

此外,最近項目作者對更新了可實現的功能。

nihui 大佬實現的 crnn_lstm 推理

升級 crnn_lite_lstm_dw.pth 模型 crnn_lite_lstm_dw_v2.pth , 精度更高

提供豎排文字樣例以及字體庫(旋轉 90 度的字體)

如果你也對這個項目感興趣就趕緊嘗試下吧。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4601

    瀏覽量

    92671
  • OpenCV
    +關注

    關注

    30

    文章

    628

    瀏覽量

    41273
  • OCR
    OCR
    +關注

    關注

    0

    文章

    144

    瀏覽量

    16330

原文標題:OCR光學字符識別方法匯總(附開源代碼)

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ASR與傳統語音識別的區別

    ASR(Automatic Speech Recognition,自動語音識別)與傳統語音識別在多個方面存在顯著的區別。以下是對這兩者的對比: 一、技術基礎 ASR : 基于深度學習算法的新型語音
    的頭像 發表于 11-18 15:22 ?329次閱讀

    ipc與傳統監控技術的比較

    IPC(Internet Protocol Camera)監控技術傳統監控技術在多個方面存在顯著差異。以下是對兩者的詳細比較: 一、技術基礎與傳輸方式 IPC監控
    的頭像 發表于 11-15 14:23 ?201次閱讀

    基于AOI視覺技術OCR檢測方案,解鎖產品精準高效入庫新體驗!

    導讀:在當今快速發展的制造業中,產品入庫過程作為生產和供應鏈管理的關鍵步驟,其效率和準確性直接影響到企業的運營成本和客戶滿意度。傳統入庫方式往往依賴人工檢測和操作,隨著生產規模的不斷擴大和產品
    的頭像 發表于 11-13 13:42 ?93次閱讀
    基于AOI視覺<b class='flag-5'>技術</b>的<b class='flag-5'>OCR</b>檢測方案,解鎖產品精準高效入庫新體驗!

    明治案例 | 【OCR識別+條碼讀取】一步到位,印刷品質的智能守護者

    在某大型印刷企業的生產線上,印刷機需要完成大量的條碼印刷任務。為了確保條碼的準確性和可讀性,需要在設備上安裝傳感器進行條碼印刷的讀碼和OCR識別檢測。1、傳感器需要準確識別條碼中的信息,并將其與預設
    的頭像 發表于 10-22 08:02 ?152次閱讀
    明治案例 | 【<b class='flag-5'>OCR</b>識別+條碼讀取】一步到位,印刷品質的智能守護者

    光學字符識別是什么的一種技術

    光學字符識別(Optical Character Recognition,簡稱OCR)是一種將文本資料轉換為計算機可編輯和可搜索的數據格式的技術。這項技術廣泛應用于文檔掃描、數據錄入、自動化處理等
    的頭像 發表于 09-10 15:48 ?403次閱讀

    光學識別技術的工作原理是什么?

    光學識別技術(Optical Character Recognition,簡稱OCR)是一種將圖像中的文字信息轉換成可編輯和可搜索的文本數據的技術。它廣泛應用于文檔掃描、數據錄入、自動識別等領域
    的頭像 發表于 09-10 15:46 ?543次閱讀

    光學識別字符是自動識別技術

    光學識別字符(Optical Character Recognition,簡稱OCR)是一種自動識別技術,它能夠將各種類型文檔(如掃描的紙質文檔、PDF文件或數字相機拍攝的圖片)中的文字轉換成可編
    的頭像 發表于 09-10 15:43 ?387次閱讀

    明治案例 | PE編織袋【大視野】【OCR識別】

    OCR識別技術OCR識別技術在工業生產中扮演著至關重要的角色。它利用先進的圖像處理技術,自動、高效地識別并轉換圖像中的文字信息為可編輯的文本
    的頭像 發表于 08-13 08:25 ?405次閱讀
    明治案例 | PE編織袋【大視野】【<b class='flag-5'>OCR</b>識別】

    圖像識別算法都有哪些方法

    圖像識別算法是計算機視覺領域的核心任務之一,它涉及到從圖像中提取特征并進行分類、識別和分析的過程。隨著深度學習技術的不斷發展,圖像識別算法已經取得了顯著的進展。本文將介紹圖像識別算法
    的頭像 發表于 07-16 11:14 ?5167次閱讀

    神經網絡芯片與傳統芯片的區別和聯系

    引言 隨著人工智能技術的快速發展,深度學習算法在圖像識別、自然語言處理、語音識別等領域取得了顯著的成果。然而,深度學習算法對計算資源的需求非常高,傳統的計算芯片已經無法滿足其需求。因此
    的頭像 發表于 07-04 09:31 ?736次閱讀

    智能手機充電頭OCR精準識別

    文本是人類最重要的信息來源之一,自然場景中充滿了形形色色的文字符號。光學字符識別(OCR)相信大家都不陌生。而工業場景的圖像文字識別更加復雜,OCR出現在很多不同的場合,對某些特殊的表面、產品整體上
    的頭像 發表于 06-11 08:24 ?403次閱讀
    智能手機充電頭<b class='flag-5'>OCR</b>精準識別

    Zebra Aurora深度學習OCR算法榮獲CAIMRS頒發的自動化創新獎

    在第二十二屆中國自動化及數字化年度評選活動中,Zebra Aurora深度學習OCR算法獲得了由中國自動化及數字化產業年會(簡稱CAIMRS)頒發的自動化創新獎。
    的頭像 發表于 03-20 16:35 ?438次閱讀

    如何判斷觸摸屏用有機硅OCR/LOCA性能的優劣

    判斷OCR/LOCA性能的優劣
    的頭像 發表于 02-29 10:48 ?555次閱讀

    觸摸屏用有機硅OCR的性能測試方法

    ,提高顯示器的顯示效果。隨著顯示產業的快速發展,全貼合技術越來越成熟,應用領域也由傳統的自助服務設備、零售終端/POS 機、教育培訓、游戲機、工業控制、金融/ATM機、醫療設備等行業,發展到觸控筆電、觸控一體化設備、城市應急管理系統大尺寸屏幕等新興行
    的頭像 發表于 01-26 15:08 ?907次閱讀
    觸摸屏用有機硅<b class='flag-5'>OCR</b>的性能測試方法

    EVS深度學習智能相機OCR工具性能大揭秘

    伴隨著工業自動化的發展,光學字符識別(OCR技術已成為產品質量管控的剛需,常用于部件入庫跟蹤、產品工藝溯源、商品保質期管理等場景。然而,為了促進精益生產、柔性生產、保障品控,產線不僅對此類技術
    的頭像 發表于 12-16 08:24 ?971次閱讀
    EVS深度學習智能相機<b class='flag-5'>OCR</b>工具性能大揭秘