基于深度学习的财务发票识别系统
作者: 苗小爱
摘要:为解决特定场景的发票文本在识别上造成的误差,文章设计了一种改进CRNN 的发票文本识别算法。由于拍摄图片质量较差,一般算法的识别精度有限,在轻量级的移动端很难实现理想的识别效果。针对该问题,提出了一种改进RCNN 识别算法,再将RNN 替换为Attention 和Cross-Attention 进行计算。该算法在发票数据上进行实验验证,字符识别准确率达到96.1%,证明了本文算法优于其他算法。该系统通过树莓派获取发票图片并进行识别,可适用于工业物联网中增值税发票的识别,是智能财务管理系统的一部分,可减少人工的参与,提高工作效率。
关键词:深度学习;CRNN;Cross-Attention;发票识别;工业物联网;财务管理
中图分类号:TP319 文献标识码:A文章编号:1009-3044(2023)17-0016-03
0 引言
企业办公信息化是构成工业物联网[1]至关重要的步骤。很多大中型企业已经实现了信息化办公。发票作为报销凭据,能够实现智能识别并且在接入企业办公的物联网中具有非常重要的作用。移动设备办公能方便业务人员随时随地处理业务。
基于深度学习的OCR识别技术,在其规模化应用方面具有许多潜在优势。目前,通用场景OCR技术已十分成熟,发票类识别技术已经广泛应用各大企业办公系统中。但随着技术的发展以及发票数据的复杂性,研究新型智能发票识别[2]势在必行。
目前,标准导出的发票识别良好,但是对于拍照后有损失的发票识别效果较差。本文为了更符合真实场景,在树莓派设备上进行试验,将验证算法在移动设备上的进行验证,基于分割和识别算法对发票图像[3]进行文本识别、信息化管理等工作。
1 基于深度学习的发票识别技术
本节设计了一种应用于移动端拍照和PDF发票识别的算法模型。利用深度学习技术对发票进行识别,主要涉及的技术模块有数据预处理、数据增强、文本分割、文本识别和后处理模块。
1.1 数据预处理与数据增强
选取的发票样本为学校报销的增值税发票,如图1所示。由于数据量的限制和数据样本杂乱的限制,在进行文本识别和文本切割之前,使用OpenCV相关技术对图像进行预处理,并对图像进行数据增强[4-5]。
首先,要构建数据集,本文采用学校留存的发票数据共532份进行训练、验证和测试。首先将这些发票的文本进行划分,用labelme标记出,由于使用的数据有限,本文的模型均是在预训练好的模型上进行微调。
标记好数据后,对数据进行resize 操作,将所有图片都设计一个统一的尺寸,本文设计的图片大小为1 024×1 024,为保证图像的比例不变,文本不发生形变,对短边两侧进行0填充[6]。本文根据不同场景进行直方图均衡化,并进行灰度变换,从而实现对图像降维。为了抑制图像中的噪声数据,减少文字表示采样点的数量,提高有效性,本文对图像进行平滑处理。
最后对图片进行数据增强,由于拍照发票受到像素、拍摄角度、光照条件、障碍物遮挡等问题的影响,需要对图片数据进行增强以适应各种情况的影响。
调整图像的亮度、对比度、色调、饱和度和噪声。然后,添加了随机缩放、裁剪、翻转和旋转等。经过数据增强后,图片的数量增加到5 320份。使用这些数据进行模型训练使识别准确率增加了5.7%。