基于贝叶斯算法的手写文字识别设计

赵云 许晶 周莉莉

【关键词】贝叶斯决策;文字识别

近年来模式识别技术被广泛应用[1]。在我们的日常生活中,大数据中文本数据占相当大的比例,例如使用聊天工具QQ,WeChat,Ding Talk等软件工具时,当遇到的图像中有喜欢的话语、篇幅很长的文章时,由于边看图像边打字不方便以及没有耐心打完所有字体时,这时候文字识别系统就发挥了极大的作用。

汉字识别技术目前主要分为印刷体汉字识别和手写体汉字识别为两大类,手写文字识别是指通过扫描设备将纸张上的文字信息变为数字图像输入计算机,然后利用计算机对图像中的文字进行识别的方法[2]。

常見的文字识别算法主要有最近邻算法,支持向量机,以及BP神经网络算法等。本篇所讲述的是基于最小错误贝叶斯算法,此算法也是平时最常见和简单的方法之一,在常见的模式识别问题中,其目标往往是尽量减少分类的错误,运用概率观点中的贝叶斯公式,以追求最小的错误率。按照贝叶斯的判定原则,如果我们要预测某个样本处于哪一种类型,需要计算所有的后验概率P(A|B),其中后验概率最高的那一种类型便是预测的类型。

本文中手写文字识别系统主要使用最小错误率的贝叶斯决策,如公式(1)所示。

基于最小错误率的贝叶斯决策模型,需要预先知道先验概率 和类条件概率密度 ,概率密度 反映了特征值 在类 的概率。

(一)创建字库

1、图像预处理

基于贝叶斯算法对手写文字进行识别,需要对待识别图片进行预处理。

对样本图片从处理到识别需分步骤进行,具体研究过程流程图如图1所示。

首先读取训练样本,对样本进行二值化处理,设置二值化的阈值,通过阈值判断图像是否为目标,是则继续判断,否则作为背景,得到完整的二值化图像。

接着利用imerode函数和imdilate函数对图像进行腐蚀和膨胀操作,腐蚀与膨胀处理是一对逆操作,简单理解为膨胀可以处理缺陷问题,腐蚀可处理不光滑的问题。膨胀就是填补缺陷,腐蚀腐蚀毛刺。图像的膨胀原理是通过对输入图像中高亮区域进行膨胀处理,将高亮区域扩大。图像的腐蚀过程恰恰与膨胀过程相反,主要通过对输入图像中的高亮区域进行腐蚀处理,将原有图像中高亮区域缩小。[4]

2、图像切割创建字库

在循环中读入训练样本图片后,首先确定文字的区域,将预处理后得到的图像信息转化为double型数组,对数组纵向扫描确定Y方向上的文字区域,同理横向扫描确定X方向上的文字区域,根据X和Y方向上的文字区域即可确定文字的整体区域。

使用bwareaopen函数删除杂质图像,将扫描区域局限于以文字为边界的方形区域内,避免杂质的影响。利用charslice函数对每个分离的字符图片进行文字区域限定,因为需要判断的文本字体大小相差不大,同时为了方便代码执行,这里将每个字符大小规格化为40×40。

得到的最终分割图片,在循环中按照顺序依次对其进行命名并保存在文件夹中,从而创建了字库,其中一个训练样本的切割结果,如图2所示;创建的字库部分展示,如图3所示。

(二)特征提取及样本训练

读入生成的单字库,设计每个样本图片仅包含12个中文字符,即“贝叶斯算法的手写文字识别”。接着对每个单字图片提取汉字特征值[5]。这里使用网格特征选择,定义将每个待处理文字图形的长、宽进行十等分,即能分为100份,样本等分如图4所示。

模板的大小可根据具体问题变化,且分类结果的精确度与等分的大小呈正相关。由于每一个样本仅识别12个汉字,因此,只需考虑10×10大小的模板即可。

由于处理过后的图片,其上所有像素点的值,非黑(0)即白(255),因此要待测样本和这些像素点的值有关。本文对分出的这100个区域,计算黑色像素点占比ratio,如公式(5)所示,其中count表示黑色像素点的个数,cellRow*cellCol为总像素点个数。

由此可得到100个介于0至1之间的小数。我们将其用1×100的向量表示,即图片的特征向量。

对每个单字库图片提取特征值后,依次将所有的样本数据保存在文件中,样本特征提取完成。

如图将“文字识别”作为待测样本输入到程序中,首先对待测样本进行预处理以及图像切割成单字图片,待测样本切割图如图5所示,对其进行特征提取通过贝叶斯分类器分类识别出的结果如图6所示。

最小错误率的贝叶斯决策就是按后验概率的大小判断,对比出最大后验概率所属类别的判决函数值[6],就归于哪个类别。贝叶斯分类器首先分析出先验概率prior,即出现每个汉字的可能性,接着对每个字库的汉字的每个10*10的模块进行处理,经过计算得到类条件概率,接着根据这些条件代入贝叶斯公式,得到后验概率,计算概率最大值和其所在位置,可得到汉字的类号。

本研究结果表明基于贝叶斯分类器算法可运用于手写文字图像识别这一模块。在实际问题研究中,一般存在一些不精确的条件概率密度,需要人为估算出线性函数或非线性函数,会对结果造成一定的误差。通过对图像进行灰度化,二值化,腐蚀,切割和膨胀等操作实现文字的特征提取,并对样本进行训练,再基于最小错误贝叶斯分类器对文字进行识别,代码运行结果与预期结果一致。文字识别这一模块在智能化未来会有很大的发展空间,在现实生活中,识别应用还未普及到日常生活中,可对这一领域进行深入研究。

猜你喜欢像素点贝叶斯样本基于像素点测量的瓶盖检测算法现代盐化工(2021年3期)2021-08-27基于像素点的面积计算在蜂窝麻面图像的应用电脑知识与技术(2021年2期)2021-03-24一种X射线图像白点噪声去除算法现代电子技术(2018年18期)2018-09-12基于canvas的前端数据加密电脑知识与技术(2018年35期)2018-02-27租赁房地产的多主体贝叶斯博弈研究智富时代(2018年11期)2018-01-15租赁房地产的多主体贝叶斯博弈研究智富时代(2018年11期)2018-01-15贝叶斯网络概述科教导刊·电子版(2017年32期)2018-01-09贝叶斯公式的应用和推广数学学习与研究(2017年10期)2017-06-22直击高考中的用样本估计总体中学生数理化·高一版(2017年2期)2017-04-25随机微分方程的样本Lyapunov二次型估计数学学习与研究(2017年3期)2017-03-09 相关热词搜索: 手写 算法 识别