All Projects → janzd → CRNN

janzd / CRNN

Licence: MIT license
Convolutional recurrent neural network for scene text recognition or OCR in Keras

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to CRNN

Deep Text Recognition Benchmark
Text recognition (optical character recognition) with deep learning methods.
Stars: ✭ 2,665 (+2676.04%)
Mutual labels:  ocr, text-recognition, scene-text, scene-text-recognition
awesome-scene-text
A curated list of papers and resources for scene text detection and recognition
Stars: ✭ 43 (-55.21%)
Mutual labels:  text-recognition, scene-text, scene-text-recognition
Easyocr
Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc.
Stars: ✭ 13,379 (+13836.46%)
Mutual labels:  ocr, scene-text, scene-text-recognition
EverTranslator
Translate text anytime and everywhere, even you are gaming!
Stars: ✭ 59 (-38.54%)
Mutual labels:  ocr, text-recognition
Transformer str
PyTorch implementation of my new method for Scene Text Recognition (STR) based on Transformer,Equipped with Transformer, this method outperforms the best model of the aforementioned deep-text-recognition-benchmark by 7.6% on CUTE80.
Stars: ✭ 131 (+36.46%)
Mutual labels:  ocr, text-recognition
Textrecognitiondatagenerator
A synthetic data generator for text recognition
Stars: ✭ 2,075 (+2061.46%)
Mutual labels:  ocr, text-recognition
Crnn With Stn
implement CRNN in Keras with Spatial Transformer Network
Stars: ✭ 83 (-13.54%)
Mutual labels:  ocr, text-recognition
Adelaidet
AdelaiDet is an open source toolbox for multiple instance-level detection and recognition tasks.
Stars: ✭ 2,565 (+2571.88%)
Mutual labels:  ocr, text-recognition
Crnn.pytorch
crnn实现水平和垂直方向中文文字识别, 提供在3w多个中文字符训练的水平识别和垂直识别的预训练模型; 欢迎关注,试用和反馈问题... ...
Stars: ✭ 145 (+51.04%)
Mutual labels:  ocr, text-recognition
Tesseract Ocr For Php
A wrapper to work with Tesseract OCR inside PHP.
Stars: ✭ 2,247 (+2240.63%)
Mutual labels:  ocr, text-recognition
Ocr.pytorch
A pure pytorch implemented ocr project including text detection and recognition
Stars: ✭ 196 (+104.17%)
Mutual labels:  ocr, text-recognition
doctr
docTR (Document Text Recognition) - a seamless, high-performing & accessible library for OCR-related tasks powered by Deep Learning.
Stars: ✭ 1,409 (+1367.71%)
Mutual labels:  ocr, text-recognition
Sightseq
Computer vision tools for fairseq, containing PyTorch implementation of text recognition and object detection
Stars: ✭ 116 (+20.83%)
Mutual labels:  ocr, text-recognition
Text recognition toolbox
text_recognition_toolbox: The reimplementation of a series of classical scene text recognition papers with Pytorch in a uniform way.
Stars: ✭ 114 (+18.75%)
Mutual labels:  ocr, text-recognition
Node Tesseract Ocr
A Node.js wrapper for the Tesseract OCR API
Stars: ✭ 92 (-4.17%)
Mutual labels:  ocr, text-recognition
Scene Text Recognition
Scene text detection and recognition based on Extremal Region(ER)
Stars: ✭ 146 (+52.08%)
Mutual labels:  ocr, text-recognition
NLP-image-to-text
code to extract text from images
Stars: ✭ 28 (-70.83%)
Mutual labels:  ocr, text-recognition
Sar tf
This is an implementation of Show, Attend and Read with tensorflow
Stars: ✭ 70 (-27.08%)
Mutual labels:  ocr, text-recognition
Php Apache Tika
Apache Tika bindings for PHP: extract text and metadata from documents, images and other formats
Stars: ✭ 76 (-20.83%)
Mutual labels:  ocr, text-recognition
Awesome Deep Text Detection Recognition
A curated list of resources for text detection/recognition (optical character recognition ) with deep learning methods.
Stars: ✭ 2,282 (+2277.08%)
Mutual labels:  ocr, text-recognition

CRNN

Keras implementation of Convolutional Recurrent Neural Network for text recognition

There are two models available in this implementation. One is based on the original CRNN model, and the other one includes a spatial transformer network layer to rectify the text. However, the performance does not differ very much, so it is up to you which model you choose.

Training

You can use the Synth90k dataset to train the model, but you can also use your own data. If you use your own data, you will have to rewrite the code that loads the data accordingly to the structure of your data. To download the Synth90k dataset, go to this page and download the MJSynth dataset.

Either put the Synth90k dataset in data/Synth90k or specify the path to the dataset using the --base_dir argument. The base directory should include a lot of subdirectories with Synth90k data, annotation files for training, validation, and test data, a file listing paths to all images in the dataset, and a lexicon file.

Use the --model argument to specify which of the two available models you want to use. The default model is CRNN with STN layer. See config.py for details.

Run the train.py script to perform training, and use the arguments accordingly to your setup.

Execution example

python train.py --batch_size 512 --gpus 0 1 2 3 --nb_workers 12

You can resume training by setting --resume_training to True and defining the path to the model you want to resume training, --load_model_path.

A pretrained model is available here.

Evaluation

Use eval.py to perform evaluation. You can either classify a single image or pass a directory with images that you want to classify. You also have to specify the path to a trained model.

Execution example

python eval.py --model_path result/001/model.hdf5 --data_path path/to/your/data

Requirements

TensorFlow 1.X (tested with 1.5 but I think it should work with other 1.X versions too) Keras 2.1.5

The code uses a standalone Keras installation with TF backend. It does not use Keras included in TF.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].