Gujarati Characters Recognition

17IT118 JANAK THUMMAR
2 min readOct 9, 2020

--

In this project, I am using Pre-trained Keras models for word recognition. The models are InceptionV3, ResNet50, InceptionResNetV2, ResNet101V2 and Xception. The experiment is performed with 24645 images.

Convolutional Neural Network (CNN)

Convolutional Neural Networks, like neural networks, are made up of neurons with learnable weights and biases. Each neuron receives several inputs, takes a weighted sum over them, passes it through an activation function, and responds with an output.

There are four layers

1) Convolution

2) ReLu

3) Pooling

4) Fully Connected

What is Keras?

Keras is a powerful and easy-to-use free open-source Python library for developing and evaluating deep learning models. It wraps the efficient numerical computation libraries Theano and TensorFlow and allows you to define and train neural network models in just a few lines of code.

What is the Pre-trained Keras Model?

Keras contains 10 pre-trained models for image classification which are trained on Imagenet data. Imagenet is a large collection of image data containing 1000 categories of images. These pre-trained models are capable of classifying any image that falls into these 1000 categories of images.

How Pre-trained Models Work

In the Neural network during training, the initial layers of the network can identify really simple things. Like a straight line or a slanted one. As we go deeper into the network, we can identify more sophisticated things. So, In the final layer, we find our object.

It is only the final layers of our network, the layers that learn to identify classes specific to your project that need training.

Hence we take a Pre-trained model and freeze its final layers. We then add some layers of our own to it and train this new model. After that unfreeze the final layer and train the whole model.

Example of Model

tf.keras.applications.model_name(

include_top=True,

weights=”imagenet”,

input_shape=None,

pooling=None,

classes=1000,

classifier_activation=”softmax”,

)

Available Models

Implementation

The architectures stated above were implemented using Python, Keras library based on GPU as a hardware platform. The dataset generated was used for the recognition of Gujarati characters. Architectures like VGG16, ResNet50, InceptionV3, Xception, InceptionResnetV2 have been compared using different parameters as shown in the table below. The parameters compared to choosing the best suitable model for our purpose are validation accuracy, validation loss, and a number of epochs.

--

--

No responses yet