-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tesseractOCR 插件优化TODO #4
Comments
针对第二条,自动排版实际上对应代码实现为tesseractOCR psm参数设定为3,关闭时psm参数设定为6. tesseract官方对于此两种模式的解释如下 关闭自动排版实际上就是默认了只有一个文本块,我会在下版更新中将其默认开启。 附:docs对于psm的全部参数 |
嗯,毕竟umi内部的排版解析还是传统算法机械式的划分,精准度上限应该没有用深度学习来划分的高。 如果你测试得出tesseract插件的文本块顺序及 |
对了,请求一个bugfix,这个可能是umi的软件问题。
|
针对todo3,经测试,分段效果确实要优于umi自身分段,不过fast模型仍然会有偶尔的识别错误出现。如果追求质量只能换best模型了( |
坏,怎么自动给我close掉了 |
动态加载后,检查当前语言列表中是否存在 简中、English,如果有就设置它的default为True。如果没有中英,就设置语言列表中第1位语言的为True。如果语言列表为空,在class Api的__init__()中抛出一个异常。 |
了解,后续我会看看
做个测试,看看fast和best的精准度(包括字符准度和排版准度)、速度 具体有什么差别。 |
了解,但是需要特殊注意的是,在只有单语言的语境下勾选多语言可能会造成一定程度的识别错误。这个也被我写进了tooltip。我的想法要么是默认勾选简中,或者是让umi检测一下用户语言环境什么的 |
这个我是做过的,best的识别速度在我的电脑(i9-13900HX)上是比较稳定的4~5秒一张,fast识别速度在2秒一张左右。因为tesseract并不能像是paddle一样设置占用线程数量,所以在识别速度上不如paddle(cpu识别平均1.2s/张)。 在识别质量方面,新加的分段我还没有进行测试,之前测试中置信度平均有3~5的提升。 |
那现在先只默认勾选简中吧,如果简中不存在再勾选第一位。 python获取系统语言是很容易的,如下。不过我觉得暂时没必要把插件写得那么麻烦。 import locale |
你现在可以先PR过来,后续继续优化。
以下一些问题和建议,请一条条核对:
在新版软件面板中,也会通过小回车图标,标出结尾为\n的文本块。
你需要从tesseract的结果中,判断哪些文本块属于自然段的结尾=,end为\n。其余文本块,end为" "或""(根据上下文是汉字还是字母)。
这时,软件面板上设置里的”排版解析方案“换成”不做处理“,Umi就会优先采用tesseract的排版结果。
Originally posted by @hiroi-sora in hiroi-sora/Umi-OCR_plugins#2 (comment)
The text was updated successfully, but these errors were encountered: