飛槳技術生態伙伴 算力魔方
| 引言:還在為OCR模型在不同硬件上的部署而頭疼嗎?百度飛槳的PP-OCRv5重磅升級,準確率提升13%,且一個模型同時支持中、英、日等五種文字!本文將手把手教你如何將PP-OCRv5模型轉換為通用ONNX格式,讓你能在Intel、AMD、高通、蘋果等各類設備上輕松部署,真正實現“一次轉換,隨處運行”。

在當前多語言混合文檔處理需求日益增長的背景下,百度飛槳推出的PP-OCRv5
https://github.com/PaddlePaddle/PaddleOCR
成為了業界矚目的焦點。這款輕量級光學字符識別(OCR)系統不僅將準確率提升了13%,更強大的是,它實現了單一模型同時識別簡體中文、繁體中文、英文、日文和拼音五大文本類型,堪稱文檔處理領域的“瑞士軍刀”。
一,為何需要轉換為ONNX格式?
盡管PP-OCRv5本身非常強大,但若想將其部署在Intel、AMD、高通、蘋果、瑞芯微等各式各樣的AI推理設備上,直接使用原模型可能會面臨兼容性挑戰。而ONNX(Open Neural Network Exchange) 作為一個開放的模型格式標準,就像是AI世界的“通用翻譯官”,能夠幫助你的模型在不同的硬件和框架之間自由穿梭。
只需完成一次轉換,即可利用ONNX Runtime, TensorRT, OpenVINO, ROCm等眾多推理引擎進行高速推理,極大地擴展了應用邊界。
二,四步上手:PP-OCRv5模型轉換ONNX全流程
1,準備工作:安裝所需環境與工具
首先,我們需要一個干凈的Python環境來避免庫版本沖突。推薦使用Anaconda創建虛擬環境。
# 創建并激活名為 ppocrv5_ov 的虛擬環境
conda create -n ppocrv5_ov python=3.11
conda activate ppocrv5_ov

接下來,安裝必不可少的PaddlePaddle深度學習框架和PaddleOCR庫。
# 安裝PaddlePaddle和PaddleOCR
pip install paddlepaddle
pip install paddleocr
# 安裝高性能推理依賴(CPU版)
paddleocr install_hpi_deps cpu
最后,安裝本次轉換的“主角”——模型轉換工具 paddle2onnx 。
# 安裝paddle2onnx轉換工具
paddlex --install paddle2onnx

2,下載預訓練模型
我們將官方提供的服務器版高性能模型下載到本地。它們分別是檢測(detection)、識別(recognition)和分類(classification) 模型。
# 1. 下載并解壓文本檢測模型
wget https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv5_server_det_infer.tar
tar -xvf PP-OCRv5_server_det_infer.tar
# 2. 下載并解壓文本識別模型
wget https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv5_server_rec_infer.tar
tar -xvf PP-OCRv5_server_rec_infer.tar
# 3. 下載并解壓文本方向分類模型
wget https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-LCNet_x1_0_doc_ori_infer.tar
tar -xvf PP-LCNet_x1_0_doc_ori_infer.tar

3,核心步驟:模型轉換
現在,我們使用安裝好的 paddle2onnx 工具,將三個模型依次轉換為ONNX格式。
# 轉換檢測模型
paddlex --paddle2onnx --paddle_model_dir ./PP-OCRv5_server_det_infer --onnx_model_dir ./PP-OCRv5_server_det_onnx
# 轉換識別模型
paddlex --paddle2onnx --paddle_model_dir ./PP-OCRv5_server_rec_infer --onnx_model_dir ./PP-OCRv5_server_rec_onnx
# 轉換分類模型
paddlex --paddle2onnx --paddle_model_dir ./PP-LCNet_x1_0_doc_ori_infer --onnx_model_dir ./PP-OCRv5_server_cls_onnx
轉換成功后,你將在當前目錄看到三個對應的新文件夾(PP-OCRv5_server_det_onnx, PP-OCRv5_server_rec_onnx, PP-OCRv5_server_cls_onnx),里面便是生成的ONNX模型文件。
4,驗證轉換結果
理論轉完了,實際能用嗎?讓我們寫個腳本測試一下。
首先,下載一張示例圖片:
wget https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png
然后,使用PaddleOCR命令,指定我們剛剛轉換好的ONNX模型進行推理:
paddleocr ocr -i ./general_ocr_002.png
--text_detection_model_name PP-OCRv5_server_det
--text_detection_model_dir PP-OCRv5_server_det_onnx
--text_recognition_model_name PP-OCRv5_server_rec
--text_recognition_model_dir PP-OCRv5_server_rec_onnx/
--enable_hpi True
--device cpu
如果終端成功打印出了圖片中的文字識別結果,那么恭喜你!這意味著從模型轉換到推理的整個流程已全部跑通,ONNX模型工作正常。

三,結語與展望
通過以上五個步驟,我們成功地將PP-OCRv5模型轉換為了ONNX格式,為其在廣闊硬件平臺上的部署打開了大門。無論是云端服務器還是邊緣設備,ONNX都能提供強大的跨平臺能力。
審核編輯 黃宇
-
OCR
+關注
關注
0文章
175瀏覽量
17254 -
飛槳
+關注
關注
0文章
37瀏覽量
2659
發布評論請先 登錄
深入解析TPS25961 eFuse:功能特性與應用設計全攻略
零碳園區建設全攻略:政策導向+建設路徑+技術支撐+實踐案例
UPS不間斷電源是什么?企業如何選型與維護?2026年全攻略
一鍵配網失敗怎么辦?機智云熱點配網全攻略
用ROCm部署PP-StructureV3到AMD GPU上
基于DP1323EL的電動車解鎖方案:超高速讀寫,提升電動車一鍵解鎖體驗
工業 / 民用電表排線全攻略:安全合規 + 高效布線,90% 電工都在用的標準化方案
使用OpenVINO將PP-OCRv5模型部署在Intel顯卡上
【EASY EAI Orin Nano開發板試用體驗】PP-OCRV5文字識別實例搭建與移植
基于算力魔方與PP-OCRv5的OpenVINO智能文檔識別方案
ProfibusDP轉Profinet,一鍵搞定!
UC3854 功率因數校正設計全攻略:從理論到實戰
一鍵搞定!PP-OCRv5模型轉ONNX格式全攻略,解鎖多平臺無縫部署
評論