Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

eye_locator.h File Reference

#include "eye_locator_defines.h"
#include "frame.h"
#include "annie/annie.h"

Go to the source code of this file.

Compounds

class  eye_locator_filter
class  eye_locator_network

Defines

#define VERBOSE   false
#define EYE_NODES   (EYE_WIDTH * EYE_HEIGHT)
#define ITERATIONS   500
#define LEARNING_RATE   0.25
#define MOMENTUM   0.15
#define OK_ERROR   0.015
#define TRUE_OUTPUT   0.95
#define FALSE_OUTPUT   0.05
#define CUT_OFF   ((TRUE_OUTPUT + FALSE_OUTPUT)/2.0)
#define MAX_COUNTER_PER_CYCLE   100
#define MAX_EYES_PER_CYCLE   100

Functions

annie::TrainingSetmake_eye_training_set (string EyeDir, string fileName)
void trainEyeNN (string NonEyeDir, annie::TrainingSet &ts, string fileName, int hidden)


Define Documentation

#define CUT_OFF   ((TRUE_OUTPUT + FALSE_OUTPUT)/2.0)
 

this is the cutoff value that says where an input is no longer recognised to be a non eye and starts to be a eye. anything above this value is considered to be a eye

#define EYE_NODES   (EYE_WIDTH * EYE_HEIGHT)
 

the number of input nodes in the nural network this value does not equal INPUT_HEIGHT * INPUT_WIDTH because we only look at an oval in the center of the image, not at the entire image.

#define FALSE_OUTPUT   0.05
 

this is the output that the network will be trained to produce when a non eye is placed on the inputs

#define ITERATIONS   500
 

the number of training itterations that the network will go through before the error between the network and the desired results is computed if the error is still to high it will train it this many times again,

#define LEARNING_RATE   0.25
 

this is the learning rate that is passed to the neural network library

#define MAX_COUNTER_PER_CYCLE   100
 

this is the maximum number of false positives that will be added into the training set each time through a training cycle, this is so that after the first run, adding in only eyes, that all possible images in the counter set wount be added, it makes it simpler to get a representitive set

#define MAX_EYES_PER_CYCLE   100
 

this is the maximum number of new eyes add in each time through the training cycle. see MAX_COUNTER_PER_CYCLE to se why

#define MOMENTUM   0.15
 

this is the momentum that is passed to the nural network program

#define OK_ERROR   0.015
 

this is the error rate that is ok to have. When the computed error rate is lower then this training for the current step will stop. note that you don't want it to be 0, because it takes for ever to achive this and the network will not be as good at recognising data that is not in the training set

#define TRUE_OUTPUT   0.95
 

this is the value that the network will be trained to output when a eye is placed on the inputs

#define VERBOSE   false
 

if annie should or shouldnot print during training


Function Documentation

annie::TrainingSet* make_eye_training_set string    EyeDir,
string    fileName
 

the first step in training the network is to compile all of the eyes into a training set to train the network with

Parameters:
EyeDir  a directory containing image files of eyes. the eyes should be EYE_WIDTH by EYE_HEIGHT
fileName  the name of the file to save the training set data to
Returns:
true if no errors were encountered else false

void trainEyeNN string    NonEyeDir,
annie::TrainingSet   ts,
string    fileName,
int    hidden
 

train the network in an interesting way


Generated on Wed Apr 23 10:42:34 2003 for BioFilter by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002