女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

三步驟快速實現PaddleOCR實時推理

英特爾物聯網 ? 來源:英特爾物聯網 ? 作者:武卓 ? 2022-06-09 17:18 ? 次閱讀

作者

英特爾AI軟件布道師

武卓博士

曾主持國家級及省部級科研項目十余項,已授權國際國內專利十余項。

前言:該技術能讓PaddleOCR的開發者在筆記本電腦上即可獲得超越40FPS的速度,極大降低了PaddleOCR的部署成本。

簡介

在上篇文章中我們介紹過,光學字符識別(OCR)技術可以將文件、圖片或自然場景中的文字信息進行識別并提取,與一系列的自然語言處理技術聯合使用,能夠完成諸如文檔票據的文字信息自動化處理、實時圖片文字翻譯等任務。通過機器的自動化處理,可以幫助財務人員在處理票據時省卻大量手工輸入的工作量,也能夠方便我們在出國旅游時隨時對異域中的外國文字信息進行實時翻譯、減少語言不通帶來的不便。

既然OCR技術如此實用,有沒有什么方法能讓我們利用自己手邊的設備,隨時使用到這項技術呢?答案當然是肯定的。接下來,我們將以百度開源的PaddleOCR1-2 技術為例,具體介紹如何利用英特爾開源的OpenVINO 工具套件,僅使用我們手邊都有的CPU就能輕松實現對PaddleOCR的實時推理。

本篇是用OpenVINO 工具套件實現基于OCR及NLP輕松實現信息自動化提取的系列博客中的第二篇。我們將簡要介紹PaddleOCR的原理,以及利用OpenVINO 工具套件實現PaddleOCR推理加速的工作流程。同樣只需利用一頁Jupyter notebook,依照簡單的三個步驟,即可利用CPU實現基于PaddleOCR的實時文字信息提取。

PaddleOCR原理簡介

PaddleOCR是基于深度學習框架PaddlePaddle的一項OCR技術,具有超輕、模型小、便于移動端及服務器端部署等特點。整個PaddleOCR技術的工作流程如下圖所示,主要包括文本檢測、方向分類、以及文本識別三部分。

28d278c6-db51-11ec-ba43-dac502259ad0.png

文本檢測任務是找出圖像或視頻中的文字位置。不同于目標檢測任務,目標檢測不僅要解決定位問題,還要解決目標分類問題。但是,文本檢測也面臨一些難點,比如:自然場景中的文本具有多樣性,文字大小、方向、長度、形狀、語言都會有不同。有的時候,文字重疊或者密度較高,這些都會影響最終文本檢測的效果。目前常用的文本檢測方法有基于回歸以及基于分割的方法。而在PaddleOCR中,我們選取的是基于分割的DBNet3方法。

DBNet的工作原理如下圖所示。針對基于分割的方法需要使用閾值進行二值化處理而導致后處理耗時的問題,DBNet提出了一種可學習閾值的方法,并巧妙地設計了一個近似于階躍函數的二值化函數,使得分割網絡在訓練的時候能端對端的學習文本分割的閾值。自動調節閾值不僅帶來精度的提升,同時簡化了后處理,提高了文本檢測的性能。

2914895a-db51-11ec-ba43-dac502259ad0.png

方向分類指的是針對圖片中某些經文本檢測得到的bounding box中的文字方向為非水平排列的情況,對bounding box的方向進行檢測。如果發現bounding box中的文字方向為非水平排列,則對該bounding box的方向進行糾正,使其旋轉為文字水平排列的方向,方便下一步的文本識別。

文本識別的任務是將文本檢測得到的bounding box中的具體的文字內容識別出來。文本識別的算法有針對規則文本以及不規則文本識別的算法。對于規則文本,主流的算法CTC(Conectionist Temporal Classification)和基于Sequence2Sequence 的方法。

在本文demo中,我們采用的是基于CTC的方法。由于文本識別任務的特殊性,輸入數據中存在大量的上下文信息,卷積神經網絡的卷積核特性使其更關注于局部信息,缺乏長依賴的建模能力,因此僅使用CNN很難挖掘到文本之間的上下文聯系。

