一种基于深度学习的票据分拣方法技术

技术编号:22643320 阅读:46 留言:0更新日期:2019-11-26 16:33
本发明专利技术公开了一种基于深度学习的票据分拣方法,包括以下步骤:S1.收集业务数据,进行归档标注:利用ImageNet预训练的VGG16网络加上无监督聚类算法K‑Means对收集的业务图片进行粗分类,然后通过人工进行准确归类获得标注好的票据数据;S2.划分数据集:将TotalDatasct划分为训练集TrainDataset和验证集ValidationDataset,基于各具体票据类型样本数目的多少选择性地划分训练和验证数据集,在训练数据和验证数据划分层面考虑了样本不均衡的情况;S3.训练STNEfficientNet:利用TrainDataset训练和利用ValidationDataset验证网络结构STNEfficientNet;S4.部署训练完成的模型,利用训练好的网络STNEfficientNet,对客户上传的新的票据进行自动分拣。本发明专利技术训练速度快,精度高,能有效提升人工分类票据的效率。

A method of bill sorting based on deep learning

The invention discloses a bill sorting method based on deep learning, which comprises the following steps: S1. Collecting business data for filing and labeling: roughly classifying the collected business pictures by using the vgg16 network pre trained by Imagenet plus the unsupervised clustering algorithm k \u2011 means, and then accurately classifying them manually to obtain labeled bill data; S2. Dividing the data set: totaldata SCT is divided into training set traindataset and verification set validationdataset. Based on the number of samples of each specific bill type, training and verification datasets are selectively divided, and the imbalance of samples is considered in the division of training data and verification data; S4. Deploy the training completed model, and use the trained network stnefficientnet to automatically sort the new bills uploaded by customers. The invention has the advantages of fast training speed and high precision, and can effectively improve the efficiency of manual classification bill.

【技术实现步骤摘要】
一种基于深度学习的票据分拣方法
本专利技术涉及模式识别图像处理
,尤其涉及一种基于深度学习的票据分拣方法。
技术介绍
发票的分类(分拣)在财务记账等流程中,具有很重要的地位。发票只有进行正确的分类,才能不影响后续的记账流程的处理。传统的发票分类做法通常是由人工来进行发票的分类及归档处理,效率低下且易出错。
技术实现思路
针对上述问题,本专利技术提出了一种基于深度学习的票据分拣方法,基于STN网络和EfficientNet网络,将通用的图片分类技术EfficientNet[2]应用至发票分类领域,并利用SpatialTransformerNetworks[1](STN)网络加以改进,以提升扭曲、倾斜等质量差票据分类精度,本专利技术在票据分类领域,训练速度快,精度高,能有效提升人工分类票据的效率。为更好地理解相关问题,现对下列专有名词作出解释。VGG:一种典型的卷积神经网络,详情见参考文献[3];票据分拣的总类别:指一共有多少类型的票据需要进行分拣,此类型总数取决于具体的业务需求。例如,若业务只需要区分身份证和火车票,则该票据分拣任务中,票据分拣的总类别数为2;若业务需要区分身份证、火车票、定额发票,则该票据分拣任务中,票据分拣的总类别数为3;K-Means聚类:一种简单常用的聚类算法[4];记本专利技术的网络结构为STNEfficientNet,即将STN嵌入EfficientNet网络头部形成的网络结构。参考文献:[1]https://arxiv.org/pdf/1506.02025.pdf;[2]https://arxiv.org/pdf/1905.11946.pdf;[3]https://arxiv.org/pdf/1409.1556.pdf;[4]https://en.wikipedia.org/wiki/K-means_clustering;票据的自动分拣问题,本质上是一个票据图片的分类问题,因此可以考虑采用被证明具有推理速度快、精度高、模型小的EfficientNet分类网络来解决这一问题。EfficientNet网络作为一种最新提出的图片分类算法,实验证明其具有推理速度快、模型小、精度高的特点。实际业务的票据通常存在各种程度的变形、扭曲、倾斜等干扰,因此常规的分类模型在实际业务票据分拣中并未能取得较好的结果。STN网络被证明具有旋转自动校正、透视拉伸自动恢复的功能,STN和EfficientNet能有效提升票据在票据受到变形、扭曲、倾斜等干扰下的分拣准确率;本专利技术采用级联STN模块和EfficientNet网络的方法,解决票据的自动分拣问题。本专利技术通过以下技术方案来实现上述目的:一种基于深度学习的票据分拣方法,包括以下步骤:S1.收集业务数据,进行归档标注:利用ImageNet预训练的VGG16网络加上无监督聚类算法K-Means对收集的业务图片进行粗分类,然后通过人工进行准确归类获得标注好的票据数据;S2.划分数据集:将TotalDataset划分为训练集TrainDataset和验证集ValidationDataset,基于各具体票据类型样本数目的多少选择性地划分训练和验证数据集,在训练数据和验证数据划分层面考虑了样本不均衡的情况;S3.训练STNEfficientNet:利用TrainDataset训练和利用ValidationDataset验证网络结构STNEfficientNet;S4.部署训练完成的模型,利用训练好的网络STNEfficientNet,对客户上传的新的票据进行自动分拣。进一步方案为,S1具体步骤如下:Step1-1:收集客户上传的n张票据并存档,标记为image_000001.png,image_0000002.png,...,image_n.png;Step1-2:利用ImageNet预训练的VGG16网络,获得其倒数第2层输出的4096维向量(image_i.png,vec_i_4096),其中i表示第i张发票;Step1-3:利用步骤Step1-2获取每张票据的4096维向量Invoice_Vec=(image_i.png,vec_i_4096),i∈[1,n],利用K-Means算法将Invoice_Vec聚类为N=200类;Step1-4:将这n张图片聚类为N=200类后的图片,人工核对并将其归档到对应的票据类型,具体操作流程如下:Step1-4-1:取N类中的任意一类N_j,随机从中取20张图片,若该聚类类别中图片总数少于20张,则取全部;Step1-4-2:人工判断20张图片中每一张图片所属的实际发票类型,然后取发票类型中图片数目最多的类型为N_j的预设类型;Step1-4-3:判断N类聚类结果中每一类N_j的预设类型是否均已获得,若是则转步骤Step1-4-4,否则转Step1-4-1;Step1-4-4:合并预设类型相同的N_j1和N_j2为同一类型M_j1_j2,例如N_1类型和N_20类型的预设类型相同,则将其合并为同一预设类型,即为M_1_20,若没有类型与N_j相同,则将其合并结果另记为M_j;Step1-4-5:记所有合并完成的数据为M=[M_1,M_2,...,M_j,...,M_x];Step1-4-6:取M中每一个数据子集M_j,依次对其中每张发票进行票据分类完成归档;Step1-5:所有归档后的图片,记为TotalDataset,其中包括两部分:第1部分是所有收集的n张票据图片,第2部分是每张票据图片对应的票据类别。进一步方案为,S2具体步骤如下:Step2-1:统计各类票据的样本数,并设置训练集TrainDataset为空,设置验证集ValidationDataset为空;Step2-2:取N类标注好的票据类型中的一类,判断其样本数是否大于500?若是则转步骤Step2-3,若否,则转步骤Step2-4;Step2-3:从该票据类型中随机选择100张,直接放入验证集ValidationDataset,该票据类型剩余样本放入训练集TrainDataset;Step2-4:从该票据类型中随机选择100张,复制该100张放入验证集ValidationDataset,该票据类型全部样本放入训练集TrainDataset;Step2-5:是否所有票据类型的样本均已划分至训练集TrainDataset和验证集ValidationDataset,若是则转Step3,若否则转Step2-2。进一步方案为,S3具体步骤如下:Step3-1:设定算法参数,具体包括初始学习速率learningrate=1e-4,训练的批次大小batch-size=16,网络参数优化器optimizer为带动量momentum=0.9和权重衰减weight_decay=1e-4的随机梯度下降法SGD,算法总的训本文档来自技高网...

