IndicPhotoOCR – in 3 Lines of Code

MultiLingual Scene Text Recognition in 11 Indian Language

What is IndicPhotoOCR?

A Comprehensive Toolkit for Scene Text Recognition in 11 Indian Languages and English.

Detection | Script Identification | Recognition wrapped together

The end-to-end pipeline wraps each of the best model together to give recognition across 12 different languages. With just 3 lines of code, process a single image and to get all the words recognised.

Detection | Script Identification | Recognition wrapped together

An example of End-to-End Recognition on a image.

Language Agnostic High Performance Text Detection

Text detection works on polygonal boundary coordinate to fetch the word with great precision. we adopted TextBPN++ (Zhang et al., 2024) off-the-shelf and incorporated in our pipeline.

Language Agnostic High Performance Text Detection

An example of Text Detection performed by IndicPhotoOCR.

ViT based 12 Class Script Classification

The model was inherited from google/vit-base-patch16-224-in21k Vision Transformer (ViT) model, which consists of 12 transformer layers and uses 16 x 16 patch embeddings. This base model was appended with a classification head to be able to indentify the correct script.

ViT based 12 Class Script Classification

An example showing Script labelled to each word by the script identifiaciton module of IndicPhotoOCR.

Transformer based Fast Recognition

Transformer based architecture with ResNet as Feature Extractor works fast. These models were trained rigorously on synthetic and real data for 11 languages.

Transformer based Fast Recognition

Examples showing recognitions on different languages on images from BSTD.

Demo hosted on Hugging Face

Note: This is a short video on IndicPhotoOCR deployed in hugging face.

11 Indian Languages

Take a look at the linguistic landscape of IndicPhotoOCR! This image shows a word cloud where the size of each language—like Hindi, Bengali, or English—reflects how often it appears in the Bharat Scene Text Dataset BSTD. This visualization gives us a quick snapshot of the supported languages.

11 Indian Languages

Get started!

Learn IndicPhotoOCR with essential resources.

Install IndicPhotoOCR

A complete instruction for installing the main IndicPhotoOCR.

How to use

A user guide on IndicPhotoOCR.

Updates

Developments on IndicPhotoOCR

Join us on Discord!

Questions or Bugs? Come and join our discord channel! Let's figure out that together and make a vibrant IndicPhotoOCR community.

discord figure