All Projects → kurapan → Crnn

kurapan / Crnn

Licence: mit
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

insightocr
MXNet OCR implementation. Including text recognition and detection.
Stars: ✭ 100 (+47.06%)
Mutual labels:  ocr, text-recognition
Chineseaddress ocr
Photographing Chinese-Address OCR implemented using CTPN+CTC+Address Correction. 拍照文档中文地址文字识别。
Stars: ✭ 309 (+354.41%)
Mutual labels:  ocr, text-recognition
MLKit
🌝 MLKit是一个强大易用的工具包。通过ML Kit您可以很轻松的实现文字识别、条码识别、图像标记、人脸检测、对象检测等功能。
Stars: ✭ 294 (+332.35%)
Mutual labels:  ocr, text-recognition
NLP-image-to-text
code to extract text from images
Stars: ✭ 28 (-58.82%)
Mutual labels:  ocr, text-recognition
Cnn lstm ctc ocr
Tensorflow-based CNN+LSTM trained with CTC-loss for OCR
Stars: ✭ 464 (+582.35%)
Mutual labels:  ocr, text-recognition
EverTranslator
Translate text anytime and everywhere, even you are gaming!
Stars: ✭ 59 (-13.24%)
Mutual labels:  ocr, text-recognition
Vedastr
A scene text recognition toolbox based on PyTorch
Stars: ✭ 290 (+326.47%)
Mutual labels:  ocr, text-recognition
Deep Text Recognition Benchmark
Text recognition (optical character recognition) with deep learning methods.
Stars: ✭ 2,665 (+3819.12%)
Mutual labels:  ocr, text-recognition
React Native Tesseract Ocr
Tesseract OCR wrapper for React Native
Stars: ✭ 384 (+464.71%)
Mutual labels:  ocr, text-recognition
Awesome Ocr Resources
A collection of resources (including the papers and datasets) of OCR (Optical Character Recognition).
Stars: ✭ 335 (+392.65%)
Mutual labels:  ocr, text-recognition
lego-mindstorms-51515-jetson-nano
Combines the LEGO Mindstorms 51515 with the NVIDIA Jetson Nano
Stars: ✭ 31 (-54.41%)
Mutual labels:  ocr, text-recognition
Tr
Free Offline OCR 离线的中文文本检测+识别SDK
Stars: ✭ 598 (+779.41%)
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 (+1972.06%)
Mutual labels:  ocr, text-recognition
CRNN
Convolutional recurrent neural network for scene text recognition or OCR in Keras
Stars: ✭ 96 (+41.18%)
Mutual labels:  ocr, text-recognition
Ocr.pytorch
A pure pytorch implemented ocr project including text detection and recognition
Stars: ✭ 196 (+188.24%)
Mutual labels:  ocr, text-recognition
ocr
Simple app to extract text from pictures using Tesseract
Stars: ✭ 98 (+44.12%)
Mutual labels:  ocr, text-recognition
Tesseract Ocr For Php
A wrapper to work with Tesseract OCR inside PHP.
Stars: ✭ 2,247 (+3204.41%)
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 (+3255.88%)
Mutual labels:  ocr, text-recognition
Megreader
A research project for text detection and recognition using PyTorch 1.2.
Stars: ✭ 332 (+388.24%)
Mutual labels:  ocr, text-recognition
Aster.pytorch
ASTER in Pytorch
Stars: ✭ 473 (+595.59%)
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].