Skip to:

Natshah Artificial Neural Network Project

A neural network that combines some properties of perceptron net with ADALINE net isdeveloped for classification of Arabic script. It is based on supervised learning or withtutor technique. A software tool is designed for training and testing any set of charactercombinations or fonts. The circuit is tested for various combination sets of Arabiccharacters with different fonts and sizes. The network exhibited high recognition and lowerror rates having reasonable tolerance to some noise level.

You need to go to Learning screen as in figure 1.2, the Learning screen contains the training operations. I can select any font to control the draw on the Board for drawing the letter state; font and size of characters .Then click on start learn command button to start learning of net. The program Selects the Start time of learning.

If I want to stop learning in order to do any orations I may click on stop learn. But if I want to continue I have to Click on Continue learn. You can also see the number of epochs (learning vector cycle number) of Learning on this screen.

As the net Completes the Learning operations for all the character set chosen, the Tool saves the Weights and the bias in file that take a file name as the font name and the extension ( .Arabicnann). Then it givens a message that the Net has Completed the Learn operation .

Figure 1.2 Learning Screen

Any neural network may be able to view the weight matrix of the neuron, this tool contains Screen to view the weights, see Figure 1.3.

as you went to weight screen you can select the font from font name to load the file to the Natshah net, then when you click on the grid in the left side of the Screen you can see sub Weights of the Neuron for that letter.

Figure 1.3 View Weight Screen

You can Test the Net from Testing Screen, as in figure 1.4. In this screen you must Select font weight name to load the weight and the bias to the net , then you can select the font name of the board drawing for the Letter state , then select the Letter from Grid to draw the letter state in Drawing Board or you may draw the letter by using mouse ,then Click on Read from Board to input matrix X to Read from the Drawing data and put it on the X matrix( input matrix of the Natshah net ) , then you can Click on Test Command Button to test the net , if the net Recognizes the letter the tool gives a message box ,the Letter is ( letter ) ,but if it does not recognize it will show message box I cant recognized the letter .

Figure 1.4 Testing Screen

To Test the ability of the our network to alerter noise, some noise may be added to the characters on the drawing board and the network is run. This is show in figure 1.5

Figure 1.5 Testing Screen with noise

Noise testing of the Natshah net

When you want to evaluate the noise effect on the network performance you can go to Noise Rate screen, shown in figure 1.6. In this screen you can do automatic testing first can choose the font to be tested and its size and the rate noise to be added.

Figure 1.6 the noise rate Screen

This Screen have some special operations more than just Testing Screen, if I wont to Set percent of noise for all my test character set, I will use mouse to Draw some noise pixels on the Drawing Bored then click on Set Noise command button the tool saves it in buffer the for noise location and calculates the Noise rate by the following formula

Noise rate = (number of Noise pixels/ number of input pixels) * 100 %

Then I select the font weights file name to lead it to the net , Select the font name of the drawing bored and select the letter from the grid or draw it by mouse then click on read from board to X matrix,(input matrix of the natshah net) , and then click on test button to test the net the operation reads the Drawing bored to X matrix then add the noise to the X matrix of the net as in Figure 1.7 .


Recognition Evaluation

There are some Rate measurements of high importance must be calculated ,such as the Speed of Recognitions i.e how fast is the network in deciding about the given pattern. Besides correct recognition rate, error rate or rejection rate are useful figures to give an assessment of the network.

The noise rate screen can also lead to another test to evaluate the network . By chinking on the testing rate data switch, a small frame that has all information for testing operation as shown in figure 1.8.

When you click on button start testing , the tool set in text start testing time the start time of testing then the tool move on all Letter states on database and Draws and reads to input matrix of natshah net then Calculates the total number of tested set , and the number of patterns correctly recognized ,and number of patterns definitely recognized Wrong number of pattern that are rejected as well as the total lesting time .

See the example shown in figure 1.8 that shows the form for the maximum recognition rate, error rate, rejection rate and the total testing time.

You can see in this form the maximum Recognition Rate, Error Rate, and Rejection Rate.

Figure 1.8 Testing rate.

The Maximum Correct Recognition rate (or accuracy) ,the Error rate and Rejection rate are defined as follow.

Then saving the testing report of the obtained value in HTML file by click on button Create report HTML File, which can be seen at any time later as shown in Figure 1.9.

Figure 1.9 Natshah net Report as HTML.

I've put her one example of the End use Program