Python?paddleocr快速使用及參數(shù)配置詳解
其它相關推薦:
PaddleOCR模型訓練及使用詳細教程
官方網(wǎng)址:https://github.com/PaddlePaddle/PaddleOCR
PaddleOCR是基于PaddlePaddle深度學習框架的開源OCR工具,但它提供了推理模型/訓練模型/預訓練模型,用戶可以直接使用推理模型進行識別,也可以對訓練模型或預訓練模型進行再訓練。支持約80種語言的文本識別,并具有較高的準確性和速度。
1. paddleocr快速使用
1.1 使用默認模型路徑
import cv2 from paddleocr import PaddleOCR # 使用默認模型路徑 paddleocr = PaddleOCR(lang='ch', show_log=False) img = cv2.imread('ch2.jpg') # 打開需要識別的圖片 result = paddleocr.ocr(img) for i in range(len(result[0])): print(result[0][i][1][0]) # 輸出識別結果
1.2 設定模型路徑
import cv2 from paddleocr import PaddleOCR # 設定模型路徑 paddleocr = PaddleOCR(lang='ch', show_log=False, det_model_dir='.paddleocr\\whl\\det\\ch\\ch_PP-OCRv4_det_infer', rec_model_dir='.paddleocr\\whl\\rec\\ch\\ch_PP-OCRv4_rec_infer') # 推理模型路徑 img = cv2.imread('ch2.jpg') # 打開需要識別的圖片 result = paddleocr.ocr(img) for i in range(len(result[0])): print(result[0][i][1][0]) # 輸出識別結果
2. PaddleOCR其他參數(shù)介紹
PaddleOCR模型推理參數(shù)解釋
在使用PaddleOCR進行模型推理時,可以自定義修改參數(shù),來修改模型、數(shù)據(jù)、預處理、后處理等內容,詳細的參數(shù)解釋如下所示。
全局信息
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
image_dir | str | 無,必須顯式指定 | 圖像或者文件夾路徑 |
page_num | int | 0 | 當輸入類型為pdf文件時有效,指定預測前面page_num頁,默認預測所有頁 |
vis_font_path | str | “./doc/fonts/simfang.ttf” | 用于可視化的字體路徑 |
drop_score | float | 0.5 | 識別得分小于該值的結果會被丟棄,不會作為返回結果 |
use_pdserving | bool | False | 是否使用Paddle Serving進行預測 |
warmup | bool | False | 是否開啟warmup,在統(tǒng)計預測耗時的時候,可以使用這種方法 |
draw_img_save_dir | str | “./inference_results” | 系統(tǒng)串聯(lián)預測OCR結果的保存文件夾 |
save_crop_res | bool | False | 是否保存OCR的識別文本圖像 |
crop_res_save_dir | str | “./output” | 保存OCR識別出來的文本圖像路徑 |
use_mp | bool | False | 是否開啟多進程預測 |
total_process_num | int | 6 | 開啟的進程數(shù),use_mp 為True 時生效 |
process_id | int | 0 | 當前進程的id號,無需自己修改 |
benchmark | bool | False | 是否開啟benchmark,對預測速度、顯存占用等進行統(tǒng)計 |
save_log_path | str | “./log_output/” | 開啟benchmark 時,日志結果的保存文件夾 |
show_log | bool | True | 是否顯示預測中的日志信息 |
use_onnx | bool | False | 是否開啟onnx預測 |
預測引擎相關
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
use_gpu | bool | True | 是否使用GPU進行預測 |
ir_optim | bool | True | 是否對計算圖進行分析與優(yōu)化,開啟后可以加速預測過程 |
use_tensorrt | bool | False | 是否開啟tensorrt |
min_subgraph_size | int | 15 | tensorrt中最小子圖size,當子圖的size大于該值時,才會嘗試對該子圖使用trt engine計算 |
precision | str | fp32 | 預測的精度,支持fp32 , fp16 , int8 3種輸入 |
enable_mkldnn | bool | True | 是否開啟mkldnn |
cpu_threads | int | 10 | 開啟mkldnn時,cpu預測的線程數(shù) |
文本檢測模型相關
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
det_algorithm | str | “DB” | 文本檢測算法名稱,目前支持DB , EAST , SAST , PSE , DB++ , FCE |
det_model_dir | str | xx | 檢測inference模型路徑 |
det_limit_side_len | int | 960 | 檢測的圖像邊長限制 |
det_limit_type | str | “max” | 檢測的邊長限制類型,目前支持min 和max ,min 表示保證圖像最短邊不小于det_limit_side_len ,max 表示保證圖像最長邊不大于det_limit_side_len |
其中,DB算法相關參數(shù)如下
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
det_db_thresh | float | 0.3 | DB輸出的概率圖中,得分大于該閾值的像素點才會被認為是文字像素點 |
det_db_box_thresh | float | 0.6 | 檢測結果邊框內,所有像素點的平均得分大于該閾值時,該結果會被認為是文字區(qū)域 |
det_db_unclip_ratio | float | 1.5 | Vatti clipping 算法的擴張系數(shù),使用該方法對文字區(qū)域進行擴張 |
max_batch_size | int | 10 | 預測的batch size |
use_dilation | bool | False | 是否對分割結果進行膨脹以獲取更優(yōu)檢測效果 |
det_db_score_mode | str | “fast” | DB的檢測結果得分計算方法,支持fast 和slow ,fast 是根據(jù)polygon的外接矩形邊框內的所有像素計算平均得分,slow 是根據(jù)原始polygon內的所有像素計算平均得分,計算速度相對較慢一些,但是更加準確一些。 |
EAST算法相關參數(shù)如下
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
det_east_score_thresh | float | 0.8 | EAST后處理中score map的閾值 |
det_east_cover_thresh | float | 0.1 | EAST后處理中文本框的平均得分閾值 |
det_east_nms_thresh | float | 0.2 | EAST后處理中nms的閾值 |
SAST算法相關參數(shù)如下
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
det_sast_score_thresh | float | 0.5 | SAST后處理中的得分閾值 |
det_sast_nms_thresh | float | 0.5 | SAST后處理中nms的閾值 |
det_box_type | str | quad | 是否多邊形檢測,彎曲文本場景(如Total-Text)設置為’poly’ |
PSE算法相關參數(shù)如下
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
det_pse_thresh | float | 0.0 | 對輸出圖做二值化的閾值 |
det_pse_box_thresh | float | 0.85 | 對box進行過濾的閾值,低于此閾值的丟棄 |
det_pse_min_area | float | 16 | box的最小面積,低于此閾值的丟棄 |
det_box_type | str | “quad” | 返回框的類型,quad:四點坐標,poly: 彎曲文本的所有點坐標 |
det_pse_scale | int | 1 | 輸入圖像相對于進后處理的圖的比例,如640*640 的圖像,網(wǎng)絡輸出為160*160 ,scale為2的情況下,進后處理的圖片shape為320*320 。這個值調大可以加快后處理速度,但是會帶來精度的下降 |
文本識別模型相關
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
rec_algorithm | str | “CRNN” | 文本識別算法名稱,目前支持CRNN , SRN , RARE , NETR , SAR , ViTSTR , ABINet , VisionLAN , SPIN , RobustScanner , SVTR , SVTR_LCNet |
rec_model_dir | str | 無,如果使用識別模型,該項是必填項 | 識別inference模型路徑 |
rec_image_shape | str | “3,48,320” | 識別時的圖像尺寸 |
rec_batch_num | int | 6 | 識別的batch size |
max_text_length | int | 25 | 識別結果最大長度,在SRN 中有效 |
rec_char_dict_path | str | “./ppocr/utils/ppocr_keys_v1.txt” | 識別的字符字典文件 |
use_space_char | bool | True | 是否包含空格,如果為True ,則會在最后字符字典中補充空格 字符 |
端到端文本檢測與識別模型相關
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
e2e_algorithm | str | “PGNet” | 端到端算法名稱,目前支持PGNet |
e2e_model_dir | str | 無,如果使用端到端模型,該項是必填項 | 端到端模型inference模型路徑 |
e2e_limit_side_len | int | 768 | 端到端的輸入圖像邊長限制 |
e2e_limit_type | str | “max” | 端到端的邊長限制類型,目前支持min , max ,min 表示保證圖像最短邊不小于e2e_limit_side_len ,max 表示保證圖像最長邊不大于e2e_limit_side_len |
e2e_pgnet_score_thresh | float | 0.5 | 端到端得分閾值,小于該閾值的結果會被丟棄 |
e2e_char_dict_path | str | “./ppocr/utils/ic15_dict.txt” | 識別的字典文件路徑 |
e2e_pgnet_valid_set | str | “totaltext” | 驗證集名稱,目前支持totaltext , partvgg ,不同數(shù)據(jù)集對應的后處理方式不同,與訓練過程保持一致即可 |
e2e_pgnet_mode | str | “fast” | PGNet的檢測結果得分計算方法,支持fast 和slow ,fast 是根據(jù)polygon的外接矩形邊框內的所有像素計算平均得分,slow 是根據(jù)原始polygon內的所有像素計算平均得分,計算速度相對較慢一些,但是更加準確一些。 |
方向分類器模型相關
參數(shù)名稱 | 類型 | 默認值 | 含義 |
---|---|---|---|
use_angle_cls | bool | False | 是否使用方向分類器 |
cls_model_dir | str | 無,如果需要使用,則必須顯式指定路徑 | 方向分類器inference模型路徑 |
cls_image_shape | str | “3,48,192” | 預測尺度 |
label_list | list | [‘0’, ‘180’] | class id對應的角度值 |
cls_batch_num | int | 6 | 方向分類器預測的batch size |
cls_thresh | float | 0.9 | 預測閾值,模型預測結果為180度,且得分大于該閾值時,認為最終預測結果為180度,需要翻轉 |
其它相關推薦:
PaddleOCR模型訓練及使用詳細教程
到此這篇關于Python paddleocr快速使用及參數(shù)詳解的文章就介紹到這了,更多相關Python paddleocr使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python 元組拆包示例(Tuple Unpacking)
今天小編就為大家分享一篇Python 元組拆包實例(Tuple Unpacking),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12numpy求矩陣的特征值與特征向量(np.linalg.eig函數(shù)用法)
這篇文章主要介紹了numpy求矩陣的特征值與特征向量(np.linalg.eig函數(shù)用法),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02