Giter Site home page Giter Site logo

ceir's Introduction

CEIR

This project is for the SPIE paper - Novel Receipt Recognition with Deep Learning Algorithms. In this paper, we propose an end-to-end novel receipt recognition system for capturing effective information from receipts (CEIR).

CEIR system demo is available at: CEIR Demo

The CEIR has three parts: preprocess, detection, recognition.

Introduction

In the preprocessing method, by converting the image to gray scale and obtaining the gradient with the Sobel operator, the outline of the receipt area is decided by morphological transformations with the elliptic kernel.

In text detection, the modified connectionist text proposal network to execute text detection. The pytorch implementation of detection is based on CTPN.

In text recognition, the convolutional recurrent neural network with the connectionist temporal classification with maximum entropy regularization as a loss function to update the weights in networks and extract the characters from receipt. The pytorch implementation of recognition is based on CRNN and ENESCTC.

We validate our system with the scanned receipts optical character recognition and information extraction (SROIE) database.

Dependency

Python 3.6.3

  1. torch==1.4
  2. torchvision
  3. opencv-python
  4. lmdb

Prediction

  1. Download pre-trained model from Google Drive and put the file under ./detection/output/ folder.

  2. Change the image name to demo.jpg in the CEIR folder.

  • Run python ceir_crop.py for stage 1.
  • Run python ceir_detect.py for stage 2.
  • Run python ceir_recognize.py for stage 3.
  1. The result will be saved in ./result/.

Training

  1. Put dataset in ./dataset/train/image and ./dataset/train/label.

  2. Preprocess parameters can be changed in ./preprocess/crop.py.

  3. In the detection part, the ./detection/config.py is used for configuring. After that, run python train.py in the detection folder.

  4. In recognition, you need to change trainroot and other parameters in train.sh, then run sh train.sh to train.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.