為了解決這一問題,首先通過使用CRNN (Convolutional Recurrent Neural Network)4 ,利用卷積網絡提取圖像特征,并同時引入了雙向 LSTM(Long Short-Term Memory) 用來增強上下文建模。最終將輸出的特征序列輸入到CTC模塊, 通過ctc歸納字符間的連接特性,直接解碼序列結果。該結構被驗證有效,并廣泛應用在文本識別任務中, 如下圖所示。

2952c0b2-db51-11ec-ba43-dac502259ad0.png

5分鐘 3步驟

快速實現PaddleOCR實時推理

在最新版本的OpenVINO 2022.1中,已經實現了對基于PaddlePaddle深度學習框架的深度學習模型的支持。而PaddleOCR作為一項深受廣大開發者喜愛的開源技術,其中開源的預訓練模型已經可以在OpenVINO 2022.1版本中直接進行模型讀取以及加速推理。

接下來,我們將通過代碼示例,介紹如何按照簡單的三個步驟,實現OpenVINO 工具套件對PaddleOCR的加速推理。整個工作流程如下圖所示:

299100de-db51-11ec-ba43-dac502259ad0.png

其中OpenVINO 工具套件會對PaddleOCR中的文本檢測以及文本識別模型進行讀取以及推理加速。本次demo中我們展示的是利用自己的網絡攝像頭,將實時獲取的視頻流中的文字信息利用PaddleOCR進行提取。當然,開發者也可以上傳圖片,利用OpenVINO 工具套件對PaddleOCR的推理實現對圖片中的文字信息進行提取。

步驟一:下載需要使用的PaddleOCR預訓練模型,并完成模型的讀取與加載

在導入需要使用到的相應Python包后,首先需要對將要使用的PaddleOCR開源預訓練模型進行下載。本次demo中使用到的是輕量化的"Chinese and English ultra-lightweight PP-OCR model (9.4M)"模型。由于PaddleOCR中包含了文本檢測及文本識別兩個深度學習模型,因此,我們首先定義一個模型下載函數,如下圖所示。

2a182064-db51-11ec-ba43-dac502259ad0.png

接下來,完成文本檢測模型的下載,

2a52e316-db51-11ec-ba43-dac502259ad0.png

以及推理引擎的初始化、文本檢測模型的讀取以及在 CPU上面的加載。

2a91e19c-db51-11ec-ba43-dac502259ad0.png

再然后,完成文本識別模型的下載,

2adfa008-db51-11ec-ba43-dac502259ad0.png

以及文本識別模型的讀取以及在CPU上面的加載。其中,有一步需要特別說明的是,動態輸入的處理

由于文本識別模型的輸入是文本檢測得到的一系列bounding box圖像,而圖像中的字體由于大小和文字長短程度不一,就造成了文本識別模型的輸入是動態輸入的。與以往版本需要對圖像尺寸進行重調整(resize)而將模型輸入尺寸固定、從而可能引起性能損失的處理方法不同的是,OpenVINO 2022. 1版本已經可以很好的支持模型的動態輸入。

在CPU上進行文本識別模型加載之前,只需要對于輸入的若干維度中具有動態輸入的維度賦值-1或申明動態輸入尺寸的上限值,比如Dimension(1,512),即可完成對模型動態輸入的處理。接下來,即可按常規步驟完成在CPU上加載文本識別模型。

2b000ff0-db51-11ec-ba43-dac502259ad0.png

步驟二:為文本檢測及文本識別定義必要的前處理及后處理函數。

為文本檢測模型定義必要的前處理函數,如下圖所示

2b3b59fc-db51-11ec-ba43-dac502259ad0.png

為文本識別模型定義必要的前處理函數,如下圖所示

2b7b294c-db51-11ec-ba43-dac502259ad0.png

2bbd3b98-db51-11ec-ba43-dac502259ad0.png

2bdc2742-db51-11ec-ba43-dac502259ad0.png

為文本檢測模型定義后處理函數,將文本檢測模型的推理結果轉為bounding box形式,作為文本識別模型的輸入,如下圖所示。

2c14223c-db51-11ec-ba43-dac502259ad0.png

步驟三:利用OpenVINO 工具套件推理引擎(Runtime)針對攝像頭采集視頻進行實時推理

