Matlab Code for Simulations. Version 1.

Line Drawing Recognition System Prototype


Functionality.

This system is trained for invariant recognition of a class of line drawing objects.  The set of objects that the system is trained on can be found here. This version of the system uses only feed-forward processing. Also it does not use Bayesian Belief Propagation. You can get more details about the system functionality by reading this technical report.

Performance

It demonstrates excellent translation invariance. Note that the training for scale invariance consisted of just two exemplars from each category. Still the system demonstrates robust generalization and scale and distortion invariance. You can find a set of test images here. All these test images were correctly recognized by the system.

Training Images

Click here for the complete set of training images.

Testing Images

Click here for examples of testing images
 

System Requirements.

You need Matlab. I have tested this only on Matlab version 6.1. I think I am not using any special tool boxes from Matlab.

Usage.

Download the zip file from the download area and unzip it into a directory. Startup Matlab and go to that directory. Type main_gui on the console prompt. This should pop up a drawing window. Draw a reasonable replica of one of the training images using your mouse. Hit enter when you finish drawing.  This picture is the input to the sytem. The system now tries to recognize the object. At the end of the recognition cycle, it displays the three closest matches it found.

Innards

You will be able to understand more about the system functionality by going through the source code. When you run the system, you are actually running a system that is already trained. (Results of the training are stored in matlab.mat and are loaded when you start the system). I haven't described here how the system was trained. Although the training code is also part of the zip archive that you download, its not yet a one-step process. You are welcome to browse through the code to find out more about the training pocedure.

I am still in the process of writing an architecture document for this sytem. Till I finish that, you can find more about the architecture and functionality by reading this technical report.

Download

Click here to download the full source code. (zip file)

Problems?

Contact Dileep [ dgeorge  <---at---> rni <---dot---> org ].

Dileep George