航空行程单总金额快速识别方法

文档序号:30500386发布日期:2022-06-24 22:21阅读:309来源:国知局
航空行程单总金额快速识别方法

1.本发明涉及的是一种图像处理领域的技术,具体是一种航空行程单总金额快速识别方法。


背景技术:

2.航空行程单本身出于防伪等原因,在票据背景上增加了很多蓝色的曲线纹路。这些纹路密集,形态多变,粗细程度与航空行程单中的有效信息字符类似。此外部分票据的褪色、变色,或是不同扫描/拍摄设备的成像效果存在较大差别,甚至有效信息的打印油墨的色彩与干扰曲线的色彩相似,以上情况对航空行程单的字符识别工作造成了极大的干扰,因此无法采用传统的ocr方法进行航空行程单总金额的识别。
3.相比于一般票据的识别,行程单中同时存在背景细纹和印刷字符,且不同批次中二者的打印浓度或褪色程度均不同,现有的opencv技术中虽然有自适应阈值方法adaptivethreshold,其中opencv给出的两个计算邻域内的方法是基于待确定的像素周围的高斯均值或平均值,在杂质像素较为零散的场景下获得的二值化阈值会使得文字产生模糊,在分辨率较低的图片场景下会极大地影响后续的识别效果。


技术实现要素:

4.本发明针对现有二值化阈值方法存在的上述不足,提出一种航空行程单总金额快速识别方法,在企业报销系统中自动识别图片格式上传的航空行程单总金额,以便与填报信息进行自动核对。这大大减轻了财务人员人工核对的工作量。
5.本发明是通过以下技术方案实现的:
6.本发明涉及一种航空行程单总金额快速识别方法,通过对航空行程单图片预处理、总金额数字框选和单字拆分,从行程单图片中提取出总金额信息中的各个字符图片,然后采用深度神经网络模型将单个字符图片识别成字符类型的数据,并合并为总金额识别结果。
7.所述的图片预处理是指:通过裁剪等变化操作将不同扫描批次的图片素材样式进行统一后,初步确定总金额信息所处在的大致区域,具体包括:
8.步骤1:读取图片,通过旋转操作校正图片,裁去非行程单的部分(如空白部分),对尺寸过大的图片进行压缩;
9.所述的过大的图片为:横向分辨率超过1600像素的图片。
10.步骤2:根据待识别的关键信息的位置范围,大致确定关键信息所在图片的横纵坐标区间,并将原图片裁剪为兴趣区域(roi);
11.所述的大致的具体可操作范围为:航空行程单的第4到6根横线之间的纵向区间,以及航空行程单右半部分的横向区间。
12.步骤3:根据颜色通道过滤背景的蓝色细纹,即对于像素hsv值在设定范围内的像素,都将其hsv值设为[255,255,255]。
[0013]
所述的总金额数字框选是指:将表示总金额的文字图像通过特定颜色的矩形框划定出来,以供单字分割过程使用,具体包括:
[0014]
步骤i:将彩色图像转换为灰度图像,再对灰度图像进行二值化操作;
[0015]
步骤ii:使用开操作去除杂质像素,即离散且不表示总金额字符、像素值为255的像素点;
[0016]
步骤iii:通过闭操作融合表示总金额的、灰度值为255的离散像素后,通过判断横向宽度去除图形上下边界的凸起像素;
[0017]
步骤iv:从去凸起像素后的图像中筛选出最大面积的正值图像,绘制该正值图像的正外接矩形,以得到总金额信息的框选区域。
[0018]
所述的开操作是指进行一次腐蚀操作再进行一次膨胀操作;
[0019]
所述的闭操作是指进行一次膨胀操作再进行一次腐蚀操作。
[0020]
所述的腐蚀操作是指:结构a被结构b腐蚀,则
[0021]
所述的膨胀操作是指:结构a被结构b膨胀,则
[0022]
所述的单字拆分是指:将关键信息文字区域划分成多个子区域,使得每个子区域包含且仅包含一个字符,具体包括:
[0023]
步骤

:获取框选图像后通过动态二值化处理并通过开操作去除杂质像素;
[0024]
所述的动态二值化处理,由于同种票据的同种信息的字体是确定的,故通过确定不依赖待识别图片质量的参数值min_black_rate,在确保最少损失有效像素的前提下去除低灰度的无效像素,具体为:
[0025]
i)观察字符的粗细程度,通过实验确定最小有效像素率min_black_rate,其中:加粗字体的min_black_rate大于不加粗的字体。
[0026]
所述的观察,采用但不限于粗体字的最小有效像素率大于细体字。
[0027]
所述的通过实验确定是指:通过调整参数min_black_rate,观察多数样本图片的二值化效果,达到在保证有效像素被保留的前提前提下,最大程度地去除零散的无效像素的效果,从而确定适合当前字体的min_black_rate。
[0028]
ii)计算最小有效像素数target_black_count=w
×h×
min_black_rate,其中:w、h分别为矩形框图像的长宽像素值;
[0029]
iii)初始化设置待确定阈值target_v为0、设置当前累计有效像素curr_black_count为0;
[0030]
iv)curr_v从0至256开始循环:
[0031]
a)通过矩阵运算统计图片中灰度值等于curr_v的像素数个数并累计至curr_black_count;
[0032]
b)当curr_black_count大于等于target_black_count时结束循环并将target_v设为curr_v,否则继续循环;
[0033]
v)然后根据获得的target_v对图片进行二值化,即灰度值大于target_v设为有效像素(255),小于等于target_v的设为无效像素(0)。
[0034]
步骤

