2. 解放军69230部队,新疆 乌苏 833000
2. No.69230 Troops of PLA, Wusu 833000, China
我国的盲人数量约为752万人,是全球盲人数量最多的国家[1]。随着从事音乐工作的盲人越来越多,盲文成为盲人与常人进行书面交流的主要方式,但用其创作的音乐作品仍然需要人工的转换和翻译,所以急需一种自动盲文音乐识别方案。文献[2]最早使用硬件设备采集普通盲文内容的图片,虽然可通过光学识别出相应内容,但是缺乏与用户的交互性。文献[3]设计了一个单面盲文图片的智能识别系统,包括图像采集、噪声消除、图像分割、特征提取和字符识别等步骤,其识别率达到94.39%,但使用了固定盲文单元大小和盲文点的位置来识别盲文符号,其可扩展性极其有限。文献[4]提出了一种用于识别双面盲文内容的高效算法,即通过对凸点和凹点的灰度值变化来区分正面点和反面点,识别率虽然比较乐观,但其局限性在于当正面点和反面点重叠较多时,对每个盲文点的质心检测和识别会出现很多歧义,其识别效果也因此受到较大影响。文献[5-7]采用传统的方法对盲文音乐符号进行识别,其中文献[7]以MusicXML作为中间桥梁来实现盲文的转换,并由此设计了从MusicXML到盲文乐谱ASCII码的自动转换软件。文献[8]提出一种基于深度学习模型识别盲文字符的方法,使用堆叠去噪自动编码器来解决盲文识别过程中特征自动提取与降维等问题,利用SDAE自动学习盲文点字的图片特征,使用Softmax分类器进行盲文识别。文献[9]提出将双面阿姆哈拉盲文图片翻译为阿姆哈拉文的系统。该系统使用方向场张量从背景中分割盲文点,使用梯度场识别正面点和反面点;对于重叠盲文点的分割是该文的核心内容,使用盲文点的属性(质心和面积)来分割重叠点并且提出了相应的正面点和反面点识别算法。文献[10]使用人工神经网络对单面的阿姆哈拉图片进行识别,采用自适应直方图均衡化和形态学操作相结合来对文件中的不同等级的噪声进行降噪处理,并在识别阶段采用人工神经网络和二进制编码相结合的形式进行盲文图像识别,识别率达到95.5%。文献[11]采用BP神经网络对英语盲文数字(0~9)图像进行识别。该文展示了BP神经网络的参数设置以及图像的特征提取过程,其训练精度达到97.1%,测试精度达到85%。文献[12]在FCM和KNN的启发下,提出了一个模糊的聚类算法和一种新的数字特征检测算法,称之为斑点检测算法,即在4个扫描方向上扫描1个盲文单元,从而生成1个八进制编码。然后模糊分类算法根据生成的八进制编码来识别相应的盲文字符,识别精度达到83%。上述这些研究存在识别过程较烦琐、识别度较低、泛化能力较差等问题。
为了使研究具有较强泛化能力和较高识别度,同时简化其识别过程,本文从盲文音乐图片的结构出发,应用卷积神经网络的识别模型,并在Tensorflow深度学习框架下进行实验。实验表明,采用卷积神经网络模型来识别盲文音乐图片具有较为乐观的结果。
1 识别模型卷积神经网络(convolutional neural network, CNN)因其具有独特的结构[13-15],在进行图像特征提取的同时,还能够提取更细节的图像信息。这样不仅解决了多数的传统神经网络中参数较多、训练缓慢的难题,而且还防止了过拟合的出现。自2016年AlphaGo战胜世界围棋冠军李世石以来,卷积神经网络再一次被推向浪潮,尤其是在计算机视觉领域的研究更是大热。卷积神经网络具有了两个很重要的特点:
1)共享权值[16-17]。传统的神经网络中每一层的权值w仅使用一次 ,而当下一次使用时便会重新生成不同的权值w。但在卷积网络中,卷积核要与图像中的每个像素值(输入向量)进行卷积运算,所以仅需要一组权值即可。当输入向量与该组权值运算完毕时,则表明该次卷积操作结束。共享权值的设计在前向传播阶段并未缩减消耗时间,但是却在某种程度上将整个模型所需要的权重参数的数量大大降低,很大程度上提高了计算机的运算性能。在进行卷积运算时,卷积核按照给定的步长s在输入图像上从左到右、从上到下依次进行滑动,直至操作结束。相对于传统的神经网络而言,卷积神经网络的参数数量不仅降低了,而且其运算速度也在一定程度上提高了。
2)稀疏连接[18]。为了挖掘图像空间局部关联的信息,卷积神经网络采用了通过加强神经网络中相邻层之间节点的局部连接模式,而摒弃了全连接的方式,即采用核少于输入的方式来完成。例如,如果有m个输入n个输出,传统的神经网络会把每个输出与每个输入进行矩阵乘法运算,则时间复杂度为
在传统的盲文音乐识别方法中,人工介入的工作量较大。尽管目前部分传统模型提出的算法在一定程度上能够实现对盲文图像的特征提取,但是对于以点状为基本组成且难以分辨的盲文音乐图片而言,其识别的效果并不理想,这归咎于其弱学习能力和弱适应性。而相比之下,近年来发展迅速的CNN的效果却较为乐观[19-20],表现出较高的识别精准率和较强的泛化能力。
2.1 图像预处理盲文音乐图片的分辨率因受多种因素的影响而不尽相同,为了达到良好的识别效果,还需要进行一定的图像处理过程。本文在对盲文音乐图像识别前,先对图像进行了预处理操作,包括降噪处理、倾斜校正、形态学处理、水平/垂直投影分割、点位标记、盲文单元切割等,其预处理前后的对比效果如图1所示。
Download:
|
|
图2 为盲文音乐图像识别的卷积神经网络模型结构。该识别模型有1个输入层,3个卷积层(C1、C3、C5),2个池化层(S2,S4),2个全连接层以及1个输出层[21]。卷积层的作用是:对盲文音乐图像进行特征提取,进而确定其周围特征参数的位置关系,实验采用多层卷积层,以便可以获得更深层次的特征图。池化层是特征映射层,其主要作用是:对输入的特征图进行压缩,简化网络计算复杂度,提取主要特征。输出层即展示盲文音乐图像的分类结果。
Download:
|
|
1)输入层。将预处理后的图像作为该模型的输入。图3为训练集中的多个样例图片,每个图像的大小为32×64,即该识别模型的输入维度为2 048。
Download:
|
|
2)C1层。主要作用是首次进行提取图像的特征参数,它会过滤掉多余的特征。C1层与输入层传入的数据进行模板匹配运算,从而得到了给定数量的输出特征[22]。卷积核的作用并不是单纯地计算卷积操作后的结果,而是在给定的权重矩阵下对输入的图像数据进行匹配运算操作。若卷积核尺寸过大,网络参数会增多,网络速度会降低,过小则会影响特征提取的精度,所以卷积核的大小选择尤为关键。在此次卷积神经网络的识别模型中,每个卷积层均采用大小为3×3的卷积核,可以降低该模型的参数数量。给定输入层的维度为32×64,C1层的卷积核大小设置为3×3,并设置32个卷积核,步长为1。图4为卷积神经网络的卷积操作过程。
Download:
|
|
通过该卷积操作就可获得大小为30×62的特征图。为了保证卷积前后的图像大小保持一致,在这里采用“same”卷积方式,从而保证卷积后得到特征图的大小仍为32×64。为了保证不丢失图像的边缘信息,在后面的卷积层(C3、C5)都采用该操作。
由于每个滤波器会得到一个特征图,经过C1层的卷积操作,如图5所示,图2中的盲文音乐图像可得到32个不同的特征图。某些特征图中的盲文点边界比较清晰,例如第1行第7个特征图,这说明该卷积层提取到了图像中盲文音乐符号的主干信息。其次也可以看出每个特征图的具体状态迥异,这是因为每个卷积核的权值信息不同,因而学习到的特征不同。
3)S2层。该池化层的主要作用是对特征的具体位置进行淡化。当提取某个特征之后,只需了解该特征与其他特征的相对位置,例如图3中的盲文音乐字符,当得到上层的特征之后,就不用再考虑其字符的具体位置,只要得到下面对应的特征,并将上下二者有效地组合在一起便是要识别的盲文音乐字符。
Download:
|
|
在卷积神经网络中,特征所对应的具体位置将不再重要。对C1层卷积后的结果进行池化操作,即得到32个大小为16×32的结果,输出的维度相比该层输入的维度缩减了一半。该层是通过池化操作实现二次特征提取的,有效地减少了输入数据的参数数量,降低了图像的大小,简化了网络计算的复杂度。同时,它还可减弱卷积层的输出在角度变形或拉伸变化方面的敏感程度,进行主要特征提取。
如图6为整个池化操作过程,该操作是利用池化参数来进行最大下采样操作,池化层中的步长s设置为1,其权值矩阵设置为2×2。在C1层的输出特征图中,对每个特征图中进行下采样操作,根据图6所示此规则输出S2层的输出结果,但是尺寸大小缩小为原来的一半[22]。
Download:
|
|
S2层的下采样操作后得到如图7所示的32个尺寸大小为16×32的特征图。从图7中可以看出,除了图像的尺寸大小发生了变化之外,还忽略了部分盲文音乐符号的细节信息。
Download:
|
|
4)C3层。C3层的卷积操作建立在S2层的基础上,其卷积操作与C1层类似。主要是对S2层的输出进行再卷积操作,进行特征再提取。在C3层中,将卷积核的数目设置为64,即可得出64个大小为14×30且图像内容各不相同的特征图。在该层使用“same”卷积操作后,最后得到特征图的尺寸大小为16×32。值得注意的是,输入与输出的特征图虽然在尺寸上大小相同,但是最终得到的特征图数目却不一样,其中32个S2层的特征图作为C3层的输入,最终得出了如图8所示的64个C3层的结果特征图。在图8中可以发现,其盲文点的边缘信息越来越突出。
Download:
|
|
图9所展示的是S2层与C3层之间的关联和映射,从图中可以看出这些连接并不是一一对应的关系。卷积神经网络这样设计的优点是:消除了网络的对称性,从而让映射的数量保持在一定的范围之内;增加了特征映射的多样性,从而实现了不同特征的有效提取和传递。
Download:
|
|
5)S4层。该层是识别模型最后一个池化层,S4层是对C3层的输出结果进行池化操作,其操作与S2层的操作类似。通过S4层的下采样操作得到如图10所示的64个大小为8×16的特征图。
6)C5层。C5层是识别模型的最后一个卷积操作,作用是进一步提取图像特征。该操作与之前的卷积操作类似,但是此处将卷积核的个数设置为128。因此得到128个大小为8×16的特征图,如图11所示。
Download:
|
|
Download:
|
|
7)输出层。为了确保输出层的分类数量与实际的64个盲文符号数相一致,实验的模型在最后采用了两个全连接层使得卷积层C5能够和输出分类关联上,即输出层有64个神经元数量。在输出结果时,本文使用softmax函数对盲文音乐符号进行分类,用dropout函数来防止过拟合现象。
3 图像数据集为了增强此次盲文所训练的基于卷积神经网络识别模型的泛化能力,前期需要大量具有代表性的训练样本,供其学习并获得可观的模型。然而,由于盲文本身的局限性图像化的数据集更是相对匮乏,目前公认的数据集主要来源于:1)线下纸质的扫描文件,主要通过现有的OCR技术对图像中的盲文字符进行提取,但这种提取质量很大程度上受限于扫描文件本身的质量(分辨率)、OCR技术的缺陷(光线敏感)、纸质盲文的规整性;2)线上互联网共享的盲文图片,图片的分辨率、位深等属性较为可观,通常可以取得较好的识别效果;3)电子版音乐文件,可以通过预处理获得较高质量的盲文图片,组成较好的数据集。另外,受限于版权,实验采集到的前2种盲文音乐图片数量极其有限,主要是采用第3种盲文音乐图片作为训练集,后期的研究可以在取得相应许可后进行大规模数据的采集,以便于模型本身能够有更好的兼容性。
本文采集的6 400张经过预处理后的盲文音乐符号图片(10个盲文数字、28种常用符号和26个英文大写字母)中,总共有64个盲文音乐符号,每个符号对应100张图片。对于每个盲文音乐符号,实验随机选择其中的80张作为训练集,剩余的20张作为测试集。其主要的划分情况如表1所示。
现实中电子版的盲文字符表现形式有多种,主要形式如图12所示,该图展示了测试集中的样例图片。
Download:
|
|
结合构建的基于卷积神经网络的盲文音乐识别模型,本节编写出相应的盲文音乐图像训练算法以及测试算法,对应的伪码描述分别如算法1和算法2所示。
算法1 CNN盲文识别模型训练算法
输入 TRAIN_IMAGES是训练集,EPOCH是迭代次数,BATCH_SIZE是迭代量,TRAIN_ERROR是错误率;
输出 y 是分类结果。
1) random(w);
2) random(b);
3) for i=1 in EPOCH :
4)
5)
6)
7)
8) if Error>TRAIN_ERROR
9) update (w); update (b)
Continue step 3;
10) else
11) update (w); update (b);
12) end
13) end
14)保存训练后的CNN模型y,其中y=x×w+b;
15) end
算法2 CNN盲文识别模型测试算法
输入 TEST_IMAGES是测试数据集,TEST_SIZE是测试数据量;
输出 test_accuracy是正确率。
1) random (w); random (b);
2) load训练模型为y;
3)
4)获取测试图片数据text_x与对应的标签值y_true;
5)
6)其测试正确率为
7) output test accuracy
5 实验结果分析在该阶段,为了验证实验建立的卷积神经网络识别模型的有效性,实验中的权重参数的初始化一律采用随机数。其次,为了使得模型在训练时不过早地陷入饱和,影响卷积神经网络的学习能力,实验采用的随机数会比较小。
本次实验中的训练和测试都以分批迭代的方式来进行的,分别迭代200次训练,并且每20次输出测试数据的正确率。通过训练和测试,正确率的变化趋势如图13所示,通过分析可见在迭代140次后该模型的正确率走向趋于平稳,并接近1。这是因为:盲文音乐符号的结构相对而言较简单(以点状为主要特征),且在训练和测试时使用的图片的分辨率较高,即图像的质量较好;其次,识别模型对盲文音乐图片中盲文音乐符号的特征提取较为容易,从而可以快速地进行盲文音乐符号的识别。本次实验也存在许多不足,例如:受限于版权,数据集资源过小,来源也较单一。这些都需要在后期的研究中进行改进,从而达到更好识别性能。
Download:
|
|
就总体识别效果而言,本文所训练的模型的识别准确度优于多数流行的方法,其对比图如表2所示。因为本文的盲文音乐图片是基于单面形式的盲文图片,所以此处的对比只限于单面盲文图片的识别对比。将CNN模型与近几年来所使用的前馈神经网络[10]、BP神经网络[11]、模糊分类算法[12]、标准距离定位法[23]作对比,由此可见本文中盲文音乐图像的识别正确率均高于其他方法。
本文首次尝试了将卷积神经网络识别模型应用于盲文音乐图片。在识别过程中,首先对盲文音乐图片进行了预处理操作,以便于获得更好的输入图片。其次,本文展示了通过卷积层、池化层等处理后的盲文音乐图片的特征图。在展示特征图的同时,对识别模型的细节也进行了说明,例如关键参数的设定。最后,通过对实验结果进行分析,可以发现该模型可以很好地提取到盲文音乐符号的特征,对盲文音乐具有良好的识别效果。当然本文也存在诸多不足之处,例如对数据集的选取较单一,若可以采集到现实生活中纸质的盲文书籍,那么数据集就较为充实,该识别模型就可以广泛用到生活中,可以减少盲文识别对人工操作的依赖性。
[1] | MARIOTTI S P. Global data on visual impairments 2010[R]. Geneva: World Health Organization, 2012: 1–17. (0) |
[2] | ANTONACOPOULOS A, BRIDSON D. A robust braille recognition system[C]//6th International Workshop on Document Analysis Systems. Florence, Italy, 2004: 533–545. (0) |
[3] | MOUSA A, HIARY H, ALOMARI R, et al. Smart braille system recognizer[J]. IJCSI international journal of computer science issues, 2013, 10(6): 52-60. (0) |
[4] | SHREEKANTH T, UDAYASHANKARA V. An algorithmic approach for double sided Braille dot recognition using image processing techniques[J]. International journal of image processing and visual communication, 2014, 2(4): 1-6. (0) |
[5] |
王倩倩. 基于DSP的简谱识别和盲文乐谱转换算法研究与实现[D]. 沈阳: 东北大学, 2013. WANG Qianqian. Research and implementation of numbered musical notation identification and braille musical translation algorithm based on DSP[D]. Shenyang: Northeastern University, 2013. (0) |
[6] |
黄河燕, 周强, 沈鑫, 等. 基于对节记谱法的盲文乐谱自动排版方法及装置 : CN105719626A[P]. 2016-06-29. HUANG Heyan, ZHOU Qiang, SHEN Xin, et al. Automatic braille music score typesetting method and device based on by-rhythm stave memorizing method: CN105719626A[P]. 2016-06-29. (0) |
[7] |
张志强. 视障乐谱转换软件SunMusic的设计实现[D]. 兰州: 兰州大学, 2016. ZHANG Zhiqiang. The design and implementation of music conversion software SunMusic for visually impaired[D]. Lanzhou: Lanzhou University, 2016. (0) |
[8] |
李婷. 基于深度学习的盲文识别方法[J]. 计算机与现代化, 2015(6): 37-40. LI Ting. A deep learning method for braille recognition[J]. Computer and modernization, 2015(6): 37-40. DOI:10.3969/j.issn.1006-2475.2015.06.008 (0) |
[9] | ALI H S, ASSABIE Y. Recognition of double sided Amharic braille documents[J]. International journal of image, graphics and signal processing, 2017, 9(4): 1-9. DOI:10.5815/ijigsp (0) |
[10] | JIBRIL E C, MESHESHA M. Recognition of Amharic braille documents[C]//The 5th International Conference on the Advancement of Science and Technology. 2017, 15: 22–29. (0) |
[11] | WALEED M. Braille identification system using artificial neural networks[J]. Tikrit journal of pure science, 2017, 22(2): 140-145. (0) |
[12] | AL NASSIRI A, ABDULLA S. A fuzzy classification and recognition system for arabic braille segmented characters[J]. International journal of applied engineering research, 2018, 13(6): 3662-3669. (0) |
[13] | KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, Nevada, 2012: 1097–1105. (0) |
[14] | SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv: 1409.1556, 2014. http://cn.bing.com/academic/profile?id=9a83dddfc646cd21a3e38737d303a369&encoded=0&v=paper_preview&mkt=zh-cn (0) |
[15] | HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA, 2016: 770–778. (0) |
[16] |
周飞燕, 金林鹏, 董军. 卷积神经网络研究综述[J]. 计算机学报, 2017, 40(6): 1229-1251. ZHOU Feiyan, JIN Linpeng, DONG Jun. Review of convolutional neural network[J]. Chinese journal of computers, 2017, 40(6): 1229-1251. (0) |
[17] |
常亮, 邓小明, 周明全, 等. 图像理解中的卷积神经网络[J]. 自动化学报, 2016, 42(9): 1300-1312. CHANG Liang, DENG Xiaoming, ZHOU Mingquan, et al. Convolutional neural networks in image understanding[J]. Acta automatica sinica, 2016, 42(9): 1300-1312. (0) |
[18] |
李彦冬, 郝宗波, 雷航. 卷积神经网络研究综述[J]. 计算机应用, 2016, 36(9): 2508-2515, 2565. LI Yandong, HAO Zongbo, LEI Hang. Survey of convolutional neural network[J]. Journal of computer applications, 2016, 36(9): 2508-2515, 2565. (0) |
[19] |
周俊宇, 赵艳明. 卷积神经网络在图像分类和目标检测应用综述[J]. 计算机工程与应用, 2017, 53(13): 34-41. ZHOU Junyu, ZHAO Yanming. Application of convolution neural network in image classification and object detection[J]. Computer engineering and applications, 2017, 53(13): 34-41. DOI:10.3778/j.issn.1002-8331.1703-0362 (0) |
[20] | GU Jiuxiang, WANG Zhenhua, KUEN J, et al. Recent advances in convolutional neural networks[J]. Pattern recognition, 2018, 77: 354-377. DOI:10.1016/j.patcog.2017.10.013 (0) |
[21] | LI Yangyan, SU Hao, QI C R, et al. Joint embeddings of shapes and images via CNN image purification[J]. ACM transactions on graphics (TOG), 2015, 34(6): 1-5. (0) |
[22] |
卢宏涛, 张秦川. 深度卷积神经网络在计算机视觉中的应用研究综述[J]. 数据采集与处理, 2016, 31(1): 1-17. LU Hongtao, ZHANG Qinchuan. Applications of deep convolutional neural network in computer vision[J]. Journal of data acquisition and processing, 2016, 31(1): 1-17. (0) |
[23] |
李念峰, 董迎红, 肖志国. 基于图像处理的盲文自动识别系统研究[J]. 制造业自动化, 2012, 34(3): 63-67. LI Nianfeng, DONG Yinghong, XIAO Zhiguo. Study on image processing based braille automatic identification system[J]. Manufacturing automation, 2012, 34(3): 63-67. DOI:10.3969/j.issn.1009-0134.2012.2(s).24 (0) |