第四届挑战赛A1-基于深度学习和语言模型的印刷文字 OCR 系统

发布时间:2016-10-18 作者:BdRaces 浏览量:742

摘要:

我们设计了一系列的算法,完成了文字特征提取、文字定位等工作,并基于卷积神经网络 (CNN) 建立了字符识别模型,最后结合统计语言模型来提升效果,成功构建了一个完整的 OCR(光学字符识别) 系统.

在特征提取方面,我们抛弃了传统的“边缘检测 + 腐蚀膨胀”的方法,基于一些基本假设,通过灰度聚类、图层分解、去噪等步骤,得到了良好的文字特征. 这部分文字特征既可以用于第二步做文字定位,又可以直接输入到第三步的模型中进行识别,而不用做额外的特征提取工作.

在文字定位方面,我们通过邻近搜索的方法先整合特征碎片,得到了单行的文字特征,然后通过前后统计的方法将单行的文字切割为单个字符. 测试表明,这种切割思路能够很好地应对中英文混排的文字切割.

在光学识别方面,我们基于 CNN 的深度学习模型建立了单字识别模型,自行生成了 140 万的样本进行训练,最终得到了一个良好的单字识别模型,训练正确率为 99.7%,测试正确率为 92.1%,即便增大图片噪音到 15%,也能有 90% 左右的正确率.

最后,为了在前面的工作的基础上再次提升效果,我们结合了语言模型,通过微信的数十万文本计算了常见汉字的转移概率矩阵,由 Viterbi 算法动态规划,得到最优的识别组合.

将以上四部分工作结合起来,就是一个完整的 OCR 系统. 经过测试,我们的系统对印刷文字的识别有着不错的效果,可以作为电商、微信等平台的图片文字识别工具.

关键词:光学字符识别, 特征提取, 文本定位, 卷积神经网络, 深度学习, 语言模型