Optical Character Recognition Module for Invoice Capture Software
Each invoice that companies receive holds data which is crucial for various accounting, resource planning, and business intelligence applications. Today invoices come in digital formats such as PDF files or scanned images. To access key data in digital invoices and streamline workflow, companies use automated invoice processing software. This software uses a machine learning technique such as Optical Character Recognition (OCR) to recognize and extract data fields from a document format.
A London-based provider of solutions for retailers was looking to build a mobile application that could recognize and extract invoice data from PDFs or images to be transferred to financial software or other enterprise applications. They needed a company with expertise in machine learning and artificial intelligence.
Our solution needed to make it possible to extract not only metadata such as the invoice date, invoice number, and the total sum of the purchase but also line-items or detailed data about the merchandise included in an invoice.
There were two options we could use to implement Optical Character Recognition (OCR) technology. One was to integrate Google Vision API and the other option was to go with the Tesseract library.
Google Vision API was certainly the best possible solution, but it could get very costly with time. Tesseract, on the other hand, is a free open source library. We choose Tesseract because we had previous experience working with this library and wanted to lower the cost of ownership of the app for our client.
To get higher OCR accuracy we needed to train the image processing library which was the most challenging part of the project.
Scope of work
- Image pre-processing: cleaning up noise and artifacts, making the images more contrast.
- Integrating the Tesseract library.
- Analyzing results.
- Training the library using more than 10,000 paper invoices and documents.
- REST API approach was used for the interaction between mobile applications and the Cloud.
- OpenCV library was used for preprocessing purposes, such as deskewing, removing scanning artifacts and noise, and binarization.
- Tesseract library was used for OCR.
- Java language was used for Android app development.
- Objective-C language was used for iOS app development.
We developed mobile applications using Optical Character Recognition (OCR) technology for Android and iOS platforms. The app uses a camera to read the information from shop receipts and supplier invoices such as line-item details and their cost and converts these data into a usable format. It allows for managing piles of paper invoices much better.
The accuracy of data extraction
Documents for training
You might also like...
Algodroid R&D Project: Building a Computer Vision System for Preventing Falls of the Elderly
The project is a video monitoring system that uses computer vision and machine learning to track people's activities throughout the day and detect falls in real time
SkinView iOS App for Identifying Melanoma Skin Cancer Using Computer Vision Algorithms
The app uses computer vision algorithms for processing images of a mole and detecting malignant melanoma. We achieved 80% diagnostic accuracy without any machine learning methods