Merge branch 'release/2.5' into release2.5
commit
ced53ca919
|
@ -57,3 +57,7 @@ PaddleOCR场景应用覆盖通用,制造、金融、交通行业的主要OCR
|
|||
</div>
|
||||
|
||||
如果您是企业开发者且未在上述场景中找到合适的方案,可以填写[OCR应用合作调研问卷](https://paddle.wjx.cn/vj/QwF7GKw.aspx),免费与官方团队展开不同层次的合作,包括但不限于问题抽象、确定技术方案、项目答疑、共同研发等。如果您已经使用PaddleOCR落地项目,也可以填写此问卷,与飞桨平台共同宣传推广,提升企业技术品宣。期待您的提交!
|
||||
|
||||
<a href="https://trackgit.com">
|
||||
<img src="https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/l63cvzo0w09yxypc7ygl" alt="traffic" />
|
||||
</a>
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
|
||||
|模型|骨干网络|配置文件|precision|recall|Hmean|下载链接|
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
|EAST|ResNet50_vd|88.71%| 81.36%| 84.88%| [训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/en/det_r50_vd_east_v2.0_train.tar)|
|
||||
|EAST| MobileNetV3| 78.2%| 79.1%| 78.65%| [训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/en/det_r50_vd_east_v2.0_train.tar)|
|
||||
|EAST|ResNet50_vd|[det_r50_vd_east.yml](../../configs/det/det_r50_vd_east.yml)|88.71%| 81.36%| 84.88%| [训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/en/det_r50_vd_east_v2.0_train.tar)|
|
||||
|EAST|MobileNetV3|[det_mv3_east.yml](../../configs/det/det_mv3_east.yml)| 78.2%| 79.1%| 78.65%| [训练模型](https://paddleocr.bj.bcebos.com/dygraph_v2.0/en/det_mv3_east_v2.0_train.tar)|
|
||||
|
||||
|
||||
<a name="2"></a>
|
||||
|
|
|
@ -87,9 +87,9 @@ Predicts of ./doc/imgs_words/ch/word_4.jpg:('实力活力', 0.9956803321838379)
|
|||
|
||||
```
|
||||
# 下载英文数字识别模型:
|
||||
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_infer.tar
|
||||
tar xf en_PP-OCRv3_det_infer.tar
|
||||
python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/en/word_1.png" --rec_model_dir="./en_PP-OCRv3_det_infer/" --rec_char_dict_path="ppocr/utils/en_dict.txt"
|
||||
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_infer.tar
|
||||
tar xf en_PP-OCRv3_rec_infer.tar
|
||||
python3 tools/infer/predict_rec.py --image_dir="./doc/imgs_words/en/word_1.png" --rec_model_dir="./en_PP-OCRv3_rec_infer/" --rec_char_dict_path="ppocr/utils/en_dict.txt"
|
||||
```
|
||||
|
||||

|
||||
|
|
|
@ -201,3 +201,7 @@ im_show.save('result.jpg')
|
|||
通过本节内容,相信您已经熟练掌握PaddleOCR whl包的使用方法并获得了初步效果。
|
||||
|
||||
PaddleOCR是一套丰富领先实用的OCR工具库,打通数据、模型训练、压缩和推理部署全流程,您可以参考[文档教程](../../README_ch.md#文档教程),正式开启PaddleOCR的应用之旅。
|
||||
|
||||
<a href="https://trackgit.com">
|
||||
<img src="https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/l63dyu35d5dpcg6y3ibl" alt="trackgit-views" />
|
||||
</a>
|
||||
|
|
|
@ -89,6 +89,29 @@ def draw_kie_result(batch, node, idx_to_cls, count):
|
|||
cv2.imwrite(save_path, vis_img)
|
||||
logger.info("The Kie Image saved in {}".format(save_path))
|
||||
|
||||
def write_kie_result(fout, node, data):
|
||||
"""
|
||||
Write infer result to output file, sorted by the predict label of each line.
|
||||
The format keeps the same as the input with additional score attribute.
|
||||
"""
|
||||
import json
|
||||
label = data['label']
|
||||
annotations = json.loads(label)
|
||||
max_value, max_idx = paddle.max(node, -1), paddle.argmax(node, -1)
|
||||
node_pred_label = max_idx.numpy().tolist()
|
||||
node_pred_score = max_value.numpy().tolist()
|
||||
res = []
|
||||
for i, label in enumerate(node_pred_label):
|
||||
pred_score = '{:.2f}'.format(node_pred_score[i])
|
||||
pred_res = {
|
||||
'label': label,
|
||||
'transcription': annotations[i]['transcription'],
|
||||
'score': pred_score,
|
||||
'points': annotations[i]['points'],
|
||||
}
|
||||
res.append(pred_res)
|
||||
res.sort(key=lambda x: x['label'])
|
||||
fout.writelines([json.dumps(res, ensure_ascii=False) + '\n'])
|
||||
|
||||
def main():
|
||||
global_config = config['Global']
|
||||
|
@ -116,7 +139,7 @@ def main():
|
|||
|
||||
warmup_times = 0
|
||||
count_t = []
|
||||
with open(save_res_path, "wb") as fout:
|
||||
with open(save_res_path, "w") as fout:
|
||||
with open(config['Global']['infer_img'], "rb") as f:
|
||||
lines = f.readlines()
|
||||
for index, data_line in enumerate(lines):
|
||||
|
@ -141,6 +164,8 @@ def main():
|
|||
node = F.softmax(node, -1)
|
||||
count_t.append(time.time() - st)
|
||||
draw_kie_result(batch, node, idx_to_cls, index)
|
||||
write_kie_result(fout, node, data)
|
||||
fout.close()
|
||||
logger.info("success!")
|
||||
logger.info("It took {} s for predict {} images.".format(
|
||||
np.sum(count_t), len(count_t)))
|
||||
|
|
Loading…
Reference in New Issue