论文部分内容阅读
文字识别问题的难点在于以下两点,第一是文字的存在形态千变万化,尤其是汉字更是笔画多样,有各种字体等;第二是文字在实际应用场景中可能存在被遮挡、背景复杂等多种情况,因此做好文字识别算法涉及两个关键技术:第一需要提取出具有良好表征性的文字特征以及有效的分类决策网络;第二需要设计出合理的数据增强算法,对训练样本进行接近现实中各种情况的图像变换,以此学习出更加稳健的识别模型。本文基于CRNN模型设计了一种文字识别模型,成功地实现了对各种字符进行高准确率的识别。本文的主要工作包含以下三个部分:第一是数据增强算法的设计。本文设计了合适的数据增强算法,帮助网络更好的学习。第二是特征提取网络的设计。本文在CRNN模型的基础上对其特征提取网络进行改进,通过利用Dense-Block结构设计出来的特征提取网络不仅可以更好的提取样本特征信息,还可以学习到文字中的上下文信息。第三是网络决策层的设计。本文利用一个卷积层替换掉了原始CRNN模型中参数量大、不易收敛的LSTM层。这样做不仅一定程度上提高了识别率,而且减少了网络参数、加快了网络收敛速度。本文利用Python语言以及Keras框架编程实现整个文字识别系统,其中包括数据增强算法、特征提取网络以及网络的决策层等。实验结果表明,该系统能够很好识别出各种字符,识别精度高。其在汉字数据库上识别率为95.28%,英文字符数据库上的识别率96.47%,数字数据库上的识别率为98.85%。