Python?paddleocr快速使用及參數(shù)配置詳解
其它相關(guān)推薦:
PaddleOCR模型訓(xùn)練及使用詳細(xì)教程

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