【技术保护点】
1.一种基于深度学习的票据分拣方法,其特征在于,包括以下步骤:/nS1.收集业务数据,进行归档标注:利用ImageNet预训练的VGG16网络加上无监督聚类算法K-Means对收集的业务图片进行粗分类,然后通过人工进行准确归类获得标注好的票据数据;/nS2.划分数据集:将TotalDataset划分为训练集TrainDataset和验证集ValidationDataset,基于各具体票据类型样本数目的多少选择性地划分训练和验证数据集,在训练数据和验证数据划分层面考虑了样本不均衡的情况;/nS3.训练STNEfficientNet:利用TrainDataset训练和利用ValidationDataset验证网络结构STNEfficientNet;/nS4.部署训练完成的模型,利用训练好的网络STNEfficientNet,对客户上传的新的票据进行自动分拣。/n

【技术特征摘要】
1.一种基于深度学习的票据分拣方法,其特征在于,包括以下步骤:
S1.收集业务数据,进行归档标注:利用ImageNet预训练的VGG16网络加上无监督聚类算法K-Means对收集的业务图片进行粗分类,然后通过人工进行准确归类获得标注好的票据数据;
S2.划分数据集:将TotalDataset划分为训练集TrainDataset和验证集ValidationDataset,基于各具体票据类型样本数目的多少选择性地划分训练和验证数据集,在训练数据和验证数据划分层面考虑了样本不均衡的情况;
S3.训练STNEfficientNet:利用TrainDataset训练和利用ValidationDataset验证网络结构STNEfficientNet;
S4.部署训练完成的模型,利用训练好的网络STNEfficientNet,对客户上传的新的票据进行自动分拣。


2.如权利要求1所述一种基于深度学习的票据分拣方法,其特征在于,S1具体步骤如下:
Step1-1:收集客户上传的n张票据并存档,标记为image_000001.png,image_0000002.png,...,image_n.png;
Step1-2:利用ImageNet预训练的VGG16网络,获得其倒数第2层输出的4096维向量(image_i.png,vec_i_4096),其中i表示第i张发票;
Step1-3:利用步骤Step1-2获取每张票据的4096维向量Invoice_Vec=(image_i.png,vec_i_4096),i∈[1,n],利用K-Means算法将Invoice_Vec聚类为N=200类;
Step1-4:将这n张图片聚类为N=200类后的图片,人工核对并将其归档到对应的票据类型,具体操作流程如下:
Step1-4-1:取N类中的任意一类N_j,随机从中取20张图片,若该聚类类别中图片总数少于20张,则取全部;
Step1-4-2:人工判断20张图片中每一张图片所属的实际发票类型,然后取发票类型中图片数目最多的类型为N_j的预设类型;
Step1-4-3:判断N类聚类结果中每一类N_j的预设类型是否均已获得,若是则转步骤Step1-4-4,否则转Step1-4-1;
Step1-4-4:合并预设类型相同的N_j1和N_j2为同一类型M_j1_j2,例如N_1类型和N_20类型的预设类型相同,则将其合并为同一预设类型,即为M_1_20,若没有类型与N_j相同,则将其合并结果另记为M_j;
Step1-4-5:记所有合并完成的数据为M=[M_1,M_2,...,M_j,...,M_x];
Step1-4-6:取M中每一个数据子集M_j,...

【专利技术属性】
技术研发人员:肖欣庭池明辉梁欢赵冬罗姗姗
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1