一种面向多行字符OCR识别结果的行归类后处理方法技术

技术编号:37145349 阅读:53 留言:0更新日期:2023-04-06 21:56
本发明专利技术公开了一种面向多行字符OCR识别结果的行归类后处理方法,将OCR引擎识别确定的文本包围框信息作为输入,采用降维聚类的思想将非结构化字符归类为不同的行,同时具备对字符行归类失效概率较高的倾斜文本的高精度行归类能力,从而将OCR识别结果结构化。本发明专利技术可以对OCR引擎识别结果进行有效的后处理判断校正,并提高倾斜文本的识别结果准确率。并提高倾斜文本的识别结果准确率。并提高倾斜文本的识别结果准确率。

【技术实现步骤摘要】
一种面向多行字符OCR识别结果的行归类后处理方法


[0001]本专利技术属于字符识别
,具体涉及一种字符OCR识别结果的行归类后处理方法。

技术介绍

[0002]在字符识别领域,一般的文本都是结构化的,严格按照行排列的准则,OCR识别结果一般也会按行输出在一起。但是当文本倾斜时,OCR的识别结果会出现分行差错。非结构化文本中文字行排列比较随意,特别是当OCR识别图像存在倾斜情况时,会存在同一行字符识别成多行字符或者不同行字符识别串行的问题。文本没有规则行结构、背景复杂、在图像中的位置随机、字体难以识别等问题,都影响OCR的识别结果所属行,影响识别准确率和规整性。OCR识别在满足单个字符识别成功的情况下,也必须要满足输出字符的行排列规整,才不会影响最终的所有识别结果。但是,现有的OCR识别引擎进行了大量的前处理和识别算法准确率提高的工作,仍然缺乏对识别结果的高效准确的后处理判断校正机制,导致在倾斜文本识别时经常出现不同行字符串行的问题。因此,针对以上问题,需要对OCR识别的字符结果进行行归类后处理,在不依赖人工参与的情况下,对OCR引擎识别输出的字符排列判断校正,并对字符行输出有误的文本进行自动归类校正,输出按行按次序排列的正确字符结果。这对工业领域中拥有多行字符编码的零件快速准确的识别具有重要的意义,是一种保证识别准确率的必不可少的手段,是工业智能化和自动化生产的质量保证。
[0003]中国专利公开CN111401371A公开了一种文本检测识别方法、系统及计算机设备,针对倾斜旋转的待识别图片,通过构建旋转图片数据集进行网络训练,以实现对倾斜角度的预测,然后再对倾斜校正后的图片进行文字识别,以输出行归类正确的字符结果。但是其针对的仍然是字符识别中的前处理过程,并不具备对识别字符结果的排列结构进行判断校正的能力。当预测角度出现错误导致识别字符结果行归类错误时,仍然会引进新的识别错误。
[0004]现有OCR技术的发展主要集中在前处理和识别过程的算法上,对于识别结果行归类的后处理研究仍然缺乏。准确的识别出字符并不能代表能够准确的理解字符的排列结构,而这是机器能够读懂文本的关键之一。

技术实现思路

[0005]为了克服现有技术的不足,本专利技术提供了一种面向多行字符OCR识别结果的行归类后处理方法,将OCR引擎识别确定的文本包围框信息作为输入,采用降维聚类的思想将非结构化字符归类为不同的行,同时具备对字符行归类失效概率较高的倾斜文本的高精度行归类能力,从而将OCR识别结果结构化。本专利技术可以对OCR引擎识别结果进行有效的后处理判断校正,并提高倾斜文本的识别结果准确率。
[0006]本专利技术解决其技术问题所采用的技术方案包括如下步骤:
[0007]步骤1:给定OCR识别结果{O=S1,

,S
i
,

,S
m
},共m个字符,得到所有字符的包围
框原始数据;第i,1≤i≤m个字符的包围框数据表示为:左上角点坐标P
i
(x
i
,y
i
)、框宽l
i
和框高h
i
;OCR识别图像的左上角为坐标原点O(0,0);
[0008]输入待识别的文本总行数Sum,记Line=1;
[0009]步骤2:步骤2:遍历O中所有字符的坐标点的y坐标,取y最小值对应的点为初始点,记为初始点P1(x1,y1);
[0010]步骤3:以X轴方向的单位向量为初始向量A=(1,1);以P1为向量起点,除P1外的剩余点P
j
,2≤j≤m为向量终点,构建其它向量B
j
=(x
j

x1,y
j

y1),得到向量集合E={A,B2,

,B
j
,

,B
m
};
[0011]步骤4:根据式(1)计算初始向量A与其它向量B
j
之间的夹角θ
j
,将二维包围框原始数据降维为一维向量角度数据集合G={θ2,


j
,


m
};
[0012][0013]步骤5:采用式(2)对数据集G进行非线性log归一化,得到归一化结果G

