Abstract:
Visualizing is one of the main methods to remember something. For students who are studying something can remember things as a story or a component of an image. This application is designed to develop this skill by giving this application as a playing game to use.
How to play this game? First this app will show a sequence of images and the user should remember what he see, not only the image but also how that image is drawn. The color combinations, shape, angle and much more details are there in a single image. The more the user can remember the things in a single image can score high in this game. Now this application tests up to what average the user remember things. User will be provided a drawing canvas and a pencil tool and then he is asked to draw the first image of the sequence what he remember. And then the second canvas is given to draw the second image. Next third canvas etc.
Then the application process the images and match corresponding images of the sequence and offer score to the user considering the details he remembered accurately. How this application works? Most important part of this application is object recognition part. There are many algorithms in present to recognize object and patterns such as feature based methods, appearance based methods, geometric based methods etc. Most popular and widely used techniques are edge and angle based algorithms and pixel based algorithms. Among these methods appearance and geometric based techniques are the narrowly used techniques to develop applications. So in this research I cover that area. My recognition algorithm is to identify images by converting image details into a mathematical model. First this algorithm will identify the shapes in the image and each shape will be given some sequence of values which is based on relative area, perimeter, position co-ordinates of shapes and other special characteristics which are evaluated by a standard function. Each shape in any image will have its own mathematical structure to describe the roll of it in an image. So after processing all shapes of the image as mathematical points, the image can be saved as a mathematical structure. So for each object, objects will have a unique mathematical model.
When recognizing object in a new drawn image, this new image is converted into a mathematical model using the same algorithm and match with other mathematical models which are previously processed and saved.
Main advantage of this method is number of values which need to be saved as image data in this mathematical model is massively low when compared with other feature based techniques. This increases the speed efficiency. So this way is considerably efficient than edge and angle based techniques to recognize images with non-discrete lines.
To match the models I apply a nearest neighbor algorithm to mathematical models, then the most matching image is selected. In the developing side, previously processed mathematical models which represents the images are saved as a two dimensional matrix. Rows in the matrix represents the image identity (image name or object name) and characteristics of images. And one column in the matrix represents a single image. So the number of rows in the matrix is equal to the number of characteristics of the image plus one. And number of columns in the matrix is a variable which depends on the number of images we are saving. And the matrix is saved in a .mat (Microsoft Access Table, used by MATLAB to save data in binary data container format) file. By this method, retrieving and reading data for matching images is very easy because this single matrix represents the whole database of images.
Accuracy depends on the growth of the matrix. Because if the matrix has more details about objects, then the program can identify objects accurately. To increase more the accuracy of identifying objects, simply we can increase the number of images which are drawn in different angles or different ways of same object and saving those in the matrix. For example, if the object we want to recognize is a tree, then we can save set of drawings of mango trees, coconut trees, pine tree etc. in the matrix. So any tree will be identified accurately as a tree by the program, no matter what the genre of tree is.
In the gaming application these methods are used to define different gaming levels and give the user a new experience. Preliminary the objective of this research was to recognize non-discrete pencil drawing objects accurately. Secondly above techniques are used to develop the application which gives an exercise to the human brain while giving a gaming experience.
Designed algorithm is flexible to process any number of images at once and convert those into mathematical models and save all those mathematical models in a single matrix. And the designed program accurately identifies the pencil drawing objects using this matrix.
Later, by including more image processing techniques such as image segmentation, this method will be able to enhance more to process and recognize other complex images too.