Dec 14, 2021
No image
OCR Cheque Scanner for a Banking App

OCR Cheque Scanner for a Banking App

4-6 months
South Africa
view project
Service categories
Service Lines
Artificial Intelligence
Software Development
Domain focus
Banking & Financial Services
Programming language


The client is an international bank. They wanted to simplify transactions for their users by allowing them to deposit cheques without having to visit their office through a mobile app. The client wants to develop an automated solution for remote cheque cashing through a companion mobile app. The app user takes a picture of the cheque using their smartphone camera, and the image is sent to the bank’s server where the automated extraction of various cheque fields is performed. They reached out to BroutonLab to develop an engine for automated cheque scanning with high accuracy, based on the client’s labeled dataset.


The solution can be divided into two parts: - Detection and cropping of various segments of cheques, including the fields for drawer, payee, signature, and other fields, - Intelligent Character Recognition (ICR) and Optical Character Recognition (OCR). Recognizing text, digits, both handwritten and on each of these parts. For training, testing, and validation, we used 500 thousand images with the “amount” field cropped along with the corresponding handwritten amount and a label indicating that the amount is. The backbone of architecture can be any neural network type: CNN, RNN, 3D-CNN, or Transformer. Each of them has its advantages, but we decided to ensemble 5 different networks into one large model. Ensembling allowed us to achieve the accuracy of 99% and recall of 98%.


The time needed to process a single cheque image was reduced from 10 minutes to 30 seconds. The short processing time and high accuracy led to a 5X increase in app downloads. Employees didn’t have to waste time going through cheque images and were able to focus on other, more important tasks.