Image processing with neural network I am trying to learn how neural networks work on image recognition.
I am confused on how to give input to neural network.
Let's say I want to find (track) object in sequence of images, in particular the image that come from aircraft travelling, and images captured with camera. Point being that most of objects in the picture look the same. How to track this type of object with neural network?
What input should be given to neural network?  
 A: First you have sample images data that should be given as a training to your neural network.
Then for your input images try to d-sample them in some fixed small array size and then give d-sampled image as input to your neural network.
Learn from the example of OCR  Click here find the code here

In above image you can see it try to match d-sampled image array with stored character images.
For your definition make small d-sampled images for objects and then give them as training data for example, plane image, car image.


Increase the size of the matrix for d-sampling. Because in my program i was just d-sampling characters. You will need bigger matrix to properly store objects.
You need some algorithm to d-sample properly and try to convert image in black and white. and also try algorithm to detect and crop object from an image to d-sampled one.
Try learning encog framework image processing examples with various neural networks.
A: Image recognition broadly involves two steps :


*

*feature extraction

*classification


1) For the feature extraction step, you can use PCA (principal component analysis) which is easy to implement yet very powerful when it comes to feature extraction and dimensionality reduction. You can omit this step but if you do the input to the neural network will be the image directly ( let say for 250 * 250 pixel that many input neurons) which is too much. So better to do feature extraction. Other feature extraction methods include 2D-PCA , wavelet transform, LDA.
2) You can feed the feature extracted in first step into the neural network. A feed forward neural network would be good choice. A single layer is capable of approximating any function with reasonable accuracy. As per heuristic number of hidden neurons should lie between num_input_neuron and num_output_neuron. Best way to find out is try to build different model with different neurons. The number of neurons in output layer is number of classes you want to classify. You can try with tansig activation function or logsig depending on what range you want your output to come.
