机器学习的发展中,细分领域的自动化智能化不断完善。 其中就包含了票据识别的场景。近期作者对市面上已成型的票据识别应用做了一些研究,记录下来,希望能用尽量通俗的语言写清楚:
这个票据识别技术主题会从开源OCR写起, 然后针对 BAT 三大头部公司在票据识别领域的用户体验, 第一次写博客,新手上路,多多鼓励 :)
票据识别作为图像识别的子类,大致有这样几个步骤 :
一,把纸质票据电子化 : 这里面的方式大概就是扫描,拍照
二,电子化后的票据能将有意义的内容区域定义出来 , 也就是说定义出发票金额的那个小的区域在哪里,然后识别这个小区域里的金额。 识别区域也是为了提高计算效率,主要也是为了把空白区域切割掉。 这一步做完的结果就是一片一片的有意义的图像块。传入下一步的参数一般也是图片四个角的像素位置。
三, 将步骤二截取的每个图像块中的内容识别出来,这里可以用到各种算法模型去模拟并找到最合适的算法模型。输出就是每个图像位置的内容。
四, 将步骤三识别的结果拼接起来,成为有意义的图像识别结果。比如金额和100 放一起,日期和 2019-10-22 放一起。
目前票据识别普遍会用到 OCR 技术, 光学识别技术,可以自行查询。
票据识别中有几大开源 OCR ,
- Tesseract OCR
- OCRopus
- Cuneiform for Linux
- GOCR
这几大OCR 的OSCHINA 介绍链接如下:
Tesseract OCR首页、文档和下载 - 图像识别类库 - OSCHINA
Tesseract OCR 该软件包包含一个OCR引擎 - libtesseract和一个命令行程序 - tesseract。 Tesseract 4增加了一个基于OCR引擎的新神经网络(LSTM),该引擎专注于线路识别,但仍然支持Tesseract 3的传统Tesseract OCR引擎,该...
OCRopus首页、文档和下载 - OCR识别 - OSCHINA
Ocropus的(TM)是一个先进的文件分析和OCR系统,采用可插入的布局分析,可插入的字符识别,自然语言统计建模和多语言支持功能。
Cuneiform for Linux首页、文档和下载 - OCR文字识别系统 - OSCHINA
Cuneiform 是一个 OCR 文字识别系统的商标,最开始是由Cognitive 技术所开发的运行在 Windows 下的软件。而这个项目是该软件在 Linux 系统下的移植版本。
GOCR首页、文档和下载 - OCR光学识别程序 - OSCHINA
GOCR 是一个开源的OCR光学识别程序。