公开/公告号CN105184292A
专利类型发明专利
公开/公告日2015-12-23
原文格式PDF
申请/专利权人 北京云江科技有限公司;
申请/专利号CN201510531070.4
申请日2015-08-26
分类号G06K9/32(20060101);G06K9/62(20060101);G06N3/02(20060101);
代理机构北京博维知识产权代理事务所(特殊普通合伙);
代理人高萍
地址 100083 北京市海淀区中关村东路16号龙湖唐宁8幢2801
入库时间 2023-12-18 12:59:36
法律状态公告日
法律状态信息
法律状态
2018-08-03
授权
授权
2018-07-06
著录事项变更 IPC(主分类):G06K9/32 变更前: 变更后: 申请日:20150826
著录事项变更
2016-01-20
实质审查的生效 IPC(主分类):G06K9/32 申请日:20150826
实质审查的生效
2015-12-23
公开
公开
技术领域
本发明涉及图像处理与模式识别技术,特别是涉及自然场景图像中手写体数学公式结构分析与识别的方法。
背景技术
OCR(OpticalCharacterRecognition,光学字符识别)技术有着广泛的应用,针对中文和英文的OCR识别技术都比较成熟,但目前对于数学公式这种有复杂的结构的情况,目前的OCR技术没有很好的支持,本发明着重解决这一有很强应用需求的问题。
发明内容
本发明提供的自然场景图像中手写体数学公式结构分析与识别方法,可以有效地解决OCR识别中初等数学公式的表示问题。
本发明的自然场景图像中手写体数学公式结构分析与识别方法,包括:
步骤S1:将自然场景图像的灰度矩阵转换为局部对比度矩阵,使用otsu(大津阈值)法对得到的局部对比度矩阵进行二值划分,得到二值矩阵;
步骤S2:对步骤S1中二值矩阵进行连通域分析,剔除非字符连通域,得到字符连通域;
步骤S3:采用相关系数法对步骤S2中的字符连通域进行公式特殊结构元素检测,并对所有检测到的特殊结构元素进行单独标注;
步骤S4:采用水平投影法对步骤S1中的二值矩阵进行行划分;
步骤S5:采用卷积神经网络对每个字符连通域进行识别;
步骤S6:定义输出顺序,将识别结果按照对应的顺序,以latex(基于ΤΕΧ的排版系统)排版格式进行输出。
优选的,所述局部对比度矩阵中坐标为(i,j)的点的局部对比度Con(i,j)计算公式为:
Con(i,j)=αC(i,j)+(1-α)(Imax(i,j)-Imin(i,j))
其中,
Imax(i,j)和Imin(i,j)分别为图像的灰度矩阵中以坐标为(i,j)的点为中心的邻域的最大灰度值和最小灰度值,此处我们设置邻域的半径为5;
Std表示灰度矩阵的标准差,γ=1。
优选的,使用otsu法对得到的局部对比度矩阵进行二值划分的方法为:取局部对比度矩阵中最大值和最小值,将最大值和最小值之间等分为n份小区间,将每个元素划分到其对应的小区间中,形成直方图,在此直方图基础上进行otsu划分,小于所选阈值的点为背景点,大于所选阈值的点为字符点。
优选的,对步骤S1中二值矩阵进行连通域分析,剔除非字符连通域,得到字符连通域的方法为::
步骤S201:获取连通域的最小外包矩形,记录该最小外包矩形的四个顶点的坐标,计算出最小外包矩形的长度和高度;
步骤202:统计所有连通域的平均长度和高度;
步骤S203:进行非字符连通域的剔除:
如果某个连通域的长度和高度均小于平均长度和高度的1/4,则认为它是噪声点,剔除掉该连通域;
如果某个连通域的长度和高度均大于平均长度和高度的4倍,则认为它是图像中的非字符部分,剔除掉该连通域;
步骤S204:保存剩余连通域作为字符连通域。
优选的,步骤S3中所述公式特殊结构元素包括大括号、根号、分式线;
采用规则匹配法对分式线连通域进行检测:选择连通域的的长度与宽度之比大于5且连通域的上部和下部需有相邻连通域的连通域,并将该连通域标识为分式线连通域;
采用模板匹配法对于大括号连通域和根号连通域进行检测:
步骤S301:选择大括号连通域和根号连通域的标准二值模板;
步骤S302:将当前连通域的大小进行规范化,使它的大小和标准模板一样;
步骤S303:将标准二值模板分别与当前连通域进行匹配,
匹配的公式为相关系数公式,表示为:
其中,xi和yi分别表示当前模板和标准模板中第i个元素的值,和分别表示当前模板和标准模板的均值;r∈(0,1),当r值大于0.5时,匹配成功。
优选的,步骤S4中采用水平投影法对二值矩阵进行行划分的方法为:
对步骤S1中的二值矩阵进行水平投影后得到波形图,波形图横坐标的值为原图像的行数,纵坐标的值为当前行所包含的字符点的个数;
从波形图各个波峰处向其左右扩展,直到数值小于其波峰值的0.1倍时,停止扩展;若相邻两个波峰扩展时发生了重叠,则其对应的两行合并为一行;
记录每一行的起始和结束位置,波峰左端对应的横坐标即为当前行的起始行坐标,波峰右端对应的横坐标为当前行的结束行坐标。
优选的,得到每一行的起始和结束位置信息后,将每一个字符连通域与行对应,具体方法为:
计算每一字符连通域中心的水平坐标与各个文本行中心的水平坐标的距离,将字符连通域划分到距离最小的那一行中。
优选的,步骤S4中的卷积神经网络的结构为Lenet-5结构,该卷积神经网络由一个输入层、两个卷积和下采样层、一个全连接隐层和一个输出层组成;
所述卷积神经网络的训练数据为规范化后的字符连通域的样本;
将步骤S2中的字符连通域规范化后输入卷积神经网络,得到每一个字符连通域对应的字符。
优选的,步骤S6定义的输出顺序包括三层:
第一层顺序关系是行序关系:根据字符连通域与行的对应关系,按行输出相应的字符连通域;
第二层顺序关系是列序关系:在每一行内,所有字符连通域按照其左端列坐标进行升序排序;
第三层顺序关系是公式特殊结构中的序列关系:方程组中元素是按照每一个方程进行输出;分式元素是按照先分子、后分母的形式进行输出。
优选的,对于公式特殊结构中的序列关系,需要确定每一个公式特殊结构元素包含的字符块;
对于大括号,代表的是方程组这个特殊结构,需要确定方程组结束的列坐标,从而确定其包含的所有字符块;依据字符块所处当前行的位置,将其分为“上部、中部、下部”三个部分,凡是位于上部和下部的字符块,都认为是方程组中的元素,找出所有这样的字符块,以其中最右端的字符块的结束列作为整个方程组的结束列;凡是位于大括号和方程组结束列的所有字符块,都划分到当前方程组结构中;对方程组结构内部再次进行行划分,确定其内部含有几个方程,将方程组内部的字符块按照方程顺序进行输出;
对于分式线,需要确定当前分式所有分子和分母元素,凡是起始纵坐标大于分式线起始纵坐标,且结束纵坐标小于分式线结束纵坐标的字符块,都被划分到当前分式结构中;对分式结构中的字符块,需要进一步确定其是分子还是分母,确定方式根据字符块的横坐标决定:若字符块底部横坐标若小于分式线中心横坐标,则其属于分子;若字符块顶部横坐标大于分式线中心横坐标,则其属于分母;
对于根号,需要确定位于根号内部的字符块,凡是起始纵坐标大于根号起始纵坐标,且结束纵坐标小于根号结束纵坐标的字符块,都被划分到当前根号结构中;
根据上述行序关系、列序关系以及公式特殊结构中的序列关系,确定最终公式结构的输出,以latex(基于ΤΕΧ的排版系统)排版格式进行输出。
本发明有效地解决了OCR识别中初等数学公式的表示问题,实现了公式的准确识别。
附图说明
图1为本发明实施例提供的自然场景中手写体数学公式结构分析与识别方法的流程图;
图2为本发明实施字符识别采用的卷积神经网络的结构示意图。
具体实施方式
下面结合附图对本发明实施例提供的自然场景中手写体数学公式结构分析与识别的方法进行详细描述。
如图1所示,本发明实施例提供的自然场景中手写体数学公式结构分析与识别方法包括以下步骤:
步骤S1,将自然场景图像的灰度矩阵转换为局部对比度矩阵,使用otsu法对得到的局部对比度矩阵进行二值划分,得到二值矩阵;
本实施例中局部对比度矩阵中坐标为(i,j)的点的局部对比度Con(i,j)计算公式为:
Con(i,j)=αC(i,j)+(1-α)(Imax(i,j)-Imin(i,j))
其中,
Imax(i,j)和Imin(i,j)分别为图像的灰度矩阵中以坐标为(i,j)的点为中心的邻域的最大灰度值和最小灰度值,此处我们设置邻域的半径为5;
Std表示灰度矩阵的标准差,γ=1。
本实施例中使用otsu法对得到的局部对比度矩阵进行二值划分的方法为:取局部对比度矩阵中最大值和最小值,将最大值和最小值之间等分为1000份小区间,将每个元素划分到其对应的小区间中,形成一个长度为1000的统计直方图,对该直方图采用OTSU法进行二值划分,小于所选阈值的点为背景点,大于所选阈值的点为字符点。
步骤S2,对步骤S1中二值矩阵进行连通域分析,剔除非字符连通域,得到字符连通域,具体方法为:
步骤S201:获取连通域的最小外包矩形,记录该最小外包矩形的四个顶点的坐标,计算出最小外包矩形的长度和高度;
步骤202:统计所有连通域的平均长度和高度;
步骤S203:进行非字符连通域的剔除:
如果某个连通域的长度和高度均小于平均长度和高度的1/4,则认为它是噪声点,剔除掉该连通域;
如果某个连通域的长度和高度均大于平均长度和高度的4倍,则认为它是图像中的非字符部分,剔除掉该连通域;
步骤S204:保存剩余连通域作为字符连通域,依其最小外包矩形获取字符连通域的字符块。
步骤S3,采用相关系数法对步骤S2中的字符连通域进行公式特殊结构元素检测,并对所有检测到的特殊结构元素进行单独标注;
本实施例的公式特殊结构元素包括大括号、根号、分式线;
采用规则匹配法对分式线连通域进行检测:选择连通域的的长度与宽度之比大于5且连通域的上部和下部需有相邻连通域的连通域,并将该连通域标识为分式线连通域;
采用模板匹配法对于大括号连通域和根号连通域进行检测,标准模板采用的是32*32的矩阵,对于待检测的字符连通域的字符块,也需要规范化成32*32的矩阵,计算这两个矩阵的相关系数,若其大于0.5,则表示匹配成功,具体步骤为:
步骤S301:选择大括号连通域和根号连通域的标准二值模板;
步骤S302:将当前连通域的大小进行规范化,使它的大小和标准模板一样;
步骤S303:将标准二值模板分别与当前连通域进行匹配,
匹配的公式为相关系数公式,表示为:
其中,xi和yi分别表示当前模板和标准模板中第i个元素的值,和分别表示当前模板和标准模板的均值;r∈(0,1),当r值大于0.5时,匹配成功。
对所有检测到的特殊结构元素进行单独标注,以便后续进行结构分析。
步骤S4,采用水平投影法对步骤S1中的二值矩阵进行行划分;
对步骤S1中的二值矩阵进行水平投影后得到波形图,波形图横坐标的值为原图像的行数,纵坐标的值为当前行所包含的字符点的个数,以波峰为基础获取行信息;
规定相邻波峰的距离必须在10以上,对于距离小于10的两个波峰,仅保留峰值更高的一个,且规定波峰的高度最低得大于图像长度的二十分之一;
对于满足上述条件的波峰,从波峰左右两端同时往外扩展,直到数值小于波峰高度的0.01倍时,停止扩展,
从波形图各个波峰处向其左右扩展,直到数值小于其波峰值的0.1倍时,停止扩展;若相邻两个波峰扩展时发生了重叠,则其对应的两行合并为一行;若相邻两个波峰扩展时发生了重叠,则其对应的两行合并为一行;
记录每一行的起始和结束位置,波峰左端对应的横坐标即为当前行的起始行坐标,波峰右端对应的横坐标为当前行的结束行坐标。
得到每一行的起始和结束位置信息后,将每一个字符连通域与行对应,具体方法为:计算每一字符连通域中心的水平坐标与各个文本行中心的水平坐标的距离,将字符连通域划分到距离最小的那一行中。
因为方程组有时可能会被误划分成多行,因此规定,大括号所在的行数,不允许被分成多行。
步骤S5,采用卷积神经网络对每个字符连通域进行识别;
如图2所示,卷积神经网络的结构为Lenet-5结构,该卷积神经网络由一个输入层、两个卷积和下采样层、一个全连接隐层和一个输出层组成;
输入层样本大小为32*32,第一个卷积层特征图个数为6个,第二个卷积层特征图个数为16个,下采样层采用的是最大值输出的方式,行列都变为原来的一半,隐藏层结点个数是120个,输出层节点个数是84个;
训练样本为规范化后的字符连通域的样本,由通过上述二值化方式获得,即训练样本和预测样本获取的方式以及归一化的方式是一样的,这样做是为了提高识别准确率。
将步骤S2中的字符连通域规范化后输入卷积神经网络,得到每一个字符连通域对应的字符。
步骤S6,定义输出顺序,将识别结果按照对应的顺序,以latex排版格式进行输出;
定义的输出顺序包括三层:
第一层顺序关系是行序关系:根据字符连通域与行的对应关系,按行输出相应的字符连通域;
第二层顺序关系是列序关系:在每一行内,所有字符连通域按照其左端列坐标进行升序排序;
第三层顺序关系是公式特殊结构中的序列关系:方程组中元素是按照每一个方程进行输出;分式元素是按照先分子、后分母的形式进行输出。
对于公式特殊结构中的序列关系,需要确定每一个公式特殊结构元素包含的字符块;
对于大括号,代表的是方程组这个特殊结构,需要确定方程组结束的列坐标,从而确定其包含的所有字符块;依据字符块所处当前行的位置,将其分为“上部、中部、下部”三个部分,凡是位于上部和下部的字符块,都认为是方程组中的元素,找出所有这样的字符块,以其中最右端的字符块的结束列作为整个方程组的结束列;凡是位于大括号和方程组结束列的所有字符块,都划分到当前方程组结构中;对方程组结构内部再次进行行划分,确定其内部含有几个方程,将方程组内部的字符块按照方程顺序进行输出;
对于分式线,需要确定当前分式所有分子和分母元素,凡是起始纵坐标大于分式线起始纵坐标,且结束纵坐标小于分式线结束纵坐标的字符块,都被划分到当前分式结构中;对分式结构中的字符块,需要进一步确定其是分子还是分母,确定方式根据字符块的横坐标决定:若字符块底部横坐标若小于分式线中心横坐标,则其属于分子;若字符块顶部横坐标大于分式线中心横坐标,则其属于分母;
对于根号,需要确定位于根号内部的字符块,凡是起始纵坐标大于根号起始纵坐标,且结束纵坐标小于根号结束纵坐标的字符块,都被划分到当前根号结构中;
根据上述行序关系、列序关系以及公式特殊结构中的序列关系,确定最终公式结构的输出,以latex排版格式进行输出。
通过上述实施例可以有效地解决OCR识别中初等数学公式的表示问题,实现了公式的准确识别。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 自然场景图像中手写数学公式的结构分析与识别方法
机译: 自然景物图像中手写数学公式的结构分析与识别方法
机译: 手写体模型训练方法和装置,手写体图像识别方法和装置以及装置和介质