票据区域识别方法、装置、电子设备及可读存储介质
文献发布时间:2023-06-19 10:08:35
技术领域
本发明涉及智能决策领域,尤其涉及一种票据区域识别方法、装置、电子设备及可读存储介质。
背景技术
随着科技的进步,人工智能的应用越来越广泛,例如,在财务报销的场景中,可通过OCR识别技术对票据内容进行识别,使得票据录入效率更高、录入结果更准确,然而,对于多张票据混贴在一张报销单的情况,由于票据尺寸不一、粘贴方向不同且粘贴有重叠,从而使得OCR识别结果不准确,因此,需在OCR识别前对混贴票据进行票据区域识别,以对各张票据进行拆分。
传统的票据区域识别方法主要通过二值化,形态学处理,连通域检测,霍夫直线检测,或者是关键点检测来实现。这些方法通常只能检测图片中仅有单张票据的情况;且检测效果不稳定,针对图片有畸变,背景较复杂等情况可能检测不到或者检测出错。因此,亟需一种票据区域识别方法,以提高票据区域识别准确度。
发明内容
鉴于以上内容,有必要提供一种票据区域识别方法,旨在提高票据区域识别准确度。
本发明提供的票据区域识别方法,包括:
解析用户基于客户端发出的票据区域识别请求,获取所述请求携带的待识别图像,所述待识别图像中含有多张票据;
将所述待识别图像输入训练好的票据区域识别模型,得到多个尺度模板中每个尺度模板对应的票据区域识别结果,所述票据区域识别结果包括所述待识别图像中每张票据对应的预测区域;
基于所述预测区域确定所述待识别图像对应的目标尺度模板,将所述目标尺度模板对应的票据区域识别结果作为目标识别结果,并将所述目标识别结果反馈给所述客户端。
可选的,所述票据区域识别模型的构建过程包括:
在特征金字塔模型的自顶向下网络分支的输出处增加特征融合分支,所述特征融合分支包括上采样模块和卷积模块;
在所述特征融合分支的输出处增加分类分支,所述分类分支包括区域特征聚集模块和全连接模块。
可选的,所述票据区域识别模型的训练过程包括:
采集预设数量的携带第一标注信息的票据图像,计算所述票据图像在多个尺度模板中的每个尺度模板下的第二标注信息,得到携带第一及第二标注信息的票据图像集;
将所述票据图像集输入所述票据区域识别模型,训练所述票据区域识别模型的分类分支,通过最小化第一损失函数确定所述票据区域识别模型的分类分支的参数,得到初级票据区域识别模型;
固定所述分类分支的参数,将所述票据图像集输入所述初级票据区域识别模型,通过最小化第二损失函数确定所述初级票据区域识别模型的自底向上网络分支、自顶向上网络分支及特征融合分支的参数,得到训练好的票据区域识别模型。
可选的,所述将所述票据图像集输入所述票据区域识别模型,训练所述票据区域识别模型的分类分支,包括:
获取所述票据区域识别模型的特征融合分支的各个通道输出的特征图,根据所述第一及第二标注信息裁剪出每张特征图中各张票据对应的区域,将所述区域作为正样本;
在所述特征图中随机裁剪不同大小的背景区域、和/或不完整票据的区域、和/或多张票据叠加的区域作为负样本;
利用所述正样本及负样本训练所述票据区域识别模型的分类分支。
可选的,所述第一损失函数的计算公式为:
其中,H为第一损失函数,p
所述第二损失函数的计算公式为:
其中,I为第二损失函数,A
可选的,所述基于所述预测区域确定所述待识别图像对应的目标尺度模板,包括:
依照尺度模板从小到大的顺序依次判断每个尺度模板对应的票据区域识别结果中各张票据的预测区域是否有重叠;
当判断某一指定尺度模板中票据的预测区域有重叠时,将所述指定尺度模板的前一个尺度模板作为所述待识别图像对应的目标尺度模板。
可选的,在依照尺度模板从小到大的顺序依次判断每个尺度模板对应的票据区域识别结果中各张票据的预测区域是否有重叠之后,所述方法还包括:
若每个尺度模板对应的票据区域识别结果中各张票据的预测区域都有重叠,则将最小尺度模板作为所述待识别图像对应的目标尺度模板;
若每个尺度模板对应的票据区域识别结果中各张票据的预测区域都没有重叠,则将最大尺度模板作为所述待识别图像对应的目标尺度模板。
为了解决上述问题,本发明还提供一种票据区域识别装置,所述装置包括:
解析模块,用于解析用户基于客户端发出的票据区域识别请求,获取所述请求携带的待识别图像,所述待识别图像中含有多张票据;
识别模块,用于将所述待识别图像输入训练好的票据区域识别模型,得到多个尺度模板中每个尺度模板对应的票据区域识别结果,所述票据区域识别结果包括所述待识别图像中每张票据对应的预测区域;
确定模块,用于基于所述预测区域确定所述待识别图像对应的目标尺度模板,将所述目标尺度模板对应的票据区域识别结果作为目标识别结果,并将所述目标识别结果反馈给所述客户端。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的票据区域识别程序,所述票据区域识别程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述票据区域识别方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有票据区域识别程序,所述票据区域识别程序可被一个或者多个处理器执行,以实现上述票票据区域识别方法。
相较现有技术,本发明首先解析用户基于客户端发出的票据区域识别请求,获取所述请求携带的含有多张票据的待识别图像;然后,将待识别图像输入训练好的票据区域识别模型,得到多个尺度模板中每个尺度模板对应的票据区域识别结果,所述票据区域识别结果包括待识别图像中每张票据的预测区域,本步骤通过输出多个尺度模板对应的票据区域识别结果避免了输出的结果中各张票据紧贴的情况;最后,基于所述预测区域确定待识别图像对应的目标尺度模板,将目标尺度模板对应的票据区域识别结果作为目标识别结果,本步骤通过逐一判断各个尺度模板中票据的预测区域是否有重叠来找出能分割票据的最大尺度模板,使得识别出的票据区域更为准确。因此,本发明提高了票据区域识别准确度。
附图说明
图1为本发明一实施例提供的票据区域识别方法的流程示意图;
图2为本发明一实施例提供的票据区域识别模型的结构示意图;
图3为本发明一实施例提供的票据区域识别装置的模块示意图;
图4为本发明一实施例提供的实现票据区域识别方法的电子设备的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种票据区域识别方法。参照图1所示,为本发明一实施例提供的票据区域识别方法的流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。
本实施例中,票据区域识别方法包括:
S1、解析用户基于客户端发出的票据区域识别请求,获取所述请求携带的待识别图像,所述待识别图像中含有多张票据。
所述待识别图像中包括多张尺寸不一、粘贴方向不同且粘贴较紧密的票据。
S2、将所述待识别图像输入训练好的票据区域识别模型,得到多个尺度模板中每个尺度模板对应的票据区域识别结果,所述票据区域识别结果包括所述待识别图像中每张票据对应的预测区域。
现有技术中通常采用卷积神经网络模型对图像中的物体进行识别,然而卷积神经网络底层的特征语义信息比较少、但目标位置准确,高层的特征语义信息比较丰富、但是目标位置比较粗略,故而,当图像中物体的尺寸差异较大时,卷积神经网络模型的识别准确率较低。
参照图2所示,为本发明一实施例提供的票据区域识别模型的结构示意图。本实施例中,所述票据区域识别模型为改进后的特征金字塔网络模型。
所述票据区域识别模型的构建过程包括:
A11、在特征金字塔模型的自顶向下网络分支的输出处增加特征融合分支,所述特征融合分支包括上采样模块和卷积模块;
A12、在所述特征融合分支的输出处增加分类分支,所述分类分支包括区域特征聚集模块和全连接模块。
构建得到的票据区域识别模型的结构包括:自底向上网络分支、自顶向下网络分支、横向连接网络分支、特征融合分支及分类分支。
所述自底向上网络分支由残差网络构成,本实施例中,自底向上网络分支为resnet101。将待识别图像输入所述票据区域识别模型的自底向上网络分支中,特征图经过卷积核计算,通常是越变越小的,也有一些特征层的输出和原来大小一样,将输出大小相同的层作为一个阶段(即一个卷积集合),每个阶段抽取的特征为每个阶段的最后一个层的输出(因为每个阶段的最深层具有最强的特征),这样就构成了多个级别C2、C3、C4、C5,输入图像每经过一个阶段,特征图将缩小到0.5倍。
所述自底向上网络分支的输出为自顶向下网络分支的输入,自顶向下网络分支对输入的特征图进行2倍上采样,而横向连接分支则将上采样的结果与自底向上网络分支中相同层级输出的特征图进行融合,之所以将自底向上网络分支与自顶向下网络分支中相同层级的特征图进行横向连接,是因为这两个层级的特征图尺寸相同,可以保证底层定位的细节信息的准确性。然后对横向连接融合后的特征图做一个3*3的卷积(用于消除上采样的混叠效应),得到自顶向上分支每个阶段的特征图P2、P3、P4、P5,其中P2、P3、P4、P5与自底向上网络分支的卷积结果C2、C3、C4、C5一一对应。
所述特征融合分支的输入为自顶向下网络分支的输出(即特征图P2、P3、P4、P5),将P3,P4,P5通过上采样模块(双线性插值法上采样)采样为P2的大小,假设P2的大小为1024*1024,那么上采样后所有特征层将变为1024*1024。然后将P2,P3,P4,P5组合在一起,变成一个新的特征层F,F的大小为1024*1024*4。紧接着可使特征层F经卷积模块卷积变为x*x*n(通过n个卷积核卷积使得输出维度为n),即使图像通过网络输出同样大小,有n个通道的特征层。其中n个通道对应着图像的n个尺度模板,将得到n种票据区域识别结果,每种票据区域识别结果中包括识别出的每张票据的预测区域。
所述分类分支包括区域特征聚集模块(ROI Align)和全连接模块,分类分支的目的是判断n种票据区域识别结果中每个识别出的票据区域是否对应着一张票据,可能存在识别出的票据区域对应的不是一整张票据的情况,有可能是一张票据的一部分,或者多张票据的混合。分类旁支的输入为特征融合分支识别出的票据区域,即ROI(region ofinterest,感兴趣区域)。分类分支的ROI Align将大小不同的ROI映射为固定大小的尺寸,然后通过后面的全连接层进行分类识别。本实施例中的全连接模块采用两层全连接层,最后一层全连接层的输出类别为票据或非票据。
ROI Align是一种区域特征聚集方式,根据ROI位置坐标在特征图中将相应区域池化为固定尺寸的特征图,以便于进行后续的分类。ROI Align使用双线性内插的方法获得坐标为浮点数的像素点上的图像数值,从而将整个特征聚集过程转化为一个连续的操作,在补充出候选区域边界上的坐标点的同时,保证了候选区域与ROI位置的一致性,使得分类结果更为准确。
本实施例中,在将特征融合分支识别出的票据预测区域输入分类分支之前,所述方法还包括:
获取预先设置的票据长宽比标准范围,判断所述票据预测区域的长宽比是否在所述标准范围内,若某一指定票据预测区域不在所述标准范围内,则删除所述指定票据预测区域。
本实施例中,票据区域识别模型在原有特征金字塔模型的基础上增加了特征融合分支及分类分支,特征融合分支将自顶向下网络分支每个阶段输出的特征图进行融合形成新的特征图,并通过n个卷积核进行卷积,得到n个通道的特征图,n个通道分别对应n个模板,所述特征融合分支的输出为各个模板对应的票据预测区域,而分类分支是对特征融合分支输出的票据预测区域进行识别,以确认各票据预测区域对应的是否为票据,杜绝了票据区域识别模型输出的票据预测区域对应的不是一整张票据的情况,使得票据区域识别模型的识别准确度更高。
本实施例中,所述票据区域识别模型的训练过程包括步骤B11-B13:
B11、采集预设数量的携带第一标注信息的票据图像,计算所述票据图像在多个尺度模板中的每个尺度模板下的第二标注信息,得到携带第一及第二标注信息的票据图像集;
所述第一标注信息为票据图像中各个票据的真实区域及各个票据区域是票据的真实概率(即1),本实施例中,可采用标注工具labelme选取每张票据边缘的关键点,框出每张票据的边框。如果输入图像的大小设定为x*x,采用pythonopencv工具将标注的边框内部填充为1,边框外部填充为0,将填充完成后的图像作为尺度为1的二值化模板,模板大小仍为x*x。
本实施例通过预设多尺度提取策略计算票据图像在多个尺度模板中的每个尺度模板下的第二标注信息,假设预设多尺度提取策略为:选择从0.8到1,间隔为0.01的20个尺度模板,则n为20。
其中,尺度为0.8的模板的制作过程为:将票据的边框缩小到0.8倍,再次用pythonopencv工具将标注的边框内部填充为1,边框外部填充为0,此时,模板大小仍为x*x,只是边框缩小0.8。以此类推,可得到票据图像在每个尺度模板下的第二标注信息(即票据图像中各张票据在每个尺度模板下的真实区域)。
制作出的20个尺度模板将作为模型输出的标签,模型输出也应为x*x*20,即图像通过网络输出同样大小,有20个通道的特征层,这20个通道依次对应着20个尺度。
B12、将所述票据图像集输入所述票据区域识别模型,训练所述票据区域识别模型的分类分支,通过最小化第一损失函数确定所述票据区域识别模型的分类分支的参数,得到初级票据区域识别模型;
本实施例中,所述将所述票据图像集输入所述票据区域识别模型,训练所述票据区域识别模型的分类分支,包括步骤C11-C13:
C11、获取所述票据区域识别模型的特征融合分支的各个通道输出的特征图,根据所述第一及第二标注信息裁剪出每张特征图中各张票据对应的区域,将所述区域作为正样本;
C12、在所述特征图中随机裁剪不同大小的背景区域、和/或不完整票据的区域、和/或多张票据叠加的区域作为负样本;
C13、利用所述正样本及负样本训练所述票据区域识别模型的分类分支。
本实施例中,所述第一损失函数的计算公式为:
其中,H为第一损失函数,p
B13、固定所述分类分支的参数,将所述票据图像集输入所述初级票据区域识别模型,通过最小化第二损失函数确定所述初级票据区域识别模型的自底向上网络分支、自顶向上网络分支及特征融合分支的参数,得到训练好的票据区域识别模型。
所述第二损失函数的计算公式为:
其中,I为第二损失函数,A
S3、基于所述预测区域确定所述待识别图像对应的目标尺度模板,将所述目标尺度模板对应的票据区域识别结果作为目标识别结果,并将所述目标识别结果反馈给所述客户端。
本实施例中,所述基于所述预测区域确定所述待识别图像对应的目标尺度模板,包括:
D11、依照尺度模板从小到大的顺序依次判断每个尺度模板对应的票据区域识别结果中各张票据的预测区域是否有重叠;
D12、当判断某一指定尺度模板中票据的预测区域有重叠时,将所述指定尺度模板的前一个尺度模板作为所述待识别图像对应的目标尺度模板。
现有二值化模板提取票据边框的做法是,利用连通域将票据的边框找出,一个连通域对应一个边框,然而当两张票据粘贴过密时,连通域的方法只能将两种票据识别为一张票据。本实施例中多尺度模板可识别这种边界不清的情况,当把票据块缩小到0.8时,通常情况下票据边框可以分开。
本实施例,在依照尺度模板从小到大的顺序依次判断每个尺度模板对应的票据区域识别结果中各张票据的预测区域是否有重叠之后,所述方法还包括:
E11、若每个尺度模板对应的票据区域识别结果中各张票据的预测区域都有重叠,则将最小尺度模板作为所述待识别图像对应的目标尺度模板;
E12、若每个尺度模板对应的票据区域识别结果中各张票据的预测区域都没有重叠,则将最大尺度模板作为所述待识别图像对应的目标尺度模板。
本实施例中,所述方法还包括:
将所述目标识别结果扩大预设倍数,得到目标图像,对所述目标图像进行文字识别(例如,OCR识别),将识别到的文字信息反馈给所述客户端。
由上述实施例可知,本发明提出的票据区域识别方法,首先,解析用户基于客户端发出的票据区域识别请求,获取所述请求携带的含有多张票据的待识别图像;然后,将待识别图像输入训练好的票据区域识别模型,得到多个尺度模板中每个尺度模板对应的票据区域识别结果,所述票据区域识别结果包括待识别图像中每张票据的预测区域,本步骤通过输出多个尺度模板对应的票据区域识别结果避免了输出的结果中各张票据紧贴的情况;最后,基于所述预测区域确定待识别图像对应的目标尺度模板,将目标尺度模板对应的票据区域识别结果作为目标识别结果,本步骤通过逐一判断各个尺度模板中票据的预测区域是否有重叠来找出能分割票据的最大尺度模板,使得识别出的票据区域更为准确。因此,本发明提高了票据区域识别准确度。
如图3所示,为本发明一实施例提供的票据区域识别装置的模块示意图。
本发明所述票据区域识别装置100可以安装于电子设备中。根据实现的功能,所述票据区域识别装置100可以包括解析模块110、识别模块120及确定模块130。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
解析模块110,用于解析用户基于客户端发出的票据区域识别请求,获取所述请求携带的待识别图像,所述待识别图像中含有多张票据。
所述待识别图像中包括多张尺寸不一、粘贴方向不同且粘贴较紧密的票据。
识别模块120,用于将所述待识别图像输入训练好的票据区域识别模型,得到多个尺度模板中每个尺度模板对应的票据区域识别结果,所述票据区域识别结果包括所述待识别图像中每张票据对应的预测区域。
现有技术中通常采用卷积神经网络模型对图像中的物体进行识别,然而卷积神经网络底层的特征语义信息比较少、但目标位置准确,高层的特征语义信息比较丰富、但是目标位置比较粗略,故而,当图像中物体的尺寸差异较大时,卷积神经网络模型的识别准确率较低。
本实施例中,所述票据区域识别模型为改进后的特征金字塔网络模型。
所述票据区域识别模型的构建过程包括:
A21、在特征金字塔模型的自顶向下网络分支的输出处增加特征融合分支,所述特征融合分支包括上采样模块和卷积模块;
A22、在所述特征融合分支的输出处增加分类分支,所述分类分支包括区域特征聚集模块和全连接模块。
构建得到的票据区域识别模型的结构包括:自底向上网络分支、自顶向下网络分支、横向连接网络分支、特征融合分支及分类分支。
所述自底向上网络分支由残差网络构成,本实施例中,自底向上网络分支为resnet101。将待识别图像输入所述票据区域识别模型的自底向上网络分支中,特征图经过卷积核计算,通常是越变越小的,也有一些特征层的输出和原来大小一样,将输出大小相同的层作为一个阶段(即一个卷积集合),每个阶段抽取的特征为每个阶段的最后一个层的输出(因为每个阶段的最深层具有最强的特征),这样就构成了多个级别C2、C3、C4、C5,输入图像每经过一个阶段,特征图将缩小到0.5倍。
所述自底向上网络分支的输出为自顶向下网络分支的输入,自顶向下网络分支对输入的特征图进行2倍上采样,而横向连接分支则将上采样的结果与自底向上网络分支中相同层级输出的特征图进行融合,之所以将自底向上网络分支与自顶向下网络分支中相同层级的特征图进行横向连接,是因为这两个层级的特征图尺寸相同,可以保证底层定位的细节信息的准确性。然后对横向连接融合后的特征图做一个3*3的卷积(用于消除上采样的混叠效应),得到自顶向上分支每个阶段的特征图P2、P3、P4、P5,其中P2、P3、P4、P5与自底向上网络分支的卷积结果C2、C3、C4、C5一一对应。
所述特征融合分支的输入为自顶向下网络分支的输出(即特征图P2、P3、P4、P5),将P3,P4,P5通过上采样模块(双线性插值法上采样)采样为P2的大小,假设P2的大小为1024*1024,那么上采样后所有特征层将变为1024*1024。然后将P2,P3,P4,P5组合在一起,变成一个新的特征层F,F的大小为1024*1024*4。紧接着可使特征层F经卷积模块卷积变为x*x*n(通过n个卷积核卷积使得输出维度为n),即使图像通过网络输出同样大小,有n个通道的特征层。其中n个通道对应着图像的n个尺度模板,将得到n种票据区域识别结果,每种票据区域识别结果中包括识别出的每张票据的预测区域。
所述分类分支包括区域特征聚集模块(ROI Align)和全连接模块,分类分支的目的是判断n种票据区域识别结果中每个识别出的票据区域是否对应着一张票据,可能存在识别出的票据区域对应的不是一整张票据的情况,有可能是一张票据的一部分,或者多张票据的混合。分类旁支的输入为特征融合分支识别出的票据区域,即ROI(region ofinterest,感兴趣区域)。分类分支的ROI Align将大小不同的ROI映射为固定大小的尺寸,然后通过后面的全连接层进行分类识别。本实施例中的全连接模块采用两层全连接层,最后一层全连接层的输出类别为票据或非票据。
ROI Align是一种区域特征聚集方式,根据ROI位置坐标在特征图中将相应区域池化为固定尺寸的特征图,以便于进行后续的分类。ROI Align使用双线性内插的方法获得坐标为浮点数的像素点上的图像数值,从而将整个特征聚集过程转化为一个连续的操作,在补充出候选区域边界上的坐标点的同时,保证了候选区域与ROI位置的一致性,使得分类结果更为准确。
本实施例中,在将特征融合分支识别出的票据预测区域输入分类分支之前,所述识别模块120还用于:
获取预先设置的票据长宽比标准范围,判断所述票据预测区域的长宽比是否在所述标准范围内,若某一指定票据预测区域不在所述标准范围内,则删除所述指定票据预测区域。
本实施例中,票据区域识别模型在原有特征金字塔模型的基础上增加了特征融合分支及分类分支,特征融合分支将自顶向下网络分支每个阶段输出的特征图进行融合形成新的特征图,并通过n个卷积核进行卷积,得到n个通道的特征图,n个通道分别对应n个模板,所述特征融合分支的输出为各个模板对应的票据预测区域,而分类分支是对特征融合分支输出的票据预测区域进行识别,以确认各票据预测区域对应的是否为票据,杜绝了票据区域识别模型输出的票据预测区域对应的不是一整张票据的情况,使得票据区域识别模型的识别准确度更高。
本实施例中,所述票据区域识别模型的训练过程包括步骤B21-B23:
B21、采集预设数量的携带第一标注信息的票据图像,计算所述票据图像在多个尺度模板中的每个尺度模板下的第二标注信息,得到携带第一及第二标注信息的票据图像集;
所述第一标注信息为票据图像中各个票据的真实区域及各个票据区域是票据的真实概率(即1),本实施例中,可采用标注工具labelme选取每张票据边缘的关键点,框出每张票据的边框。如果输入图像的大小设定为x*x,采用pythonopencv工具将标注的边框内部填充为1,边框外部填充为0,将填充完成后的图像作为尺度为1的二值化模板,模板大小仍为x*x。
本实施例通过预设多尺度提取策略计算票据图像在多个尺度模板中的每个尺度模板下的第二标注信息,假设预设多尺度提取策略为:选择从0.8到1,间隔为0.01的20个尺度模板,则n为20。
其中,尺度为0.8的模板的制作过程为:将票据的边框缩小到0.8倍,再次用pythonopencv工具将标注的边框内部填充为1,边框外部填充为0,此时,模板大小仍为x*x,只是边框缩小0.8。以此类推,可得到票据图像在每个尺度模板下的第二标注信息(即票据图像中各张票据在每个尺度模板下的真实区域)。
制作出的20个尺度模板将作为模型输出的标签,模型输出也应为x*x*20,即图像通过网络输出同样大小,有20个通道的特征层,这20个通道依次对应着20个尺度。
B22、将所述票据图像集输入所述票据区域识别模型,训练所述票据区域识别模型的分类分支,通过最小化第一损失函数确定所述票据区域识别模型的分类分支的参数,得到初级票据区域识别模型;
本实施例中,所述将所述票据图像集输入所述票据区域识别模型,训练所述票据区域识别模型的分类分支,包括步骤C21-C23:
C21、获取所述票据区域识别模型的特征融合分支的各个通道输出的特征图,根据所述第一及第二标注信息裁剪出每张特征图中各张票据对应的区域,将所述区域作为正样本;
C22、在所述特征图中随机裁剪不同大小的背景区域、和/或不完整票据的区域、和/或多张票据叠加的区域作为负样本;
C23、利用所述正样本及负样本训练所述票据区域识别模型的分类分支。
本实施例中,所述第一损失函数的计算公式为:
其中,H为第一损失函数,p
B23、固定所述分类分支的参数,将所述票据图像集输入所述初级票据区域识别模型,通过最小化第二损失函数确定所述初级票据区域识别模型的自底向上网络分支、自顶向上网络分支及特征融合分支的参数,得到训练好的票据区域识别模型。
所述第二损失函数的计算公式为:
其中,I为第二损失函数,A
确定模块130,用于基于所述预测区域确定所述待识别图像对应的目标尺度模板,将所述目标尺度模板对应的票据区域识别结果作为目标识别结果,并将所述目标识别结果反馈给所述客户端。
本实施例中,所述基于所述预测区域确定所述待识别图像对应的目标尺度模板,包括:
D21、依照尺度模板从小到大的顺序依次判断每个尺度模板对应的票据区域识别结果中各张票据的预测区域是否有重叠;
D22、当判断某一指定尺度模板中票据的预测区域有重叠时,将所述指定尺度模板的前一个尺度模板作为所述待识别图像对应的目标尺度模板。
现有二值化模板提取票据边框的做法是,利用连通域将票据的边框找出,一个连通域对应一个边框,然而当两张票据粘贴过密时,连通域的方法只能将两种票据识别为一张票据。本实施例中多尺度模板可识别这种边界不清的情况,当把票据块缩小到0.8时,通常情况下票据边框可以分开。
本实施例,在依照尺度模板从小到大的顺序依次判断每个尺度模板对应的票据区域识别结果中各张票据的预测区域是否有重叠之后,所述确定模块130还用于:
E21、若每个尺度模板对应的票据区域识别结果中各张票据的预测区域都有重叠,则将最小尺度模板作为所述待识别图像对应的目标尺度模板;
E22、若每个尺度模板对应的票据区域识别结果中各张票据的预测区域都没有重叠,则将最大尺度模板作为所述待识别图像对应的目标尺度模板。
本实施例中,所述确定模块130还用于:
将所述目标识别结果扩大预设倍数,得到目标图像,对所述目标图像进行文字识别(例如,OCR识别),将识别到的文字信息反馈给所述客户端。
如图4所示,为本发明一实施例提供的实现票据区域识别方法的电子设备的结构示意图。
所述电子设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子设备1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,电子设备1包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,该存储器11中存储有票据区域识别程序10,所述票据区域识别程序10可被所述处理器12执行。图3仅示出了具有组件11-13以及票据区域识别程序10的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子设备1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子设备1的内部存储单元,例如该电子设备1的硬盘;在另一些实施例中,该非易失性存储介质也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于电子设备1的操作系统和各类应用软件,例如存储本发明一实施例中的票据区域识别程序10的代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行票据区域识别程序10等。
网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述电子设备1与客户端(图中未画出)之间建立通信连接。
可选的,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的票据区域识别程序10是多个指令的组合,在所述处理器12中运行时,可以实现:
解析用户基于客户端发出的票据区域识别请求,获取所述请求携带的待识别图像,所述待识别图像中含有多张票据;
将所述待识别图像输入训练好的票据区域识别模型,得到多个尺度模板中每个尺度模板对应的票据区域识别结果,所述票据区域识别结果包括所述待识别图像中每张票据对应的预测区域;
基于所述预测区域确定所述待识别图像对应的目标尺度模板,将所述目标尺度模板对应的票据区域识别结果作为目标识别结果,并将所述目标识别结果反馈给所述客户端。
具体地,所述处理器12对上述票据区域识别程序10的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是非易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)。
所述计算机可读存储介质上存储有票据区域识别程序10,所述票据区域识别程序10可被一个或者多个处理器执行,本发明计算机可读存储介质具体实施方式与上述票据区域识别方法各实施例基本相同,在此不作赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
- 票据区域识别方法、装置、电子设备及可读存储介质
- 票据识别方法、票据识别装置和计算机可读存储介质