hiroi-sora / Umi-OCR

OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。
MIT License
27.59k stars 2.77k forks source link

同一张图,整体识别和局部识别精度不一样吗? #316

Closed HAM2506 closed 10 months ago

HAM2506 commented 10 months ago

版本:Paddle_v2.0.1

原图: test1 识别结果:(单字的内容没被识别出来) 屏幕截图 2024-01-13 014438

如果只识别红框区域: test1_copy 识别结果: 屏幕截图 2024-01-13 003950

当然框选红框区域也不是每次都准确。

请问是否有办法解决原图所有文字的识别精度问题

hiroi-sora commented 10 months ago

这是det(文本检测)精度不足所致。你可以手动导入PaddleOCR官方的高精度det库来提升检测质量。例图实测: image

导入方法:

  1. 下载最新高精度det库: https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_server_infer.tar

  2. 解压得到ch_PP-OCRv4_det_server_infer文件夹,其中应该有3个文件。将整个文件夹放到如下路径: Umi-OCR\UmiOCR-data\plugins\win7_x64_PaddleOCR-json\models

  3. 在同一路径下创建一个txt文档:config_chinese(高精度).txt,复制以下文字进去:

    # det 检测模型库
    det_model_dir models/ch_PP-OCRv4_det_server_infer
    # cls 方向分类器库
    cls_model_dir models/ch_ppocr_mobile_v2.0_cls_infer
    # rec 识别模型库
    rec_model_dir models/ch_PP-OCRv3_rec_infer
    # 字典路径
    rec_char_dict_path models/dict_chinese.txt

    image

  4. 打开configs.txt(这是models目录下已经存在的一个文件),添加一行: config_chinese(高精度).txt 简体中文(高精度)

  5. 重启Umi-OCR,在“语言/模型库”中切换到简体中文(高精度)。现在,对文本位置的检测更准确,但识别速度可能比之前更慢。

HAM2506 commented 10 months ago

Owner

感谢回复,精度确实提高了,再请问一下已有的配置中,有能最大限度提高识别速度的配置吗?(硬件方面的)

hiroi-sora commented 10 months ago

如果你问什么硬件对OCR最有利:多核CPU。Paddle引擎对多核心的支持度很好,因此像锐龙R7等8核16线程、主频4GHz以上的CPU,跑OCR的速度相当不错。

Intel新代的CPU也有很高的效率,而且对mkldnn数学加速库的支持度可能更好。但在win11上,系统偶尔会将OCR进程归为后台类型,调度给小核,从而影响任务速度。请将电源选项保持为“性能模式”以防止这种错误调度。

HAM2506 commented 10 months ago

如果你问什么硬件对OCR最有利:多核CPU。Paddle引擎对多核心的支持度很好,因此像锐龙R7等8核16线程、主频4GHz以上的CPU,跑OCR的速度相当不错。

Intel新代的CPU也有很高的效率,而且对mkldnn数学加速库的支持度可能更好。但在win11上,系统偶尔会将OCR进程归为后台类型,调度给小核,从而影响任务速度。请将电源选项保持为“性能模式”以防止这种错误调度。

如果你问什么硬件对OCR最有利:多核CPU。Paddle引擎对多核心的支持度很好,因此像锐龙R7等8核16线程、主频4GHz以上的CPU,跑OCR的速度相当不错。

Intel新代的CPU也有很高的效率,而且对mkldnn数学加速库的支持度可能更好。但在win11上,系统偶尔会将OCR进程归为后台类型,调度给小核,从而影响任务速度。请将电源选项保持为“性能模式”以防止这种错误调度。

好的,谢谢!