一种提高银行流水识别准确率的方法与流程

文档序号:26007799发布日期:2021-07-23 21:26阅读:632来源:国知局
一种提高银行流水识别准确率的方法与流程

本发明涉及金融风控技术领域,具体地说是一种提高银行流水识别准确率的方法。



背景技术:

在金融的风控领域中,银行流水分析和结果是一项非常重要的风控策略和指标。而银行的流水分析涉及很多的计算,因而,借助计算机系统进行流水分析会大大提高银行流水的分析效率。目前银行体系中,很多情况下提供的是纸质的银行流水。如果需要借助计算机进行流水分析,那么纸质银行流水的扫描、识别将必不可少。而普通的银行流水识别方法识别整张流水图片的文字识别率不高。本发明提供一种银行流水识别方法用于提高银行流水识别准确率。



技术实现要素:

本发明为克服现有技术的不足,提供一种提高银行流水识别准确率的方法,该方法针对纸质银行流水扫描的电子图片的前期处理过程提出一种图片的处理方法来提高银行流水识别的准确率。

为实现上述目的,设计一种提高银行流水识别准确率的方法,其特征在于:具体流程如下:

s1:将纸质银行流水扫描成电子档输入至电脑;

s2:对扫描的图片进行旋转,使图片按照内容保持基本水平;

s3:图片基本水平之后,获取银行流水图片内容二维表格的横坐标和纵坐标;

s4:根据横坐标和纵坐标,对图片进行分割,保证每一个数据项对应一个小图片;

s5:根据分割好的小图片逐个进行图片内容识别,并将识别好的内容组织成文本形式的表格数据,完成数据识别。

所述的s2的具体流程如下:

s21:判断扫描的图片是否为二维表格银行流水,是则进行步骤s22至s26,否则进行步骤s27至s211;

s22:如果扫描的图片是二维表格银行流水,则图片中会有若干条短线段,从这些线段中查找所有线段中y坐标与最小y坐标较为接近的线段,这些线段便是组成二维表格中的第一条线段;

s23:在组成第一条线段中,查找最左边的线段的两个点的坐标记为(x1,y1)和(x2,y2),最右边的线段的两个坐标记为(x3,y3)和(x4,y4);

s24:取(x1,y1)和(x4,y4)作为银行流水图片数据二维表格的起点坐标和终点坐标,这条线便是作为旋转图片的基准线;

s25:通过这条线段坐标计算斜率值:rate=(y4-y1)/(x4-x1),如果斜率的绝对值大于0.005,则需要对图片进行旋转;

s26:以图片的中心点为原点,以通过斜率rate计算得到的角度进行旋转;

s27:如果扫描的图片不是二维表格银行流水,则图片中,没有二维表格的线段,所以需要以数据项内容的排列为基准进行旋转调整;

s28:对图片进行二值化、膨胀、腐蚀、取反操作,使图片有数据内容的部分突出显示;

s29:寻找出面积比较小的矩形,根据这些矩形的坐标可以定位到图片中的数据项;

s210:从所有矩形中根据数据项所在的图片大致位置信息可以定位出数据项表格的矩形;

s211:选择第一行的位置矩形的坐标,根据步骤s22至s26的方法,对图片进行旋转至图片数据项保持基本水平。

所述的s3的具体流程如下:

s31:如果扫描的图片是二维表格银行流水,获取图片中所有的垂直线的坐标,将垂直线中所有点的纵坐标存放到一个列表中并排序;

s32:将大小比较接近的数字,聚集到一起形成一个数字列表,所有数字列表组成一个数字列表的列表;

s33:将其中单一个数字列表中的数字取平均值组成一个列表;

s34:如果扫描的图片不是二维表格银行流水,获取到图片中绝大部分数据项内容的矩形坐标;

s35:将大部分数据组成一个二维表格;

s36:数据项内容所处图片中的位置排除非交易数据项,获取关键数据项内容的矩形坐标。

步骤s4中,对图片进行分割,根据步骤s3中获得的横坐标和纵坐标,在图片中画一个二维网格,根据二维表格中的横坐标和纵坐标,对图片进行裁剪,获得到多个对应的数据图片,每个图片对应单一的数据项。

本发明同现有技术相比,提供一种提高银行流水识别准确率的方法,该方法针对纸质银行流水扫描的电子图片的前期处理过程提出一种图片的处理方法来提高银行流水识别的准确率。

附图说明

图1为本发明软件流程图。

图2为二维表格银行流水示意图。

图3为非二维表格银行流水示意图。

图4为本发明处理前银行流水示意图。

图5为本发明处理后银行流水示意图。

具体实施方式

下面根据附图对本发明做进一步的说明。

如图1所示,一种提高银行流水识别准确率的方法,具体流程如下:

s1:将纸质银行流水扫描成电子档输入至电脑;

s2:对扫描的图片进行旋转,使图片按照内容保持基本水平;

s3:图片基本水平之后,获取银行流水图片内容二维表格的横坐标和纵坐标;

