PaddlePaddle / PaddleOCR

Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
https://paddlepaddle.github.io/PaddleOCR/
Apache License 2.0
43.9k stars 7.8k forks source link

通用中文OCR与轻量级的区别 #113

Closed 670133189 closed 4 years ago

670133189 commented 4 years ago

请教:通用中文OCR与轻量级的区别在哪?

tink2123 commented 4 years ago

使用的backbone不同,轻量级模型使用mobilenet_v3,模型更小,识别+检测共8.6m;通用中文OCR使用resnet系列,模型较大精度更高。 具体网络结构: 轻量级模型,检测模型为mv3_db,识别模型为mv3_none_bilstm_ctc。 通用中文OCR,检测模型为resnet50_vd_db,识别模型为 resnet34_vd_none_bilstm_ctc。

670133189 commented 4 years ago

使用的backbone不同,轻量级模型使用mobilenet_v3,模型更小,识别+检测共8.6m;通用中文OCR使用resnet系列,模型较大精度更高。 具体网络结构: 轻量级模型,检测模型为mv3_db,识别模型为mv3_none_bilstm_ctc。 通用中文OCR,检测模型为resnet50_vd_db,识别模型为 resnet34_vd_none_bilstm_ctc。

适合【通用OCR】推理的系统环境最低要求是多少?

我尝试用Mac(2核CPU、8G内存)来推理文字较多的一张图片,结果是直接死机。

tink2123 commented 4 years ago

大模型对显存要求比较高,默认识别的batch_size=30,在文字较多的情况下会占用大量显存。在mac上运行时可适当调小识别batch_size,例如修改为1: python3 tools/infer/predict_system.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det_db/" --rec_model_dir="./inference/rec_crnn/" --rec_batch_num=1

670133189 commented 4 years ago

大模型对显存要求比较高,默认识别的batch_size=30,在文字较多的情况下会占用大量显存。在mac上运行时可适当调小识别batch_size,例如修改为1: python3 tools/infer/predict_system.py --image_dir="./doc/imgs/2.jpg" --det_model_dir="./inference/det_db/" --rec_model_dir="./inference/rec_crnn/" --rec_batch_num=1

了解。 另外我想请教一下,【通用OCR】除了提高精度外,它的识别字数、类型等,会比【轻量OCR】的多吗?比如更多的繁体字、手写字。

tink2123 commented 4 years ago

它的识别字数、类型等,会比【轻量OCR】的多吗?

暂时没有,为了评测backbone对模型精度的影响,训练数据与轻量级保持一致。后续会丰富训练集,加入更多的繁体字、手写字等。欢迎持续关注~

SixGodGG commented 4 years ago

通用OCR和轻量OCR有量化对比的数据报告吗?

LDOUBLEV commented 4 years ago

通用OCR和轻量OCR有量化对比的数据报告吗?

在我们内部评测集上,通用OCR大模型 比 通用轻量OCR小模型 Hmean值高8%