hiroi-sora / PaddleOCR-json

OCR离线图片文字识别命令行windows程序,以JSON字符串形式输出结果,方便别的程序调用。提供各种语言API。由 PaddleOCR C++ 编译。
Apache License 2.0
892 stars 120 forks source link

推理结果问题 #86

Closed BrownTen closed 9 months ago

BrownTen commented 10 months ago

作者你好。

我想着两个方案使用的模型都是一样的,结果也应该是一样,可事实却有偏差。 请问作者是在构建的时候做了其他的参数调整吗?还是存在其他的问题。

望作者能够拨冗回复,感谢! PPOCR-v3识别结果

hiroi-sora commented 10 months ago

你可以参考本项目的参数文件: https://github.com/hiroi-sora/PaddleOCR-json/blob/main/cpp/src/args.cpp

检查其中的参数设置,是否与你Python代码设定的一致。

hiroi-sora commented 10 months ago

c++和python的推理库可能在输入数据预处理、模型库加载等阶段使用不同的方式,得出的结果不同是很正常的。就算只是c++,paddle有多组不同的c++推理后端,输出也可能有细微区别。

甚至同一个推理模块在CPU或GPU上执行,得出的结果都可能不同。

当然,这些误差不会很大。关于你的例子,直接丢失了两段清晰文本,我觉得不属于误差,是比较明显的性能问题。

你可以检查一下det部分,看看只用det有没有捕获到这两段文本的框框。

BrownTen commented 10 months ago

你可以参考本项目的参数文件: https://github.com/hiroi-sora/PaddleOCR-json/blob/main/cpp/src/args.cpp

检查其中的参数设置,是否与你Python代码设定的一致。

感谢,我已经完成了参数的匹配和筛选,目前做下来的结果是,use_angle_cls 方向分类器 和 det_db_score_mode 多边形框计算 对结果的影响较大。

hiroi-sora commented 10 months ago

use_angle_cls 一般不用开,除非文字旋转了90 / 180° 。对于正常方向的文字,cls对结果无影响的。