From 3ed70fb3435e41e90619ba429ad106dc06747840 Mon Sep 17 00:00:00 2001 From: LDOUBLEV Date: Fri, 29 May 2020 17:34:56 +0800 Subject: [PATCH] update readme --- README.md | 26 +++++++++++++++++++------- doc/inference.md | 25 +++++++++++++------------ 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index a749b8fa..3edd7056 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,14 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力 - 多种文本检测训练算法,EAST、DB - 多种文本识别训练算法,Rosetta、CRNN、STAR-Net、RARE +### 已发布的中文模型: + +|模型|检测|识别| +|-|-|-| +|8.6M中文模型|[inference模型](https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db_infer.tar) & [预训练模型](https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db.tar)|[inference模型](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_infer.tar) & [预训练模型](https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn.tar)| +|中文大模型|[inference模型](https://paddleocr.bj.bcebos.com/ch_models/ch_det_r50_vd_db_infer.tar) & [预训练模型](https://paddleocr.bj.bcebos.com/ch_models/ch_det_r50_vd_db.tar)|[inference模型](https://paddleocr.bj.bcebos.com/ch_models%2Fch_rec_r34_vd_crnn_infer.tar) & [预训练模型](https://paddleocr.bj.bcebos.com/ch_models%2Fch_rec_r34_vd_crnn.tar)| + + ## **超轻量级中文OCR体验** ![](doc/imgs_results/11.jpg) @@ -22,10 +30,12 @@ PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力 #### 2.模型下载 ``` -# 下载inference模型文件包 -wget https://paddleocr.bj.bcebos.com/inference.tar +mkdir inference && cd inference +# 下载8.6M中文模型的检测模型并解压 +wget https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db_infer.tar && tar xf ch_det_mv3_db_infer.tar +# 下载8.6M中文模型的识别模型并解压 +wget https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_infer.tar && tar xf ch_rec_mv3_crnn_infer.tar # inference模型文件包解压 -tar -xf inference.tar ``` #### 3.单张图像或者图像集合预测 @@ -37,14 +47,15 @@ tar -xf inference.tar export PYTHONPATH=. # 预测image_dir指定的单张图像 -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/det/" --rec_model_dir="./inference/rec/" +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/ch_det_mv3_db_infer/" --rec_model_dir="./inference/ch_rec_mv3_crnn_infer/" # 预测image_dir指定的图像集合 -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/" --det_model_dir="./inference/det/" --rec_model_dir="./inference/rec/" +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/" --det_model_dir="./inference/ch_det_mv3_db_infer/" --rec_model_dir="./inference/ch_rec_mv3_crnn_infer/" -# 如果想使用CPU进行预测,执行命令如下 -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/det/" --rec_model_dir="./inference/rec/" --use_gpu=False +# 如果想使用CPU进行预测,需设置use_gpu参数为False +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/ch_det_mv3_db_infer/" --rec_model_dir="./inference/ch_rec_mv3_crnn_infer/" --use_gpu=False ``` + 更多的文本检测、识别串联推理使用方式请参考文档教程中[基于预测引擎推理](./doc/inference.md)。 @@ -172,6 +183,7 @@ PaddleOCR文本识别算法的训练和使用请参考文档教程中[文本识 本项目的发布受Apache 2.0 license许可认证。 ## 版本更新 +- 2020.5.29 发布中文检测、识别的大模型 ## 如何贡献代码 我们非常欢迎你为PaddleOCR贡献代码,也十分感谢你的反馈。 diff --git a/doc/inference.md b/doc/inference.md index ca1d6af5..2c7b0938 100644 --- a/doc/inference.md +++ b/doc/inference.md @@ -13,17 +13,17 @@ inference 模型(fluid.io.save_inference_model保存的模型) 下载超轻量级中文检测模型: ``` -wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/ch_models/det_mv3_db.tar && tar xf ch_lite/det_mv3_db.tar -C ch_lite +wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/ch_models/ch_det_mv3_db.tar && tar xf ch_lite/ch_det_mv3_db.tar -C .ch_lite/ ``` 上述模型是以MobileNetV3为backbone训练的DB算法,将训练好的模型转换成inference模型只需要运行如下命令: ``` -python3 tools/export_model.py -c configs/det/det_mv3_db.yml -o Global.checkpoints=./ch_lite/det_mv3_db/best_accuracy Global.save_inference_dir=./inference_model/det_db/ +python3 tools/export_model.py -c configs/det/det_mv3_db.yml -o Global.checkpoints=./ch_lite/ch_det_mv3_db/best_accuracy Global.save_inference_dir=./inference/det_db/ ``` 转inference模型时,使用的配置文件和训练时使用的配置文件相同。另外,还需要设置配置文件中的Global.checkpoints、Global.save_inference_dir参数。 其中Global.checkpoints指向训练中保存的模型参数文件,Global.save_inference_dir是生成的inference模型要保存的目录。 转换成功后,在save_inference_dir 目录下有两个文件: ``` -inference_model/det_db/ +inference/det_db/ └─ model 检测inference模型的program文件 └─ params 检测inference模型的参数文件 ``` @@ -32,19 +32,20 @@ inference_model/det_db/ 下载超轻量中文识别模型: ``` -wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/ch_models/rec_crnn.tar && tar xf ch_lite/rec_crnn.tar -C .ch_lite/ +wget -P ./ch_lite/ https://paddleocr.bj.bcebos.com/ch_models/rec_mv3_crnn.tar && tar xf ch_lite/rec_mv3_crnn.tar -C .ch_lite/ ``` 识别模型转inference模型与检测的方式相同,如下: ``` -python3 tools/export_model.py -c configs/rec/rec_chinese_lite_train.yml -o Global.checkpoints=./ch_lite/rec_crnn/best_accuracy \ - Global.save_inference_dir=./inference_model/rec_crnn/ +python3 tools/export_model.py -c configs/rec/rec_chinese_lite_train.yml -o Global.checkpoints=./ch_lite/rec_mv3_crnn/best_accuracy \ + Global.save_inference_dir=./inference/rec_crnn/ ``` + 如果您是在自己的数据集上训练的模型,并且调整了中文字符的字典文件,请注意修改配置文件中的character_dict_path是否是所需要的字典文件。 转换成功后,在目录下有两个文件: ``` -/inference_model/rec_crnn/ +/inference/rec_crnn/ └─ model 识别inference模型的program文件 └─ params 识别inference模型的参数文件 ``` @@ -58,7 +59,7 @@ python3 tools/export_model.py -c configs/rec/rec_chinese_lite_train.yml -o Globa 超轻量中文检测模型推理,可以执行如下命令: ``` -python3 tools/infer/predict_det.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det/" +python3 tools/infer/predict_det.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det_db/" ``` 可视化文本检测结果默认保存到 ./inference_results 文件夹里面,结果文件的名称前缀为'det_res'。结果示例如下: @@ -68,12 +69,12 @@ python3 tools/infer/predict_det.py --image_dir="./doc/imgs/2.jpg" --det_model_di 通过设置参数det_max_side_len的大小,改变检测算法中图片规范化的最大值。当图片的长宽都小于det_max_side_len,则使用原图预测,否则将图片等比例缩放到最大值,进行预测。该参数默认设置为det_max_side_len=960. 如果输入图片的分辨率比较大,而且想使用更大的分辨率预测,可以执行如下命令: ``` -python3 tools/infer/predict_det.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det/" --det_max_side_len=1200 +python3 tools/infer/predict_det.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det_db/" --det_max_side_len=1200 ``` 如果想使用CPU进行预测,执行命令如下 ``` -python3 tools/infer/predict_det.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det/" --use_gpu=False +python3 tools/infer/predict_det.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det_db/" --use_gpu=False ``` ### 2.DB文本检测模型推理 @@ -134,7 +135,7 @@ python3 tools/infer/predict_det.py --image_dir="./doc/imgs_en/img_10.jpg" --det_ 超轻量中文识别模型推理,可以执行如下命令: ``` -python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/ch/word_4.jpg" --rec_model_dir="./inference/rec/" +python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/ch/word_4.jpg" --rec_model_dir="./inference/rec_crnn/" ``` ![](imgs_words/ch/word_4.jpg) @@ -188,7 +189,7 @@ dict_character = list(self.character_str) 在执行预测时,需要通过参数image_dir指定单张图像或者图像集合的路径、参数det_model_dir指定检测inference模型的路径和参数rec_model_dir指定识别inference模型的路径。可视化识别结果默认保存到 ./inference_results 文件夹里面。 ``` -python3 tools/infer/predict_system.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det/" --rec_model_dir="./inference/rec/" +python3 tools/infer/predict_system.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det_db/" --rec_model_dir="./inference/rec_crnn/" ``` 执行命令后,识别结果图像如下: