hiroi-sora / Umi-OCR

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

大神,我最近使用下咱们的软件,整体很不错,不过有的文字会识别错误, #577

Open ZhongXiYi opened 3 days ago

ZhongXiYi commented 3 days ago

Issues

Expected behavior 预期的功能

大神,我最近使用下咱们的软件,整体很不错,不过也有不少文字会识别错误,PDF文件里的文字很清楚,使用浏览器和阅读器都可以看清楚,使用微信本地的识别,也可以识别出来。但是用咱这个软件识别就出现问题了,不过在软件预览的时候,哪怕放大,也是看不清楚的。不知道是不是这个原因。 建议1:如果是预览的原因,期待优化软件,识别的精度。 建议2:如果这个问题是通病没办法解决,请问能不能添加个支持WX的本地识别模块呢?

Approximate reference (optional) 近似的参考(可选)

这个是我测试的识别图, 1 11行的“寤寐”两个字。

qwedc001 commented 3 days ago

你好,问题成功复现。 本项目是一个OCR平台,其程序逻辑为提供一个前端,在后端调用如Paddle / Rapid 等开源引擎进行OCR识别后再返回到前端。而你所提到的问题是OCR引擎模型对某些字训练不到位导致的,不是Umi-OCR所能解决的问题,请参见FAQ有关多语言部分的解释。 至于你提到的微信OCR,我去查阅了一下,微信提供的OCR服务是需要调用在线API的,在线API在Umi上的开发也已经提上日程。如果你可以找到离线的微信OCR,可以发上来我试着做一下适配。要不然得话可能还得再等等。

ZhongXiYi commented 3 days ago

微信离线的识别引擎就挺不错的。识别率挺高。查了下资料,PY有这个方案,是调用微信的OCR文件,不过我不太懂,文件在PC版微信安装目录下的:WeChatOCR.bin,mmmojo_64.dll。

qwedc001 commented 2 days ago

微信离线的识别引擎就挺不错的。识别率挺高。查了下资料,PY有这个方案,是调用微信的OCR文件,不过我不太懂,文件在PC版微信安装目录下的:WeChatOCR.bin,mmmojo_64.dll。

好的,纳入考虑范围了,但是需要事先声明,本项目采用的开源协议为MIT协议,其允许程序被用作商业用途,但接入微信本地OCR API的行为可能会造成开源协议修改为禁止商业用途。可能到时候要写个针对该引擎的额外的EULA。

hiroi-sora commented 2 days ago

在软件预览的时候,哪怕放大,也是看不清楚的

软件预览的时候,为了控制性能占用,渲染的分辨率不高,放大后可能看起来模糊。而在OCR识别时(混合OCR模式),软件从PDF中提取的是原始分辨率的图片素材。

因此软件预览的分辨率,与实际OCR分辨率是不同的。实际分辨率会更清楚。

11行的“寤寐”两个字

这类笔画较复杂、日常使用频率较低的字,默认的Paddle模型库确实准确度不太好。这个模型库主要用常见文字进行训练的。后续会考虑更多的OCR引擎和接口(包括闭源)。

ZhongXiYi commented 2 days ago

@qwedc001 或者可以写成插件类型,插件可以设定本地WX的目录,由用户自行选择下载使用,这样,毕竟本地的,是否脱离了协议范围?

ZhongXiYi commented 2 days ago

@hiroi-sora 如果使用别的模型库,加以训练,是不是会更好些?内置的库占用也不是很大,如果想识别的更精确点,哪怕大一点用户也不会在意的吧?

Gavin1937 commented 2 days ago

我在这里放点链接方便查询:

qwedc001 commented 2 days ago

@qwedc001 或者可以写成插件类型,插件可以设定本地WX的目录,由用户自行选择下载使用,这样,毕竟本地的,是否脱离了协议范围?

我的想法就是如此,如果要实现本地微信OCR,大概会实现一个检测逻辑,Umi检测到载入微信OCR插件会弹出一个额外EULA声明软件LICENSE更改变为非商用。

qwedc001 commented 2 days ago

@hiroi-sora 如果使用别的模型库,加以训练,是不是会更好些?内置的库占用也不是很大,如果想识别的更精确点,哪怕大一点用户也不会在意的吧?

Umi-OCR的初衷是作为一个提供OCR服务的hub类程序,很遗憾我们并没有足够的算力去进行诸如独立模型训练之类的内容。如果对这些复杂字形有更明确的识别需求,您可以等待在线API适配完成/微信OCR适配完成/自行参照Paddle文档进行训练。

ZhongXiYi commented 2 days ago

@qwedc001 大神真是太歪锐顾德了,我顶你!先期待咱们WX的版本了!

ZhongXiYi commented 2 days ago

@qwedc001 低调低调,能使用了码发来!先给您赞一个!