System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于CRNN的文字单字检测方法技术_技高网

一种基于CRNN的文字单字检测方法技术

技术编号:41175301 阅读:3 留言:0更新日期:2024-05-07 22:11
本发明专利技术公开了一种基于CRNN的文字单字检测方法,包括以下:(1)、改进的带检测CRNN模型结构设计;(2)改进的带检测CRNN模型Loss设计。本发明专利技术在CRNN的基础上提出了单字检测模块和CRNN的特征耦合能够在做文本行识别的基础上定位出单字;和CRNN共用大部份基础架构,极大提升了模型的效率,使用1D卷积模拟LSTM的作用,提升了模型并行化,进一步提高了模型的效率;在一定程度上缓解了CRNN使用CTC训练时的对齐问题。

【技术实现步骤摘要】

本专利技术涉及ocr、文本检测、单字检测领域,特别涉及一种基于crnn的文字单字检测方法。


技术介绍

1、ocr(optical character recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。ocr的过程主要包括:图片的预处理,图片文本检测,图片文本识别,文本结构化。

2、crnn是一种文本行识别的方法,主要组成是cnn+rnn+ctc,首先通过cnn对图片进行特征抽取,将图片的宽度方向下采样至原始的1/4,将图片的高度下采样至1,然后后面接rnn进行宽度方向的上下文联系,常用的rnn为blstm。然后使用ctc来监督训练文本行训练。

3、目前对于文字单字分割方法研究较少,但是仍然有些场景需要返回单字的位置,目前返回对于单字的切分通常使用传统方法投影法来实现,但是这种方法需要二值化,受到光照条件的影响较大,鲁棒性较差,也有一些基于深度网络的单字检测的方法,例如craft。但是这种方式需要重新设计一个单独的网络,而且目前的主流识别方式是文本行检测+crnn识别,如果再单独添加一个单字符分割的网络,模型过于多而且难以部署在实际使用尤其是在端侧部署。

4、原始的crnn的识别模型结构如图1所示;

5、crnn的基础架构使用的是vgg16作为特征提取层,将图片宽度方向pooling 4倍,高度方向pooling 32倍,使得图片宽度变为原来的1/4,高度变为1,然后在宽度方向进行blstm进行上下文联系后输出map,将输出的map和文本行标签进行ctcloss计算,用ctcloss来进行监督训练模型。


技术实现思路

1、本专利技术要解决的技术问题是克服现有技术的缺陷,提供一种基于crnn的文字单字检测方法,在crnn的基础上,提出了一套可以结合检测和识别的单字检测的方案,既可以满足行识别,同时可以返回单字位置,同时因为引入了检测模块,缓解了ctc训练无法对齐的问题,提升了识别训练的准确率。

2、本专利技术提供了如下的技术方案:

3、本专利技术提供一种基于crnn的文字单字检测方法,包括以下:

4、(1)、改进的带检测crnn模型结构设计

5、使用vgg16来提取图片的特征,使得图片在宽度方向变成原来的1/4,高度方向变为1,于是我们可以得到b*c*1*w的特征,将特征进行维度合并和转换后我们可以得到w*b*c维度大小的特征;这里的w就是图片宽度方向的特征长度,在rnn里面我们称为time step;这里就是blstm需要进行前后文联系的位置;为了使得模型可以并行预测,我们提出了两个1d卷积分别对特征做正反两个方向的卷积计算,然后将特征通过concat合并来模拟blstm的效果;

6、通过这样模拟可以极大提升模型的并行度,提升模型的预测效率,同时也能保持应有的准确率;

7、对于单字检测的部分,需要time_step*2维度的向量,两个维度用来预测该time_step位置是否为文本和非文本;同时需要time_step*4维度的向量,四个维度用来预测该time_step的anchor小文本框的中心点的x偏移,y偏移,高度的缩放比,宽度的缩放比;

8、按照crnn的pooling,我们得到的小文本框的宽度为4,得到小文本框的类别后,我们去掉非文本的小文本框;于是我们需要从左往右来合并小文本框;这里有个很简单也很巧妙的方法,我们根据识别结果可以知道该文字大致的宽高比,例如汉字,大致的宽高比为1:1,数字为1:2,于是可以依据宽高比来合并小文本框得到最终单个字的文本框;

9、(2)改进的带检测crnn模型loss设计

10、该带单字检测的crnn模型,共有三个loss监督,在文本和非文本的分类我们使用cross entry loss:

11、

12、对于小文本框的回归我们使用smooth l1 loss:

13、

14、对于文字的识别我们依旧是使用ctcloss,我们的整体的loss如下所示:

15、ltotal=γ1*ce(x1,label1)+γ2*smoothl1(x2,label2)+γ3*ctcloss(x3,label3)

16、其中γ1+γ2+γ3=1。

17、与现有技术相比,本专利技术的有益效果如下:

18、1.在crnn的基础上提出了单字检测模块和crnn的特征耦合能够在做文本行识别的基础上定位出单字;

19、2.和crnn共用大部份基础架构,极大提升了模型的效率,使用1d卷积模拟lstm的作用,提升了模型并行化,进一步提高了模型的效率;

20、3.在一定程度上缓解了crnn使用ctc训练时的对齐问题。

本文档来自技高网...

【技术保护点】

1.一种基于CRNN的文字单字检测方法,其特征在于,包括以下:

【技术特征摘要】

1.一种基于crnn的文字单字检...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:

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

1