一种报销票据图像分割方法及系统
技术领域
本发明涉及计算机视觉领域,尤其是一种报销票据图像割方法及系统。
背景技术
近年财务云的兴起,各种票据报销开始上云,财务云管理者公司的各种报销的票据图像、财务数据、进项销项等等信息。票据上云的一个关键环节就是票据需要电子化,也即票据需要拍照或者扫描、然后分割成独立的票据,然后识别票据的票面信息,最后将图像和识别出来的票面信息按照财务逻辑存储在财务云端。
贴票图像的切割和校正在财务云票据处理步骤中是一个关键环节,决定着这个票据是否能够被识别的关键。贴票图像分割的关键难点有以下几个方面:
1、票据样式多:有增值税专用发票、增值税普通发票,还有各种交通票据,比如火车票、飞机票、汽车票、打车票等等,定额票据如停车票、公园门票,各式各样,每一种票据大小、颜色、印刷方式都不一样。
2、贴票方式乱:票据贴在背板纸上,由每一位报销人员独立粘贴,每一个人贴票都是按照自己的方式进行贴票,在背板纸上有的人贴的间隙大,有的贴的间隙小,有的贴的少,有的贴的票很多,而且不同的各种票据没有规律的贴在一起。
3、采集方式杂:贴票图像采集有的是通过扫描仪扫描,而有一些则是采用手机拍摄。手机拍摄容易受到光照影像,容易产生透视形变、图像分辨率不固定等因素影像。
4、票据背景复杂:票据的背景复杂,有很多票据背景与背景纸同色,导致票据与背景之间在图像上没有明显的界限,即使人眼也无法通过像素过度来判断背景与票据的过渡。
发明内容
为了解决以上问题,本发明提供了一种报销票据图像分割方法及系统,能够高效、准确的分割出报销票据图像中的各种独立票据,并且找到独立票据图像的主方向,然后转正,以供存档和OCR使用。本发明使得票据报销流程完全可以采用机器自动完成图像的切割,OCR识别、票据汇总和报销总表的自动生成,极大的降低了人工成本,提供了报销的效率。
根据本发明的第一方面,提供了一种票据图像分割方法,其特征在于,具体包括:
步骤1:原始图像输入步骤,所述原始图像上具有至少一张票据;
步骤2:特征标记定位步骤,用于在原始图像上以旋转矩形定位出多种特征标记的位置,所述多种特征标记中包括至少一种关键特征标记,所述关键特征标记的方向与票据方向一致,且每张票据至少具有一种关键特征标记;
步骤3:特征标记定向步骤,用于根据关键特征标记的文本行区域或图像确定关键特征标记的方向;
步骤4:票据切割步骤,用于根据关键特征标记的旋转矩形及文字方向,获得每张票据的边界旋转矩形,并切割出单张票据图像;
步骤5:单张票据图像后处理步骤,用于对单张票据图像进行收紧处理,得到切分图像。
进一步的,所述步骤2具体包括:
步骤21:在原始图像上确定第1类特征标记、第2类特征标记...第n类特征标记,n≧1;
步骤22:提取n+1个特征标记分数图,第0个特征标记分数图是原始图像的背景;
步骤23:针对每个特征标记分数图,将分数大于第一设定阈值的像素确定为特征标记像素并置位1,将分数小于等于第一设定阈值的像素确定为非特征标记像素并置位0,由此得到特征标记二值图像;
步骤24:对特征标记二值图像进行分析,在特征标记二值图像上确定连通域,拟合每一个连通域的轮廓,得到每一个连通域的边缘轮廓四边形,从而以旋转矩形定位出特征标记区域,
其中,所述特征标记的类别包括第一颜色票据、第二颜色票据、第一形状印刷章、二维码、第二形状盖章以及第三形状盖章,
其中,所述第一设定阈值取值范围为0-1。
进一步的,所述步骤22中通过深度学习神经网络算法实现提取n+1个特征标记分数图,具体步骤包括:
步骤221:特征抽取步骤;
步骤222:特征融合步骤;
步骤223:获得特征分数图步骤。
进一步的,所述步骤3中根据关键特征标记的文本行区域确定关键特征标记的方向具体包括以下步骤:
提取关键特征标记区域,归一化到同等大小;
通过全卷积神经网络,获取文字区域分数图和文字方向分数图,将文字区域分数图中分数大于第二设定阈值的像素确定为文字像素并置位1,将分数小于等于第二设定阈值的像素确定为非文字像素并置位0,得到文字二值图像;
通过连通域分析得到的文字二值图像,定位出文本行区域,以文本行区域为界限,加权平均所有文本行区域内的文字方向,得到关键特征标记区域的文字方向,
其中,所述第二设定阈值取值范围为0-1。
进一步的,所述步骤3中根据关键特征标记的图像确定关键特征标记的方向具体包括以下步骤:
提取关键特征标记区域,归一化到同等大小;
对关键特征标记区域图像进行图像卷积和下采样操作;
通过一个或者多个全连接层,输出一个回归值,360°作为归一化尺度,得到关键特征标记的角度,
其中,所述回归值的取值范围为0-1。
进一步的,所述步骤4包括:
步骤41:针对每张票据,根据关键特征标记区域的旋转矩形和方向,将关键特征标记区域分别向左右上下近扩展,得到每张票据的扩展范围;
步骤42:调整每张票据的扩展范围,使得每张票据的扩展范围没有交叉,从而得到每张票据的边界旋转矩形,并切割出单张票据图像。
进一步的,在所述步骤41中,对关键特征标记区域向上扩展至少2个高度,向左和右至少分别扩展3个宽度,向下至少扩展4个高度。
进一步的,所述步骤5包括:
步骤51:根据每张票据边界旋转矩形以及关键特征标记区域的方向,对每张票据进行方向校正;
步骤52:统计每张票据边界旋转矩形的边缘像素投影,将上下左右边界进一步收紧,得到每张票据的切分图像。
根据本发明的第二方面,提供一种票据图像分割系统,所述系统包括:
处理器和用于存储可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令,以执行如上任一方面所述的票据图像分割方法。
根据本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一方面所述的票据图像分割方法。
本发明技术方案的有益效果:
1、可以高效精确的定位到报销票据图像中的各种票据,而且利用印刷章进行定位,可以适应不同的票据方式,因为只要是合法的国税和地税票据,都必须有一个印刷票据章。
2、得到的切分图像都是正向,可以直接用于OCR识别,无需OCR引擎再判断切分子图票据的方向,为OCR识别引擎降低了难度。
3、该方法可以扩展到其他类似的图像切分场景中,具有很好的算法鲁棒性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1示出根据本发明的报销票据图像分割方法流程图;
图2示出根据本发明的报销票据图像分割效果图;
图3示出根据本发明一个实施例的深度学习神经网络提取方法示意图;
图4示出根据本发明一个实施例的特征标记定位效果图;
图5示出根据本发明一个实施例的确定关键特征标记区域文字方向的全卷积神经网络算法流程图;
图6示出根据本发明一个实施例的确定关键特征标记区域图像角度卷积回归神经网络算法流程图;
图7示出根据本发明一个实施例的票据边界旋转矩形示意图;
图8示出根据本发明一个实施例的单张票据图像后处理流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
多个,包括两个或者两个以上。
和/或,应当理解,对于本公开中使用的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
参照图1-2,根据本发明的报销票据图像分割方法包括:
步骤101:原始图像输入步骤,原始图像上具有至少一张票据。
步骤102:特征标记定位步骤,用于在原始图像上以旋转矩形定位出多种特征标记的位置。旋转矩形的定义为:通过若干点来拟合椭圆,拟合出的椭圆是以椭圆的外接矩形呈现的,这个椭圆的外接矩形就是一个旋转矩形。
所述多种特征标记中包括至少一种关键特征标记,所述关键特征标记的方向与票据方向一致,且每张票据至少具有一种关键特征标记。
步骤102具体包括:
在原始图像上确定第1类特征标记、第2类特征标记...第n类特征标记,n大于等于1;
提取n+1个特征标记分数图,第0个特征标记分数图是原始图像的背景,具体包括:特征抽取步骤,特征融合步骤,以及获得特征分数图步骤;
针对每个特征标记分数图,将分数大于第一设定阈值的像素确定为特征标记像素并置位1,将分数小于等于第一设定阈值的像素确定为非特征标记像素并置位0,由此得到特征标记二值图像;
对特征标记二值图像进行分析,在特征标记二值图像上确定连通域,拟合每一个连通域的轮廓,得到每一个连通域的边缘轮廓四边形,从而以旋转矩形定位出特征标记区域。
特征标记的类别包括第一颜色票据、第二颜色票据、第一形状印刷章、二维码、第二形状盖章以及第三形状盖章。
步骤103:特征标记定向步骤,用于定位出关键特征标记中的文本行区域,结合文本行区域内的文字方向,得到关键特征标记的方向,或用于对关键特征标记图像进行图像卷积和下采样,通过一个或者多个全连接层,输出一个回归值,实现对图像角度进行回归,得到关键特征标记的角度。
步骤103具体包括:
根据关键特征标记的文本行区域确定关键特征标记的方向包括以下步骤:
提取关键特征标记区域,归一化到同等大小;
通过全卷积神经网络,获取文字区域分数图和文字方向分数图,将文字区域分数图中分数大于第二设定阈值(0-1)的像素确定为文字像素并置位1,将分数小于等于第二设定阈值的像素确定为非文字像素并置位0,得到文字二值图像;
通过连通域分析得到的文字二值图像,定位出文本行区域,以文本行区域为界限,加权平均所有文本行区域内的文字方向,得到关键特征标记区域的文字方向。
根据关键特征标记的图像确定关键特征标记的方向包括以下步骤:
提取关键特征标记区域,归一化到同等大小;
对图像进行图像卷积和下采样操作;
通过一个或者多个全连接层,输出一个回归值(0-1),360°作为归一化尺度,表示关键特征标记的角度。
步骤104:票据切割步骤,用于根据关键特征标记的旋转矩形及方向,获得每张票据的边界旋转矩形,并切割出单张票据图像。
步骤104包括:
针对每张票据,根据关键特征标记区域的旋转矩形和方向,将关键特征标记区域分别向左右上下近扩展,得到每张票据的扩展范围,对关键特征标记区域向上扩展至少2个高度,向左和右至少分别扩展2个宽度,向下至少扩展4个高度;
调整每张票据的扩展范围,使得每张票据的扩展范围没有交叉,从而得到每张票据的边界旋转矩形,并切割出单张票据图像。
步骤105:单张票据图像后处理步骤,用于对单张票据图像进行收紧处理,得到切分图像。
步骤105包括:
根据每张票据边界旋转矩形以及关键特征标记区域的方向,对每张票据进行方向校正;
统计每张票据边界旋转矩形的边缘像素投影,将上下左右边界进一步收紧,得到每张票据的切分图像。
本发明还提供一种票据图像分割系统,包括:处理器和用于存储可执行指令的存储器;其中,处理器被配置为执行所述可执行指令,以执行如上所述的票据图像分割方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的票据图像分割方法。
实施例
第一步:输入原始图像
将原始图像输入到报销票据图像分割系统中。
第二步:特征标记定位
原始图像上具有多种特征标记,包括蓝色火车票[1]、红色火车票[2]、印刷椭圆章[3]、二维码[4]、后盖的圆章[5]、后盖的方章[6]等六类。通过图3所示的全卷积神经网络(FCN),该网络是一个UNet结构,向下采样进行特征提取,然后向上采样逐步融合各个尺度的特征信息,最后输出预测的特征分数图,提取得到7个预测图scoresmap,每一个scoresmap的取值范围在[0,1]之间,第0个scoresmap是原始图像的背景。然后对于每一个scoresmap图像中score大于第一设定阈值(0.5)的认为是特征标记像素,置位1,否则置位0,得到特征标记二值图像。使用连通域分析方法对二值标记图像进行分析,得到二值图上的连通域CC(Connected Component),拟合每一个连通域的轮廓,得到每一个连通域CC的边缘轮廓四边形,去除不合理的连通域CC,比如面积太大或者太小,或者是四边形高宽比不协调,或者四边形的四个边的角度离90度差别大于30度以上等,都属于不合理的CC,需要去除。最终合理的连通域CC,就是定位出来的特征标记区域(用旋转矩形RotatedRect表示)。
第一步得到的结果如图4:得到1个绿色火车票标记块(块类别号是1),4个印刷票据章标记(块类别号是3),3个后盖圆章标记(块类别号是5),1个后盖方章标记(块类别号是6)。
第三步:特征标记定向
方法一:对于上一步得到的特征标记区域(块),需要确定每一个票据的方向,而票据的方向一般跟印刷章的方向一致,而后盖章方向由于是人工盖上去的,方向无法确定。所以将特征标记中的火车票、印刷章作为关键特征标记,使用文字定位方法定位出该关键特征标记方向。先裁出来类别号是1、2、3的区域,归一化到256X256的大小,然后通过图5所示的全卷积神经网络算法,得到需要预测的文字区域Tscoresmap及其方向Dscoresmap。Tscoresmap取值范围在[0,1],每一个预测值表述一个像素属于文本还是不属于文本的一个概率值,Dscoresmap取值范围在[0,1],每一个预测值用以表示一个像素视野内文字的归一化方向角度(360度作为归一化尺度)。提取Tscoresmap的score大于0.9以上的区域,得到文字的二值化图像,通过连通域分析得到对应的文本行(用旋转矩形RotatedRect表示),平均所有在分析得到的文本行区域内的Dscorsmap预测图中的文字方向的预测值,以这个平均方向值作为特征标记区域的方向。
方法二:通过神经网络直接回归得到特征标记区域(块)的方向角度如图6所示。先裁出来类别号是1、2、3的区域,归一化到256X256的大小,然后进行图像卷积,然后使用一个全连接输出,最后输出一个节点,实现对图像角度进行回归,值范围在[0,1](360度作为归一化尺度)。图像的角度是一个连续值,在这里先进行图像卷积和下采样,得到原图大小的1/32(也可以是其他下采样尺度),然后接一个或者多个全连接层,最后输出一个回归值[0,1],表示标记区域的角度。
第四部:基于标记的票据切割
根据前两步的信息,利用关键特征标记的旋转矩形和方向进行票据切割。首先根据确定类别[1]和类别[2]直接分割旋转矩形,然后根据类别[3]印刷椭圆章旋转矩形,结合其字符主方向,分别向左右上下近扩展,四边扩展的幅度稍有不同,向上扩展3个高度,向左和右扩展3个宽度,向下扩展8个高度,如图7所示,得到每一个独立票据的扩展范围,然后采用其他票据的边界对扩展得到的边界进行限定,逐步缩小扩展边界,得到最终的票据边界旋转矩形。
第五步:单张票据图像后处理
如图8所示,根据边界旋转矩形和票据方向,从图中裁出来图像中的单张票据的子图像,这样得到的图像是正立的票据图像,由于扩展裁切,有可能会多裁切出一些无效区域,为了进一步提高定位的精度,需要对边界进行进一步的对整理单张票据图像进行紧缩处理,具体方法如下:对于裁切后的图像进行局部二值化方法,然后分别获得水平方向和竖直方向上的有效像素投影直方图,分别对水平方向上的直方图和竖直方向上的投影直方图进行分析,裁剪投影直方图左右边界没有像素累计的区域,以进一步收紧票据图像的边界,得到最终的分割旋转矩形和票据图像。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。