一、簡介
PaddleOCR是飛漿開源文字識別模型,最新開源的超輕量PP-OCRv3模型大小僅為16.2M。同時支持中英文識別;支持傾斜、豎排等多種方向文字識別;支持GPU、CPU預測,并且支持使用paddle開源組件訓練自己的超輕量模型,對于垂直領域的需求有很大幫助。
二、使用教程
- 環(huán)境安裝
- 說明:官方推薦使用python3.7以上版本,但是在實際安裝使用中發(fā)現(xiàn)python3.8更穩(wěn)定,如果本地python安裝包過多,推薦使用Anaconda來進行python包管理,避免包沖突。
- Anaconda下載:
地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
按需下載自己需要的版本
- 安裝程序運行所需庫
-
安裝paddle
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
默認安裝CPU版本,安裝paddle時建議使用百度源,若需要安裝GPU版本,則請打開paddle官網(wǎng)選擇適合的版本.
paddle官網(wǎng):https://www.paddlepaddle.org.cn/
由于安裝GPU版本需要先配置好CUDA和cudnn,建議有一定基礎后再安裝GPU版本 -
安裝paddlehub
pip install paddlehub -i https://mirror.baidu.com/pypi/simple
paddlehub介紹文檔:https://github.com/PaddlePaddle/PaddleHub/blob/release/v2.1/README_ch.md
對于Windows環(huán)境用戶:直接通過pip安裝的shapely庫可能出現(xiàn) 找不到指定模塊的問題。建議從下方地址下載shapely安裝包完成安裝
https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
-
安裝ocr模型
hub install ch_pp-ocrv3==1.2.0
模型名稱 ch_pp-ocrv3 網(wǎng)絡 Differentiable Binarization+SVTR_LCNet 數(shù)據(jù)集 icdar2015數(shù)據(jù)集 是否支持Fine-tuning 否 模型大小 13M 最新更新日期 2022-05-11 其它模型: chinese_ocr_db_crnn_server、PP-OCR、PP-OCRv2
三、模型調(diào)用
-
命令行預測示例
hub run ch_pp-ocrv3 --input_path "/PATH/TO/IMAGE"
-
python代碼示例
import paddlehub as hub import cv2 img_path = r'C:\Users\26414\Downloads\test.jpg' ocr = hub.Module(name="ch_pp-ocrv3", enable_mkldnn=True) # mkldnn加速僅在CPU下有效 result = ocr.recognize_text(images=[cv2.imread(img_path)]) # or 傳遞文件地址調(diào)用 # result = ocr.recognize_text(paths=[img_path])
注: img_path路徑中不能包含中文字符,opencv不支持中文路徑
參數(shù)
- paths (list[str]): 圖片的路徑;
- images (list[numpy.ndarray]): 圖片數(shù)據(jù),ndarray.shape 為 [H, W, C],BGR格式;
- use_gpu (bool): 是否使用 - GPU;若使用GPU,請先設置CUDA_VISIBLE_DEVICES環(huán)境變量
- box_thresh (float): 檢測文本框置信度的閾值;
- text_thresh (float): 識別中文文本置信度的閾值;
- angle_classification_thresh(float): 文本角度分類置信度的閾值
- visualization (bool): 是否將識別結(jié)果保存為圖片文件;
- output_dir (str): 圖片的保存路徑,默認設為 ocr_result;
- det_db_unclip_ratio: 設置檢測框的大??;
返回
- res (list[dict]): 識別結(jié)果的列表,列表中每一個元素為 dict,各字段為:
- data (list[dict]): 識別文本結(jié)果,列表中每一個元素為 dict,各字段為: - text(str): 識別得到的文本 - confidence(float): 識別文本結(jié)果置信度 - text_box_position(list): 文本框在原圖中的像素坐標,4*2的矩陣,依次表示文本框左下、右下、右上、左上頂點的坐標 如果無識別結(jié)果則data為[]
- save_path (str, optional): 識別結(jié)果的保存路徑,如不保存圖片則save_path為’’
四、效果展示
-
測試圖片
-
結(jié)果展示
注:
目前paddle ocr最高版本已更新只pp-ocr-v4,cpu環(huán)境下不推薦使用該版本,相比pp-ocr-v3效果雖然略有提升,但是速度要慢很多,且不支持cpu加速
參考文檔
paddle ocr官方地址: https://www.paddlepaddle.org.cn/hubdetail?name=ch_pp-ocrv3&en_category=TextRecognition
paddle ocr GitHub地址: https://github.com/PaddlePaddle/PaddleHub
在線體驗地址: https://www.paddlepaddle.org.cn/hub/scene/ocr文章來源:http://www.zghlxwxcb.cn/news/detail-552581.html
查看其他開源中文OCR,點擊此處
Docker中部署PaddleOCR,點擊此處文章來源地址http://www.zghlxwxcb.cn/news/detail-552581.html
到了這里,關于Paddle OCR 安裝使用教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!