s4:根据横坐标和纵坐标,对图片进行分割,保证每一个数据项对应一个小图片;

s5:根据分割好的小图片逐个进行图片内容识别,并将识别好的内容组织成文本形式的表格数据,完成数据识别。

s2的具体流程如下:

s21:判断扫描的图片是否为二维表格银行流水,是则进行步骤s22至s26,否则进行步骤s27至s211;

s22:如果扫描的图片是二维表格银行流水,则图片中会有若干条短线段,从这些线段中查找所有线段中y坐标与最小y坐标较为接近的线段,这些线段便是组成二维表格中的第一条线段;

s23:在组成第一条线段中,查找最左边的线段的两个点的坐标记为(x1,y1)和(x2,y2),最右边的线段的两个坐标记为(x3,y3)和(x4,y4);

s24:取(x1,y1)和(x4,y4)作为银行流水图片数据二维表格的起点坐标和终点坐标,这条线便是作为旋转图片的基准线;

s25:通过这条线段坐标计算斜率值:rate=(y4-y1)/(x4-x1),如果斜率的绝对值大于0.005,则需要对图片进行旋转;

s26:以图片的中心点为原点,以通过斜率rate计算得到的角度进行旋转;

s27:如果扫描的图片不是二维表格银行流水,则图片中,没有二维表格的线段,所以需要以数据项内容的排列为基准进行旋转调整;

s28:对图片进行二值化、膨胀、腐蚀、取反操作,使图片有数据内容的部分突出显示;

s29:寻找出面积比较小的矩形,根据这些矩形的坐标可以定位到图片中的数据项;

s210:从所有矩形中根据数据项所在的图片大致位置信息可以定位出数据项表格的矩形;

s211:选择第一行的位置矩形的坐标,根据步骤s22至s26的方法,对图片进行旋转至图片数据项保持基本水平。

s3的具体流程如下:

s31:如果扫描的图片是二维表格银行流水,获取图片中所有的垂直线的坐标,将垂直线中所有点的纵坐标存放到一个列表中并排序;

s32:将大小比较接近的数字,聚集到一起形成一个数字列表,所有数字列表组成一个数字列表的列表;

s33:将其中单一个数字列表中的数字取平均值组成一个列表;

s34:如果扫描的图片不是二维表格银行流水,获取到图片中绝大部分数据项内容的矩形坐标;

s35:将大部分数据组成一个二维表格;

s36:数据项内容所处图片中的位置排除非交易数据项,获取关键数据项内容的矩形坐标。

步骤s4中,对图片进行分割,根据步骤s3中获得的横坐标和纵坐标,在图片中画一个二维网格,根据二维表格中的横坐标和纵坐标,对图片进行裁剪,获得到多个对应的数据图片,每个图片对应单一的数据项。

由于银行流水通常以二维电子表格的形式展示,因此,针对银行流水的这一特性,本发明提出根据银行流水图片的显示特征,对图片进行分割,将图片按照银行流水的科目(如交易日期、交易金额、余额、备注等)和交易记录裁剪成单独的小图片,每一个小图只包含一个数据项。最后,根据不同类别的数据项内容,有针对性行的进行图片处理和识别。例如针对交易金额、余额、交易日期等类别的数据项图片,可以缩小图片识别结果范围(识别结果只可能是数字),也可以有针对性地进行图片识别机器学习模型训练,从而可以提高关键数据项内容的识别率。

如果要对银行流水图片的数据项内容进行二维分割,需要对图片做以下处理:首先,需要对图片进行旋转,使图片按照内容保持基本水平。由于银行流水扫描图片存在歪斜的可能,如果按照坐标进行图片切割,必须保证图片基本保持水平(图1步骤s2);其次,图片基本水平之后,获取银行流水图片内容二维表格的横坐标和纵坐标(图1步骤s3);再次,根据横坐标和纵坐标,对图片进行分割,保证每一个数据项一个小图片(图1步骤s4);最后,根据分割好的小图片逐个进行图片内容识别,并将识别好的内容组织成文本形式的表格数据,完成数据识别。由于该步骤中分割好的小图片内容类型比较单一,可以针对特定内容采取提高识别准确率的措施(图1步骤s5)。

s2步骤中,如果要旋转图片需要在图片中寻找一条线作为基准,通过将该基准线旋转至接近水平,来使整张内容保持水平。旋转图片分以下两种情况:情况一为二维表格银行流水,如图2所示。情况二为无二维表格的银行流水,如图3所示。

