Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种通用表格的OCR训练数据生成方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:南京润和润云科技有限公司

摘要:本发明公开了一种通用表格的OCR训练数据生成方法,通过各领域的语料库进行语料拆分,生成表格内文本,包括键型、值型、长文本型;利用随机的表格元类型和表内文本,构成表格的纯文本表示,即生成字符串表格;将字符串表格转写到空白图片上,同时生成表格图片和标注文本与单元格的位置信息,即生成图片表格;进行表格图像的后处理,将生成的表格图片和位置信息通过多种后处理器进行变化以模拟真实场景的效果。本发明能够保障表格检测用数据集的完备性、准确性和多样性,为构建良好的通用表格OCR训练数据打下坚实的基础。

主权项:1.一种通用表格的OCR训练数据生成方法,其特征在于,包括步骤:S1:通过各领域的语料库进行语料拆分,生成表格内文本,包括键型、值型、长文本型;S2:利用随机的表格元类型和表内文本,构成表格的纯文本表示,即生成字符串表格;多种表格元类型,包括单行文字类型T1、多行文字类型T2、单个键值对类型T3、多个键值对类型T4、单键多选项类型T5、多行多列类型T6、跨行跨列类型T7、多级表头类型T8;各类型字符串表格生成方法如下:S21:T1型子程序S211:取字符串text,计算长度为L;S212:设置左右默认边距lpad=1,rpad=1;S213:左右边界符为║,上下界符为═,左上界符为╔,右上界符为╗,右下界符为╝,左下界符为╚;S213:得到T1型的表格多行字符串表示为:第一行为╔+lpad+L+rpad×═+╗;第二行为║+''+text+''+║;第三行为╚+lpad+L+rpad×═+╝;S22:T2型子程序S221:取多个字符串text_list,计算得最大长度为Lmax;S222:得到T2型的表格多行字符串表示为:第一行╔+lpad+Lmax+rpad×═+╗;最后一行为╚+lpad+Lmax+rpad×═+╝;S223:对于text_list中间的各行text,其长度为Li,其字符串表示为║+''+text+''×Lmax-Li+1+║;S224:按顺序连接S222和S223得到T2型的表格字符串表示;S23:T3型子程序S231:从键集中取出键型字符串key,利用S21生成key_cell;S232:从值集中取出值型字符串value,利用S21生成value_cell;S233:将key_cell和value_cell通过横向合并子程序合并成一个T3型的表格字符串表示;S24:T4型子程序S241:取键值对数量为N;S242:重复N次S23,得到N个T3型的表格字符串表示;S243:将N个T3型字符串通过横向合并子程序合并成一个T4型字符串表示;S25:T5型子程序S251:从键集中取出键型字符串key,利用S21生成key_cell;S252:从值集中取值型字符串value,在每个value前添加多选框符号,利用S21生成value_cell;S253:重复N次S252,得到N个value_cell;S254:将S251的key_cell和S253的N个value_cell通过横向合并子程序合并成一个T5型字符串表示;S26:T6型子程序S261:取行数为rows,列数为cols;S262:从键集中取出rows+cols-1个键型字符串keys;S263:从值集中取出rows-1cols-1个值型字符串values;S264:对于每一列,计算该列的最大字符宽度Lmax;利用S21得到rows个T1型字符串;利用纵向合并子程序合并成Ci;S265:将S264中得到的cols个Ci通过横向合并子程序合并成一个T6型字符串表示;S27:T7型子程序S271:利用S26生成一个T6型字符串;S272:利用S21生成一个T1型字符串;S273:随机选择横向合并子程序或纵向合并子程序将T6型和T1型合并得到T7型字符串表示;S28:T8型子程序S281:利用S26生成一个cols为2的T6型字符串;S282:利用S21生成一个T1型字符串;S283:通过纵向合并子程序合并S282的T1型字符串和S281的T6型字符串得到新的字符串;S284:重复S283得到2个新的字符串,并通过横向合并子程序合并,得到新字符串;S285:重复S284得到2个新的字符串,并通过横向合并子程序合并,得到T8型字符串;S29:综合S291:随机选择多个T1~T8类型的字符串,放入table_list;每个类型均可选零次至多次;S292:将table_list随机打乱;S293:将打乱后的table_list通过纵向合并子程序合并成最后的表格字符串;其中,横向合并子程序具体步骤如下:记被合并的表格字符串为A和B,计算其字符宽度为WA和WB,计算其行数高度为HA和HB;若HA=HB,将A与B按行连接;若HAHB,将A进行添加行操作,使得HA=HB;若HAHB,将B进行添加行操作,使得HA=HB;按行连接操作,取A的行尾符a和B的行首符b,相加操作得到新的连接符c;相加操作运算规则具体定义为:1.║+║=║,2.╗+╔=╦,3.╣+║=╣,4.╣+╠=╬,5.║+╠=╠,6.╝+╚=╩;添加行操作为:在最后一行之前插入HB-HA数量的填充行,该行首尾是║,中间为WA-2个空格符;其中,纵向合并子程序具体步骤如下:记被合并的表格字符串为A和B,计算其字符宽度为WA和WB,计算其行数高度为HA和HB;若WA=WB,将A与B按列连接;若WAWB,将A进行添加宽操作,使得WA=WB;若WAWB,将B进行添加宽操作,使得WA=WB;按列连接操作为:取A的最后一行的每一个字符a和B的第一行对应位置的字符b,相加操作得到新的连接符c;相加操作运算规则具体定义为:1.═+═=═,2.╚+╔=╠,3.╩+╦=╬,4.╩+═=╩,5.═+╦=╦,6.═+╗=╗;添加宽操作为:在每一行之前插入WB-WA数量的填充空格;S3:将字符串表格转写到空白图片上,同时生成表格图片和标注文本与单元格的位置信息,即生成图片表格;图片表格生成的具体步骤如下:S31:设置所用字体宽度font_width,表格行上下填充像素值line_pad,行高line_height=font_width+line_pad;S32:计算表格图片的宽度width和高度height;S33:创建一张像素尺寸为width×height的空白图片;S34:逐行扫描表格的字符串,按行绘制到图片上,并记录文字和单元格所对应的坐标;S4:进行表格图像的后处理,将生成的表格图片和位置信息通过多种后处理器进行变化以模拟真实场景的效果。

全文数据:

权利要求:

百度查询: 南京润和润云科技有限公司 一种通用表格的OCR训练数据生成方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。