Contents

1. Neural Network Background
2. Implementation
3. Testing and Result

 

3. Testing and Result

3.1 Testing

-Set up parameters
To test the program, BackPropConstants.cs is the file that allows us to set all parameters needed for training and testing the network. I will explain all the parameter here:

TRAIN_FILE_NAME sets the name of the Training File to be trained. (Don't worry about this file, it will be automatically set while running the program)
WEIGHT_FILE_NAME sets Weight File that will be used. (Don't worry about this file, it will be automatically set while running the program)
TEST_FILE_NAME sets Test File to be loaded for testing user's data. (Don't worry about this file, it will be automatically set while running the program)
INPUT_NUMBER sets number of input neurons for the network
HIDDEN_NUMBER sets number of hidden neurons for the network
STEP_SIZE should not be bigger than 0.1
MOMENTUM, a reasonable value of momentum is 0.9
THRESHOLD_VALUE, less value give more precise model.
ADJUST_THRESHOLD improves speed of training.
MAX_LOOP sets the maximum repeated times for each training.
TRUE_VALUE defines what "TRUE" value is. (1)
FALSE_VALUE defines what "FALSE" value is. (0)
DELTAmax sets maximum average weight different.
RANDOM_RANGE = (double) 2/INPUT_NUMBER sets random range between -RANDOM_RANGE to + RANDOM_RANGE

- Run the program
TRAINING PROCESS
1. Start program, the main menu will show up.
2. Select "Training the Network"
3. Select "Training Database Pictures"
4. Select "Training File"
5. Set "True" or "False" for each picture in the database. For example, for training01.txt we have to set picture 1 and 2 to be TRUE and the rest FALSE.
6. Set "Repeat Time" for True training. Suggest "7".
7. Select "Create Training File" that will create Training file with all information that we set.
8. Select "Training Database" and the training form will show up.
9. Select "Start Training" to start training and update all training and weights files. You can also select "Pause", "Resume" while training is in process. Or "Stop" to stop the training process. (Kill the thread)

ADDING NEW FACE(S) TO RECOGNIZE
1. From Training menu, select "Train New Pictures"
2. Select "Load a Face" and choose a file you want to add.
3. Select the radio button "Matched With" for the matched database picture we want to add.
4. Set "Repeat Time".
5. Select "Train" to pop up Training Process form.
6. Start to train until it's done.

MATCHING PROCESS
1. From the main menu, select "Face Matching"
2. "Load a File" to select a file you want to test.
3. "Process" to start searching for the matched database face(s). The matched face(s) will show on the picture boxes area.


3.2 Result
- Matching False Faces
The problem I found after training the database pictures and new picture was some times it matched with the wrong faces. Even though it always gives the correct "true" matched face(s) but also including some "false" unmatched face(s).

3.3 Possible Improvements
- Training FALSE cases
Another idea that Prof.Mahmood advised me was created a new training program for finishing only the false cases. Opposite to the previous training process, the false matching will finish when the false (unmatched) faces can be trained to be false. Then we will compare the previous result and this result and eliminate the same results so there will be only the TRUE or matched face(s) left. This idea should work but I found that the false training after trained more and more, it will give all the faces from the database. So we have to develop the program again to achieve our goal. My project stops at this point.



Copyright 2003. All Rights Reserved.