All Projects → harish2704 → Pottan Ocr

harish2704 / Pottan Ocr

Licence: mit
A stupid OCR for malayalam language

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pottan Ocr

Captcha break
验证码识别
Stars: ✭ 2,268 (+5715.38%)
Mutual labels:  crnn, ocr
Pytorchocr
基于pytorch的ocr算法库,包括 psenet, pan, dbnet, sast , crnn
Stars: ✭ 198 (+407.69%)
Mutual labels:  crnn, ocr
Deep Text Recognition Benchmark
Text recognition (optical character recognition) with deep learning methods.
Stars: ✭ 2,665 (+6733.33%)
Mutual labels:  crnn, ocr
Crnn.pytorch
crnn实现水平和垂直方向中文文字识别, 提供在3w多个中文字符训练的水平识别和垂直识别的预训练模型; 欢迎关注,试用和反馈问题... ...
Stars: ✭ 145 (+271.79%)
Mutual labels:  crnn, ocr
CRNN.tf2
Convolutional Recurrent Neural Network(CRNN) for End-to-End Text Recognition - TensorFlow 2
Stars: ✭ 131 (+235.9%)
Mutual labels:  ocr, crnn
Paddleocr
Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
Stars: ✭ 18,084 (+46269.23%)
Mutual labels:  crnn, ocr
Text renderer
Generate text images for training deep learning ocr model
Stars: ✭ 931 (+2287.18%)
Mutual labels:  crnn, ocr
Ocr.pytorch
A pure pytorch implemented ocr project including text detection and recognition
Stars: ✭ 196 (+402.56%)
Mutual labels:  crnn, ocr
crnn.mxnet
crnn in mxnet.can train with chinese characters
Stars: ✭ 47 (+20.51%)
Mutual labels:  ocr, crnn
BankCard-Recognizer
Identifying numbers from bankcard, based on Deep Learning with Keras [China Software Cup 2019]
Stars: ✭ 74 (+89.74%)
Mutual labels:  ocr, crnn
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 (+34205.13%)
Mutual labels:  crnn, ocr
Crnn attention ocr chinese
CRNN with attention to do OCR,add Chinese recognition
Stars: ✭ 315 (+707.69%)
Mutual labels:  crnn, ocr
Sightseq
Computer vision tools for fairseq, containing PyTorch implementation of text recognition and object detection
Stars: ✭ 116 (+197.44%)
Mutual labels:  crnn, ocr
Crnn Mxnet Chinese Text Recognition
An implementation of CRNN (CNN+LSTM+warpCTC) on MxNet for chinese text recognition
Stars: ✭ 161 (+312.82%)
Mutual labels:  crnn, ocr
Crnn With Stn
implement CRNN in Keras with Spatial Transformer Network
Stars: ✭ 83 (+112.82%)
Mutual labels:  crnn, ocr
CRNN-OCR-lite
Lightweight CRNN for OCR (including handwritten text) with depthwise separable convolutions and spatial transformer module [keras+tf]
Stars: ✭ 130 (+233.33%)
Mutual labels:  ocr, crnn
insightocr
MXNet OCR implementation. Including text recognition and detection.
Stars: ✭ 100 (+156.41%)
Mutual labels:  ocr, crnn
Tr
Free Offline OCR 离线的中文文本检测+识别SDK
Stars: ✭ 598 (+1433.33%)
Mutual labels:  crnn, ocr
Attention Ocr
A Tensorflow model for text recognition (CNN + seq2seq with visual attention) available as a Python package and compatible with Google Cloud ML Engine.
Stars: ✭ 844 (+2064.1%)
Mutual labels:  ocr
Keras Textclassification
中文长文本分类、短句子分类、多标签分类、两句子相似度(Chinese Text Classification of Keras NLP, multi-label classify, or sentence classify, long or short),字词句向量嵌入层(embeddings)和网络层(graph)构建基类,FastText,TextCNN,CharCNN,TextRNN, RCNN, DCNN, DPCNN, VDCNN, CRNN, Bert, Xlnet, Albert, Attention, DeepMoji, HAN, 胶囊网络-CapsuleNet, Transformer-encode, Seq2seq, SWEM, LEAM, TextGCN
Stars: ✭ 914 (+2243.59%)
Mutual labels:  crnn