:通过横向遍历并判断连续像素的长度从而去除横线。
[0035]
步骤

:从左向右遍历,根据图像每一列中黑色像素的个数进行阈值判断并将矩形图像划分成多个单字符区域,即划分后包含且仅包含单个字符的图像,具体为:对于当前
遍历到的列,自上向下统计黑色像素的个数:当黑色像素个数大于阈值,即当前列不是有效字符所在的列,则跳过该列;当黑色像素个数小于阈值,即当前列属于某一个有效字符,记录下起始横坐标,然后继续判断下一列,直到遇到下一个黑色像素个数大于阈值的列,即该有效字符结束了,记录下终止横坐标。将本步骤的起始横坐标和终止横坐标记录为一个单子字符区域;将当前单字符区域加入字符列表。
[0036]
步骤

:对字符列表中的每个单字符区域进行宽度复检,即通过设定像素宽度阈值来确定是否需要将某个单字符区域进行拆分或合并,具体为:当单字符区域宽度过大至产生数字粘连时,返回步骤

重新进行分割;当单字符区域宽度过小或两个区域之间的横坐标距离过小至产生单个字符被拆开时,将拆开的相邻部分合并为一个单字符区域。
[0037]
所述的过大过小的判断标准是:是否大于预设的最大字符宽度阈值或小于预设的最小字符宽度阈值。
[0038]
所述的识别,通过经训练的神经网络模型将单字分割过程返回的单字符二值图片识别成字符类型数据后,将每个数字图片单独识别成一个字符结果后合并为一个字符串结果,即总金额结果,该训练是指基于mnist数据集进行监督学习从而获得能够识别单个字符图像的机器学习模型。
[0039]
优选地,本发明通过比对人工标注结果和识别结果的差别来验证方法的准确性。
[0040]
本发明涉及一种实现上述方法的系统,包括:图片预处理单元、总金额检测框选单元、单字符拆分单元以及单字符识别单元,其中:图片预处理单元将校准并去除图像干扰的图片传输给总金额检测框选单元,总金额检测框选单元将以特定颜色矩形框选出总金额文字的图片传输给单字符拆分单元,单字符拆分单元将总金额文字矩形框中的图像以一个字符为单位拆分成多个子图片,分别传输给单字符识别单元,单字符识别单元将各个子图片识别成字符结果后拼接成表示总金额数字的结果并返回。技术效果
[0041]
本发明整体解决了现有的图像处理技术无法处理差旅填报信息以及差旅凭证的核对和计算的技术问题以及航空行程单本身的防伪纹路以及扫描质量的限制对航空行程单总金额等信息的检测和识别带来的困难。
[0042]
与现有技术相比,本发明通过面向特征的图形学处理方法,对不同扫描质量的航空行程单图片中总金额内容进行快速识别,平均单张行程单识别耗时在1s左右;经实验,总体识别准确率达到96%以上;本发明由于融合了面向特征工程的图形学检测方法,以及基于神经网络的识别方法,在应用到识别航空行程单的其他关键信息,或是应用到其他类型票据的时候都具有通用性,并且无需提供大量的样本数据以供训练。
附图说明
[0043]
图1为本发明流程图。
具体实施方式
[0044]
如图1所示,为本实施例涉及一种航空行程单总金额快速识别方法,通过对行程单图片预处理、总金额数字框选和单字拆分,从行程单图片中提取出总金额信息中的各个字符图片,然后采用深度神经网络模型将单个字符图片识别成字符类型的数据,并合并为总
金额识别结果,具体包括:
[0045]
步骤1、图片预处理:
[0046]
1.1)裁去非行程单部分,如周围多余的白边等;
[0047]
1.2)当图片横向分辨率超过1600像素则进行等比例压缩至1600像素,其中压缩方式采用inter_area模式。
[0048]
1.3)通过观察实验,确定蓝色细纹的hsv空间为[78,43,46]到[100,255,255];对于原图像中hsv值在该hsv空间内的像素,都将其hsv值设为[255,255,255],从而大致去除蓝色背景细纹干扰。
[0049]
步骤2、关键信息框选:
[0050]
2.1)通过色彩空间转换将彩色图像转换成灰度图像。所述的色彩空间转换使用bgr2gray模式。
[0051]
2.2)采用形态学开操作去除杂质,然后通过霍夫曼直线检测获取第4和第6根直线的坐标,设定横向区域区间为图像横坐标的70%-95%,以确定总金额文字出现的大致区域。所述的开操作的操作核为25*2像素的矩形。所述的霍夫曼直线检测的半径分辨率(rho参数)设为1.0;角度分辨率(theta参数)设为/2;直线点数阈值设为150,线段长度阈值设为0.5倍原图像宽度,线段两点之间距离最小阈值设为0.4倍原图像宽度。
[0052]
其中二值化阈值通过实验设定为固定值205;
[0053]
2.3)再次进行开操作,将离散的数字连接起来。所述的操作核为70*9像素的矩形
[0054]
2.4)分别通过横竖元素核进行开操作,以去除杂质,获得一个完整的数字连通区域块;所述的横元素核为9*1像素的矩形,所述的竖元素核为1*7像素的矩形。所述的杂质是指没有在步骤2中被完全消除的不属于目标图形的细横竖直线。
[0055]
2.5)以[0,128,0]的bgr色彩绘制该连通区域的正外接矩形,其中矩形边宽度设为2像素。
[0056]
步骤3、字符分割:
[0057]
3.1)根据[0,128,0]的bgr色彩获取框选出来的矩形框内图像;
[0058]
3.2)二值化后通过开操作去除杂质,通过横向遍历并判断连续像素的长度去除横线。具体地,连续像素的长度阈值设定为35个像素。
[0059]
本实施例通过动态二值化处理将最小有效像素率min_black_rate设为0.35。
[0060]
3.3)从左向右遍历,根据图像每一列中黑色像素的个数是否超过阈值来将原矩形图像划分成多个单字符区域。其中,所述的阈值设为1个像素,具体步骤包括:对于当前遍历到的列,自上向下统计黑色像素的个数;当黑色像素个数大于阈值,即当前列不是有效字符所在的列,跳过该列;当黑色像素个数小于阈值,即当前列属于某一个有效字符,记录下起始横坐标,然后继续判断下一列。直到遇到下一个黑色像素个数大于阈值的列,即该有效字符结束了,记录下终止横坐标。将起始横坐标和终止横坐标记录为一个单子字符区域;将当前单字符区域加入字符列表。
[0061]
3.4)对字符列表中每个单个字符进行宽度复检:
[0062]
3.4.1)当单字符宽度超过最大字符宽度限制,即有数字粘连,需要再重复步骤3.3)的操作进行分割;
[0063]
3.4.2)当单字符宽度小于最小字符宽度限制,或两个字符之间的距离小于最小字
符间隙限制,即单个数字被拆开,需要将当前单字符区域和下一个单字符区域进行合并。
[0064]
所述的像素阈值的设定如下表所示名称设定值说明char_width30像素默认字符宽度min_char_width4*char_width/5字符的最小宽度限制min_char_gapchar_width/3字符之间的最小间隙max_char_width8*char_width/5字符的最大宽度限制
[0065]
所述的开操作是指进行一次腐蚀操作再进行一次膨胀操作;所述的闭操作是指进行一次膨胀操作再进行一次腐蚀操作。
[0066]
步骤4、基于神经网络的总金额识别:
[0067]
所述的神经网络为通过tensorflow运行的基于keras框架构建的全连接神经网络,包括:输入结构为(28,28)矩阵的输入层、包含128个节点的全连接层以及包含10个节点的输出层,其中:输入层接收字符分割过程返回的二值图像作为输入,输出层输出识别结果为0-9各个数字的概率。
[0068]
所述的基于神经网络的总金额识别过程中的全连接神经网络全联接层采用relu激活函数,dropout率设置为0.2。
[0069]
所述的基于神经网络的总金额识别过程中的全连接神经网络模型基于mnist数据集进行训练。其中mnist数据集下载地址为:http://yann.lecun.com/exdb/mnist/
[0070]
步骤5、根据本次航空行程单识别任务的每个待识别单字符概率最高的数字作为识别结果,将识别结果合并成最终的总金额结果。
[0071]
本实施例对3637张不同扫描批次的航空行程单图片进行了人工标注,用以验证实施例识别结果的准确率。其中所述的标注是指人工查看航空行程单图片内的总金额数字后,将该图像文件以如下格式命名:【$默认编号】_cny_【$总金额】.jpg/png。经过具体实际实验,通过python脚本,在单线程模式下,自动比对识别结果以及包含在文件名中的标注结果,能够得到的实验数据是:3637张航空行程单数据中有3492张的识别结果与标注数据一致,故识别准确率为96.01%(3492/3637),累计耗时4080s。所述单线程模式是指计算机程序在同一时间只对一张航空行程单进行识别,若采用多线程处理则可以显著提升识别性能。
[0072]
与现有技术相比,本发明通过面向特征工程的关键文字信息检测技术,避免了直接通过如卷积神经网络等深度学习技术进行文字检测需要大量训练数据的问题,如本实施例中,在开发和训练过程中仅观察了300张样本数据,最终获得了96%以上的识别准确率。
[0073]
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1