Giter VIP home page Giter VIP logo

pyhocr's Introduction

Handwritten Bangla Symbol Recognition with DenseNet

Version: 0.0.3  
Author : Md. Nazmuddoha Ansary
Python : 3.6.8  

Symbol List

'অ','আ','ই','ঈ','উ','ঊ',  
'ঋ','এ','ঐ','ও','ঔ',  
'ক','খ','গ','ঘ','ঙ',  
'চ','ছ','জ','ঝ','ঞ',  
'ট','ঠ','ড','ঢ','ণ',  
'ত','থ','দ','ধ','ন',  
'প','ফ','ব','ভ','ম',  
'য','র','ল',  
'শ','ষ','স','হ',  
'ড়','ঢ়','য়',  
'ৎ','ং','ঃ','ঁ'  
'ঁ'  
  • 'ঁ' is not printable

DenseNet

The model is based on the original paper:Densely Connected Convolutional Networks

Authors and Researchers: Gao Huang ; Zhuang Liu ; Laurens van der Maaten ; Kilian Q. Weinberger

The paper introduces Dense Blocks within the traditional convolutional neural network architechture.
The composite layers can also contain bottoleneck layers

As compared to well established CNN models (like : FractNet or ResNet) DenseNet has:
* Less number of feature vector
* Low information bottoleneck
* Better Handling Of the vanishing gradient problem

Database:

CMATERdb

CMATERdb 3.1.2: Handwritten Bangla basic-character database

Data Sample

Established Results

From:Alom et. al. 2018

Version and Requirements

Keras==2.2.5  
numpy==1.16.4  
tensorflow==1.13.1  
  • pip3 install -r requirements.txt

Colab and TPU(Tensor Processing Unit)

TPU’s have been recently added to the Google Colab portfolio making it even more attractive for quick-and-dirty machine learning projects when your own local processing units are just not fast enough. While the Tesla K80 available in Google Colab delivers respectable 1.87 TFlops and has 12GB RAM, the TPUv2 available from within Google Colab comes with a whopping 180 TFlops, give or take. It also comes with 64 GB High Bandwidth Memory (HBM). Visit This For More Info
For this model the approx time/epoch=24s

Test data Prediction Accuracy [F1 accuracy]: 98.56666666666666

Flask App Deployement

For Deployment of the Saved Model python-flask is used.

The deployment is very simple and to be honest can be more optimized

Segmentation (incomplete)

The final goal of the segmentation script is to separate:

  1. Words From Lines
  2. Symbols From Words For the goal of separation, Connected Components are mapped with pixel distribution after "skeletonization" and finding an optimal rotation for both skewness and separation.

Example Image:

Connected Components:

Segmented Words Example:

NOTE: See how the word "মনেরে" and "ভাল-মন্দ" are rotated for an optimal position with respect to a straight line or "মাত্রা" as we call it in "বাংলা" but the word "যাহাই" is left as it is because the skewness is completely by chance in the optimal rotation for separation.

Implemented DenseNet Model Architechture

The implemented model architechture can be found at /info/model.png

Loading the image may take time due to speed and size

pyhocr's People

Contributors

mnansary avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

patelvimalv1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.