From 738ff190dd2ae3f39ee61c213e9d5856f4ddb89a Mon Sep 17 00:00:00 2001 From: andyjpaddle Date: Fri, 29 Apr 2022 03:38:59 +0000 Subject: [PATCH] update doc for whl and python cpp infer quick --- deploy/cpp_infer/readme.md | 12 +++-- deploy/cpp_infer/readme_ch.md | 12 +++-- doc/doc_ch/inference_ppocr.md | 26 +++++----- doc/doc_ch/quickstart.md | 35 +++++-------- doc/doc_ch/whl.md | 29 +++++------ doc/doc_en/inference_ppocr_en.md | 26 +++++----- doc/doc_en/quickstart_en.md | 42 +++++++--------- doc/doc_en/whl_en.md | 34 ++++++------- doc/imgs_results/system_res_00018069_v3.jpg | Bin 0 -> 129222 bytes paddleocr.py | 53 ++++++++++++++++---- 10 files changed, 145 insertions(+), 124 deletions(-) create mode 100644 doc/imgs_results/system_res_00018069_v3.jpg diff --git a/deploy/cpp_infer/readme.md b/deploy/cpp_infer/readme.md index c62fe32b..41887906 100644 --- a/deploy/cpp_infer/readme.md +++ b/deploy/cpp_infer/readme.md @@ -220,6 +220,7 @@ Specifically, --det=true \ --rec=true \ --cls=true \ + --rec_img_h=48\ ``` ##### 2. det+rec: @@ -231,6 +232,7 @@ Specifically, --det=true \ --rec=true \ --cls=false \ + --rec_img_h=48\ ``` ##### 3. det @@ -250,6 +252,7 @@ Specifically, --det=false \ --rec=true \ --cls=true \ + --rec_img_h=48\ ``` ##### 5. rec @@ -260,6 +263,7 @@ Specifically, --det=false \ --rec=true \ --cls=false \ + --rec_img_h=48\ ``` ##### 6. cls @@ -335,10 +339,10 @@ The detection results will be shown on the screen, which is as follows. ```bash predict img: ../../doc/imgs/12.jpg ../../doc/imgs/12.jpg -0 det boxes: [[79,553],[399,541],[400,573],[80,585]] rec text: 打浦路252935号 rec score: 0.933757 -1 det boxes: [[31,509],[510,488],[511,529],[33,549]] rec text: 绿洲仕格维花园公寓 rec score: 0.951745 -2 det boxes: [[181,456],[395,448],[396,480],[182,488]] rec text: 打浦路15号 rec score: 0.91956 -3 det boxes: [[43,413],[480,391],[481,428],[45,450]] rec text: 上海斯格威铂尔多大酒店 rec score: 0.915914 +0 det boxes: [[74,553],[427,542],[428,571],[75,582]] rec text: 打浦路252935号 rec score: 0.947724 +1 det boxes: [[23,507],[513,488],[515,529],[24,548]] rec text: 绿洲仕格维花园公寓 rec score: 0.993728 +2 det boxes: [[187,456],[399,448],[400,480],[188,488]] rec text: 打浦路15号 rec score: 0.964994 +3 det boxes: [[42,413],[483,391],[484,428],[43,450]] rec text: 上海斯格威铂尔大酒店 rec score: 0.980086 The detection visualized image saved in ./output//12.jpg ``` diff --git a/deploy/cpp_infer/readme_ch.md b/deploy/cpp_infer/readme_ch.md index 2a81e15a..cf14a676 100644 --- a/deploy/cpp_infer/readme_ch.md +++ b/deploy/cpp_infer/readme_ch.md @@ -229,6 +229,7 @@ CUDNN_LIB_DIR=/your_cudnn_lib_dir --det=true \ --rec=true \ --cls=true \ + --rec_img_h=48\ ``` ##### 2. 检测+识别: @@ -240,6 +241,7 @@ CUDNN_LIB_DIR=/your_cudnn_lib_dir --det=true \ --rec=true \ --cls=false \ + --rec_img_h=48\ ``` ##### 3. 检测: @@ -259,6 +261,7 @@ CUDNN_LIB_DIR=/your_cudnn_lib_dir --det=false \ --rec=true \ --cls=true \ + --rec_img_h=48\ ``` ##### 5. 识别: @@ -269,6 +272,7 @@ CUDNN_LIB_DIR=/your_cudnn_lib_dir --det=false \ --rec=true \ --cls=false \ + --rec_img_h=48\ ``` ##### 6. 分类: @@ -343,10 +347,10 @@ CUDNN_LIB_DIR=/your_cudnn_lib_dir ```bash predict img: ../../doc/imgs/12.jpg ../../doc/imgs/12.jpg -0 det boxes: [[79,553],[399,541],[400,573],[80,585]] rec text: 打浦路252935号 rec score: 0.933757 -1 det boxes: [[31,509],[510,488],[511,529],[33,549]] rec text: 绿洲仕格维花园公寓 rec score: 0.951745 -2 det boxes: [[181,456],[395,448],[396,480],[182,488]] rec text: 打浦路15号 rec score: 0.91956 -3 det boxes: [[43,413],[480,391],[481,428],[45,450]] rec text: 上海斯格威铂尔多大酒店 rec score: 0.915914 +0 det boxes: [[74,553],[427,542],[428,571],[75,582]] rec text: 打浦路252935号 rec score: 0.947724 +1 det boxes: [[23,507],[513,488],[515,529],[24,548]] rec text: 绿洲仕格维花园公寓 rec score: 0.993728 +2 det boxes: [[187,456],[399,448],[400,480],[188,488]] rec text: 打浦路15号 rec score: 0.964994 +3 det boxes: [[42,413],[483,391],[484,428],[43,450]] rec text: 上海斯格威铂尔大酒店 rec score: 0.980086 The detection visualized image saved in ./output//12.jpg ``` diff --git a/doc/doc_ch/inference_ppocr.md b/doc/doc_ch/inference_ppocr.md index 5fb3811e..23e9f3b6 100644 --- a/doc/doc_ch/inference_ppocr.md +++ b/doc/doc_ch/inference_ppocr.md @@ -19,9 +19,9 @@ ``` # 下载超轻量中文检测模型: -wget https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_det_infer.tar -tar xf ch_PP-OCRv2_det_infer.tar -python3 tools/infer/predict_det.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv2_det_infer/" +wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar +tar xf ch_PP-OCRv3_det_infer.tar +python3 tools/infer/predict_det.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" ``` @@ -40,13 +40,13 @@ python3 tools/infer/predict_det.py --image_dir="./doc/imgs/00018069.jpg" --det_m 如果输入图片的分辨率比较大,而且想使用更大的分辨率预测,可以设置det_limit_side_len 为想要的值,比如1216: ``` -python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --det_limit_type=max --det_limit_side_len=1216 +python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" --det_limit_type=max --det_limit_side_len=1216 ``` 如果想使用CPU进行预测,执行命令如下 ``` -python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --use_gpu=False +python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" --use_gpu=False ``` @@ -63,9 +63,9 @@ python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_di ``` # 下载超轻量中文识别模型: -wget https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_infer.tar -tar xf ch_PP-OCRv2_rec_infer.tar -python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/ch/word_4.jpg" --rec_model_dir="./ch_PP-OCRv2_rec_infer/" +wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar +tar xf ch_PP-OCRv3_rec_infer.tar +python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/ch/word_4.jpg" --rec_model_dir="./ch_PP-OCRv3_rec_infer/" --rec_image_shape=3,48,320 ``` ![](../imgs_words/ch/word_4.jpg) @@ -73,7 +73,7 @@ python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/ch/word_4.jpg" 执行命令后,上面图像的预测结果(识别的文本和得分)会打印到屏幕上,示例如下: ```bash -Predicts of ./doc/imgs_words/ch/word_4.jpg:('实力活力', 0.98458153) +Predicts of ./doc/imgs_words/ch/word_4.jpg:('实力活力', 0.9956803321838379) ``` @@ -123,13 +123,13 @@ Predicts of ./doc/imgs_words/ch/word_4.jpg:['0', 0.9999982] ```shell # 使用方向分类器 -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --cls_model_dir="./inference/cls/" --rec_model_dir="./inference/ch_PP-OCRv2_rec_infer/" --use_angle_cls=true +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" --cls_model_dir="./cls/" --rec_model_dir="./ch_PP-OCRv3_rec_infer/" --use_angle_cls=true --rec_image_shape=3,48,320 # 不使用方向分类器 -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --rec_model_dir="./inference/ch_PP-OCRv2_rec_infer/" --use_angle_cls=false +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" --rec_model_dir="./ch_PP-OCRv3_rec_infer/" --use_angle_cls=false --rec_image_shape=3,48,320 # 使用多进程 -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --rec_model_dir="./inference/ch_PP-OCRv2_rec_infer/" --use_angle_cls=false --use_mp=True --total_process_num=6 +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" --rec_model_dir="./ch_PP-OCRv3_rec_infer/" --use_angle_cls=false --use_mp=True --total_process_num=6 --rec_image_shape=3,48,320 ``` 执行命令后,识别结果图像如下: -![](../imgs_results/system_res_00018069.jpg) +![](../imgs_results/system_res_00018069_v3.jpg) diff --git a/doc/doc_ch/quickstart.md b/doc/doc_ch/quickstart.md index ce0f6b15..c41186a2 100644 --- a/doc/doc_ch/quickstart.md +++ b/doc/doc_ch/quickstart.md @@ -65,15 +65,13 @@ cd /path/to/ppocr_img * 检测+方向分类器+识别全流程:`--use_angle_cls true`设置使用方向分类器识别180度旋转文字,`--use_gpu false`设置不使用GPU ```bash - paddleocr --image_dir ./imgs/11.jpg --use_angle_cls true --use_gpu false + paddleocr --image_dir ./imgs/11.jpg --use_angle_cls true --use_gpu false --rec_image_shape 3,48,320 ``` 结果是一个list,每个item包含了文本框,文字和识别置信度 ```bash - [[[24.0, 36.0], [304.0, 34.0], [304.0, 72.0], [24.0, 74.0]], ['纯臻营养护发素', 0.964739]] - [[[24.0, 80.0], [172.0, 80.0], [172.0, 104.0], [24.0, 104.0]], ['产品信息/参数', 0.98069626]] - [[[24.0, 109.0], [333.0, 109.0], [333.0, 136.0], [24.0, 136.0]], ['(45元/每公斤,100公斤起订)', 0.9676722]] + [[[28.0, 37.0], [302.0, 39.0], [302.0, 72.0], [27.0, 70.0]], ('纯臻营养护发素', 0.9658738374710083)] ...... ``` @@ -86,35 +84,34 @@ cd /path/to/ppocr_img 结果是一个list,每个item只包含文本框 ```bash - [[26.0, 457.0], [137.0, 457.0], [137.0, 477.0], [26.0, 477.0]] - [[25.0, 425.0], [372.0, 425.0], [372.0, 448.0], [25.0, 448.0]] - [[128.0, 397.0], [273.0, 397.0], [273.0, 414.0], [128.0, 414.0]] + [[27.0, 459.0], [136.0, 459.0], [136.0, 479.0], [27.0, 479.0]] + [[28.0, 429.0], [372.0, 429.0], [372.0, 445.0], [28.0, 445.0]] ...... ``` - 单独使用识别:设置`--det`为`false` ```bash - paddleocr --image_dir ./imgs_words/ch/word_1.jpg --det false + paddleocr --image_dir ./imgs_words/ch/word_1.jpg --det false --rec_image_shape 3,48,320 ``` 结果是一个list,每个item只包含识别结果和识别置信度 ```bash - ['韩国小馆', 0.9907421] + ['韩国小馆', 0.994467] ``` -如需使用2.0模型,请指定参数`--version PP-OCR`,paddleocr默认使用2.1模型(`--versioin PP-OCRv2`)。更多whl包使用可参考[whl包文档](./whl.md) +如需使用2.0模型,请指定参数`--version PP-OCR`,paddleocr默认使用PP-OCRv3模型(`--versioin PP-OCRv3`)。更多whl包使用可参考[whl包文档](./whl.md) #### 2.1.2 多语言模型 -Paddleocr目前支持80个语种,可以通过修改`--lang`参数进行切换,对于英文模型,指定`--lang=en`。 +Paddleocr目前支持80个语种,可以通过修改`--lang`参数进行切换,对于英文模型,指定`--lang=en`, PP-OCRv3目前只支持中文和英文模型,其他多语言模型会陆续更新。 ``` bash -paddleocr --image_dir ./imgs_en/254.jpg --lang=en +paddleocr --image_dir ./imgs_en/254.jpg --lang=en --rec_image_shape 3,48,320 ```
@@ -125,13 +122,9 @@ paddleocr --image_dir ./imgs_en/254.jpg --lang=en 结果是一个list,每个item包含了文本框,文字和识别置信度 ```text -[('PHO CAPITAL', 0.95723116), [[66.0, 50.0], [327.0, 44.0], [327.0, 76.0], [67.0, 82.0]]] -[('107 State Street', 0.96311164), [[72.0, 90.0], [451.0, 84.0], [452.0, 116.0], [73.0, 121.0]]] -[('Montpelier Vermont', 0.97389287), [[69.0, 132.0], [501.0, 126.0], [501.0, 158.0], [70.0, 164.0]]] -[('8022256183', 0.99810505), [[71.0, 175.0], [363.0, 170.0], [364.0, 202.0], [72.0, 207.0]]] -[('REG 07-24-201706:59 PM', 0.93537045), [[73.0, 299.0], [653.0, 281.0], [654.0, 318.0], [74.0, 336.0]]] -[('045555', 0.99346405), [[509.0, 331.0], [651.0, 325.0], [652.0, 356.0], [511.0, 362.0]]] -[('CT1', 0.9988654), [[535.0, 367.0], [654.0, 367.0], [654.0, 406.0], [535.0, 406.0]]] +[[[67.0, 51.0], [327.0, 46.0], [327.0, 74.0], [68.0, 80.0]], ('PHOCAPITAL', 0.9944712519645691)] +[[[72.0, 92.0], [453.0, 84.0], [454.0, 114.0], [73.0, 122.0]], ('107 State Street', 0.9744491577148438)] +[[[69.0, 135.0], [501.0, 125.0], [501.0, 156.0], [70.0, 165.0]], ('Montpelier Vermont', 0.9357033967971802)] ...... ``` @@ -181,9 +174,7 @@ im_show.save('result.jpg') 结果是一个list,每个item包含了文本框,文字和识别置信度 ```bash -[[[24.0, 36.0], [304.0, 34.0], [304.0, 72.0], [24.0, 74.0]], ['纯臻营养护发素', 0.964739]] -[[[24.0, 80.0], [172.0, 80.0], [172.0, 104.0], [24.0, 104.0]], ['产品信息/参数', 0.98069626]] -[[[24.0, 109.0], [333.0, 109.0], [333.0, 136.0], [24.0, 136.0]], ['(45元/每公斤,100公斤起订)', 0.9676722]] +[[[28.0, 37.0], [302.0, 39.0], [302.0, 72.0], [27.0, 70.0]], ('纯臻营养护发素', 0.9658738374710083)] ...... ``` diff --git a/doc/doc_ch/whl.md b/doc/doc_ch/whl.md index b2eb4ba1..ba571186 100644 --- a/doc/doc_ch/whl.md +++ b/doc/doc_ch/whl.md @@ -202,43 +202,39 @@ paddleocr -h * 检测+方向分类器+识别全流程 ```bash -paddleocr --image_dir PaddleOCR/doc/imgs/11.jpg --use_angle_cls true +paddleocr --image_dir PaddleOCR/doc/imgs/11.jpg --use_angle_cls true --rec_image_shape 3,48,320 ``` 结果是一个list,每个item包含了文本框,文字和识别置信度 ```bash -[[[24.0, 36.0], [304.0, 34.0], [304.0, 72.0], [24.0, 74.0]], ['纯臻营养护发素', 0.964739]] -[[[24.0, 80.0], [172.0, 80.0], [172.0, 104.0], [24.0, 104.0]], ['产品信息/参数', 0.98069626]] -[[[24.0, 109.0], [333.0, 109.0], [333.0, 136.0], [24.0, 136.0]], ['(45元/每公斤,100公斤起订)', 0.9676722]]µ +[[[28.0, 37.0], [302.0, 39.0], [302.0, 72.0], [27.0, 70.0]], ('纯臻营养护发素', 0.9658738374710083)] ...... ``` * 检测+识别 ```bash -paddleocr --image_dir PaddleOCR/doc/imgs/11.jpg +paddleocr --image_dir PaddleOCR/doc/imgs/11.jpg --rec_image_shape 3,48,320 ``` 结果是一个list,每个item包含了文本框,文字和识别置信度 ```bash -[[[24.0, 36.0], [304.0, 34.0], [304.0, 72.0], [24.0, 74.0]], ['纯臻营养护发素', 0.964739]] -[[[24.0, 80.0], [172.0, 80.0], [172.0, 104.0], [24.0, 104.0]], ['产品信息/参数', 0.98069626]] -[[[24.0, 109.0], [333.0, 109.0], [333.0, 136.0], [24.0, 136.0]], ['(45元/每公斤,100公斤起订)', 0.9676722]] +[[[28.0, 37.0], [302.0, 39.0], [302.0, 72.0], [27.0, 70.0]], ('纯臻营养护发素', 0.9658738374710083)] ...... ``` * 方向分类器+识别 ```bash -paddleocr --image_dir PaddleOCR/doc/imgs_words/ch/word_1.jpg --use_angle_cls true --det false +paddleocr --image_dir PaddleOCR/doc/imgs_words/ch/word_1.jpg --use_angle_cls true --det false --rec_image_shape 3,48,320 ``` 结果是一个list,每个item只包含识别结果和识别置信度 ```bash -['韩国小馆', 0.9907421] +['韩国小馆', 0.994467] ``` * 单独执行检测 @@ -250,22 +246,21 @@ paddleocr --image_dir PaddleOCR/doc/imgs/11.jpg --rec false 结果是一个list,每个item只包含文本框 ```bash -[[26.0, 457.0], [137.0, 457.0], [137.0, 477.0], [26.0, 477.0]] -[[25.0, 425.0], [372.0, 425.0], [372.0, 448.0], [25.0, 448.0]] -[[128.0, 397.0], [273.0, 397.0], [273.0, 414.0], [128.0, 414.0]] +[[27.0, 459.0], [136.0, 459.0], [136.0, 479.0], [27.0, 479.0]] +[[28.0, 429.0], [372.0, 429.0], [372.0, 445.0], [28.0, 445.0]] ...... ``` * 单独执行识别 ```bash -paddleocr --image_dir PaddleOCR/doc/imgs_words/ch/word_1.jpg --det false +paddleocr --image_dir PaddleOCR/doc/imgs_words/ch/word_1.jpg --det false --rec_image_shape 3,48,320 ``` 结果是一个list,每个item只包含识别结果和识别置信度 ```bash -['韩国小馆', 0.9907421] +['韩国小馆', 0.994467] ``` * 单独执行方向分类器 @@ -419,5 +414,5 @@ im_show.save('result.jpg') | cls | 前向时是否启动分类 (命令行模式下使用use_angle_cls控制前向是否启动分类) | FALSE | | show_log | 是否打印logger信息 | FALSE | | type | 执行ocr或者表格结构化, 值可选['ocr','structure'] | ocr | -| ocr_version | OCR模型版本,可选PP-OCRv2, PP-OCR。PP-OCRv2 目前仅支持中文的检测和识别模型,PP-OCR支持中文的检测,识别,多语种识别,方向分类器等模型 | PP-OCRv2 | -| structure_version | 表格结构化模型版本,可选 STRUCTURE。STRUCTURE支持表格结构化模型 | STRUCTURE | +| ocr_version | OCR模型版本,可选PP-OCRv3, PP-OCRv2, PP-OCR。PP-OCRv3 目前仅支持中、英文的检测和识别模型,方向分类器模型;PP-OCRv2 目前仅支持中文的检测和识别模型;PP-OCR支持中文的检测,识别,多语种识别,方向分类器等模型 | PP-OCRv3 | +| structure_version | 表格结构化模型版本,可选 PP-STRUCTURE。PP-STRUCTURE支持表格结构化模型 | PP-STRUCTURE | diff --git a/doc/doc_en/inference_ppocr_en.md b/doc/doc_en/inference_ppocr_en.md index 8dc30d31..bcbe3206 100755 --- a/doc/doc_en/inference_ppocr_en.md +++ b/doc/doc_en/inference_ppocr_en.md @@ -20,10 +20,10 @@ The default configuration is based on the inference setting of the DB text detec ``` # download DB text detection inference model -wget https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_det_infer.tar -tar xf ch_PP-OCRv2_det_infer.tar +wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar +tar xf ch_PP-OCRv3_det_infer.tar # run inference -python3 tools/infer/predict_det.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv2_det_infer.tar/" +python3 tools/infer/predict_det.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" ``` The visual text detection results are saved to the ./inference_results folder by default, and the name of the result file is prefixed with 'det_res'. Examples of results are as follows: @@ -40,12 +40,12 @@ Set as `limit_type='min', det_limit_side_len=960`, it means that the shortest si If the resolution of the input picture is relatively large and you want to use a larger resolution prediction, you can set det_limit_side_len to the desired value, such as 1216: ``` -python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --det_limit_type=max --det_limit_side_len=1216 +python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" --det_limit_type=max --det_limit_side_len=1216 ``` If you want to use the CPU for prediction, execute the command as follows ``` -python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --use_gpu=False +python3 tools/infer/predict_det.py --image_dir="./doc/imgs/1.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" --use_gpu=False ``` @@ -60,10 +60,10 @@ For lightweight Chinese recognition model inference, you can execute the followi ``` # download CRNN text recognition inference model -wget https://paddleocr.bj.bcebos.com/PP-OCRv2/chinese/ch_PP-OCRv2_rec_infer.tar -tar xf ch_PP-OCRv2_rec_infer.tar +wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar +tar xf ch_PP-OCRv3_rec_infer.tar # run inference -python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/ch/word_4.jpg" --rec_model_dir="./ch_PP-OCRv2_rec_infer/" +python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words_en/word_10.png" --rec_model_dir="./ch_PP-OCRv3_rec_infer/" --rec_image_shape=3,48,320 ``` ![](../imgs_words_en/word_10.png) @@ -71,7 +71,7 @@ python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/ch/word_4.jpg" After executing the command, the prediction results (recognized text and score) of the above image will be printed on the screen. ```bash -Predicts of ./doc/imgs_words_en/word_10.png:('PAIN', 0.9897658) +Predicts of ./doc/imgs_words_en/word_10.png:('PAIN', 0.988671) ``` @@ -121,16 +121,16 @@ When performing prediction, you need to specify the path of a single image or a ```shell # use direction classifier -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --cls_model_dir="./inference/cls/" --rec_model_dir="./inference/ch_PP-OCRv2_rec_infer/" --use_angle_cls=true +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv3_det_infer/" --cls_model_dir="./cls/" --rec_model_dir="./ch_PP-OCRv2_rec_infer/" --use_angle_cls=true --rec_image_shape=3,48,320 # not use use direction classifier -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --rec_model_dir="./inference/ch_PP-OCRv2_rec_infer/" --use_angle_cls=false +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv2_det_infer/" --rec_model_dir="./ch_PP-OCRv2_rec_infer/" --use_angle_cls=false --rec_image_shape=3,48,320 # use multi-process -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./inference/ch_PP-OCRv2_det_infer/" --rec_model_dir="./inference/ch_PP-OCRv2_rec_infer/" --use_angle_cls=false --use_mp=True --total_process_num=6 +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./ch_PP-OCRv2_det_infer/" --rec_model_dir="./ch_PP-OCRv2_rec_infer/" --use_angle_cls=false --use_mp=True --total_process_num=6 --rec_image_shape=3,48,320 ``` After executing the command, the recognition result image is as follows: -![](../imgs_results/system_res_00018069.jpg) +![](../imgs_results/system_res_00018069_v3.jpg) diff --git a/doc/doc_en/quickstart_en.md b/doc/doc_en/quickstart_en.md index 8a9c3806..0a420dd4 100644 --- a/doc/doc_en/quickstart_en.md +++ b/doc/doc_en/quickstart_en.md @@ -80,15 +80,15 @@ If you do not use the provided test image, you can replace the following `--imag * Detection, direction classification and recognition: set the parameter`--use_gpu false` to disable the gpu device ```bash - paddleocr --image_dir ./imgs_en/img_12.jpg --use_angle_cls true --lang en --use_gpu false + paddleocr --image_dir ./imgs_en/img_12.jpg --use_angle_cls true --lang en --use_gpu false --rec_image_shape 3,48,320 ``` Output will be a list, each item contains bounding box, text and recognition confidence ```bash - [[[442.0, 173.0], [1169.0, 173.0], [1169.0, 225.0], [442.0, 225.0]], ['ACKNOWLEDGEMENTS', 0.99283075]] - [[[393.0, 340.0], [1207.0, 342.0], [1207.0, 389.0], [393.0, 387.0]], ['We would like to thank all the designers and', 0.9357758]] - [[[399.0, 398.0], [1204.0, 398.0], [1204.0, 433.0], [399.0, 433.0]], ['contributors whohave been involved in the', 0.9592447]] + [[[441.0, 174.0], [1166.0, 176.0], [1165.0, 222.0], [441.0, 221.0]], ('ACKNOWLEDGEMENTS', 0.9971134662628174)] + [[[403.0, 346.0], [1204.0, 348.0], [1204.0, 384.0], [402.0, 383.0]], ('We would like to thank all the designers and', 0.9761400818824768)] + [[[403.0, 396.0], [1204.0, 398.0], [1204.0, 434.0], [402.0, 433.0]], ('contributors who have been involved in the', 0.9791957139968872)] ...... ``` @@ -101,33 +101,33 @@ If you do not use the provided test image, you can replace the following `--imag Output will be a list, each item only contains bounding box ```bash - [[756.0, 812.0], [805.0, 812.0], [805.0, 830.0], [756.0, 830.0]] - [[820.0, 803.0], [1085.0, 801.0], [1085.0, 836.0], [820.0, 838.0]] - [[393.0, 801.0], [715.0, 805.0], [715.0, 839.0], [393.0, 836.0]] + [[397.0, 802.0], [1092.0, 802.0], [1092.0, 841.0], [397.0, 841.0]] + [[397.0, 750.0], [1211.0, 750.0], [1211.0, 789.0], [397.0, 789.0]] + [[397.0, 702.0], [1209.0, 698.0], [1209.0, 734.0], [397.0, 738.0]] ...... ``` * Only recognition: set `--det` to `false` ```bash - paddleocr --image_dir ./imgs_words_en/word_10.png --det false --lang en + paddleocr --image_dir ./imgs_words_en/word_10.png --det false --lang en --rec_image_shape 3,48,320 ``` Output will be a list, each item contains text and recognition confidence ```bash - ['PAIN', 0.990372] + ['PAIN', 0.9934559464454651] ``` -If you need to use the 2.0 model, please specify the parameter `--version PP-OCR`, paddleocr uses the 2.1 model by default(`--versioin PP-OCRv2`). More whl package usage can be found in [whl package](./whl_en.md) +If you need to use the 2.0 model, please specify the parameter `--version PP-OCR`, paddleocr uses the PP-OCRv3 model by default(`--versioin PP-OCRv3`). More whl package usage can be found in [whl package](./whl_en.md) #### 2.1.2 Multi-language Model -Paddleocr currently supports 80 languages, which can be switched by modifying the `--lang` parameter. +Paddleocr currently supports 80 languages, which can be switched by modifying the `--lang` parameter. PP-OCRv3 currently only supports Chinese and English models, and other multilingual models will be updated one after another. ``` bash -paddleocr --image_dir ./doc/imgs_en/254.jpg --lang=en +paddleocr --image_dir ./doc/imgs_en/254.jpg --lang=en --rec_image_shape 3,48,320 ```
@@ -137,13 +137,9 @@ paddleocr --image_dir ./doc/imgs_en/254.jpg --lang=en The result is a list, each item contains a text box, text and recognition confidence ```text -[('PHO CAPITAL', 0.95723116), [[66.0, 50.0], [327.0, 44.0], [327.0, 76.0], [67.0, 82.0]]] -[('107 State Street', 0.96311164), [[72.0, 90.0], [451.0, 84.0], [452.0, 116.0], [73.0, 121.0]]] -[('Montpelier Vermont', 0.97389287), [[69.0, 132.0], [501.0, 126.0], [501.0, 158.0], [70.0, 164.0]]] -[('8022256183', 0.99810505), [[71.0, 175.0], [363.0, 170.0], [364.0, 202.0], [72.0, 207.0]]] -[('REG 07-24-201706:59 PM', 0.93537045), [[73.0, 299.0], [653.0, 281.0], [654.0, 318.0], [74.0, 336.0]]] -[('045555', 0.99346405), [[509.0, 331.0], [651.0, 325.0], [652.0, 356.0], [511.0, 362.0]]] -[('CT1', 0.9988654), [[535.0, 367.0], [654.0, 367.0], [654.0, 406.0], [535.0, 406.0]]] +[[[67.0, 51.0], [327.0, 46.0], [327.0, 74.0], [68.0, 80.0]], ('PHOCAPITAL', 0.9944712519645691)] +[[[72.0, 92.0], [453.0, 84.0], [454.0, 114.0], [73.0, 122.0]], ('107 State Street', 0.9744491577148438)] +[[[69.0, 135.0], [501.0, 125.0], [501.0, 156.0], [70.0, 165.0]], ('Montpelier Vermont', 0.9357033967971802)] ...... ``` @@ -234,10 +230,10 @@ im_show.save('result.jpg') Output will be a list, each item contains bounding box, text and recognition confidence ```bash -[[[442.0, 173.0], [1169.0, 173.0], [1169.0, 225.0], [442.0, 225.0]], ['ACKNOWLEDGEMENTS', 0.99283075]] -[[[393.0, 340.0], [1207.0, 342.0], [1207.0, 389.0], [393.0, 387.0]], ['We would like to thank all the designers and', 0.9357758]] -[[[399.0, 398.0], [1204.0, 398.0], [1204.0, 433.0], [399.0, 433.0]], ['contributors whohave been involved in the', 0.9592447]] -...... +[[[441.0, 174.0], [1166.0, 176.0], [1165.0, 222.0], [441.0, 221.0]], ('ACKNOWLEDGEMENTS', 0.9971134662628174)] + [[[403.0, 346.0], [1204.0, 348.0], [1204.0, 384.0], [402.0, 383.0]], ('We would like to thank all the designers and', 0.9761400818824768)] + [[[403.0, 396.0], [1204.0, 398.0], [1204.0, 434.0], [402.0, 433.0]], ('contributors who have been involved in the', 0.9791957139968872)] + ...... ``` Visualization of results diff --git a/doc/doc_en/whl_en.md b/doc/doc_en/whl_en.md index 35b2b179..670653f1 100644 --- a/doc/doc_en/whl_en.md +++ b/doc/doc_en/whl_en.md @@ -174,38 +174,38 @@ paddleocr -h * detection classification and recognition ```bash -paddleocr --image_dir PaddleOCR/doc/imgs_en/img_12.jpg --use_angle_cls true --lang en +paddleocr --image_dir PaddleOCR/doc/imgs_en/img_12.jpg --use_angle_cls true --lang en --rec_image_shape 3,48,320 ``` Output will be a list, each item contains bounding box, text and recognition confidence ```bash -[[[442.0, 173.0], [1169.0, 173.0], [1169.0, 225.0], [442.0, 225.0]], ['ACKNOWLEDGEMENTS', 0.99283075]] -[[[393.0, 340.0], [1207.0, 342.0], [1207.0, 389.0], [393.0, 387.0]], ['We would like to thank all the designers and', 0.9357758]] -[[[399.0, 398.0], [1204.0, 398.0], [1204.0, 433.0], [399.0, 433.0]], ['contributors whohave been involved in the', 0.9592447]] +[[[441.0, 174.0], [1166.0, 176.0], [1165.0, 222.0], [441.0, 221.0]], ('ACKNOWLEDGEMENTS', 0.9971134662628174)] +[[[403.0, 346.0], [1204.0, 348.0], [1204.0, 384.0], [402.0, 383.0]], ('We would like to thank all the designers and', 0.9761400818824768)] +[[[403.0, 396.0], [1204.0, 398.0], [1204.0, 434.0], [402.0, 433.0]], ('contributors who have been involved in the', 0.9791957139968872)] ...... ``` * detection and recognition ```bash -paddleocr --image_dir PaddleOCR/doc/imgs_en/img_12.jpg --lang en +paddleocr --image_dir PaddleOCR/doc/imgs_en/img_12.jpg --lang en --rec_image_shape 3,48,320 ``` Output will be a list, each item contains bounding box, text and recognition confidence ```bash -[[[442.0, 173.0], [1169.0, 173.0], [1169.0, 225.0], [442.0, 225.0]], ['ACKNOWLEDGEMENTS', 0.99283075]] -[[[393.0, 340.0], [1207.0, 342.0], [1207.0, 389.0], [393.0, 387.0]], ['We would like to thank all the designers and', 0.9357758]] -[[[399.0, 398.0], [1204.0, 398.0], [1204.0, 433.0], [399.0, 433.0]], ['contributors whohave been involved in the', 0.9592447]] +[[[441.0, 174.0], [1166.0, 176.0], [1165.0, 222.0], [441.0, 221.0]], ('ACKNOWLEDGEMENTS', 0.9971134662628174)] +[[[403.0, 346.0], [1204.0, 348.0], [1204.0, 384.0], [402.0, 383.0]], ('We would like to thank all the designers and', 0.9761400818824768)] +[[[403.0, 396.0], [1204.0, 398.0], [1204.0, 434.0], [402.0, 433.0]], ('contributors who have been involved in the', 0.9791957139968872)] ...... ``` * classification and recognition ```bash -paddleocr --image_dir PaddleOCR/doc/imgs_words_en/word_10.png --use_angle_cls true --det false --lang en +paddleocr --image_dir PaddleOCR/doc/imgs_words_en/word_10.png --use_angle_cls true --det false --lang en --rec_image_shape 3,48,320 ``` Output will be a list, each item contains text and recognition confidence ```bash -['PAIN', 0.990372] +['PAIN', 0.9934559464454651] ``` * only detection @@ -215,20 +215,20 @@ paddleocr --image_dir PaddleOCR/doc/imgs_en/img_12.jpg --rec false Output will be a list, each item only contains bounding box ```bash -[[756.0, 812.0], [805.0, 812.0], [805.0, 830.0], [756.0, 830.0]] -[[820.0, 803.0], [1085.0, 801.0], [1085.0, 836.0], [820.0, 838.0]] -[[393.0, 801.0], [715.0, 805.0], [715.0, 839.0], [393.0, 836.0]] +[[397.0, 802.0], [1092.0, 802.0], [1092.0, 841.0], [397.0, 841.0]] +[[397.0, 750.0], [1211.0, 750.0], [1211.0, 789.0], [397.0, 789.0]] +[[397.0, 702.0], [1209.0, 698.0], [1209.0, 734.0], [397.0, 738.0]] ...... ``` * only recognition ```bash -paddleocr --image_dir PaddleOCR/doc/imgs_words_en/word_10.png --det false --lang en +paddleocr --image_dir PaddleOCR/doc/imgs_words_en/word_10.png --det false --lang en --rec_image_shape 3,48,320 ``` Output will be a list, each item contains text and recognition confidence ```bash -['PAIN', 0.990372] +['PAIN', 0.9934559464454651] ``` * only classification @@ -366,5 +366,5 @@ im_show.save('result.jpg') | cls | Enable classification when `ppocr.ocr` func exec((Use use_angle_cls in command line mode to control whether to start classification in the forward direction) | FALSE | | show_log | Whether to print log| FALSE | | type | Perform ocr or table structuring, the value is selected in ['ocr','structure'] | ocr | -| ocr_version | OCR Model version number, the current model support list is as follows: PP-OCRv2 support Chinese detection and recognition model, PP-OCR support Chinese detection, recognition and direction classifier, multilingual recognition model | PP-OCRv2 | -| structure_version | table structure Model version number, the current model support list is as follows: STRUCTURE support english table structure model | STRUCTURE | +| ocr_version | OCR Model version number, the current model support list is as follows: PP-OCRv3 support Chinese and English detection and recognition model and direction classifier model, PP-OCRv2 support Chinese detection and recognition model, PP-OCR support Chinese detection, recognition and direction classifier, multilingual recognition model | PP-OCRv3 | +| structure_version | table structure Model version number, the current model support list is as follows: PP-STRUCTURE support english table structure model | PP-STRUCTURE | diff --git a/doc/imgs_results/system_res_00018069_v3.jpg b/doc/imgs_results/system_res_00018069_v3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..51808ca556b52239cad3602cd5602f4d5d0ab7ce GIT binary patch literal 129222 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

3LHtPs!&dnMvgkIL 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 Z^#XpOb6#61k6c3?2R4Co_Rsz~_<#S?(_{bu literal 0 HcmV?d00001 diff --git a/paddleocr.py b/paddleocr.py index cb2c34f6..41735083 100644 --- a/paddleocr.py +++ b/paddleocr.py @@ -47,16 +47,46 @@ __all__ = [ ] SUPPORT_DET_MODEL = ['DB'] -VERSION = '2.5' +VERSION = '2.5.0.1' SUPPORT_REC_MODEL = ['CRNN'] BASE_DIR = os.path.expanduser("~/.paddleocr/") -DEFAULT_OCR_MODEL_VERSION = 'PP-OCR' -SUPPORT_OCR_MODEL_VERSION = ['PP-OCR', 'PP-OCRv2'] -DEFAULT_STRUCTURE_MODEL_VERSION = 'STRUCTURE' -SUPPORT_STRUCTURE_MODEL_VERSION = ['STRUCTURE'] +DEFAULT_OCR_MODEL_VERSION = 'PP-OCRv3' +SUPPORT_OCR_MODEL_VERSION = ['PP-OCR', 'PP-OCRv2', 'PP-OCRv3'] +DEFAULT_STRUCTURE_MODEL_VERSION = 'PP-STRUCTURE' +SUPPORT_STRUCTURE_MODEL_VERSION = ['PP-STRUCTURE'] MODEL_URLS = { 'OCR': { + 'PP-OCRv3': { + 'det': { + 'ch': { + 'url': + 'https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar', + }, + 'en': { + 'url': + 'https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_infer.tar', + }, + }, + 'rec': { + 'ch': { + 'url': + 'https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar', + 'dict_path': './ppocr/utils/ppocr_keys_v1.txt' + }, + 'en': { + 'url': + 'https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_infer.tar', + 'dict_path': './ppocr/utils/en_dict.txt' + }, + }, + 'cls': { + 'ch': { + 'url': + 'https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar', + } + }, + }, 'PP-OCRv2': { 'det': { 'ch': { @@ -72,7 +102,7 @@ MODEL_URLS = { } } }, - DEFAULT_OCR_MODEL_VERSION: { + 'PP-OCR': { 'det': { 'ch': { 'url': @@ -173,7 +203,7 @@ MODEL_URLS = { } }, 'STRUCTURE': { - DEFAULT_STRUCTURE_MODEL_VERSION: { + 'PP-STRUCTURE': { 'table': { 'en': { 'url': @@ -198,16 +228,17 @@ def parse_args(mMain=True): "--ocr_version", type=str, choices=SUPPORT_OCR_MODEL_VERSION, - default='PP-OCRv2', + default='PP-OCRv3', help='OCR Model version, the current model support list is as follows: ' - '1. PP-OCRv2 Support Chinese detection and recognition model. ' - '2. PP-OCR support Chinese detection, recognition and direction classifier and multilingual recognition model.' + '1. PP-OCRv3 Support Chinese and English detection and recognition model, and direction classifier model' + '2. PP-OCRv2 Support Chinese detection and recognition model. ' + '3. PP-OCR support Chinese detection, recognition and direction classifier and multilingual recognition model.' ) parser.add_argument( "--structure_version", type=str, choices=SUPPORT_STRUCTURE_MODEL_VERSION, - default='STRUCTURE', + default='PP-STRUCTURE', help='Model version, the current model support list is as follows:' ' 1. STRUCTURE Support en table structure model.') -- GitLab