提速15%,PaddleOCRSharp新版v4.3釋出

饶玉田發表於2024-05-29

PaddleOCRSharp v4.3版本,已經於5月23日釋出。該版本的釋出,在不影響識別精度的同時,帶來了10%~15%速度的提升。

專案地址:https://gitee.com/raoyutian/PaddleOCRSharp

專案簡介

PaddleOCRSharp 作者是廣州英田資訊科技有限公司的創始人明月心 (raoyutian) ,是一個基於百度飛槳PaddleOCR的開原始碼編寫的.NET版本OCR工具類庫。專案核心元件PaddleOCR.dll,由C++編寫,根據百度飛槳PaddleOCR的C++程式碼修改並最佳化而成。目前已經支援C++、.NET、Python、Golang、Rust等開發語言的直接API介面呼叫。專案包含文字識別、文字檢測、表格識別功能。本專案針對小圖識別不準的情況下做了最佳化,比飛槳原始碼識別準確率有所提高。包含總模型僅8.6M的超輕量級中文OCR,單模型支援中英文數字組合識別、豎排文字識別、長文字識別。同時支援中英文、純英文以及多種語言文字檢測識別。

PaddleOCRSharp封裝極其簡化,實際呼叫僅幾行程式碼,極大地方便了中下游開發者的使用和降低了PaddleOCR的使用入門級別,同時提供不同的.NET框架使用,方便各個行業應用開發與部署。Nuget包即裝即用,可以離線部署,不需要網路就可以識別的高精度中英文OCR。

PaddleOCRSharp支援官方所有公開的通用OCR模型,PPOCRV2、PPOCRV3、PPOCRV4。

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

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

  

特點

★ 高度整合:PaddleOCRSharp將百度飛槳PaddleOCR的核心功能完美整合到.NET平臺,讓開發者無需關心底層實現,只需呼叫相應介面即可實現OCR功能。

★ 效能卓越:得益於百度飛槳PaddleOCR的高效演算法和C++程式碼的最佳化,PaddleOCRSharp在保持高度整合的同時,也保證了卓越的效能表現。

★ 易於使用:PaddleOCRSharp提供了豐富的API介面和詳細的文件說明,讓開發者能夠輕鬆上手,快速實現OCR功能。

★ 擴充套件性強:PaddleOCRSharp支援自定義模型載入和訓練,開發者可以根據自己的需求進行模型擴充套件和最佳化。

★ 離線免費:PaddleOCRSharp支援離線綠色部署,無其他依賴需要安裝。

應用場景

PaddleOCRSharp適用於各種需要OCR技術的.NET開發場景,如文件數字化處理、自動識別表單資料、車牌識別等。無論是企業級應用還是個人開發者,PaddleOCRSharp都能提供強大的OCR支援。

最後看下本次主要更新的內容:

1.最佳化提速10~15%。

2.降低包大小。

3.最佳化記憶體使用。

4.修復Pascal語言呼叫出現的一個浮點運算問題

5.ModifyParameter引數增加兩個屬性欄位:m_rec,m_m_max_side_len

作者明月心 (raoyutian)透過重新編譯底層飛槳paddle_inference推理庫,最佳化程式碼,才有15%的速度提升。重新編譯opencv庫,裁剪不必要的功能,使得opencv庫從62M減少到10M,為了滿足在專案實際使用過程中可以隨便改變引數,比如,有時不需要識別,有時候不需要檢測,透過動態調整引數ModifyParameter均可實現。圖片

PaddleOCRSharp使用示例:

首先安裝PaddleOCRSharp庫,在nuget包管理器中搜尋PaddleOCRSharp安裝最新版即可。

//極致精簡一行程式碼實現OCR文字識別
var text = new PaddleOCRSharp.PaddleOCREngine().DetectText("圖片檔案").Text;

更多資訊關注微信公眾號或者加入QQ群交流

相關文章