利用OCR解决增值税发票内容文本识别
增值税发票文本识别
对于增值税发票文本识别这个问题,许多大公司都有现成的API可以调用,比如百度、京东等等。
但是我们并不知道里面的方法,况且调用是要Money的,那么怎么实现一个属于自己的模型呢?
如果你想知道的话
我现在就带你研究!
解决方案1.0
起初刚接触这个问题时想法很简单,这不就是一个OCR问题嘛,直接找个现成的OCR模型,input一张发票不就OK了?说干就干!
模型是当初学pytorch时用的CTPN+CRNN,这也是比较经典的方法。
介是个嘛?从图中可以看到效果并不是很理想,有的字没识别出来,而且识别出来的字也有错误…原因可能是数据集的问题,数据太少了,且字符不全,比如RMB符号¥就识别不出来,数据里可能压根就没有这个符号…
那么我们再换一个模型试一试,百度的OCR做的挺好的,在它的Github上可以发现最近出了OCR 2.0系列模型,且最小的模型就9.4M,它采用的方法是DB+CRNN,这里就不过多赘述了。Clone后在本地运行一下,结果如图所示。
咦,还不错!比自己的模型好多了,不愧是百度。但是现在还有一些问题:
1、模型把图中大部分字都识别出来了,然而里面有很多是我们不要的。
2、模型识别出来的字段是无序的,且存在不连续的情况,筛选出所需的信息比较困难。比如‘名称’这两个字被分为了‘名’和‘称’两个单独的字。
3、上述尝试识别的是很工整的电子票据,那么手机拍的有歪曲的发票该怎么识别呢?比如下图。
BOXonline1396529: 这文章怎么收费了
最爱吃兽肉: 老公真棒
TanixLu: 是的,很烦。。。
yesterday_day: 打印错位的话,就会随着图片切割直接缺少内容吧
葵.527: 求一下源码可以吗博主?