CN116189196A - 快递面单识别和自矫正方法、识别*** - Google Patents
快递面单识别和自矫正方法、识别*** Download PDFInfo
- Publication number
- CN116189196A CN116189196A CN202211727783.4A CN202211727783A CN116189196A CN 116189196 A CN116189196 A CN 116189196A CN 202211727783 A CN202211727783 A CN 202211727783A CN 116189196 A CN116189196 A CN 116189196A
- Authority
- CN
- China
- Prior art keywords
- text
- text block
- self
- express delivery
- blocks
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/42—Document-oriented image-based pattern recognition based on the type of document
- G06V30/424—Postal images, e.g. labels or addresses on parcels or postal envelopes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/43—Editing text-bitmaps, e.g. alignment, spacing; Semantic analysis of bitmaps of text without OCR
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种快递面单识别和自矫正方法、识别***。其中快递面单识别和自矫正方法,包括:获取快递的图像进行文本块检测,并对文本块的字符内容进行预识别;根据预识别的文本块的字符内容以及文本块的位置进行关系匹配分析,从而得到文本块的相互关系以及文本块的类别;根据文本块的相互关系以及文本块预识别的字符,对文本块预识别的字符分别进行推理实现自矫正;将自矫正的字符信息和文本块类别作为快递面单的识别结果。本发明可以提高快递面单的识别准确率,并且适用范围更广。
Description
技术领域
本发明涉及OCR识别(Optical Character Recognition,光学字符识别)的技术领域,尤其涉及一种快递面单识别和自矫正方法。
背景技术
由于当前不同快递公司的包裹,收件人、发件人的信息很难获取和共享,导致乡镇级快递转发站无法直接对接收快递进行分选,为了减轻人工分选的工作量,需要通过OCR技术对快递面单进行识别。但是不同公司快递面单的版面结构差异很大,单纯基于视觉进行版面分析难度较大,并且很多快递面单都存在随意涂抹和面单缺失等问题,导致常规OCR算法准确率较低。
当前,快递面单信息的识别通常是将快递面单当成一种特殊的复杂表格,通过表格版面分析和字符OCR算法进行解析识别,主要有三种方法:
1.直接检测文本框位置。通过目标检测或语义分割等视觉算法,检测出文本框的具***置,同时对文本框进行OCR识别,然后从文本框的空间排布信息推导出行、列、单元格信息,结合各文本框的文本内容生成电子表格。但是这种方法极度依赖OCR检测结果和人工设计的规则,对于不同样式的快递面单,需分别做针对性开发,对于新的快递面单格式适配性和拓展性非常差。
2.检测表格线进行版面分析。通过目标检测算法检测角点,或者运用图像形态学变换、纹理提取、边缘检测等手段提取表格线,再由角点和表格线推导行、列、合并单元格的信息,然后对单元格内文本框进行OCR识别,最后结合版面分析结果生成电子表格。但是这种方法需要有比较清晰完整的表格线,不适合用于快递面单这种无线条复杂表格的版面分析。
3.神经网络端到端学习。通过专门设计的神经网络模型,比如TableBank等,使用image to text技术,将表格图片识别转为某种结构化描述语言(比如html定义表格结构的标签),其中包含了表格版面格式和文本内容,可直接生成电子表格。这种解决方案的鲁棒性较差,对于不同类型的快递面单,容易出现个别类型面单识别效果较差的情况,且无法从中间步骤干预修复,模型修复调整难度大,不适合工程落地。
因此,如何提供一种识别准确率比较高的快递面单识别和自矫正方法是待解决的技术问题。
发明内容
为了解决现有技术中的识别算法准确度不高、应用范围较窄的技术问题,本发明提出了快递面单识别和自矫正方法、识别***。
本发明提出的快递面单识别和自矫正方法,包括:
步骤1,获取快递面单的图像进行文本块检测,并对文本块的字符内容进行预识别;
步骤2,根据预识别的文本块的字符内容以及文本块的位置进行关系匹配分析,从而得到文本块之间的相互关系以及各文本块的类别;
步骤3,根据文本块之间的相互关系以及预识别的文本块的字符内容,进行语义分析,对文本块的字符内容分别进行推理实现自矫正;
步骤4,将自矫正得到的字符信息以及文本块的类别作为快递面单的识别结果。
进一步,从视频流中截取数据帧,并将数据帧输入到预置的快递面单检测模型中获取所述快递面单的图像。
进一步,所述步骤2包括:
步骤2.1,以文本块为单位,对各文本块进行嵌入编码,每一个文本块编码为一个嵌入向量,将所有文本块的嵌入向量进行拼接、变换得到以快递面单为单位的所有文本块的编码矩阵;
步骤2.2,分析各文本块之间的相对位置关系,得到一个快递面单的所有文本块的位置编码矩阵;
步骤2.3,将一个快递面单的所有文本块的编码矩阵和位置编码矩阵进行多头自注意力推理,提取每一个文本块与其他文本块之间的语义关系,并形成关系匹配矩阵;
步骤2.4,基于所述关系匹配矩阵得到所述文本块的类别。
进一步,所述步骤2.1包括:
采用分词算法将每一个文本块的文本内容进行分词处理,得到S([c1,c2,ci,……,cn]),其中ci为文本的最小语义单元,通过词表查询,将文本映射为一维的文本词向量S0,向量长度为L0;
进一步,所述步骤2.2包括:
将各文本块的中心点坐标按照一定顺序进行排序编号,得到的文本块编号记为d,对应的位置编码向量长度为N0,数值均为Pd,其中Pd的计算公式为
进一步,所述关系匹配矩阵经过FFN网络推理得到所述文本块的类别,进行推理时的损失函数的计算公式为其中,M0为文本块最大数量,types为文本块的类别的数量,ydi为某个类别的标签值,ydi_pre_prob是推理时输出该类别的概率值。/>
进一步,所述步骤3包括:
步骤3.1,对每一个文本块内部的字符进行嵌入编码,得到每一个文本块的字符编码矩阵;
步骤3.2,将一个快递面单的关系匹配矩阵和其所有的字符编码矩阵进行拼接,得到文本块输入编码矩阵,所述拼接公式为Xi=REi||Ei,REi是第i个文本块对应的关系匹配向量,长度为N0,Ei是第i个文本块对应的字符Embeddings编码矩阵,形状为[L0,N0],Xi表示第i个文本块输入编码矩阵,形状为[L0+1,N0];
步骤3.3,将文本块输入编码矩阵进行多头自注意力推理,得到字符特征矩阵;
步骤3.4,基于字符特征矩阵得到矫正后的各文本块的编码矩阵。
进一步,所述步骤3.1包括:
采用分词算法将文本块预识别的字符进行分词处理,得到S([c1,c2,ci,……,cn]),其中ci为字符的最小语义单元;
通过词表查询,将文本映射为一维的文本词向量S0,向量长度为L0;
基于两个字典矩阵计算得到文本块对应的字符编码矩阵。
本发明提出的快递面单识别***,包括:
摄像头,用于获取图像;
工控机,用于从图像中获取格式文本的图像进行文本块检测,并对文本块的文本内容进行预识别,根据预识别的文本块的文本内容以及文本块的位置进行关系匹配分析,从而得到文本块及其位置的关系以及文本块的类别,根据文本块的类别以及语义分析,对文本块的文本内容分别进行推理实现自矫正,将自矫正的文本信息作为格式文本的识别结果。
进一步,所述摄像头设有至少两组。
本发明与现有技术相比,具有如下的有益效果。
本发明设计了基于注意力机制的关系匹配模块,综合考虑文本语义和文本块位置等相关信息,实现对文本块的可靠分类。不同的快递面单版面差异较大,有的快递是收件人在前发件人在后,有的是发件人在前(如安能物流),文本标识也各不相同,常规的表格解析算法无法准确解析各类快递面单的版面,单纯的语义分析也不能准确区分收件和发件信息,而本***综合考虑上下文语义和文本块位置等相关信息,实现了对文本块的可靠分类。
本发明设计了基于注意力机制的文本自矫正模块,在对文本进行语义分析的基础上,结合上下文关系匹配信息,对原文本进行错误检测和矫正。在快递寄送过程中,经常出现快递面单部分内容被涂写、覆盖、损坏等情况,常规的OCR算法无法对损坏内容进行有效识别,而本***能够在OCR预识别的基础上,对原始识别结果和上下文进行深入的语义分析,有效检测和矫正被损坏内容。此外,***采用了文本生成式的网络结构,能够支持缺字、多字等字数不同的错误矫正,文本自矫正准确率明显提升。
本发明针对算法模块的依赖关系,设计了多阶段多分支的训练方法,针对各模型数据集的特点,设计了专门的数据增强策略,有效减少了数据集收集处理工作,降低了模型训练难度,增强了模型的泛化能力。
附图说明
下面结合实施例和附图对本发明进行详细说明,其中:
图1是本发明一实施例的***构架图。
图2是本发明一实施例的识别及自矫正算法流程图。
图3是本发明一实施例的识别与自矫正算法结构图。
图4是本发明一实施例的关系匹配算法Transformer Encoder模块网络结构图。
图5是本发明一实施例的自矫正算法Transformer Encoder模块网络结构图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的***设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。
本发明提出的快递面单识别和自矫正方法,主要包括以下几个步骤。
步骤1,获取格式文本的图像进行文本块检测,并对文本块的字符内容进行预识别。即第一步先获取文本块以及文本块的大致内容。
步骤2,根据预识别的文本块的字符内容以及文本块之间的位置进行关系匹配分析,从而确定文本块的类别。由于不同企业的快递面单具有特定的样式格式,比如申通的快递收件人姓名电话在收件地址之前,而特惠送的收件人姓名电话在收件地址之后,比如安能物流面单的寄件人信息在收件人信息前面,而顺丰速运的收件人信息在前面,还有很多物流面单只有收件人信息而没有寄件人信息,此外对于一个多行的收件地址,不同行对应着不同的文本块,而上下行地址之间也存在着密切的语义关系。因此,对文本块之间关系进行语义分析,能够有效提升各文本块分类的准确性。
步骤3,根据文本块之间的相互关系以及预识别的文本块的字符内容,进行语义分析,对文本块的字符内容分别进行推理实现自矫正。
步骤4,最后将自矫正的字符信息和文本块类别作为快递面单的识别结果。
虽然快递公司很多,但是各家快递公司的快递面单都有对应的规律,比如韵达物流面单派送方式只有“送货上门、不上楼、自提”等固定几种类别,比如中通快运使用“派送”来标识收件地址,安能快运使用“委托人”来标识收件人姓名,比如德邦物流使用“****”来保护隐私,而特惠送使用“^_^”来保护隐私,还有圆通的快递单号以YT开头,京东的单号以JD开头。因此,充分应用快递面单中各文本块的相互关系,能够帮助对文本块内部的文字语义进行检查矫正,从而达到提升文本矫正的准确率。
通过上述步骤,本发明通过文本块检测算法提取所有文本块,然后根据文本块的预识别的字符和位置坐标进行关系匹配分析,实现快递面单的版面分析和语义自矫正。
在一个实施例中,本发明的快递面单图像是从视频流中截取数据帧,并将数据帧输入到预置的快递面单检测模型中获取得到。当快递包裹经过时,拍照得到快递包裹的视频流,从这些视频流中截取数据帧,将该数据帧对应的图像输入到预置格式文本类型检测模型中,得到快递包裹上的快递面单图像。
快递面单检测需要使用快递面单检测算法,考虑到该算法是在摄像头端侧运行,本发明使用轻量级的YoloV4-tiny网络进行快递面单检测。从摄像头读取1帧高清快递面单图像,将高清图像Resize至预设分辨率[416,416,3],使用YoloV4-tiny模型,对输入图像ximg∈R3×416×416进行推理预测,得到格式文本的类别为快递面单。
在一个实施例中,本发明采用DBNet算法进行文本块检测。其中,主干网络采用了ResNet,并增加了一个FPN结构得到特征图F,然后通过特征图F推理得到概率图、阈值图和二值图,从而实现文本框的分割。损失函数为:L=LS+α×Lb+β×Lt,其中LS是概率图损失函数,Lb是二值图损失函数,Lt是阈值图损失函数,α取值1.0,β取值10,LS和Lb采用二值交叉熵(BCE)求解,Lt采用L1 loss计算。
在一个实施例中,本发明采用单行中文识别算法对文本块的字符内容进行预识别。该单行中文识别算法也可以称之为目标检测算法,主要负责对检测出来的文本块进行预识别,分为backbone(骨干网络)、detection neck(检测颈)和detection head(检测头)三部分。其中,backbone采用轻量级网络GhostNet,在大幅降低运算量的情况下,尽可能保证检测能力。detection neck部分采用了LSTM算法对识别出来的中文字符进行前后语义关联,实现对特征信息的高效运用。detection head使用CTC算法,可支持可变长文字的端对端识别。损失函数为CTC Loss:L(S)=-∑(x,z)∈S ln p(zx),其中S表示训练集空间,x为推理出来的输入序列,z表示标注的label序列,p(zx)表示x中所有可映射到z的输出序列的累加值。
在一个实施例中,本发明的步骤2根据预识别的文本块的字符内容以及文本块的位置进行关系匹配分析,从而得到文本块之间的相互关系以及各文本块的类别具体包含了以下步骤。
步骤2.1,以文本块为单位,对各文本块进行嵌入编码,每一个文本块编码为一个嵌入向量,将所有文本块的嵌入向量进行拼接、变换得到以快递面单为单位的所有文本块的编码矩阵;
步骤2.1具体又可以分为以下几个步骤。
采用分词算法将每一个文本块的文本内容进行分词处理,得到S([c1,c2,ci,……,cn]),其中ci为文本的最小语义单元,通过词表查询,将文本映射为一维的文本词向量S0,向量长度为L0;
步骤2.2,分析各文本块之间的相对位置关系,得到一个快递面单的所有文本块的位置编码矩阵;
步骤2.2中,将各文本块的中心点坐标按照一定顺序进行排序编号,得到的文本块编号记为d,对应的位置编码向量长度为N0,数值均为Pd,其中Pd的计算公式为
步骤2.3,将一个快递面单的所有文本块的编码矩阵和位置编码矩阵进行多头自注意力推理,提取每一个文本块与其他文本块之间的语义关系,并形成关系匹配矩阵;
步骤2.4,基于所述关系匹配矩阵得到所述文本块的类别。
在一个实施例中,关系匹配矩阵经过FFN网络推理得到文本块的类别,进行推理时的损失函数的计算公式为其中,M0为文本块最大数量,types为文本块的类别的数量,ydi为某个类别的标签值,ydi_pre_prob是推理时输出该类别的概率值。
上述步骤2也可以称之为关系匹配算法。关系匹配算法是以文本块为基本单位,对整个快递面单包含的文本块进行语义关系推理,主体结构如图3所示,其中,算法输入为文本块的位置信息和预识别的字符内容,算法输出为关系匹配矩阵和各文本块的类别。首先根据文本块预识别的字符信息,对各文本块进行Embeddings编码,每个文本块编码为1个Embeddings向量,所有文本块的Embeddings向量拼接和变换后得到该快递面单的整体文本块编码矩阵。由于每个快递面单中包含的文本块数量是固定的,可以设置最大文本块数量是64个。然后将整体文本块编码矩阵和各文本块的位置编码输入到多级自注意力模块进行推理,得到各文本块之间的关系匹配矩阵。该关系匹配矩阵主要作用有两个:一是通过一个前向网络推理得到各文本块的具体类别(如收件人地址、发件人姓名等),二是输入到后续的文本自矫正算法中,利用文本块之间的相互关系提升文本自矫正效果。
该关系匹配算法也可以分为文本块嵌入计算方法(文本块Embeddings计算方法)和文本块位置嵌入计算方法(文本块位置Embeddings计算方法)以及文本块注意力模块计算方法。
文本块嵌入计算方法主要包含以下步骤。
先采用分词算法将文本块的字符内容使用tokenizer方法进行分词处理,得到S([c1,c2,ci,……,cn]),其中ci为字符的最小语义单元,中文取字,英文取词;通过词表查询,将字符映射为一维词向量Si,其中i为字符编号,向量长度为L0(L0为文本块最长字符个数,在一个实施例中取值为128),不足部分补为0。
文本块位置嵌入计算方法主要包含以下步骤。
对于文本Embeddings矩阵对应的位置编码矩阵为/>先将各文本块按照中心点坐标,从左至右、从上到下进行排序编号,文本块编号记为d,对应的位置编码向量长度为N0,数值均为Pd,其中Pd的计算公式为:
文本块注意力模块计算方法包含以下步骤。
文本块Embeddings矩阵Et和位置编码矩阵Ep经过文本块注意力模块推理,得到该快递面单的关系匹配矩阵RE。文本块注意力模块是一个多级自注意力网络,具体结构如图4所示,文本块Embeddings矩阵Et和位置编码矩阵Ep相加后作为K通道和Q通道的输入变量,V通道直接输入文本块Embeddings矩阵Et,然后进行多头自注意力推理。文本块自注意力模块输出的特征矩阵作为下一级文本块自注意力模块的输入文本块特征矩阵。
文本块自注意力模块级联数量N可以根据文本块类别和数量灵活选取,本发明一实施例中取N=6。多级自注意力模块最终输出的文本特征矩阵即为该快递面单的关系匹配矩阵RE,输入到文本自矫正模块中进行下一步推理。
关系匹配模型训练时还需要进行损失函数计算。
文本块注意力模块输出的关系匹配矩阵RE,经过一个前馈神经网络(FFN)网络推理,直接得出各文本块的类别。损失函数使用多分类交叉熵categorical_crossentropy,计算公式为:其中,M0为文本块最大数量,types为文本块类别数量(以快递面单为例,文本块类别可以包括如:快递公司名称、收件人姓名、收件人电话等),ydi为某个分类的标签值,ydi_pre_prob是在模型输出的此分类的概率值。
本发明采用自矫正模型根据文本块内部的语义信息和文本块之间的语义关系,对单个文本块内的字符进行自动矫正。该模型的输入为预识别的文本字符和关系匹配模块输出的关系匹配矩阵RE,输出为自矫正后的文本信息。主要流程是对文本块内部的字符进行Embeddings编码,与对应的字符位置编码相加后,再和关系匹配矩阵RE进行拼接,然后再通过自注意力推理得到矫正后的语义文本。
自矫正主要包含了字符Embeddings模块计算方法、注意力编码模块计算方法、文本自矫正算法损失函数计算。
字符Embeddings模块计算方法包含以下步骤。
第一步:使用tokenizer方法将文本进行分词处理,得到S([c1,c2,ci,……,cn]),其中ci为文本的最小语义单元,中文取字,英文取词;通过词表查询,将文本映射为一维词向量S0,向量长度为L0(L0为文本块最长字符个数,本***中取值为128),不足部分补为0。
第二步:按照输入编码向量中的分词顺序生成分词位置向量,S0对应的位置向量按照字符顺序设为Pi([1,2,…,L0]),分词位置向量总长度和输入编码向量总长度相同,均为L0。
第三步:设置可训练的字典矩阵和/>其中W0为字符编码总数,L0为文本块最长字符个数,N0为模型隐变量的长度,通过lookup table表查询的方法,分别计算出对应字符的Embeddings编码和位置Embeddings编码,相加可得该文本块对应的字符Embeddings编码矩阵:/>
第四步:将关系匹配矩阵RE和字符编码矩阵进行拼接,其公式为:Xi=REi||Ei,其中,REi是第i个文本块对应的关系匹配向量,长度为N0,Ei是第i个文本块对应的字符Embeddings编码矩阵,形状为[L0,N0],Xi表示第i个文本块输入编码矩阵,形状为
[L0+1,N0]。
字符注意力编码模块采用N个串联的Transformer Encoder模块(具体结构如图5所示)组成,输入值为文本块输入编码矩阵Xi,输出值为当前的字符特征矩阵,作为下一级Transformer Encoder模块的输入值进行下一步模型推理。
文本自矫正算法损失函数计算将字符注意力模块输出的文本特征矩阵,经过一个前馈神经网络(FFN)网络推理,直接得出各文本块矫正后的编码矩阵。损失函数使用多分类交叉熵categorical_crossentropy,计算公式为:其中,L0为每个文本块最大字符数量,num为中文字符总数,ydi为某个字符分类的标签值,ydi_pre_prob是在模型输出的此字符分类的概率值。
上述每一个算法、模型都需要预先进行训练,本发明的各个算法模型之间存在较强的数据依赖关系,需要分步进行训练。
快递面单检测和面单预识别算法训练时,快递面单检测算法直接使用标注好的快递面单图片样本进行训练,可采用随机剪切、旋转、亮度、色彩、噪点等方法进行数据增强。文本块检测和单行中文识别模块可以直接使用公开的OCR数据集,同时增加快递面单相关数据集进行训练。
关系匹配算法训练。关系匹配算法数据集文件采用XML格式标注,每个快递面单样本为一个主节点,包含的文本块为对应的子节点,每个文本块子节点包含文本块编号、预识别文本和文本块类别序号等属性。
第一步,使用训练好的文本块检测算法对收集的快递面单样本进行推理,得到快递面单中所有文本块坐标和尺寸,将这些文本块截取保存为文本块图片,并按照从左到右、从上到下的顺序进行编号,然后使用单行中文识别算法对截取的文本块图片进行推理得到文本块对应的预识别文本。将样本名称、文本块编号、预识别文本,按照XML规范填入到数据集文件中,然后由人工根据文本块信息判定文本块类别序号,添加到标注文件对应的节点属性中,最终得到原始标注文件。
第二步,针对快递常用字建立形近字字典,然后按照固定比例对原始标注文件中的预识别文本进行混淆处理,其中随机替换形近字占40%、随机删除字词占20%、随机增加字词占20%、随机颠倒字序占20%,从而得到数据增强标注文件。
第三步,将原始标注文件和数据增强标注文件混合后进行随机乱序,划分训练集和验证集,完成关系匹配算法训练。
下面介绍文本自矫正算法的训练,即自矫正模型的训练。
由于文本自矫正算法训练时,需要关系匹配算法输出的关系匹配矩阵作为输入,因此两个算法的数据标注格式必须要保持一致。本发明中,文本自矫正算法数据集是在关系匹配算法数据集的基础上,在文本块子节点上增加了一个“文本标签”的属性,用来表示该文本块真实的文本字符。
第一步,在关系匹配算法数据集的基础上,通过人工校核的方式,在每个文本块子节点“文本标签”属性上填写该文本块真实的文本字符,完成文本自矫正算法数据集构建。
第二步,将准备好的数据集按比例划分为训练集和验证集,然后展开算法训练。文本自矫正算法训练时必须以快递面单主节点为基本单位进行训练,首先将主节点内所有子节点数据输入到关系匹配算法进行推理,得到对应的关系匹配矩阵,然后和标签文件中对应的属性值一起,输入到文本自矫正算法进行模型训练。
本发明还保护快递面单识别***,该***包括摄像头和工控机。摄像头用于获取原始图像。
工控机用于从原始图像中获取快递面单图像进行文本块检测,并对文本块进行文本预识别,根据预识别的文本内容以及文本块的位置进行关系匹配分析,从而得到文本块的相互关系以及文本块的类别,根据文本块的相互关系以及文本块内部字符语义,对文本块的预识别的文本进行自矫正,将自矫正的文本信息和文本块类别作为最终识别结果。
在一个实施例中,摄像头设有至少两组,分别采集不同高度范围的快递面单,防止出现因景深不够导致图像模糊。
图1示出了本发明快递面单识别***的一个具体实施例。该格式文本的识别***包括摄像头1、4,嵌入式的推理模组2、5,工控机3、后台服务端6。
各个模块通过有线或无线方式进行连接和通信。其中,嵌入式的推理模组2与摄像头1通过MIPI总线连接;嵌入式的推理模组5与摄像头4通过MIPI总线连接;嵌入式的推理模组2与工控机3通过以太网连接;嵌入式的推理模组2与工控机3通过以太网连接;嵌入式的推理模组5与工控机3通过以太网连接;工控机3与后台服务端6通过有线或4G信道连接。
如***框架图所述,各个模块完成各自不同的功能。其中,摄像头1、4主要负责采集拍摄区域内的视频信息,并将采集的数字信号传输到嵌入式的推理模组2、5;嵌入式的推理模组2、5负责对图像进行压缩处理,并进行算法运算检测提取快递面单图像;工控机3负责对快递面单图像进行OCR识别和版面分析,并根据语义完成字符的自矫正,然后将快递图像和识别结果实时显示在显示器上,同时将图片数据、识别结果和配置信息上传到后台服务端6;后台服务端6负责图片数据、识别结果、配置信息的存储管理,并通过API接口将识别结果发送给其他***。
该***运行时的主要流程大致分为三个阶段。第一个阶段是快递面单检测阶段,设备从视频流中截取一帧图像数据,预处理后经过快递面单检测模型推理,计算出快递面单位置和大小,并截取为单独的快递面单图像。第二阶段是字符预识别阶段,先对矫正后的快递面单进行文本块检测,然后循环使用OCR算法对每个文本块进行OCR预识别,如果预识别结果文本块数量、字符数量以及置信度等达到设定阈值,则进行后续的字符自矫正。第三阶段是字符自矫正阶段,关系匹配模块根据文本块的位置和预识别字符内容,通过注意力机制推理判定各文本块之间的相互关系,从而预测该文本块的类别(如收件人地址内容、寄件人电话内容等),同时将输出的关系向量送入到自矫正模块,完成预识别文本字符的错误矫正。
图3显示了各个算法模块的协作示意图。当摄像头拍到视频以后,从中截取出对应的数据帧作为输入图像输入到快递面单检测模块,快递面单检测模块运行快递面单检测算法从数据帧中筛选出快递面单的图像。
快递面单的图像作为输入数据输入到面单预识别模块。面单预识别模块包括两个模块,分别是文本块检测模块和单行中文识别模块,文本块检测模块运行文本块检测算法检测出每一个快递面单的所有文本块。单行中文检测算法对每一个文本块的字符内容进行预识别。
接着文本块的作为被输入到关系匹配模块,关系匹配模块包括文本块位置编码模块(图中名称为文本块位置Embeddings)、文本块编码模块(图中名称为文本块Embeddings)、文本块注意力模块以及FFN模块,文本块位置编码模块根据文本块的坐标生成文本块位置编码矩阵。文本块编码模块根据预识别的文本块的字符内容生成文本块编码矩阵,之后都输入到文本块注意力模块得到关系匹配矩阵,关系匹配矩阵再作为FFN模块的输入,得到对应的文本块的类别,即分类。
另外,关系匹配矩阵还要输入到文本自矫正模块。文本自矫正模块包括字符编码模块(图中称为字符Embeddings模块)、字符注意力模块和FFN模块。
字符编码模块对每个文本块的字符进行编码,生成字符编码矩阵,字符编码矩阵和关系匹配矩阵一起输入到字符注意力模块,得到字符特征矩阵,字符特征矩阵通过FFN模块得到自矫正的字符信息,即自矫正文字信息。
需要注意的是,关系匹配模块与文本自矫正模块的FFN模块为各自独立的FFN模块。
本发明通过摄像头采集快递面单图像,通过文本块检测算法提取所有文字块,然后根据文字块的位置坐标和预识别的文本进行关系匹配分析,实现面单版面分析和OCR语义自矫正。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种快递面单识别和自矫正方法,其特征在于,包括:
步骤1,获取快递面单的图像进行文本块检测,并对文本块的字符内容进行预识别;
步骤2,根据预识别的文本块的字符内容以及文本块的位置进行关系匹配分析,从而得到文本块之间的相互关系以及各文本块的类别;
步骤3,根据文本块之间的相互关系以及预识别的文本块的字符内容,进行语义分析,对文本块的字符内容分别进行推理实现自矫正;
步骤4,将自矫正得到的字符信息以及文本块类别作为快递面单的识别结果。
2.如权利要求1所述的快递面单识别和自矫正方法,其特征在于,从视频流中截取数据帧,并将数据帧输入到预置的快递面单检测模型中获取所述快递面单的图像。
3.如权利要求1所述的快递面单识别和自矫正方法,其特征在于,所述步骤2包括:
步骤2.1,以文本块为单位,对各文本块进行嵌入编码,每一个文本块编码为一个嵌入向量,将所有文本块的嵌入向量进行拼接、变换得到以快递面单为单位的所有文本块的编码矩阵;
步骤2.2,分析各文本块之间的相对位置关系,得到一个快递面单的所有文本块的位置编码矩阵;
步骤2.3,将一个快递面单的所有文本块的编码矩阵和位置编码矩阵进行多头自注意力推理,提取每一个文本块与其他文本块之间的语义关系,并形成关系匹配矩阵;
步骤2.4,基于所述关系匹配矩阵得到所述文本块的类别。
7.如权利要求1所述的快递面单识别和自矫正方法,其特征在于,所述步骤3包括:
步骤3.1,对每一个文本块内部的字符进行嵌入编码,得到每一个文本块的字符编码矩阵;
步骤3.2,将一个快递面单的关系匹配矩阵和其所有的字符编码矩阵进行拼接,得到文本块输入编码矩阵,所述拼接公式为Xi=REi||Ei,REi是第i个文本块对应的关系匹配向量,长度为N0,Ei是第i个文本块对应的字符Embeddings编码矩阵,形状为[L0,N0],Xi表示第i个文本块输入编码矩阵,形状为[L0+1,N0];
步骤3.3,将文本块输入编码矩阵进行多头自注意力推理,得到字符特征矩阵;
步骤3.4,基于字符特征矩阵得到矫正后的各文本块的编码矩阵。
9.一种快递面单识别***,其特征在于,包括:
摄像头,用于获取图像;
工控机,用于从图像中获取格式文本的图像进行文本块检测,并对文本块的文本内容进行预识别,根据预识别的文本块的文本内容以及文本块的位置进行关系匹配分析,从而得到文本块及其位置的关系以及文本块的类别,根据文本块的类别以及语义分析,对文本块的文本内容分别进行推理实现自矫正,将自矫正的文本信息作为格式文本的识别结果。
10.如权利要求9所述的快递面单识别***,其特征在于,所述摄像头设有至少两组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211727783.4A CN116189196A (zh) | 2022-12-30 | 2022-12-30 | 快递面单识别和自矫正方法、识别*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211727783.4A CN116189196A (zh) | 2022-12-30 | 2022-12-30 | 快递面单识别和自矫正方法、识别*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116189196A true CN116189196A (zh) | 2023-05-30 |
Family
ID=86435749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211727783.4A Pending CN116189196A (zh) | 2022-12-30 | 2022-12-30 | 快递面单识别和自矫正方法、识别*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116189196A (zh) |
-
2022
- 2022-12-30 CN CN202211727783.4A patent/CN116189196A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111476067B (zh) | 图像的文字识别方法、装置、电子设备及可读存储介质 | |
CN109902622B (zh) | 一种用于登机牌信息验证的文字检测识别方法 | |
CN110399798B (zh) | 一种基于深度学习的离散图片文件信息提取***及方法 | |
CN104881770A (zh) | 一种快递单信息识别***和方法 | |
CN113780087B (zh) | 一种基于深度学习的邮政包裹文本检测方法及设备 | |
CN114155527A (zh) | 一种场景文本识别方法和装置 | |
CN112818951A (zh) | 一种票证识别的方法 | |
CN113313111A (zh) | 文本识别方法、装置、设备和介质 | |
CN110647956A (zh) | 一种联合二维码识别的***信息提取方法 | |
CN105184329A (zh) | 一种基于云平台的脱机手写识别方法 | |
CN111539414B (zh) | 一种ocr图像字符识别和字符校正的方法及*** | |
CN113780276A (zh) | 一种结合文本分类的文本检测和识别方法及*** | |
CN112949455A (zh) | 一种增值税***识别***及方法 | |
CN108090728B (zh) | 一种基于智能终端的快递信息录入方法及录入*** | |
CN111414889B (zh) | 基于文字识别的财务报表识别方法及装置 | |
CN113657377A (zh) | 一种机打票据图像结构化识别方法 | |
CN116189196A (zh) | 快递面单识别和自矫正方法、识别*** | |
CN110674678A (zh) | 视频中敏感标志的识别方法及装置 | |
CN115953744A (zh) | 一种基于深度学习的车辆识别追踪方法 | |
CN115661904A (zh) | 数据标注和域适应模型训练方法、装置、设备及介质 | |
CN110659643B (zh) | 一种集装箱号的识别方法和装置 | |
CN111046874A (zh) | 一种基于模板匹配的单号识别方法 | |
CN113792780B (zh) | 基于深度学习和图像后处理的集装箱号识别方法 | |
CN112861800B (zh) | 基于改进的Faster R-CNN模型的快递识别方法 | |
CN113255613B (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 |