This project aims to build an ambitious state-of-the-art OCR framework, that should work on any language.
It will not rely on segmentation algorithms (at the glyph level), making it ideal for highly
agglutinative scripts like Arabic, Devanagari etc. We will be starting with Telugu however.
We use the technology of Convolutional Recurrent Neural Networks
from Keras
in TensorFlow 2.0
.
CRNN
with CTC
(Connectionist Temporal Classification) loss function is the main work-horse.
- tensorflow
- Lekhaka - My 'scribing' package for generating complex text, including Indian languages like Telugu, on the fly
- Install TensorFlow
- Download Lekhaka and place in a parallel dicrectory
model_builder.py
The TensorFlow CRNN model with CTC losstrain.py
Main file to runutils.py
,post_process.py
Utilities to print images and Probabilities to terminal, etc.
You can now train a CRNN to read Telugu text!
python3 train.py spec 1
python3 train.py banti banti_trained_instance.pkl
python3 train.py chamanti chamanti_trained_instance.pkl