Skip to content
A TensorFlow implementation of https://github.com/bgshih/crnn
Python
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CRNN
samples
.gitignore
LICENSE
README.md
requirements.txt Bump pillow from 6.1.0 to 6.2.0 Nov 3, 2019

README.md

CRNN

A TensorFlow implementation of https://github.com/bgshih/crnn

But what is a CRNN?

It is a Convolutional Recurrent Neural Network that can be used as an OCR

Requirements

  • Tensorflow (tested with 1.8) pip3 install tensorflow
  • Scipy pip3 install scipy

What training data was used?

All training data (200 000 examples) were generated using my other project https://github.com/Belval/TextRecognitionDataGenerator

To do the same, simply install that project with pip (pip install trdg) and do trdg -c 200000 -w 1 -t 8. -t should be your processor thread count.

Pretrained model

Available in CRNN/save. Use python3 run.py -ex ../data/test --test --restore to test.

Specify charset

You can specify charset to include only numbers python run.py --train -ex ../data/test -it 50000 -cs 0123456789

Results

It works but is a suboptimal solution for OCR in its current form as it makes some mistakes. Do note that I used a bigger char vector than the paper.

For fun, here are a list of words with their prediction:

Ground truth Prediction Image
retardates retardates 1
pay-roller poy-roler 2
rhizopodist rhizospodist 3
theriacas trenagas 4
semantically semanticaly 5
dualistic duaistic 6
high-flying highi-fling 7
grossify grsity 8
scutular scutular 9
crispened crispened 10
You can’t perform that action at this time.