Braille Image Recognition

cs134 – Machine Learning and Statistical Data Analysis

Alina Djamankulova

 

Background

Braille system is the main technique used by blind people to read, to write and to learn. And it is very important to “speak” on the same language for blind people and their educators, parents and friends. There a lot of simple converters from typed text to Braille, but it does not seem to be useful in real life, because Braille is a tactile system.  On the other hand, recognizing images with Braille text and consequently converting them into readable text can be very practical. It can be used to create systems like Braille-to-text or Braille-to-speech.

Each Braille symbol consists of 6 cells. Each cell can either have a relief dot or nothing. So the Braille alphabet consists of 64 characters. One of the obvious problems of the task is that due to the size and shape Braille dots can be easily confused with noise data and vice-a-versa.

 

Application

The problem requires a supervised learning approach. The system can be taught of Braille system by extracting features and labeling. The input data are images with Braille text. Before the image is ready for recognition, it should be converted into a monochrome one. So I plan to implement some of image processing algorithms.

Then the image will be processed by the object recognizing algorithm for extracting possible Braille symbols.

As of now I plan to just output Boolean answer if an image is a Braille text or not. But if time allows I would like to implement Braille-to-text conversion procedure. So the application will be more of a practical use.

 

Methods

The problem can be classified as a computer vision problem of recognizing objects. The similar applications might be handwriting recognition systems and face recognition. One of the most popular approaches in solving such problems is Support Vector Machines (SVM).

SVM solve classification problems using concept of margin. The bigger the margin the better data can be classified. The goal is to maximize the margin. SVM algorithms are complex and difficult to implement. I was interested in a new approach called Sequential Minimal Optimization (SMO).  It has some advantages over standard SVM algorithms. It is faster, simpler and easier to implement. SMO chooses to solve the smallest possible optimization problem

at every step.

 

Data Set

I plan to manually create data set. Using a simple graphical editor I will create bitmap images with Braille texts. I will add noise to images as well. Later I plan to train system with real photographic images of Braille text.

 

Timeline

Week 1 – fully investigate in the area of object recognition, find the best approach for my problem, write image processing code

Week 2 – study the literature on the chosen method, create data sets, start implementing machine learning algorithm

Week 3 – feed application with training data, determine the flaws of my approach, optimize, write milestone report.

 

References:

C.  Bishop. Pattern Recognition and Machine Learning, Springer 2006.

J. Platt. Sequetial minimal optimization: A fast algorithm for training support vector machines. In Technical Report MST-TR-98-14. Microsoft Research, 1998.

A. Mohan, C. Papageorgiou, T. Poggio. Example-Based Object Detection in Images by Components. IEEE Transactions on Pattern Analysis and Machine Intelligence, VOL. 23, NO. 4, April 2001