Notice: This project is not relevent anymore since latest version of tesseract ocr is using same technology ( CNN-RNN models ) and it is capable of detecting complex scripts with very high accuracy . A web demo of latest tesseract ocr can be seen in the link given below

https://harish2704.github.io/ml-tesseract-demo/

Join the chat at https://gitter.im/pottan-ocr/Lobby

pottan-ocr

A stupid OCR for malayalam language. It can be Easily configured to process any other languages with complex scripts

complete page OCR server demo

https://pottan-ocr.harishk.in/

Client side web Demo of individual line recognition

https://harish2704.github.io/pottan-demo/

Screenshot of complete page OCR

Screenshot

Installation

Clone the project

git clone https://github.com/harish2704/pottan-ocr
cd pottan-ocr

Run the installer bash script to complete the installation.

  • For Debian
    env DISTRO=debian ./tools/install-dependencies.sh
    
  • For Fedora
    env DISTRO=fedora ./tools/install-dependencies.sh
    
  • For OpenSUSE
    env DISTRO=opensuse ./tools/install-dependencies.sh
    
  • For Ubuntu
    ./tools/install-dependencies.sh
    

By default, the installer will install dependencies which is necessary to run the OCR. For training the OCR, pass the string for_training as first argument to installer.

  ./tools/install-dependencies.sh for_training

Usage

  1. Download latest pre-trained model file from pottan-ocr-data repository
wget 'https://github.com/harish2704/pottan-ocr-data/raw/master/crnn_11032020_171631_5.h5' -O pottan_ocr_latest.h5
  1. Create configuration file
cp ./config.yaml.sample ./config.yaml
  1. Run the OCR using any PNG/JPEG image
./bin/pottan ocr <trained_model.h5> <iamge_path> [ pottan_ocr_output.html ]

For more details, see the --help of bin/pottan and its subcommands

Usage:
./pottan <command> [ arguments ]

List of available commands ( See '--help' of individual command for more details ):

    extractWikiDump - Extract words from wiki xml dump ( most most of the text corpus ). Output is written to stdout.

    datagen         - Prepare training data from data/train.txt & data/validate.txt. ( Depreciated. used only for manual varification of training data )

    train           - Run the training

    ocr             - Run charector recognition with a pre-trained model and image file

Training

  • Training is done using synthetic images generated on the fly using text corpus. For this to work, we should have enough fonts installed in the system. In short, fonts listed in the ./config.yaml.sample should be available in the output of command fc-list :lang=ml
    • It is also possible to write the generated images to disk. sub-command datagen does exactly this. When running training, if the images already found to exists in the cache directory( eg: point cache directory to generated images directory ), it will be used for the training instead of generating new images. This idea is used to reduce CPU load during production training sessions
  • Also it is recommended to have a GPU for training the OCR.

Try training on Google colab

Open notebook

For more details, see wiki

Getting involved

Credits

  • Authors of http://arxiv.org/abs/1507.05717
  • jieru mei who created pytorch implementation for above mentioned model. Repo https://github.com/meijieru/crnn.pytorch. The model used in Pottan-OCR is taken from this project.
  • Tom and the contributes of Ocropy project ( https://github.com/tmbdev/ocropy ) which is the back-bone of pottan-ocr.
    • Code-base of pottan-ocr can do only one thing. Just convert a single line of image into single line of text.
    • Everything else including layout detection, line segmentation, output generation etc are handled by Ocropy.
    • pottan-ocr just works as core engine by replacing default engine Tesseract OCR used in the Ocropy
  • Pytorch https://pytorch.org/
  • Leon Chen and the Team behind KerasJS .
    • KerasJS is used to create the Web-based demo application of the OCR.
    • KerasJS does its job very well by running Keras Models in browsers with WebGL2 acceleration.
    • It also have great features such as visualizing each stages of process , which is not explored yet.

Thanks

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].