Main    Intro    Active Contours    Locating Eyes    Hough Transform    Neural Networks  ◊  Network Training    Applet Intro    The Applet    Links  ◊  Home Page

Applet Basics

The program I wrote to test these concepts utilized Java so it can be run on any platform.

Class Structure:

Class Purpose

SmartImage

Keeps an original of the image in storage

Performs blurring, rotation, sharpening, and can implement other filters with a simple convolution algorithm.

Computes the gradient and grayscale version of the image

ActiveContours

This class is a Canvas which holds the image being worked on.

It keeps track of the current contour and is in charge of all operations called on the image

It can be queried for the current parameters of the image

This class is also in charge of painting the contour and image when updated

Snake

Manages the current active contour for the image.  It computes curvature and gradient values and decides when the contour has reached a local minimum

Contour

The is an extended polygon that manages all the points on the contour.  It can remove duplicate points, determine distances between points and add and remove points

HoughTransform

This class does all the processing involved in locating the eyes. 

When given a set of image points and a radius of circle to look for it can locate any number of possible circles in the image. 

It can also be queried to obtain the two best circles.

NeuralNet

This is the class which implements the standard neural network.

It can be initialized with any number of input, hidden, and output nodes.

When given a set of inputs and the desired outputs...the train function can be repeatedly called to implement the backpropagation algorithm.   An estimate of the Sum-Squared error is returned.

Applet1

This is the base applet class it initialized all the components and lays them out on the screen