Digit Rotation Recognizer

1 0
  • 0 Collaborators

This CNN Model is used to detect if an input image of a character is rotated or not. If it is rotated, it returns the rotation angle so that the rotation can be inverted and it can be classified using the standard CNN like ResNet, Inception, etc. ...learn more

Project status: Concept

Artificial Intelligence

Intel Technologies
AI DevCloud / Xeon, Intel Python

Code Samples [1]

Overview / Usage

CNN work when the input image to them is according to the trained dataset of images. For example, most of the digit and character recognition CNNs work only on images that are not rotated. What if we have to identify the rotated images. For this, we will use rotnet - a special type of CNN that detects whether an image is rotated or not. If it is rotated, it will return its rotation angle, so that the image can be inversely rotated to obtain an image that can be trained subsequently.

Methodology / Approach

Data Collection:

The first thing to train the CNN is collecting data. The standard dataset used for RotNet is the Google Street View dataset but it is not specific for digit and characters. Hence, we use our own data here. We take screenshots of digits as given in the project picture. Then we rotate the images of each digit by a small angle of 0.001 degree and hence create a labelled dataset of 5000 images of each digit, thus 50000 images in total. This is the labelled dataset.

Training:

The algorithm of RotNet or Rotation Net is simple like that of a Convolutional Neural Network. We develop the model in Keras using Tensorflow backend and train it on Intel DevCloud GPU since training otherwise would require considerable amount of time. We split the dataset into training, testing and validation in the ration 80:10:10. Then we will test our results.

Repository

https://github.com/guptasamarth61/Character_Rotation_Classifier

Comments (0)