={θ
′2,



j
,



m
}。
[0014][0015]其中θ
max
为集合G中θ
j
最大值,表示集合G中θ
j
最小值向下取整;
[0016]步骤6:采用K

Means聚类算法将归一化后的样本数据G

的相似度划分为k个类别的簇C={C1,

,C
e
,

,C
k
},随机选取k个簇中心:μ1,


e
,


k
,以使得以下损失函数E最小为目标:
[0017][0018]步骤6

1:取k=2,即通过K

Means聚类出两类簇结果;令C={C1,C2},簇中心为:μ1,μ2;
[0019]步骤6

2:初始化簇e=1,2;计算样本数据G

中每个元素θ

j
与各簇中心μ
e
的距离根据d
GK
的大小确定θ

j
的簇标记λ
e
,然后将每一个元素归类到簇标记λ
e
对应的簇内,即
[0020]步骤6

3:若未满足损失函数E的条件或未达到识别出所有行,则重新计算每个簇对应的中心点若μ
e
≠μ

e
,则赋值更新μ
e
=μ

e
;否则保持当前簇中心不变;重复步骤6

2和6

3,当簇中心都不再变化时,输出最终聚类出的2个簇
[0021]步骤7:位于同一行字符归类出来的集合C
e
内部元素相似度最高,计算出来的损失函数E
e
最小,则取每簇的损失函数最小E
min
对应的簇C
e
为相似方向向量,取得对应的向量终点坐标点,即输出为同一行结果U
e

[0022]步骤8:将剩余的字符赋予为新输入字符,令O减U
e
,令Line加1;
[0023]步骤9:若满足Sum>Line+1,则继续执行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向多行字符OCR识别结果的行归类后处理方法,其特征在于,包括如下步骤:步骤1:给定OCR识别结果{O=S1,

,S
i
,

,S
m
},共m个字符,得到所有字符的包围框原始数据;第i,1≤i≤m个字符的包围框数据表示为:左上角点坐标P
i
(x
i
,y
i
)、框宽l
i
和框高h
i
;OCR识别图像的左上角为坐标原点O(0,0);输入待识别的文本总行数Sum,记Line=1;步骤2:步骤2:遍历O中所有字符的坐标点的y坐标,取y最小值对应的点为初始点,记为初始点P1(x1,y1);步骤3:以X轴方向的单位向量为初始向量A=(1,1);以P1为向量起点,除P1外的剩余点P
j
,2≤j≤m为向量终点,构建其它向量B
j
=(x
j

x1,y
j

y1),得到向量集合E={A,B2,

,B
j
,

,B
m
};步骤4:根据式(1)计算初始向量A与其它向量B
j
之间的夹角θ
j
,将二维包围框原始数据降维为一维向量角度数据集合G={θ2,


j
,


m
};步骤5:采用式(2)对数据集G进行非线性log归一化,得到归一化结果G

={θ
′2,



j
,



m
};其中θ
max
为集合G中θ
j
最大值,表示集合G中θ
j
最小值向下取整;步骤6:采用K

Means聚类算法将归一化后的样本数据G

的相似度划分为k个类别...

【专利技术属性】
技术研发人员:王淑侠张杰何卫平李江红吴世鑫
申请(专利权)人:西北工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1