OCR Tools

Machine Learning in Linux: EasyOCR – OCR that reads natural scene text and dense text in documents

In Operation

EasyOCR supports PNG, JPG, and TIFF images.

There’s a CLI available. Here’s an example command which uses the machine’s dedicated graphics card.

$ easyocr -l en -f Gatsby.png --detail=1 --gpu=True

The output is in a list format, each item represents a bounding box, the text detected and confident level, respectively.

EasyOCR
Click image for full size

If you only want the text output, use --detail=0, i.e.

$ easyocr -l en -f Gatsby.png --detail=0 --gpu=True

The text detection module detects bounding boxes in the image, which is a necessary part of a good OCR engine. For the best performance, you’ll need to fine-tune the Character-Region Awareness For Text detection (CRAFT) model.

The CRAFT model detects bounding boxes of text inside an image. These bounding boxes are then sent to the text recognizer module of EasyOCR to read out the text in each image. The CRAFT module and the text recognizer make up the pipeline of EasyOCR. There is an End-To-End Trainable model with Resnet for Feature Extraction, LSTM, and CTC for decoding. Language-specific trained models are available.

Summary

EasyOCR is excellent software with good results for scene text recognition. It gets our firm recommendation. It uses Pytorch Deep learning models for detection and recognition. You can use your own data or generate your own dataset with a text data generator to train OCR models. EasyOCR offers handwritten recognition, GPU support and batch prediction. There are speed advantages compared to Tesseract.

We also like that EasyOCR offers vertical text support with options for whitelisting, blacklisting, output_format, and image manipulations.

The software support all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and others.

The project has amassed more than 21,000 GitHub stars.

Website: www.jaided.ai/easyocr
Support: GitHub Code Repository
Developer: Jaided AI
License: Apache License v2.0

EasyOCR is written in Python. Learn Python with our recommended free books and free tutorials.

Artificial intelligence icon For other useful open source apps that use machine learning/deep learning, we’ve compiled this roundup.

Pages in this article:
Page 1 – Introduction and Installation
Page 2 – In Operation and Summary

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments