CN114821601A - 一种基于深度学习的端到端英文手写体文本检测识别技术 - Google Patents
一种基于深度学习的端到端英文手写体文本检测识别技术 Download PDFInfo
- Publication number
- CN114821601A CN114821601A CN202210391966.7A CN202210391966A CN114821601A CN 114821601 A CN114821601 A CN 114821601A CN 202210391966 A CN202210391966 A CN 202210391966A CN 114821601 A CN114821601 A CN 114821601A
- Authority
- CN
- China
- Prior art keywords
- text
- picture
- matrix
- english
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 37
- 238000005516 engineering process Methods 0.000 title claims abstract description 24
- 238000013135 deep learning Methods 0.000 title claims abstract description 22
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012549 training Methods 0.000 claims abstract description 27
- 238000007781 pre-processing Methods 0.000 claims abstract description 15
- 102100032202 Cornulin Human genes 0.000 claims abstract description 11
- 101000920981 Homo sapiens Cornulin Proteins 0.000 claims abstract description 11
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 10
- 230000009466 transformation Effects 0.000 claims abstract description 10
- 238000001914 filtration Methods 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 3
- 238000006748 scratching Methods 0.000 claims description 3
- 230000002393 scratching effect Effects 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 230000001788 irregular Effects 0.000 abstract description 3
- 230000009471 action Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Character Input (AREA)
Abstract
本发明涉及文本检测识别技术领域,且公开了一种基于深度学习的端到端英文手写体文本检测识别技术,包括文本检测识别方法,包含以下步骤:S1、文本检测数据预处理;S2、DBNet算法模型训练;S3、文本识别数据预处理;S4、CRNN算法模型训练;S5、DBNet模型预测;S6、仿射变换;S7、CRNN模型预测;S8、排序拼接文本区域;S9、被划掉字符过滤和替换。该基于深度学习的端到端英文手写体文本检测识别技术,本发明对于英文手写体有针对性的优化数据和算法,采取RGB三通道直接训练能够大大提高DBNet对于文本区域的识别准确率,解决了英文手写体实拍图片的亮度,角度,对比度,手写体的格式字体不规范的问题对模型的健壮性造成的影响。
Description
技术领域
本发明涉及文本检测识别技术领域,具体为一种基于深度学习的端到端英文手写体文本检测识别技术。
背景技术
常用的基于深度学习的文本检测技术一般可以分为基于回归和基于分割两大类,其中基于回归的方法分为box回归和像素值回归,而采用box回归的方法主要有CTPN、Textbox系列和EAST,这类算法对规则形状文本检测效果较好,但是无法准确检测不规则文本,同时对于手写英文文本中的单词区分度不够,即不能准确的以单词为单位进行文本检测,更多的是把单词组成的文本行作为一个box检测出来,采用像素值回归的方法主要有CRAFT和SA-Text,这类算法能够检测弯曲文本且对小文本效果优秀但是实时性能不够。
基于分割的算法,比如PSENet,这类算法不受文本形状的限制,对各种形状的文本都能够取得较好的效果,但是往往后期处理比较复杂,导致耗时严重。目前有专门针对后处理进行改进的算法,比如DBNet,可微分二值法,将二值化进行近似,使其可导,融入训练,增加模型的健壮性,从而获得更准确的边界,而且大大简化后处理的过程,降低耗时,而常用的基于深度学习的文本识别技术分为基于CTC和基于Attention,CNN+RNN+Attention适合短文本识别,对长文本识别比较差CNN+RNN+CTC通用场景下基于CTC的识别效果较好,同时性能上也更加的优秀,另外,现有的文本检测识别技术更多的是针对规则的印刷体,比如身份证,银行卡识别,车牌识别,PDF转word等。对于手写英文实拍图片识别效果较差,主要是因为,实拍照片存在亮度,角度,对比度等问题,对于数据质量和模型健壮性都有较高的要求。手写英文图片背景不一,存在较大干扰,同时手写英文文本一般存在不同程度的倾斜、粘连和涂改等问题,不同的人的书写习惯不同等等问题,都对模型准确性造成较大的影响。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于深度学习的端到端英文手写体文本检测识别技术,以解决上述背景技术中提出的问题。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:一种基于深度学习的端到端英文手写体文本检测识别技术,包括文本检测识别方法,包含以下步骤:
S1、文本检测数据预处理;
S2、DBNet算法模型训练;
S3、文本识别数据预处理;
S4、CRNN算法模型训练;
S5、DBNet模型预测;
S6、仿射变换;
S7、CRNN模型预测;
S8、排序拼接文本区域;
S9、被划掉字符过滤和替换。
优选的,所述步骤S1中,进一步包含:
(1)根据英文手写图片中的字母宽,高的统计,多次验证判断输入图片的尺寸局部最优是1280*1280;
(2)绝大部分输入图片长宽不对等,需要进行填充,并记录等比例缩放的倍率,背景填充0也就是全黑,过于接近文本区域的书写颜色,填充255也就是全白,和手写图片原本的作业本颜色存在相当程度色差,经过对比验真,确定填充245效果得到局部最优;
(3)对输入图片进行归一化,三个通道除以255,再进行标准化,然后三通道分别减去[0.485,0.456,0.406],再除以[0.229,0.224,0.225];
(4)文本区域标记是以图片左上角为原点,用四个点的x,y坐标标记文本区域;
(5)对训练数据的文本区域按照比例0.4,把文本框对内缩小然后得到shrink_map,缩小后的文本框内标1,其他区域标0;对训练数据的文本区域按照比例0.4,把文本框对外扩张和对内缩小得到threshold_map,实际上是一个渐变区域,设定最大值为0.7,最小值为0.3,越靠近原本文本框值越大,越远离值越小。
优选的,所述步骤S2中,进一步包含:
(1)输入经过预处理的图片,利用resnet50算法对图片进行不同尺度的特征提取,把图片的尺度降为原来的1/4,1/8,1/16,1/32,同时对应的提高通道数量为256,512,1024,2048;
(2)利用FPN算法组合不同尺度的特征,根据组合的特征信息转换出概率矩阵P和阈值矩阵T;
(4)模型输出三个矩阵,概率矩阵P、阈值矩阵T和近似二值化矩阵B,对应存在三个loss,其包括:
Loss1:通过P和shrink_map计算,函数为交叉熵;
loss2:通过T,mask和threshold_map计算,mask是文本区域为1其他区域为0的矩阵,函数为abs(T-threshold_map)*mask/mask.sum;
loss3:通过B和shrink_map计算,计算过程为
intersection=B*shrink_map*mask;
union=(B*mask).sum+(shrink_map*mask).sum;
loss=1-2.0*intersection/union。
总Loss=loss1+10*loss2+loss3,通过反向传播训练模型,进行迭代,迭代到指定轮数或者loss反复波动不再下降的时候停止训练。
优选的,所述步骤S3中,进一步包含:
(1)文本识别模型不需要整张图片,只需要裁剪出文本部分区域,作为子图,和标记上对应的文本,作为输入输出数据;
(2)对于同一张图片中每一个子图和对应的文本,做以下处理;
(3)把子图等比例缩放至高为32,长度不限,不能超过320,同时不做归一化和标准化处理,保留原图像素点作为输入;
(4)对于文本标记,本发明是针对英文手写,模型字典只保留数字,英文标点,大小写英文,数据预处理过程中,对中文标点转换成对应的英文标点,同时针对性的增加的”_”作为划掉单词的标记,因为手写字体中存在写错单词需要划掉重写的情况,增加”_”标记划掉单词能够进一步的提升识别率,被划掉的单词转换成对应长度的下划线组,比如划掉“apple”,文本标记为“_____”长度为5的下划线组;
(5)为了保证训练的性能,选择批量输入,那么需要保证子图长度相同,处理方法是对同一张图片里面的所有子图进行随机组合,组成3*32*320的大子图,每32个大子图组成一个batch,维度为32*3*32*320。
优选的,所述步骤S4中,进一步包含:
(1)输入批量B=32,高度H=32,宽度W=320,通道C=3的图片(32*3*32*320),经过CNN提取特征,高度缩小为原来的1/32,宽度缩小为原来的1/4,通道由3变成512(32*1*80*512)[B*H*W*C];
(2)CNN网络输出的矩阵,进入LSTM设置T=80(W/4),LSTM输出维度32*1*(W/4)*nclass,nclass代表字典中字符的总数,LSTM网络输出的矩阵,进行softmax;
(3)softmax之后接损失函数CTC(Connectionist Temporal Classification),主要为了解决图片长度和实际文本长度不对应的问题,从而进行反向传播。
优选的,所述步骤S5中,进一步包含:
(1)按照步骤一处理输入图片,输入到训练好的DBNet模型中;
(2)预测过程只需要用到概率矩阵P,性能大大提高,然后定义固定阈值,进行二值化,得到矩阵B,矩阵B的大小为固定的1280*1280;
(3)根据矩阵B,得到文本区域,同时按照图片预处理时候的比例0.4进行放大,得到真正的文本区域,提取对应的四个坐标点信息。
优选的,所述步骤S6中,进一步包含:
(1)根据文本检测算法预测出来的图片中的一个或者多个文本区域的坐标点信息,需要进行仿射变换,因为存在以下情况;
(2)算法预测出来的文本框的四个顶点坐标构成的四边形是围绕实际书写的字母和单词的占位,但是实际上会因为学生书写倾斜,或者拍照上传的图片倾斜,出现文本框的边实际上和图片的边并不平行;
(3)在这种情况下,为了剪出实际上的文本区域具体的像素点用于下一步的文本识别转换成文本,需要根据文本框的顶点再画出来一个边平行于图片的矩形,导致用于文本识别的子图比原来存在更多的无关文本的区域,影响文本识别的准确率;
(4)应用仿射变换,直接根据预测出来的文本框顶点坐标把子图剪出,这样处理的子图能够更加的紧贴文本区域。
优选的,所述步骤S7中,进一步包含:
(1)根据步骤六处理过的子图,按照H=32进行等比例缩放,长度W不限;
(2)输入到训练好的CRNN模型中,输出W/4长度的字符;
(3)根据输出的字符串,需要进行合并和去重,本发明定义blank字符为“#”,blank字符之间去重,然后去掉blank字符进行合并,比如“aa#p#ppp#ll#ee”经过合并之后会变成“apple”。
优选的,所述步骤S8中,进一步包含:
(1)根据DBNet模型预测出来的文本区域坐标,对一个或多个文本区域先进行水平方向上的坐标升序排序;
(2)按顺序提取文本区域,记为A,寻找与该文本区域水平方向上最近和垂直上文本框交并比大于0.3且高度比大于0.3的文本区域,记为B,B是A的相邻文本框;
(3)把B作为新的A,重复上一步的操作,直到找不到相邻文本区域。则判断该行文本区域寻找以结束;
(4)已经被记录的文本区域会从候选集中剔除,重复(1),(2),直到候选集清空;
(5)对已经排序的文本区域对应文本进行合并。
优选的,所述步骤S9中,进一步包含:
(1)针对英文手写存在划掉错词,在其上方或者下方进行补写的情况;
(2)经过排序之后,排查是否存在被划掉的字符;
(3)假设存在,寻找孤立的文本区域,判断条件如下:
孤立区域是否在被划掉字符区域的上方或者下方,双方文本区域存在交集或者双方文本区域之间的距离远小于图片整体文本的行之间的距;
孤立区域和被划掉字符区域在水平上的文本框的交并比大于0.5,宽度比例大于0.5;
(4)满足(3),则把划掉字符区域文本替换成孤立区域文本,删掉孤立区域文本;不满足(3),则直接去掉被划掉字符。
(三)有益效果
与现有技术相比,本发明提供了一种基于深度学习的端到端英文手写体文本检测识别技术,具备以下有益效果:
该基于深度学习的端到端英文手写体文本检测识别技术:本发明对于英文手写体有针对性的优化数据和算法,对于DBNet算法训练时保留RGB三通道信息应对手写体实拍图复杂多变的情况,对于印刷体的文本检测,一般采用灰度图像,因为对于印刷体来说,输入图片一般是比较规整清晰,灰度图保留的信息能够让算法较好的区分出文本和非文本区域,但是对于手写体实拍图,场景复杂,清晰度不够,灰度图能够保留的信息有限,采取RGB三通道直接训练能够大大提高DBNet对于文本区域的识别准确率,解决了英文手写体实拍图片的亮度,角度,对比度,手写体的格式字体不规范的问题对模型的健壮性造成的影响。
附图说明
图1为本发明使用流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种技术方案,一种基于深度学习的端到端英文手写体文本检测识别技术,包括文本检测识别方法,包含以下步骤:
S1、文本检测数据预处理;步骤S1中,进一步包含:
(1)根据英文手写图片中的字母宽,高的统计,多次验证判断输入图片的尺寸局部最优是1280*1280;
(2)绝大部分输入图片长宽不对等,需要进行填充,并记录等比例缩放的倍率,背景填充0也就是全黑,过于接近文本区域的书写颜色,填充255也就是全白,和手写图片原本的作业本颜色存在相当程度色差,经过对比验真,确定填充245效果得到局部最优;
(3)对输入图片进行归一化,三个通道除以255,再进行标准化,然后三通道分别减去[0.485,0.456,0.406],再除以[0.229,0.224,0.225];
(4)文本区域标记是以图片左上角为原点,用四个点的x,y坐标标记文本区域;
(5)对训练数据的文本区域按照比例0.4,把文本框对内缩小然后得到shrink_map,缩小后的文本框内标1,其他区域标0;对训练数据的文本区域按照比例0.4,把文本框对外扩张和对内缩小得到threshold_map,实际上是一个渐变区域,设定最大值为0.7,最小值为0.3,越靠近原本文本框值越大,越远离值越小。
S2、DBNet算法模型训练;步骤S2中,进一步包含:
(1)输入经过预处理的图片,利用resnet50算法对图片进行不同尺度的特征提取,把图片的尺度降为原来的1/4,1/8,1/16,1/32,同时对应的提高通道数量为256,512,1024,2048;
(2)利用FPN算法组合不同尺度的特征,根据组合的特征信息转换出概率矩阵P和阈值矩阵T;
(4)模型输出三个矩阵,概率矩阵P、阈值矩阵T和近似二值化矩阵B,对应存在三个loss,其包括:
Loss1:通过P和shrink_map计算,函数为交叉熵;
loss2:通过T,mask和threshold_map计算,mask是文本区域为1其他区域为0的矩阵,函数为abs(T-threshold_map)*mask/mask.sum;
loss3:通过B和shrink_map计算,计算过程为
intersection=B*shrink_map*mask;
union=(B*mask).sum+(shrink_map*mask).sum;
loss=1-2.0*intersection/union。
总Loss=loss1+10*loss2+loss3,通过反向传播训练模型,进行迭代,迭代到指定轮数或者loss反复波动不再下降的时候停止训练。
S3、文本识别数据预处理;步骤S3中,进一步包含:
(1)文本识别模型不需要整张图片,只需要裁剪出文本部分区域,作为子图,和标记上对应的文本,作为输入输出数据;
(2)对于同一张图片中每一个子图和对应的文本,做以下处理;
(3)把子图等比例缩放至高为32,长度不限,不能超过320,同时不做归一化和标准化处理,保留原图像素点作为输入;
(4)对于文本标记,本发明是针对英文手写,模型字典只保留数字,英文标点,大小写英文,数据预处理过程中,对中文标点转换成对应的英文标点,同时针对性的增加的”_”作为划掉单词的标记,因为手写字体中存在写错单词需要划掉重写的情况,增加”_”标记划掉单词能够进一步的提升识别率,被划掉的单词转换成对应长度的下划线组,比如划掉“apple”,文本标记为“_____”长度为5的下划线组;
(5)为了保证训练的性能,选择批量输入,那么需要保证子图长度相同,处理方法是对同一张图片里面的所有子图进行随机组合,组成3*32*320的大子图,每32个大子图组成一个batch,维度为32*3*32*320。
S4、CRNN算法模型训练;步骤S4中,进一步包含:
(1)输入批量B=32,高度H=32,宽度W=320,通道C=3的图片(32*3*32*320),经过CNN提取特征,高度缩小为原来的1/32,宽度缩小为原来的1/4,通道由3变成512(32*1*80*512)[B*H*W*C];
(2)CNN网络输出的矩阵,进入LSTM设置T=80(W/4),LSTM输出维度32*1*(W/4)*nclass,nclass代表字典中字符的总数,LSTM网络输出的矩阵,进行softmax;
(3)softmax之后接损失函数CTC(Connectionist Temporal Classification),主要为了解决图片长度和实际文本长度不对应的问题,从而进行反向传播。
S5、DBNet模型预测;步骤S5中,进一步包含:
(1)按照步骤一处理输入图片,输入到训练好的DBNet模型中;
(2)预测过程只需要用到概率矩阵P,性能大大提高,然后定义固定阈值,进行二值化,得到矩阵B,矩阵B的大小为固定的1280*1280;
(3)根据矩阵B,得到文本区域,同时按照图片预处理时候的比例0.4进行放大,得到真正的文本区域,提取对应的四个坐标点信息。
S6、仿射变换;步骤S6中,进一步包含:
(1)根据文本检测算法预测出来的图片中的一个或者多个文本区域的坐标点信息,需要进行仿射变换,因为存在以下情况;
(2)算法预测出来的文本框的四个顶点坐标构成的四边形是围绕实际书写的字母和单词的占位,但是实际上会因为学生书写倾斜,或者拍照上传的图片倾斜,出现文本框的边实际上和图片的边并不平行;
(3)在这种情况下,为了剪出实际上的文本区域具体的像素点用于下一步的文本识别转换成文本,需要根据文本框的顶点再画出来一个边平行于图片的矩形,导致用于文本识别的子图比原来存在更多的无关文本的区域,影响文本识别的准确率;
(4)应用仿射变换,直接根据预测出来的文本框顶点坐标把子图剪出,这样处理的子图能够更加的紧贴文本区域。
S7、CRNN模型预测;步骤S7中,进一步包含:
(1)根据步骤六处理过的子图,按照H=32进行等比例缩放,长度W不限;
(2)输入到训练好的CRNN模型中,输出W/4长度的字符;
(3)根据输出的字符串,需要进行合并和去重,本发明定义blank字符为“#”,blank字符之间去重,然后去掉blank字符进行合并,比如“aa#p#ppp#ll#ee”经过合并之后会变成“apple”。
S8、排序拼接文本区域;步骤S8中,进一步包含:
(1)根据DBNet模型预测出来的文本区域坐标,对一个或多个文本区域先进行水平方向上的坐标升序排序;
(2)按顺序提取文本区域,记为A,寻找与该文本区域水平方向上最近和垂直上文本框交并比大于0.3且高度比大于0.3的文本区域,记为B,B是A的相邻文本框;
(3)把B作为新的A,重复上一步的操作,直到找不到相邻文本区域。则判断该行文本区域寻找以结束;
(4)已经被记录的文本区域会从候选集中剔除,重复(1),(2),直到候选集清空;
(5)对已经排序的文本区域对应文本进行合并。
S9、被划掉字符过滤和替换,步骤S9中,进一步包含:
(1)针对英文手写存在划掉错词,在其上方或者下方进行补写的情况;
(2)经过排序之后,排查是否存在被划掉的字符;
(3)假设存在,寻找孤立的文本区域,判断条件如下:
孤立区域是否在被划掉字符区域的上方或者下方,双方文本区域存在交集或者双方文本区域之间的距离远小于图片整体文本的行之间的距;
孤立区域和被划掉字符区域在水平上的文本框的交并比大于0.5,宽度比例大于0.5;
(4)满足(3),则把划掉字符区域文本替换成孤立区域文本,删掉孤立区域文本;不满足(3),则直接去掉被划掉字符。
本装置的工作原理:(1)首先对图片文件进行预处理,针对性的缩放和填充到固定尺寸,进行归一化标准化;
(2)处理后图片输入DBNet算法,预处理图片数据经过该算法后,得出boxes数据,包含对应原图尺寸的文本框坐标点;
(3)Boxes数据输入到CLS算法进行笔体分类,根据box中的文本框的坐标点裁剪出子图,经过印刷体手写体分类算法,区分子图中的文本是印刷体或手写体;
(4)CRNN1为英文印刷体识别算法,识别子图中的文本;
(5)CRNN2为英文手写体识别算法,识别子图中的文本;
(6)为文本框排序模块,根据文本框的坐标信息确定其在图片上的位置并进行排列输出;
(7)对识别出的子文本和对应的坐标信息进行组合,对被划掉字符过滤和替换,生成完整的文本。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于深度学习的端到端英文手写体文本检测识别技术,包括文本检测识别方法,其特征在于:包含以下步骤:
S1、文本检测数据预处理;
S2、DBNet算法模型训练;
S3、文本识别数据预处理;
S4、CRNN算法模型训练;
S5、DBNet模型预测;
S6、仿射变换;
S7、CRNN模型预测;
S8、排序拼接文本区域;
S9、被划掉字符过滤和替换。
2.根据权利要求1所述的一种基于深度学习的端到端英文手写体文本检测识别技术,其特征在于:所述步骤S1中,进一步包含:
(1)根据英文手写图片中的字母宽,高的统计,多次验证判断输入图片的尺寸局部最优是1280*1280;
(2)绝大部分输入图片长宽不对等,需要进行填充,并记录等比例缩放的倍率,背景填充0也就是全黑,过于接近文本区域的书写颜色,填充255也就是全白,和手写图片原本的作业本颜色存在相当程度色差,经过对比验真,确定填充245效果得到局部最优;
(3)对输入图片进行归一化,三个通道除以255,再进行标准化,然后三通道分别减去[0.485,0.456,0.406],再除以[0.229,0.224,0.225];
(4)文本区域标记是以图片左上角为原点,用四个点的x,y坐标标记文本区域;
(5)对训练数据的文本区域按照比例0.4,把文本框对内缩小然后得到shrink_map,缩小后的文本框内标1,其他区域标0;对训练数据的文本区域按照比例0.4,把文本框对外扩张和对内缩小得到threshold_map,实际上是一个渐变区域,设定最大值为0.7,最小值为0.3,越靠近原本文本框值越大,越远离值越小。
3.根据权利要求1所述的一种基于深度学习的端到端英文手写体文本检测识别技术,其特征在于:所述步骤S2中,进一步包含:
(1)输入经过预处理的图片,利用resnet50算法对图片进行不同尺度的特征提取,把图片的尺度降为原来的1/4,1/8,1/16,1/32,同时对应的提高通道数量为256,512,1024,2048;
(2)利用FPN算法组合不同尺度的特征,根据组合的特征信息转换出概率矩阵P和阈值矩阵T;
(4)模型输出三个矩阵,概率矩阵P、阈值矩阵T和近似二值化矩阵B,对应存在三个loss,其包括:
Loss1:通过P和shrink_map计算,函数为交叉熵;
loss2:通过T,mask和threshold_map计算,mask是文本区域为1其他区域为0的矩阵,函数为abs(T-threshold_map)*mask/mask.sum;
loss3:通过B和shrink_map计算,计算过程为
intersection=B*shrink_map*mask;
union=(B*mask).sum+(shrink_map*mask).sum;
loss=1-2.0*intersection/union。
总Loss=loss1+10*loss2+loss3,通过反向传播训练模型,进行迭代,迭代到指定轮数或者loss反复波动不再下降的时候停止训练。
4.根据权利要求1所述的一种基于深度学习的端到端英文手写体文本检测识别技术,其特征在于:所述步骤S3中,进一步包含:
(1)文本识别模型不需要整张图片,只需要裁剪出文本部分区域,作为子图,和标记上对应的文本,作为输入输出数据;
(2)对于同一张图片中每一个子图和对应的文本,做以下处理;
(3)把子图等比例缩放至高为32,长度不限,不能超过320,同时不做归一化和标准化处理,保留原图像素点作为输入;
(4)对于文本标记,本发明是针对英文手写,模型字典只保留数字,英文标点,大小写英文,数据预处理过程中,对中文标点转换成对应的英文标点,同时针对性的增加的”_”作为划掉单词的标记,因为手写字体中存在写错单词需要划掉重写的情况,增加”_”标记划掉单词能够进一步的提升识别率,被划掉的单词转换成对应长度的下划线组,比如划掉“apple”,文本标记为“_____”长度为5的下划线组;
(5)为了保证训练的性能,选择批量输入,那么需要保证子图长度相同,处理方法是对同一张图片里面的所有子图进行随机组合,组成3*32*320的大子图,每32个大子图组成一个batch,维度为32*3*32*320。
5.根据权利要求1所述的一种基于深度学习的端到端英文手写体文本检测识别技术,其特征在于:所述步骤S4中,进一步包含:
(1)输入批量B=32,高度H=32,宽度W=320,通道C=3的图片(32*3*32*320),经过CNN提取特征,高度缩小为原来的1/32,宽度缩小为原来的1/4,通道由3变成512(32*1*80*512)[B*H*W*C];
(2)CNN网络输出的矩阵,进入LSTM设置T=80(W/4),LSTM输出维度32*1*(W/4)*nclass,nclass代表字典中字符的总数,LSTM网络输出的矩阵,进行softmax;
(3)softmax之后接损失函数CTC(Connectionist Temporal Classification),主要为了解决图片长度和实际文本长度不对应的问题,从而进行反向传播。
6.根据权利要求1所述的一种基于深度学习的端到端英文手写体文本检测识别技术,其特征在于:所述步骤S5中,进一步包含:
(1)按照步骤一处理输入图片,输入到训练好的DBNet模型中;
(2)预测过程只需要用到概率矩阵P,性能大大提高,然后定义固定阈值,进行二值化,得到矩阵B,矩阵B的大小为固定的1280*1280;
(3)根据矩阵B,得到文本区域,同时按照图片预处理时候的比例0.4进行放大,得到真正的文本区域,提取对应的四个坐标点信息。
7.根据权利要求1所述的一种基于深度学习的端到端英文手写体文本检测识别技术,其特征在于:所述步骤S6中,进一步包含:
(1)根据文本检测算法预测出来的图片中的一个或者多个文本区域的坐标点信息,需要进行仿射变换,因为存在以下情况;
(2)算法预测出来的文本框的四个顶点坐标构成的四边形是围绕实际书写的字母和单词的占位,但是实际上会因为学生书写倾斜,或者拍照上传的图片倾斜,出现文本框的边实际上和图片的边并不平行;
(3)在这种情况下,为了剪出实际上的文本区域具体的像素点用于下一步的文本识别转换成文本,需要根据文本框的顶点再画出来一个边平行于图片的矩形,导致用于文本识别的子图比原来存在更多的无关文本的区域,影响文本识别的准确率;
(4)应用仿射变换,直接根据预测出来的文本框顶点坐标把子图剪出,这样处理的子图能够更加的紧贴文本区域。
8.根据权利要求1所述的一种基于深度学习的端到端英文手写体文本检测识别技术,其特征在于:所述步骤S7中,进一步包含:
(1)根据步骤六处理过的子图,按照H=32进行等比例缩放,长度W不限;
(2)输入到训练好的CRNN模型中,输出W/4长度的字符;
(3)根据输出的字符串,需要进行合并和去重,本发明定义blank字符为“#”,blank字符之间去重,然后去掉blank字符进行合并,比如“aa#p#ppp#ll#ee”经过合并之后会变成“apple”。
9.根据权利要求1所述的一种基于深度学习的端到端英文手写体文本检测识别技术,其特征在于:所述步骤S8中,进一步包含:
(1)根据DBNet模型预测出来的文本区域坐标,对一个或多个文本区域先进行水平方向上的坐标升序排序;
(2)按顺序提取文本区域,记为A,寻找与该文本区域水平方向上最近和垂直上文本框交并比大于0.3且高度比大于0.3的文本区域,记为B,B是A的相邻文本框;
(3)把B作为新的A,重复上一步的操作,直到找不到相邻文本区域。则判断该行文本区域寻找以结束;
(4)已经被记录的文本区域会从候选集中剔除,重复(1),(2),直到候选集清空;
(5)对已经排序的文本区域对应文本进行合并。
10.根据权利要求1所述的一种基于深度学习的端到端英文手写体文本检测识别技术,其特征在于:所述步骤S9中,进一步包含:
(1)针对英文手写存在划掉错词,在其上方或者下方进行补写的情况;
(2)经过排序之后,排查是否存在被划掉的字符;
(3)假设存在,寻找孤立的孤立的文本区域,判断条件如下:
孤立区域是否在被划掉字符区域的上方或者下方,双方文本区域存在交集或者双方文本区域之间的距离远小于图片整体文本的行之间的距;
孤立区域和被划掉字符区域在水平上的文本框的交并比大于0.5,宽度比例大于0.5;
(4)满足(3),则把划掉字符区域文本替换成孤立区域文本,删掉孤立区域文本;不满足(3),则直接去掉被划掉字符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391966.7A CN114821601A (zh) | 2022-04-14 | 2022-04-14 | 一种基于深度学习的端到端英文手写体文本检测识别技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391966.7A CN114821601A (zh) | 2022-04-14 | 2022-04-14 | 一种基于深度学习的端到端英文手写体文本检测识别技术 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114821601A true CN114821601A (zh) | 2022-07-29 |
Family
ID=82536098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210391966.7A Pending CN114821601A (zh) | 2022-04-14 | 2022-04-14 | 一种基于深度学习的端到端英文手写体文本检测识别技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114821601A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3598339A1 (en) * | 2018-07-19 | 2020-01-22 | Tata Consultancy Services Limited | Systems and methods for end-to-end handwritten text recognition using neural networks |
CN112183372A (zh) * | 2020-09-29 | 2021-01-05 | 深圳数联天下智能科技有限公司 | 文本识别方法、装置、设备及可读存储介质 |
CN112560845A (zh) * | 2020-12-23 | 2021-03-26 | 京东方科技集团股份有限公司 | 字符识别方法、装置、智能取餐柜、电子设备及存储介质 |
CN113537189A (zh) * | 2021-06-03 | 2021-10-22 | 深圳市雄帝科技股份有限公司 | 手写文字识别方法、装置、设备及存储介质 |
CN113971809A (zh) * | 2021-10-25 | 2022-01-25 | 多伦科技股份有限公司 | 一种基于深度学习的文本识别方法、设备及存储介质 |
CN114241492A (zh) * | 2021-12-17 | 2022-03-25 | 黑盒科技(广州)有限公司 | 一种识别作文稿纸的手写文本识别并复现文本结构的方法 |
-
2022
- 2022-04-14 CN CN202210391966.7A patent/CN114821601A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3598339A1 (en) * | 2018-07-19 | 2020-01-22 | Tata Consultancy Services Limited | Systems and methods for end-to-end handwritten text recognition using neural networks |
CN112183372A (zh) * | 2020-09-29 | 2021-01-05 | 深圳数联天下智能科技有限公司 | 文本识别方法、装置、设备及可读存储介质 |
CN112560845A (zh) * | 2020-12-23 | 2021-03-26 | 京东方科技集团股份有限公司 | 字符识别方法、装置、智能取餐柜、电子设备及存储介质 |
CN113537189A (zh) * | 2021-06-03 | 2021-10-22 | 深圳市雄帝科技股份有限公司 | 手写文字识别方法、装置、设备及存储介质 |
CN113971809A (zh) * | 2021-10-25 | 2022-01-25 | 多伦科技股份有限公司 | 一种基于深度学习的文本识别方法、设备及存储介质 |
CN114241492A (zh) * | 2021-12-17 | 2022-03-25 | 黑盒科技(广州)有限公司 | 一种识别作文稿纸的手写文本识别并复现文本结构的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325203B (zh) | 一种基于图像校正的美式车牌识别方法及*** | |
CN111814722B (zh) | 一种图像中的表格识别方法、装置、电子设备及存储介质 | |
CN109726643B (zh) | 图像中表格信息的识别方法、装置、电子设备及存储介质 | |
CN109241894B (zh) | 一种基于表格定位和深度学习的票据内容识别***和方法 | |
CN104809481B (zh) | 一种基于自适应色彩聚类的自然场景文本检测方法 | |
CN107133622B (zh) | 一种单词的分割方法和装置 | |
Blumenstein et al. | A novel feature extraction technique for the recognition of segmented handwritten characters | |
CN107609549A (zh) | 一种自然场景下证件图像的文本检测方法 | |
CN113537227B (zh) | 一种结构化文本识别方法及*** | |
CN113128442A (zh) | 基于卷积神经网络的汉字书法风格识别方法和评分方法 | |
CN109389115B (zh) | 文本识别方法、装置、存储介质和计算机设备 | |
CN109508716B (zh) | 一种图像文字的定位方法及装置 | |
Bijalwan et al. | Automatic text recognition in natural scene and its translation into user defined language | |
CN116824608A (zh) | 基于目标检测技术的答题卡版面分析方法 | |
CN112446259A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
Ayesh et al. | A robust line segmentation algorithm for Arabic printed text with diacritics | |
CN111340032A (zh) | 一种基于金融领域应用场景的字符识别方法 | |
CN115311666A (zh) | 图文识别方法、装置、计算机设备及存储介质 | |
CN111832497B (zh) | 一种基于几何特征的文本检测后处理方法 | |
Verma et al. | A novel approach for structural feature extraction: contour vs. direction | |
CN113158977A (zh) | 改进FANnet生成网络的图像字符编辑方法 | |
Park et al. | A method for automatically translating print books into electronic Braille books | |
Lue et al. | A novel character segmentation method for text images captured by cameras | |
CN116030472A (zh) | 文字坐标确定方法及装置 | |
CN114821601A (zh) | 一种基于深度学习的端到端英文手写体文本检测识别技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |