1.PaddleOCR是什么?
PaddleOCR旨在打造一套豐富、領先、且實用的OCR工具庫,助力使用者訓練出更好的模型,並應用落地。
飛槳文字識別開發套件PaddleOCR,旨在打造一套豐富、領先且實用的OCR工具庫,開源了基於PP-OCR實用的超輕量中英文OCR模型、通用中英文OCR模型,以及德法日韓等多語言OCR模型。並提供上述模型訓練方法和多種預測部署方式。同時開源文本風格數據合成工具Style-Text和半自動文本圖像標注工具PPOCRLable
2.特性
1.PPOCR系列高質量預訓練模型,准確的識別效果
輕量ppocr_mobile移動端系列:檢測(2.6M)+方向分類器(0.9M)+識別(4.6M) = 8.1M。通用ppocr_server系列:檢測(47.2M) +方向分類器(0.9M)+識別(107M) = 155.1M
超輕量壓縮ppocr_mobile_slim系列:檢測(1.4M) +方向分類器(0.5M)+識別(1.6M) = 3.5M·支持中英文數字組合識別、豎排文本識別、長文本識別
2.支持多語言識別:韓語、日語、德語、法語
3.支持用戶自定義訓練,提供豐富的預測推理部署方案·支持PIP快速安裝使用
4.可運行於Linux、Windows、MacOS等多種系統
3.安裝總流程(安裝步驟在第四單元)
1.首先安裝PaddlePaddle庫(深度學習框架)
飛槳(PaddlePaddle)以百度多年的深度學習技術研究和業務應用為基礎,集深度學習核心訓練和推理框架、基礎模型庫、端到端開發套件、豐富的工具組件於一體的深度學習框架
2.安裝shapely庫(依賴的庫)
Shapely is a Python package for set-theoretic analysis and manipulation of planar features using (via Python’s ctypes module) functions from the well known and widely deployed GEOS library.
Shapely是一個Python包,用於使用(通過Python的ctypes模塊)GEOS庫中的函數對平面特性進行集論分析和操作
https://shapely.readthedocs.io/en/latest/manual.html#introduction
3.安裝PaddleOCR(要使用的庫)
飛槳文字識別開發套件PaddleOCR,旨在打造一套豐富、領先且實用的OCR工具庫,開源了基於PP-OCR實用的超輕量中英文OCR模型、通用中英文OCR模型,以及德法日韓等多語言OCR模型。並提供上述模型訓練方法和多種預測部署方式。同時開源文本風格數據合成工具Style-Text和半自動文本圖像標注工具PPOCRLable
4.安裝步驟(windows)
1.檢查安裝環境
要使用PaddleOCR,必須要有paddle深度學習框架,而其深度學習框架有環境要求。
目前飛槳支持的環境(博客寫於2021年10月5日)
Windows 7/8/10專業版/企業版(64bit)
GPU版本支持CUDA 10.1/10.2/11.0/11.2,且僅支持單卡
Python 版本 3.6+/3.7+/3.8+/3.9+(64 bit)
pip 版本20.2.2或更高版本(64 bit)
檢查環境方法
1.檢查Python版本
python --version
2.檢查pip版本
python -m pip --version
3.檢查cuda版本
要記住自己的cuda版本,一會安裝的時候有用
2.升級pip到最新版(選做)
python -m pip install --upgrade pip
3.安裝飛漿學習框架PaddlePaddle
如果您的計算機沒有 NVIDIA® GPU,請安裝CPU版的PaddlePaddle
python -m pip install paddlepaddle==2.0.0b0 -i https://mirror.baidu.com/pypi/simple
如果您的機器安裝了 NVIDIA® GPU,記住版本號,進入鏈接網站查詢后下載。
選擇自己的系統→選擇pip(即使安裝conda了也使用pip,下載方便一些)→選擇自己的cuda版本→打開cmd安裝
當前最高版本是11.2
官網提示
但是提示“如果您使用的是非安培架構的GPU,推薦使用CUDA10.2,性能更優。”
安裝截圖如下:
4.安裝依賴庫shapely
注意,windows環境下,建議從這里 單擊這里下載shapely安裝包完成安裝, 直接通過pip安裝的shapely庫可能出現[winRrror 126] 找不到指定模塊的問題。
根據提供的shapely文件名判斷哪個版本是符合你的:第一看cp36 cp37 cp39這一部分,代表的是你python版本,如你裝的是python3.7那就選擇cp37(后綴m不用在意);第二看最后位數,64位就選win_amd64,32位就選win32
其是whl文件,whl格式本質上是一個壓縮包,里面包含了py文件,以及經過編譯的pyd文件。whl文件安裝方法:
嫌棄麻煩的親們,可以直接使用優愛酷開發的便攜版OCR軟件,支持批量和多線程。
https://gitee.com/uicoolcn/UiCoolOCR
5.安裝PaddleOCR
pip install paddleocr
6.測試
代碼
- from paddleocr import PaddleOCR, draw_ocr
-
- # Paddleocr目前支持中英文、英文、法語、德語、韓語、日語,可以通過修改lang參數進行切換
- # 參數依次為`ch`, `en`, `french`, `german`, `korean`, `japan`。
- ocr = PaddleOCR(use_angle_cls=True, lang="ch") # need to run only once to download and load model into memory
- img_path = 'UiCool_test.jpg'
- result = ocr.ocr(img_path, cls=True)
- for line in result:
- print(line)
-
- # 顯示結果
- from PIL import Image
-
- image = Image.open(img_path).convert('RGB')
- boxes = [line[0] for line in result]
- txts = [line[1][0] for line in result]
- scores = [line[1][1] for line in result]
- im_show = draw_ocr(image, boxes, txts, scores, font_path='/path/to/PaddleOCR/doc/simfang.ttf')
- im_show = Image.fromarray(im_show)
- im_show.save('UiCool_OCR_Result.jpg')
結果示意圖
識別過程
識別結果
如果編譯時遇到報錯
報錯內容:
RuntimeError: (PreconditionNotMet) The third-party dynamic library (cudnn64_8.dll) that Paddle depends on is not configured correctly. (error code is 126)
Suggestions:
1. Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed correctly and its version is matched with paddlepaddle you installed.
2. Configure third-party dynamic library environment variables as follows:
- Linux: set LD_LIBRARY_PATH by `export LD_LIBRARY_PATH=...`
- Windows: set PATH by `set PATH=XXX; (at C:\home\workspace\Paddle_release\paddle\fluid\platform\dynload\dynamic_loader.cc:265)
【解決辦法】:
安裝 cuda
微信關注【優愛酷】並回復“PPOCR”即可獲取下載鏈接
直連下載:
微信關注【優愛酷】並回復“PPOCR”即可獲取下載鏈接
檢測一下是否成功
【安裝cuDNN】
cuDNN Download
cuDNN地址如下,不過要注意的是,官方需要注冊一個賬號,才可以進入到下載界面。。
微信關注【優愛酷】並回復“PPOCR”即可直接獲取下載鏈接
將解壓后的文件放入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4
微信關注【優愛酷】並回復“PPOCR”即可直接獲取下載鏈接