Skip to content
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

自训练文字检测,文字识别使用官方模型,出现漏识别情况 #10534

Closed
boreas-l opened this issue Aug 2, 2023 · 7 comments
Closed
Assignees
Labels

Comments

@boreas-l
Copy link

boreas-l commented Aug 2, 2023

请提供下述完整信息以便快速定位问题/Please provide the following information to quickly locate the problem

  • 系统环境/System Environment:
  • 版本号/Version:Paddle: PaddleOCR: 问题相关组件/Related components:
  • 运行指令/Command Code:
  • 完整报错/Complete Error Message:

这边基于飞桨AI studio进行了卡证文字检测的训练,然后文字检测训练指标还可以,但是在测试的时候,在图像质量还可以的情况下,文字检测也检测到了,但是文字识别的时候漏了一个字。请问一下,这种是什么情况?det+rec之间,有存在什么关联吗?我看代码,就是det检测完,把文字提取出来传输给rec【文字识别rec使用的是官方提供的ch_ppocr_v2通用模型】
下面是示意图,文字检测框的情况差不多是下图【但不是当时的测试图,涉及隐私】:
QQ截图20230802105812

@boreas-l
Copy link
Author

boreas-l commented Aug 2, 2023

测试的时候,姓名是准确框到了,但是文字识别只识别到了第二个字,没识别到第一个字。

@xuxiansheng2018
Copy link

我使用的是官方的det,自己训练的rec,也遇到相似的问题,测试时候没有问题,但是最后很多图片都是空白的,蹲一个解决方案

@asif-ca
Copy link
Contributor

asif-ca commented Aug 2, 2023

@xuxiansheng2018 whats the solution?

@ToddBear ToddBear added the good first issue Good for newcomers label Aug 3, 2023
@ToddBear
Copy link
Collaborator

ToddBear commented Aug 3, 2023

下面的地址等信息识别的情况如何呢?

det和rec之间的关联是这样的:
det完成后,会将所有检测出的文字区域的图片作为一个batch输入到识别模型中
该batch内的所有图片会被resize到同一高度,对于'宽高比'较低的图片,需要在右侧补0,以保证所有图片的宽度是一样的
随后该batch的图片就会被送入识别模块中生成识别结果

我猜测导致上述现象的原因是补0操作引入了噪声信息,使得宽高比较低的文本(即只有几个字的文本)容易被识别错误。可以参考类似的Issue

@ToddBear ToddBear assigned ToddBear and unassigned tink2123 Aug 3, 2023
@boreas-l
Copy link
Author

boreas-l commented Aug 3, 2023

下面的地址等信息识别的情况如何呢?

det和rec之间的关联是这样的: det完成后,会将所有检测出的文字区域的图片作为一个batch输入到识别模型中 该batch内的所有图片会被resize到同一高度,对于'宽高比'较低的图片,需要在右侧补0,以保证所有图片的宽度是一样的 随后该batch的图片就会被送入识别模块中生成识别结果

我猜测导致上述现象的原因是补0操作引入了噪声信息,使得宽高比较低的文本(即只有几个字的文本)容易被识别错误。可以参考类似的Issue

在那一张图里,处理姓名漏掉一个字儿以外,其他信息全都识别出来了。然后我分别测试了ch_PP-OCRv3和ch_ppocr_sever_v2这两个版本,我发现ch_PP-OCRv3相比ch_ppocr_sever_v2在那一张图里不会漏掉文字,但是测多张图的比较结果中,ch_ppocr_sever_v2的表现相对更好一些。然后同一个版本里,我也分别测试了默认的SVTR以及CRNN,结果在ch_ppocr_server_v2中,这两种文字识别算法,都没法识别到漏掉的那个字。

@xuxiansheng2018
Copy link

您好,我具体描述一下我的问题:我的测试集有8500张图片,使用自己训练的det去单独只做检测的话,只有200张图片没有检测到框,可能是这些图片自身比较难识别。但是使用det和rec的联合指令的时候predict_system.py 指定了自己训练的det和自己训练的rec,以及官方的cls,却出现1700张图片检测结果为空,这种是det和rec之间的关联出现了问题吗?不知道问题出在哪里,希望您能给我个可行的建议。(自己训练的det验证acc=0.9 rec的acc=0.8)

@UserWangZz
Copy link
Collaborator

This issue has not been updated for a long time. This issue is temporarily closed and can be reopened if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants