论文部分内容阅读
文字识别是一种通用的图像理解技术,对信息检索、自动驾驶等应用的研究有着重要意义,基于自然场景图像的文字识别逐渐成为计算机视觉研究中的热点问题,而其中中文场景文字识别是图像识别中最重要和最具挑战的任务之一。与英文字符相比,中文字符结构复杂且种类繁多,识别难度大。随着神经网络的复兴,场景文字检测和识别任务得到了很大推动,近年来涌现了许多基于深度学习的场景文字检测和识别的算法,但大部分都是面向英文数据集的,针对中文场景图像的研究相对欠缺。本文对当前文字检测和识别领域的代表性算法进行研究。鉴于场景汉字识别的研究和实际应用需求,本文主要做了以下三个方面的工作:首先,对于在英文数据集上表现出色的场景文字检测和识别算法分别在英文数据集和中文数据集上进行了大规模的实验和性能对比分析,总结中文场景文字检测和识别问题面临的挑战;其次,对于自然场景中的非水平文本行不易识别的问题,通过在原始图像上根据四边形坐标点进行透视变换,从中裁剪出文本行区域进行识别;最后,根据当前的文字检测和识别算法在中文场景图像中存在的问题,设计了一个基于字符检测的中文场景文字识别算法。一、场景文本检测和识别算法在各个英文和中文数据集上的大规模实验和性能对比分析。在文字检测部分选用EAST和Text Boxes++两个算法在两个英文数据集和四个中文数据集上进行实验并进行跨数据集和跨语言测试,通过实验探讨语言对场景文字检测的影响。同时,在文字识别部分选用Sliding CNN、CRNN和ASTER三个文字识别算法进行研究,并对Sliding CNN进行改进,提出了更高效的基于切片的Slice CNN算法,减少了约一半的训练时间。其中,为了比较不同的特征提取网络对文字识别的影响,Sliding CNN,Slice CNN和CRNN的特征提取部分均采用了VGG、Res Net、Dense Net三种网络结构,用这十个文字识别算法在三个英文识别数据集和四个中文场景数据集上进行实验。二、针对非水平文本不易识别的问题,提出一种基于原始图像透视变换的文本行矫正方法。在原始图像上使用透视变换对文本行进行矫正,然后把文本行从矫正后的原始图像中裁剪出来,矫正后在中文数据集上识别的准确率平均提高了12%左右。与之前根据四边形的最小外接正矩形从原始图像中裁剪出文本行区域,然后使用空间转换网络矫正后再识别相比,避免了额外的训练和关键点预测,简化了模型的学习并节省了训练时间。三、针对当前作为序列识别时面临的缺少大规模中文数据集的问题,设计一个基于字符检测的场景汉字识别算法,把序列识别转化为实例分割和分类问题,先进行字符检测再对检测到的字符区域进行识别。考虑到自然场景图像中存在许多因透视造成的扭曲,所以在字符检测之后对检测到的字符区域进行透视变换。在文本行图像上的识别准确率比之前作为序列识别时最好的ASTER算法的准确率平均高了16%左右。总之,本文通过实验分析现有文字检测和识别方法在中文场景数据集上的不足,提出了相应的解决方案,在一定程度上解决了中文场景文字识别的问题,对场景汉字识别的后续研究有一定的参考价值。