数据验证 #

尽管在测试环境下模型工作良好,但是实践是检验真理的唯一标准. 在本节中,我们通过自己的模型,与京东的测试数据进行比较验证.

衡量OCR系统的好坏有两部分内容:(1)是否成功地圈出了文字;(2)对于圈出来的文字,有没有成功识别. 我们采用评分的方法,对每一张图片的识别效果进行评分. 评分规则如下:

如果圈出的文字区域能够跟京东提供的检测样本的box文件中匹配,那么加1分,如果正确识别出文字来,另外加1分,最后每张图片的分数是前面总分除以文字总数.

按照这个规则,每张图片的评分最多是2分,最少是0分. 如果评分超过1,说明识别效果比较好了. 经过京东的测试数据比较,我们的模型平均评分大约是0.84,效果差强人意。

模型综述 #

在本文中,我们的目标是建立一个完整的OCR系统,经过一系列的工作,我们也基本完成了这一目标.

在设计算法时,我们紧密地结合基本假设,从模拟人肉眼的识别思路出发,希望能够以最少的步骤来实现目标,这种想法在特征提取和文字定位这两部分得到充分体现. 同样地,由于崇尚简洁和模拟人工,在光学字符识别方面,我们选择了卷积神经网络模型,得到了较高的正确率;最后结合语言模型,通过动态规划用较简单的思路提升了效果.

经过测试,我们的系统对印刷文字的识别有着不错的效果,可以作为电商、微信等平台的图片文字识别工具. 其中明显的特点是,我们的系统可以将整张文字图片输入,并且在分辨率不高的情况下能够获得较好的效果.

结果反思 #

在本文所涉及到的算法中,一个很大的不足之处就是有很多的“经验参数”,比如聚类时$h$参数的选择、低密度区定义中密度的阈值、卷积神经网络中的卷积核数据、隐藏层节点数目等. 由于并没有足够多的标签样本进行研究,因此,这些参数都只能是凭借着经验和少量的样本推算得出. 我们期待会有更多的标签数据来得到这些参数的最优值.

还有,在识别文字区域方面,还有很多值得改进的地方. 虽然我们仅仅是经过几个步骤就去掉了大部分的文字区域,但是这些步骤还是欠直观,亟待简化. 我们认为,一个良好的模型应该是基于简单的假设和步骤就能得到不错的效果,因此,值得努力的工作之一就是简化假设,缩减流程.

此外,在文本切割方面,事实上不存在一种能够应对任何情况的自动切割算法,因此这一步还有很大的提升空间. 据相关文献,可以通过CNN+LSTM模型,直接对单行文本进行识别,但这需要大量的训练样本和高性能的训练机器,估计只有大型企业才能做到这一点.

显然,还有很多工作都需要更深入地研究.

转载到请包括本文地址:https://kexue.fm/archives/3854

更详细的转载事宜请参考:《科学空间FAQ》

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

如果您需要引用本文,请参考:

苏剑林. (Jun. 26, 2016). 《OCR技术浅探:8. 综合评估 》[Blog post]. Retrieved from https://kexue.fm/archives/3854

@online{kexuefm-3854,
        title={OCR技术浅探:8. 综合评估},
        author={苏剑林},
        year={2016},
        month={Jun},
        url={\url{https://kexue.fm/archives/3854}},
}