.net版OCR緊隨PP-OCRv3重磅釋出

明月心技術學堂發表於2022-05-14

.net版OCR地址PaddleOCRSharp

PaddleOCRSharp是一個基於PaddleOCR的C++程式碼修改並封裝的.NET的工具類庫。包含文字識別、文字檢測、基於文字檢測結果的統計分析的表格識別功能,同時針對小圖識別不準的情況下,做了優化,提高識別準確率。包含總模型僅8.6M的超輕量級中文OCR,單模型支援中英文數字組合識別、豎排文字識別、長文字識別。同時支援多種文字檢測。專案封裝極其簡化,實際呼叫僅幾行程式碼,極大的方便了中下游開發者的使用和降低了PaddleOCR的使用入門級別,同時提供不同的.NET框架使用,方便各個行業應用開發與部署。Nuget包即裝即用,可以離線部署,不需要網路就可以識別的高精度中英文OCR。

 

20000+Star超輕量OCR系統PP-OCRv3效果再提升5% - 11%

關注微信公眾號,獲取更多技術內容

OCR方向的工程師,之前一定聽說過PaddleOCR這個專案。

  • 專案累計Star數量已超過20000+;
  • 頻頻登上GitHub Trending和Paperswithcode 日榜月榜第一;
  • 在Medium與Papers withCode 聯合評選的《Top Trending Libraries of 2021》,從百萬量級專案中脫穎而出,榮登Top10!
  • 在《2021中國開源年度報告》中被評為活躍度Top5!

本次PaddleOCR最新發版,帶來四大重磅升級,包括:

  • 釋出超輕量OCR系統PP-OCRv3:中英文、純英文以及多語言場景精度再提升5% - 11%!

  • 釋出半自動標註工具PPOCRLabelv2:新增表格文字影像、影像關鍵資訊抽取任務和不規則文字影像的標註功能。

  • 釋出OCR產業落地工具集:打通22種訓練部署軟硬體環境與方式,覆蓋企業90%的訓練部署環境需求。

.NET使用示例

安裝

PM> Install-Package PaddleOCRSharp -Version 2.0.0
 OpenFileDialog ofd = new OpenFileDialog();
  ofd.Filter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";
  if (ofd.ShowDialog() != DialogResult.OK) return;
  var imagebyte = File.ReadAllBytes(ofd.FileName);
  Bitmap bitmap = new Bitmap(new MemoryStream(imagebyte));
  OCRModelConfig config = null;
  OCRParameter oCRParameter = new  OCRParameter ();

  OCRResult ocrResult = new OCRResult();

  //建議程式全域性初始化一次即可,不必每次識別都初始化,容易報錯。
  PaddleOCREngine engine = new PaddleOCREngine(config, oCRParameter);
   {
    ocrResult = engine.DetectText(bitmap );
   }
 if (ocrResult != null)
 {
    MessageBox.Show(ocrResult.Text,"識別結果");
 }

本專案目前支援以下NET框架:

net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;
netstandard2.0;netcoreapp3.1;
net5.0;net6.0;

PP-OCRv3優化策略解讀

PP-OCR是PaddleOCR團隊自研的超輕量OCR系統,面向OCR產業應用,權衡精度與速度。近期,PaddleOCR團隊針對PP-OCRv2的檢測模組和識別模組,進行共計9個方面的升級,打造出一款全新的、效果更優的超輕量OCR系統:PP-OCRv3。

從效果上看,速度可比情況下,多種場景精度均有大幅提升

    • 中文場景,相比PP-OCRv2,中文模型提升超5%;

    • 英文數字場景,相比PP-OCRv2,英文數字模型提升11%;

    • 多語言場景,優化80+語種識別效果,平均準確率提升超5%

      •  

         全新升級的PP-OCRv3的整體框架圖(粉色框中為PP-OCRv3新增策略)如下圖。檢測模組仍基於DB演算法優化;而識別模組不再採用CRNN,更新為IJCAI 2022最新收錄的文字識別演算法SVTR (論文名稱:SVTR: Scene Text Recognition with a SingleVisual Model),並對其進行產業適配。

      •  

         具體的優化策略包括以下幾點:

         

         

         

        1.檢測模組

        • LK-PAN:大感受野的PAN結構

        • DML:教師模型互學習策略

        • RSE-FPN:殘差注意力機制的FPN接面構

         

         

         

        2.識別模組

        • SVTR_LCNet:輕量級文字識別網路
        • GTC:Attention指導CTC訓練策略

        • TextConAug:挖掘文字上下文資訊的資料增廣策略

        • TextRotNet:自監督的預訓練模型

        • UDML:聯合互學習策略

        • UIM:無標註資料探勘方案

        PaddleOCRSharp專案地址:

      • GitHub:https://github.com/raoyutian/PaddleOCRSharp
      • Gitee:https://gitee.com/raoyutian/paddle-ocrsharp
      • PaddleOCRSharp最新版本v2.0.0是基於PaddleOCR的最新版V2.5的C++程式碼修改而成,並適配PP-OCRv3

相關文章