APP下载

结合形态结构和BP 神经网络的盲文字符识别

2020-09-02庄家俊冼文锋王前

现代计算机 2020年21期
关键词:盲文字符神经元

庄家俊,冼文锋,王前

(仲恺农业工程学院计算科学学院,广州510225)

0 引言

信息时代,大量信息通常以文字(明文)的形式存储在互联网中;不同于明文,盲文是盲人教育体系中的一种基础性文化知识的重要传播媒介,其与明文之间存在显著差异[1]。长期以来,盲文翻译系统是盲人群体快速获取海量互联网信息的一种重要手段[2],而盲文翻译结果的正确性依赖于盲文字符识别的准确性。目前,常用的盲文字符识别方法主要采用图像处理和机器学习技术[3-6]。尹佳等人[3]采用全局阈值图像分割法和数学形态学运算提取盲文图像中的字符区域,但该方法要求输入字符具有相似的成像尺度;李婷[5]采用基于堆叠去噪自动编码器的深度学习模型实现盲文字符识别,有效提高了多场景中盲文字符识别的准确率;李荣瑞等人[6]通过卷积神经网络自动提取盲文字符图像特征,识别准确率达到了98.62%。上述基于深度学习的识别方法虽能显著提高盲文字符识别准确率,但对专属GPU 硬件的要求较高、且学习模型训练开销较高,而传统基于图像处理的方法则普遍要求输入的盲文图像源自特定应用场景,极易受到盲文出版物扫描方式的影响,如难以适应发生旋转畸变的盲文图像。为权衡盲文字符识别的准确率和识别模型的计算资源开销,结合盲文字符特有的形态结构特征和传统的BP神经网络算法,提出了一种新颖鲁棒的盲文字符识别方法,以进一步提高盲文字符识别系统的实用性。

1 盲文字符识别方法

下面提出盲文字符识别方法主要包括盲文字符分割与校正、字符提取和字符识别三个主要部分。

1.1 盲文字符分割与校正

盲文属于一种借助触感感知的特殊字符,不少盲文图像是通过纸质材料的电子扫描方式获得,图1(a)给了一幅通过电子扫描方式获取的盲文图像。为避免扫描过程中可能引入的加性噪声,首先通过方差为1.5、模板尺寸为3×3 像素的高斯均值滤波器对盲文图像进行预处理。由图1(a)可知,盲文字符结构与纸质材料之间存在一定的成像差异性,采用OTSU 阈值分割算法[7]实现盲文字符区域的前景分割;阈值分割结果中仍可能存在部分干扰噪点,进一步基于尺寸为5×5像素的方形结构元,采用数学形态学开运算处理所得的Otsu 阈值分割结果,处理效果如图1(b)所示。

图1 盲文字符分割结果

盲文出版物经过多次翻阅容易导致其表面出现一定程度的纸张弯曲,且电子扫描过程中无法总能确保纸质材料摆放方位的一致性,可能导致扫描图像中盲文字符的凸点轮廓发生旋转畸变,如图1 所示。为此,采用Hough 变换[8]检测图像中的字符线条,以直线检测的方式校正盲文字符的旋转畸变。为便于检测如图1(b)所示图像中的字符线条,基于尺寸为35×35 像素的方形结构元,首先通过形态学膨胀运算处理图1(b)所示的图像,通过Canny 算子对膨胀后的字符区域进行边缘提取,继而采用Hough 变换实现直线检测,结果如图2(a)所示;进一步,将Hough 变换所得的最长线条为基础,计算其与水平线之间的夹角(直线斜率),从而得到盲文图像的旋转校正角度,通过该角度实现盲文字符的旋转畸变校正,校正结果如图2(b)所示,校正后的盲文图像有利于提高后续盲文字符提取结果的精确性。

图2 盲文字符校正结果

1.2 基于形态结构的盲文字符提取

