Thursday, 6 March 2014

Week 6

Poster design meeting:- 
   Images-

Images of Program working was decided to be put on the poster 








  -QR code was made for the poster. 
  -Colour scheme

Preparation meeting for bench inpection :-

discussed roles, explained what each person was doing etc 

Friday, 28 February 2014

Week 5

Team Meeting and Research discussions :-

What is neural network?
The neural network is constituted by neural cell, as for these cells they have contact with each other. Therefore we can build a neural network can simulate the biological neural network to make feedback when input a signal. The processing of artificial neural network is based on training to sample information, the training make it has human characteristic, such as memory, identification ability, so it can deal with input information. The field of neural networks can be thought of as being related to artificial intelligence, machine learning, parallel processing, statistics, and other fields. The attraction of neural networks is that they are best suited to solving the problems that are the most difficult to solve by traditional computational methods.
The back propagation neural network model:




The above figure shows the network functions:
Each neuron receives a signal from the neurons in the previous layer, and each of those signals is multiplied by a separate weight value. The weighted inputs are summed, and passed through a limiting function which scales the output to a fixed range of values. The output of the limiter is then broadcast to all of the neurons in the next layer. So, to use the network to solve a problem, we apply the input values to the inputs of the first layer, allow the signals to propagate through the network, and read the output values.
In the project design we design three layers which include input, hidden and output layer. In the practical, after feature extraction there is 35 (5*7) data to describe the image so the in the input layer there are 35 neurons. As for the hidden layer, the number of neurons can be calculated as following equation:
 is the number of neurons in the hidden layer; n is the number of input neurons of the input layer which is defined by 5*7 which is equals to 35; m is the number of the neurons in the output layer which is equals to 10; a is a constant number between 1 and 10. Some calculation from this function, 10 is chosen to be the number of neurons in the hidden layer). In the hidden layer, we apply ‘logsig’ function in node transformation and use the ‘trainingdx’ in BP network training processing. As for the third layer which represent output layer, the project will output ten numbers therefore the neurons is set as 10. The performance of target is set 0.1, set interval times at 20 and the maximum training numbers is set at 1000. The network design is shown below:



 Meetting for poster:-
flow chart





Week 4

Week 4

Group meeting and research findings. :-
 The intelligent digit/letter image recognition technology is based on MATLAB, this technology is divided into two parts, ‘pre-process’ and ‘recognition’. This blog talking about first part how to process an image to make the computer can distinguish it.
In the program design the input image should be a gray and binaryzation, as for colour image can be modified in following method:

                                          Original image       gray image


                                     

                                                                Binaryzation
The next step is finding the edge of the image and crops it from image. The aim of image segmentation technology is to pick up the image as desired. This technology can be applied to many disciplines. The classical approaches to pick up image are threshold method, edge detection and regional image segmentation.
Threshold method:
As for binaryzation image set the threshold value based on the target image, then classify the pixel into series parts, then computer will find the pixel which satisfy the threshold to pick up image.

Edge detection method:
This method picks up the image based on the difference of the edge. The differences include gray, colour and textural features. The computer detects the difference characteristic of image to determine edge.  The edge detection is based on operation, such as, ‘Roberts’, ‘Laplace’, ‘Prewitt’, ‘Sobel’ and ‘Robinson’.  This method can be effective to the image which grey has great changes and small noise otherwise may make the image lost edge and discontinuous. As for the noise image can apply ‘Marr operator’, filter and ‘Canny operator’ to filter noise and derivation or fitting image then represent the numerical derivative by fitting derivative.
Regional image segmentation:
This edge detects method is based on characteristic of image such as:  grey, colour, texture and pixel, then classify the pixel to different region; finally, segment the image to different parts. The regional image segmentation includes region growing method, split and synthesis method and watershed segmentation.
The program design:


The next step is scalable processing for dissected image to make it equals to 16x16 matrix.

Poster Discussion:- 
  one of the images we made for the poster
- we discussed how the information the poster will have and its headings which are :-
                                >Intro
                                >Methodology
                                >Processes
                                >conclusion 


Week 3

Week 3

Aims:- Finish talking about all Ideas, start the basic design and code, update blog, discuss sustainability. Everything else should be generally ok.

Idea 4:-
Use a matrix which contains the number of connecting points of each line. then use this data to decide the best possible result from the database.

Idea 5:-

Section 1 - Processing. 

Graying ---> Binaryzation ---> Denoising ---> Scaling ----> Extracting Target




Week 2

Week 2

[Spine]
Take a picture of the letter / number
Download it to the computer - Matlab
Thee program will trim the picture down by cutting out the letter out into a box, and leave some blank junk
The Program will then enlarge or shrink the image to fit into the template 
The program will convert convert the image into a binary array, and cross reference it with the database. In order to find out which number/letter it is.

Other possible designs:

1. calculate the percentage of black parts and compare to the other images one the database.
2. Check the distance of the digit from the border. 
3. Check inter-looping point and end points, and compare with other images from the database.

Workload

bench - Jiannan
code - Heng and Qing Plus help
Poster - Sam
Report - Jia plus Help
Blog - Sam

meeting notes:-

read our differenet subject areas 
:- discussed or findings 
:- meet with the supervisor on friday 
:- organised how to do sustainability report
:- blog update.
:- organised midweek meeting to do the sustainability together 



Problems-:

How to convert an image into binary array?
how to

Week 1

Week 1


Friday Lab Day
 -we allocated roles
- we decided on the aims and the spine of the project.  we found some useful codes, and relevant resources.
Our [Spine] so far :-4

Our email to the supervisor!

Meeting with Dr. Mu notes.

-: by looking at the picture you need to recognize
-: computer needs to know all the digit + letters
-: prepare pictures that represent 1,2,3 .... 
-: 20 pictures of each digit + letter.
-: allocate each image to a number 

Liverpool University Group 64 Year 2 project

Project Plan. 

Week 1:-  Preparation. Division of work
                                        = Bench
                                           Code
                                           Poster
                                           Report
                                           Blog
Week 2:- Update blog:
                             Pre-process
                             /
                       Code
                            \
                            Recognition
 Find data and theory of the project and also background information.

Week 3:-  Complete Preprocess of code
               Prepare for the recognition part
               Write: abstract, introduction "( Report )"
               Update blog. - Sustainability.

Week 4:-  General complete the code
               Report
               Update poster
               Poster

Week 5:- Complete Report
              Final revision of code
              Record in blog
              Poster and QR code

Week 6:- Final code test
              Polish Poster
              Report
              Prepare for bench inspection

Introduction                

The process of the recognition of the handwritten digits can be divided into three main parts that are pre-processing, feature extraction and recognition.
In the pre-processing stage, some necessary work should be done on the collected images to make the recognition perform successfully, which includes: the image geometric correction, noise removal, recovery, two values, word division, etc.
In the feature extraction stage, after processing the image, it has many features, it is impossible to use all of the identifying characteristics. Therefore, some effective features will be extracted and can be used in the method of the recognition of the digits.
In the recognition stage, the recognition will be performed by using the extracted features. The handwritten recognition methods can be divided into several categories, and neural network method is more popular research method , the basic principle is the use of neural network learning and memory function, let neural network learning a lot each mode category learning samples to remember the characteristics of each sample pattern category , then in identifying the sample to be identified , recalls the neural network model before starting to remember each category individually characterized and compared with samples of their characteristics , in order to determine the sample belongs model category . The advantage of this approach is a strong anti-jamming capability, allowing a larger sample changes, but it also depends on the selection of feature vectors.