Skip to content

证照识别 #28

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

Open
zhaoli1015 opened this issue Apr 14, 2020 · 9 comments
Open

证照识别 #28

zhaoli1015 opened this issue Apr 14, 2020 · 9 comments

Comments

@zhaoli1015
Copy link

朋友您好,我直接运行的您这个demo,识别的是一个驾照,可是效果不理想,没有传统版面分割准确率高,请问我这是要重新训练一个数据集吗,我是个菜鸟,调参也不是很明白。请问您有推荐的关于文字识别代码讲解这块的教程吗?

@courao
Copy link
Owner

courao commented Apr 14, 2020

你好,这个代码采用CTPN做文字检测,CRNN做文字识别,
这两个算是比较经典的算法了,对于大部分场景都可以work,
但是有个缺陷是对于靠的比较近的两个文字区域可能会当成一个框,对小的文本框支持也不太好,
对于你说的驾照识别场景,目前有一些可能更好地解决方案,比如EAST,Corner这两个文字检测算法,但是基本上都要针对你的数据重新训练一下才能有好的效果。
至于用CRNN来做识别我觉得没太大问题。

我也复现了一些其他的文字检测和识别算法,也有效果更好的,目前忙着处理毕业论文的事,所以也没时间好好整理,等过段时间时间会整理下我会放出一些更新的算法,也欢迎关注。
短期内你要用的话建议尝试EAST、corner文字检测算法,都有开源的实现。
文字识别代码讲解这块的教程应该有不少,知乎啥的找一找都有一些讲解,但是都比较粗浅吧,一些细节的内容需要你自己理解。

@zhaoli1015
Copy link
Author

您真是太亲切了!我的问题就是你说的这样,可是我现在就想准备用这个框架,如果继续用ctpn是不是很难成功对驾驶证识别呢?

@courao
Copy link
Owner

courao commented Apr 14, 2020

嗯,用CTPN的话可能检测的效果不会太好,
你可以试着调整ctpn_predict.py中的height这个参数,代表输入到神经网络的图像高度,
试着在默认值的基础上*2、/2或者选别的值看看效果,如果还是不行的话建议尝试别的文字检测算法。
识别的算法可以继续用CRNN。

@zhaoli1015
Copy link
Author

嗯嗯,我明天试试。您这个输出的图片每个文字框上的百分比是准确率吗?还有都已经让文字框的底纹变色了,为啥还给它框个框框呢?

@courao
Copy link
Owner

courao commented Apr 14, 2020

文字框上的百分比是准确率是代表置信度,也可以理解为准确程度吧。
CTPN是以宽度为16的小框作为最小的检测单元,那个底纹表示这个当前这个区域被检测出来了,有可能出现左右两边被检测出来涂上了颜色,中间没被检测出来,然后会根据文本线构造算法基于左右两边的检测结果判定中间也是属于文字区域,然后会将这个也框起来。

@zhaoli1015
Copy link
Author

您训练用的数据集是自己做的吗还是2017MLT和voc2007,我去年训练两个都失败了,一个损失函数不收敛,另一个忘记什么原因了

@courao
Copy link
Owner

courao commented Apr 14, 2020

这个模型用的是ICDAR17MLT,
也可以试试ICPR MTWI 2018的数据集
要针对特定数据优化的话最好加一些自己的数据

@zhaoli1015
Copy link
Author

谢谢您!受益匪浅,不知道能不能方便加个微信?给您发了邮件

@onesleepyguy
Copy link

文字框上的百分比是准确率是代表置信度,也可以理解为准确程度吧。 CTPN是以宽度为16的小框作为最小的检测单元,那个底纹表示这个当前这个区域被检测出来了,有可能出现左右两边被检测出来涂上了颜色,中间没被检测出来,然后会根据文本线构造算法基于左右两边的检测结果判定中间也是属于文字区域,然后会将这个也框起来。

请问怎么看平均准确率呢

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

No branches or pull requests

3 participants