鉴于盲文字符特殊的形态结构特征(如图3 所示),盲文段落与普通文本文档段落之间存在较大的差异性,常规的投影法[9]可能难以准确提取独立的盲文字符,如空方字符(即图3 所示6 个结构点位均为空时)将被直接投影成背景区域。针对该问题,结合盲文字符的形态结构特征,将字符宽度估算融入常规投影法中,提出了一种基于盲文字符形态结构连接约束的改进投影法。

改进投影法的基本步骤如下:①对校正后的盲文字符图像进行适当尺度膨胀处理,如采用尺寸为15×15像素的方形结构元,通过膨胀运算连接垂直及水平方向上的同一个盲文字符(视为形态结构连接约束),防止投影过程中的独立字符被分离成多个子区域;值得指出的是,步骤(1)中结构元的尺寸必须足够大以确保膨胀后字符的各点位结构具备连通性质;②基于膨胀后的字符图像,按行进行字符段落的切割,并采用与膨胀运算相同的结构元,通过形态学腐蚀运算处理行切割后的字符段落,以还原盲文字符原有尺寸;③对膨胀后的字符段落进行垂直方向上的像素投影,为确保投影后潜在字符区域内可完整包含盲文的所有结构点,保守地选择最大字宽数值以确定盲文字宽,并通过最小区域间隔修正相邻的盲文字符字宽,即在最大字宽条件下从左至右扫描同一行切割段落上的所有字符,以前一个字符区域的右边界作为后一个字符区域的左边界,扫描过程基于腐蚀还原后的字符段落。图4 给出了如图2(b)所示第一行部分盲文图像的字符提取结果。

图3 盲文字符的点位形态结构图

图4 基于改进投影法的独立盲文字符提取

1.3 基于BP神经网络的盲文字符识别

由图3 所示的盲文字符形态结构可知,一个盲文字符由6 个点位结构组成,每个点位结构各有两种不同的状态(即开或关),不同于普通文本文档中的字符识别任务,盲文字符总数仅为26=64,所以盲文字符识别任务面对的是一个64 类模式分类问题。直接将提取后的盲文字符区域通过像素灰度值并接方式(即采用先按行后按列的模式逐一提取字符区域的像素灰度值)转成对应的特征向量,并采用适合多类模式分类的BP 神经网络算法构建判别字符特征向量的分类器。

鉴于盲文字符识别面临的是较多模式类别(相比较于多数产品缺陷检测或质量评判问题)的分类问题,常规单隐含层结构的BP 神经网络可能难以较好地拟合盲文字符的特征向量,为此,分别采用基于双隐含层和三隐含层结构的BP 神经网络模型建立策略。在上述两种结构的BP 神经网络模型中,设置隐含层神经元数量分别为10、20、32、64、200 和784 个,以探讨隐含层神经元数量对盲文字符识别结果的影响程度;其中,隐含层和输出层的激活函数均采用Logistic 函数。

2 实验结果

2.1 实验数据

这里共采集了200 幅分辨率为800 像素×480 像素盲文图像,按4:1 的方式随机将其划分为训练数据集(包含160 幅图像)和测试数据集(包含40 幅图像),并提取出训练数据集中的所有盲文字符组成训练样本集;为训练一个具有良好泛化性能的BP 神经网络模型,对训练样本集中的各类别字符通过随机旋转和平移的方式适当扩充训练数据总量,如此,每类盲文字符各包含1200个训练样本,64 类盲文字符共有76800 个训练样本,充足的训练样本数量有利于避免BP 神经网络模型对少量数据的过拟合效应,图5 给出了部分训练样本示例,所有训练样本均被尺度缩放至28×28 像素。40 幅测试图像中共包含待识别字符总数为19200,且所有字符均通过人工标定以形成算法验证的客观标准。

图5 部分盲文字符训练样本示例

2.2 盲文字符识别结果与讨论

文中实验运行在搭载Intel i5-6300HQ(2.30 GHz)CPU 和8 GB 内存的计算机平台上,相关算法的运行环境为MATLAB R2017a。基于不同隐含层层数及神经元数量的BP 神经网络参数设置条件下,表1 给出了常规投影法[9]和文中改进投影法在40 副测试图像上的盲文字符提取准确率,该准确率定义为测试图像中被正确识别的字符数量与字符总数(19200)之比。