2c9cb12e-db51-11ec-ba43-dac502259ad0.png

定義運行PaddleOCR模型推理的主函數,主要包括以下四個部分:

01運行網絡攝像頭,將捕捉到的視頻流作為paddleOCR的輸入

2cc9adbe-db51-11ec-ba43-dac502259ad0.png

02準備進行文本檢測和文本識別的視頻幀

2d28f3aa-db51-11ec-ba43-dac502259ad0.png

03針對文本檢測進行推理

2d81d36c-db51-11ec-ba43-dac502259ad0.png

根據文本檢測得到的bounding box,進行文本識別推理

2e02ab54-db51-11ec-ba43-dac502259ad0.png

04將文本提取的結果可視化

2e2581d8-db51-11ec-ba43-dac502259ad0.png

結果討論

下面我們來看看運行結果吧:

我們可以看到,對于網絡攝像頭采集的視頻流中的文字提取效果還是很不錯的。僅僅利用CPU進行推理,也可以得到30FPS以上的性能,可以說能夠達到實時的推理效果!當然,除了視頻流作為輸入,開發者還可以上傳圖片,進行文本信息提取。以下是針對上傳圖片中印刷體文字和手寫體文字信息提取的一些測試效果。

你還在等什么,快來根據我們提供的源代碼,在自己的個人電腦上嘗試一下吧!

小結

OCR具有將圖片、掃描文檔或自然場景中的文字信息識別轉化為數字化、機器編碼方式存儲的優勢。將OCR進行文字識別的結果與自然語言處理中的NLP技術相結合,能夠實現自動化的信息提取,為我們免去手動輸入信息填寫的麻煩,并有助于信息的結構化存儲與查找。在本次系列博客的第二篇中,我們簡要介紹了PaddleOCR的工作原理,并提供了一個基于OpenVINO 工具套件實現PaddleOCR的Jupyter notebook demo。可以方便讀者在閱讀的同時,下載源碼并在自己的電腦端利用CPU來輕松實現PaddleOCR的加速推理。

原文標題:用OpenVINO? 輕松實現PaddleOCR實時推理 | 開發者實戰

文章出處:【微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。

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

    關注

    61

    文章

    10165

    瀏覽量

    173896
  • OCR
    OCR
    +關注

    關注

    0

    文章

    156

    瀏覽量

    16703
  • 深度學習
    +關注

    關注

    73

    文章

    5554

    瀏覽量

    122461

原文標題:用OpenVINO? 輕松實現PaddleOCR實時推理 | 開發者實戰

文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Modbus轉以太網終極方案:三步實現老舊設備智能升級

    7.8萬元/年(人工處理報警) 四、三步快速實施指南 步驟1:物理連接 步驟2:參數配置 步驟3:系統聯調 ? 御控云平臺:
    發表于 04-24 10:37

    Claude 3.7:編碼助手首選,claude api key如何申請獲取與深度解析*

    核心看點 混合推理引擎 :Claude 3.7 融合快速代碼生成與深度問題解決能力,實現“快思考”與“深思考”的無縫切換。 便捷API訪問 :三步
    的頭像 發表于 03-24 09:43 ?727次閱讀
    Claude 3.7:編碼助手首選,claude api key如何申請獲取與深度解析*

    150℃無壓燒結銀最簡單步驟

    的熱點。在材料科學與電子工程領域,燒結技術作為連接與成型的關鍵工藝之一,始終占據著舉足輕重的地位。接下來,我們將詳細介紹150℃無壓燒結銀AS9378TB的最簡單步驟,以便讀者和客戶能夠快速理解并
    發表于 02-23 16:31

    “輕松上手!5分鐘學會用京東云打造你自己的專屬DeepSeek”

    GPU云主機環境準備 ?:部署Ollama :運?DeepSeek模型 四:圖形客戶端使? #第五步驟可以不執? 五:本地數據投喂 ?:京東云GPU云主機環境準備: DeepSeek的不同版本模型對主機
    的頭像 發表于 02-10 17:41 ?1516次閱讀
    “輕松上手!5分鐘學會用京東云打造你自己的專屬DeepSeek”

    摩爾線程宣布成功部署DeepSeek蒸餾模型推理服務

    近日,摩爾線程智能科技(北京)有限責任公司在其官方渠道發布了一則重要消息,宣布公司已經成功實現了對DeepSeek蒸餾模型推理服務的部署。這一技術突破,標志著摩爾線程在人工智能領域邁出了堅實的一
    的頭像 發表于 02-06 13:49 ?707次閱讀

    工程師指南:38步驟 反激式開關電源設計提供全面指導

    圍繞反激式開關電源設計展開,詳細介紹了 38 個設計步驟,涵蓋電路參數計算、元件選型及環路補償設計等方面,為反激式開關電源設計提供全面指導。 *附件:38步驟 反激式開關電源設計提供全面指導.pdf
    的頭像 發表于 01-16 18:09 ?2429次閱讀
    工程師指南:38<b class='flag-5'>步驟</b> 反激式開關電源設計提供全面指導

    實現實時維測量的技術挑戰

    隨著科技的飛速發展,實時維測量技術已成為現代工業和科研領域的重要工具。它能夠提供精確的維數據,幫助工程師和研究人員更好地理解和設計復雜的系統。 1. 數據采集速度 實時
    的頭像 發表于 12-30 15:23 ?456次閱讀

    如何實現數字孿生?分為以下四步驟

    和優化管理。下面我將詳細介紹如何實現數字孿生以及相關的關鍵步驟和技術。 首先,實現數字孿生的關鍵在于數據的采集、建模、分析和反饋,具體步驟如下: 1.數據采集: 通過各種傳感器、監控設
    的頭像 發表于 11-29 13:57 ?1339次閱讀

    放電消納負載如何實現

    放電消納負載是一種電力系統運行控制技術,主要用于解決電力系統中由于負荷波動、電源故障等原因產生的過剩電能問題。其實現過程主要包括以下幾個步驟: 檢測和預測:首先,通過對電力系統的實時監測,獲取系統
    發表于 10-30 15:26

    FPGA和ASIC在大模型推理加速中的應用

    隨著現在AI的快速發展,使用FPGA和ASIC進行推理加速的研究也越來越多,從目前的市場來說,有些公司已經有了專門做推理的ASIC,像Groq的LPU,專門針對大語言模型的推理做了優化
    的頭像 發表于 10-29 14:12 ?1750次閱讀
    FPGA和ASIC在大模型<b class='flag-5'>推理</b>加速中的應用

    快速確定升壓轉換器最大輸出電流的步驟

    電子發燒友網站提供《快速確定升壓轉換器最大輸出電流的步驟.pdf》資料免費下載
    發表于 09-07 10:42 ?0次下載
    <b class='flag-5'>快速</b>確定升壓轉換器最大輸出電流的<b class='flag-5'>三</b>個<b class='flag-5'>步驟</b>

    PCBA加工打樣要經過哪些流程?每一步驟都很關鍵

    一站式PCBA智造廠家今天為大家講講PCBA打樣整套流程有哪些?PCBA打樣從設計到成品交付流程。在電子產品設計和開發過程中,PCBA打樣是一個至關重要的步驟。下面我們將詳細介紹PCBA打樣的整個
    的頭像 發表于 09-04 09:40 ?589次閱讀
    PCBA加工打樣要經過哪些流程?每一<b class='flag-5'>步驟</b>都很關鍵

    linux安裝.net core3.1步驟

    linux安裝.net core3.1步驟 各項用到的命令
    發表于 09-03 11:41 ?0次下載

    上位機與下位機實時通信的實現

    在工業自動化、遠程控制、數據采集與處理等領域,上位機與下位機之間的實時通信是實現高效、準確的數據交換和系統控制的基礎。本文旨在介紹實現上位機與下位機實時通信的關鍵技術、協議及
    的頭像 發表于 06-28 17:01 ?2551次閱讀

    相全橋RCP開發套件

    輸入輸出電壓以及環路電流,送入CBox快速原型控制器中處理,并配合相關的控制算法控制產生功率管驅動脈沖以及其他的控制電平,實現完整的系統控制。實驗步驟簡單清晰,兩搞定: 套件提供了配
    發表于 06-11 13:50