情况一中,需要在图片中寻找水平线段,由于银行流水以及扫描质量等问题,可以在途中找到很多条短的线段,这些短的线段组合在一起构成了二维表格中所有的水平线段。从这些线段中查找所有线段中y坐标与最小y坐标较为接近(相距小于20个像素)的线段,而这些线段便是组成二维表格中的第一条线段。在组成第一条线段中,查找最左边的线段的两个点的坐标记为(x1,y1)和(x2,y2),最右边的线段的两个坐标记为(x3,y3)和(x4,y4)。取(x1,y1)和(x4,y4)作为银行流水图片数据二维表格的起点坐标和终点坐标,这条线便是作为旋转图片的基准线。通过这条线段坐标计算斜率(线段的正切值):rate=(y4-y1)/(x4-x1)。如果斜率的绝对值比较大(取大于0.005),则需要对图片进行旋转。以图片的中心点为原点,以通过斜率rate计算得到的角度进行旋转。重复获取、计算并验证第一条线的斜率绝对值直至满足基本水平的条件。

情况二中,待分析图片中,没有数据的二维表格,所以需要以数据项内容的排列为基准进行旋转调整。首先,对图片进行二值化、膨胀、腐蚀、取反等操作,使图片有数据内容的部分突出显示,如图4所示。在图4中,可以寻找面积比较小的矩形。根据这些矩形的坐标可以定位到图片中的数据项(定位如图5所示)。从图5中的所有矩形中根据数据项所在的图片大致位置信息可以定位出数据项表格的矩形。选择第一行的位置矩形的坐标,利用类似情况1中的方法,对图片进行旋转是图片数据项保持基本水平。

s3步骤是最关键的步骤,需要获取图片二维内容分割的横坐标和纵坐标。由于在s1步骤中已经对图片进行旋转保证数据内容基本保持水平,因此,获取到包含最小单位数据项矩形的坐标,可以保证s4步骤的分隔图片的正确。

情况一中,依然用s2步骤中的方法,获取图片中所有的垂直线的坐标。将垂直线中所有点(线的起始点和终点)的纵坐标存放到一个列表中并排序,例子如下:[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,40,40,41,41,42,42,43,43,131,131,132,132,133,133,297,297,298,298,299,299,300,300,422,422,423,423,424,424,612,612,613,613,614,614,615,615,615,615,1438,1438,1439,1439,1440,1440,1441,1441,1741,1741,1741,1741,1742,1742,1743,1743,2013,2013,2014,2014,2015,2015,2016,2016,2283,2283,2284,2284,2285,2285,2554,2554,2555,2555,2556,2556,2557,2557,2684,2684,2685,2685,2686,2686,2687,2687,2688,2688,2776,2776,2777,2777,2778,2778,2779,2779,2780,2780,2781,2781,2782,2782,2783,2783,2784,2784]。

将大小比较接近的数字,聚集到一起形成一个数字列表,所有数字列表组成一个数字列表的列表,举例如下:

[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8];

[40,40,41,41,42,42,43,43];

[131,131,132,132,133,133];

[297,297,298,298,299,299,300,300];

[422,422,423,423,424,424];

[612,612,613,613,614,614,615,615,615,615];

[1438,1438,1439,1439,1440,1440,1441,1441];

[1741,1741,1741,1741,1742,1742,1743,1743];

[2013,2013,2014,2014,2015,2015,2016,2016];

[2283,2283,2284,2284,2285,2285];

[2554,2554,2555,2555,2556,2556,2557,2557];

[2684,2684,2685,2685,2686,2686,2687,2687,2688,2688];

[2776,2776,2777,2777,2778,2778,2779,2779,2780,2780,2781,2781,2782,2782,2783,2783,2784,2784]。

将其中单一个数字列表中的数字取平均值组成一个列表,如下例子所示:[4,42,132,298,423,614,1440,1742,2014,2284,2556,2686,2780]。

同时,需要注意的是,接近图片边缘的垂直线不是二维表格的线段,而是纸质边缘线,因此,需要排除掉接近图片边缘的坐标数据,得到结果如下:[42,132,298,423,614,1440,1742,2014,2284,2556,2686]。所得的数据便是图片中二维表格的横坐标。

用同样的方法,也可以获取到图片中二维表格的纵坐标。

通过以上操作,在s3步骤中获得到图片二维表格的横坐标和纵坐标。

情况二中:在图中找不到二维表格的线段对数据项进行分割。但是已经在步骤s2中获取到图片中绝大部分数据项内容的矩形坐标(标记在图5中)。关键数据项内容(交易记录数据)组成一个二维表格。根据关键数据项内容所处图片中的位置排除非交易数据项,获取关键数据项内容的矩形坐标。根据这些坐标数据的分布情况,依然可以观测到类似情况一种的,相同类型的数据项目坐标的聚集规律。根据这个聚集规律,获取到分割数据项内容的横坐标和纵坐标。

s4步骤中,需要对图片进行分割。根据步骤二中获得的横坐标和纵坐标,可以在图片中画一个二维网格,根据二维表格中的横坐标和纵坐标,对图片进行裁剪,获得到多个对应的数据图片,每个图片对应单一的数据项。

s5步骤中,对每个数据项对应的图片进行处理和识别,在该步骤中,可以缩小一些关键数据项(如金额、交易日期等)的识别结果范围从而提高ocr图片识别的准确率。也可以用多种方法对图片进行识别,从而对结果进行交叉验证,也可以在很多程度上提高识别的准确率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1