表1 不同投影方法及BP 神经网络结构参数配置下的盲文字符识别准确率

从表1 中可以看出,不管基于何种字符提取方法(投影方法),最终的盲文字符识别准确率与BP 神经网络隐含层层数关联度较小,即在同一神经元数量配置的前提下,双隐含层与三隐含层结构的网络模型具有类似的识别结果;但在隐含层层数相同的前提下,BP神经网络的字符识别结果对隐含层神经元的数量非常敏感。显然,随着隐含层神经元数量的增加,BP 神经网络更适合于盲文字符识别任务,可能是因为隐含层神经元数量的增多有利于保证获得更为精确的非线性拟合结果,可显著提高包含64 个不同类别模式的盲文字符识别结果;此外,当隐含层神经元数量大于200时,BP 神经网络在测试数据集上的字符识别性能逐渐趋于饱和;值得指出的是,隐含层神经元数量的增加会显著提高BP 神经网络的训练时间,如神经元数量为784 时三隐含层结构的训练时间耗费约为1 h 23 min 14 s、神经元数量为784 时双隐含层结构的训练时间耗费约为21 min 45 s,而神经元数量为200 时三隐含层结构的训练时间耗费为4 min 9 s、神经元数量为200时双隐含层结构的训练时间耗费仅为3 min 17 s。为权衡网络模型的识别性能和训练时间开销,对于盲文字符识别任务来说可选取双隐层且神经元数量为200的BP 神经网络结构,此时在测试图像上已获得了95.32%的识别准确率。可以得出,传统BP 神经网络所需的计算开销显著低于基于深度学习的字符识别方法,但也能获得较为满意的识别结果。

图6 图4所示盲文字符区域的常规投影法提取结果

另外,由表1 还可以看出,基于常规投影法的BP神经网络模型并不适合于盲文字符识别任务,这是因为多数模式类型的盲文字符无法被准确提取出来。图6 给出了采用常规投影法切割如图4 右上区域所示盲文图像的字符提取结果,与图4 所示的改进投影法相比:①空方字符被常规投影法错误切割为背景区域,导致空方字符无法送入后续的网络模型进行判别,继而影响这类字符的召回率;②独立完整的盲文字符可能被错误切割成不同组分,这是由于盲文字符具备如图3所示的形态结构,明显有别于普通文本文档中的字符结构,如英文字符识别任务中几乎所有字符均具备全连接结构,但盲文字符左右两侧的点位结构并不存在全连接性,因此极容易被常规投影视为不同的独立字符,进一步提高了字符提取失败的可能性。

3 结语

提出了一种基于字符形态结构特征和BP 神经网络的盲文字符识别方法,主要结论如下:

(1)结合较大结构元形态学膨胀运算、Canny 边缘检测算子和Hough 变换算法能有效校正盲文图像的旋转畸变,有利于降低扫描过程对纸质盲文成像视角的要求,从而提高后续字符识别模块的场景适应性;

(2)借助形态学基础算子改善盲文字符点位结构的整体连接性,相比于传统投影法,基于盲文字符形态结构连接约束的改进投影法能显著提高独立盲文字符提取的准确性;

(3)采用双隐含层结构的BP 神经网络模型,当每层神经元数量约为200 个时,能在较少计算开销的条件下,获得较为准确的盲文字符识别结果,可望进一步提高盲文识别系统的实用价值。

猜你喜欢

盲文字符神经元
制作盲文书籍,点亮黑暗世界
Python实现图片转字符画
Making Braille children
AI讲座:神经网络的空间对应
正则表达式快速入门
图片轻松变身ASCⅡ艺术画
仿生芯片可再现生物神经元行为
这个神经元负责改变我们的习惯
韩国首推盲文护照
研究人员精确定位控制饮酒的神经元