-1

I would like to implement a Picture Classification using Neural Network. I want to know the way to select the Features from the Picture and the number of Hidden units or Layers to go with.

For now i have an idea of changing the size of image to some 50x50 or smaller so that the number of Features are less and that all inputs have constant size.The features would be RGB value of each of the pixels.Will it be fine or there is some other better way?

Also i decided to go with 1 Hidden Layer with half the number of units as in Inputs. I can change the number to get better results. Or would i require more layers ?

Atilla Ozgur
  • 14,339
  • 3
  • 49
  • 69
Access Denied
  • 224
  • 1
  • 14
  • what types of pictures do you want to classify? picture classification is a hard task with no obvious solution. if you constraint to a certain type of images then it becomes realistic. there are tons of methods for this, it's better if you read some books on the subject before. – Ran Jul 17 '12 at 06:41
  • I wanted to know if a Neural Network can be trained to classify pictures as say Human or Car.. From the other answer i guess i have to learn about Feature Extraction to proceed further. Thnks for ur inputs – Access Denied Jul 17 '12 at 07:17

2 Answers2

1

50x50 image features matrix is 2500 features with RGB values. Your neural network may memorize this but most probably will perform poorly on other images.

Therefore this type of problem is more about image-processing , feature extraction. Your features will change according to your requirements. See this similar question about image processing and neural networks

1 layer network will only be suitable for linear problems, are you sure your problem is linear? Otherwise you will need multi layer neural network

Community
  • 1
  • 1
Atilla Ozgur
  • 14,339
  • 3
  • 49
  • 69
1

There are numerous image data sets that are successfully learned by neural networks, like

Not that you need many training examples. Usually one hidden layer is sufficient. But it can be hard to determine the "right" number of neurons. Sometimes the number of hidden neurons should even be greater than the number of inputs. When you use 2 or more hidden layer you will usually need less hidden nodes and the training will be faster. But when you have to many hidden layers it can be difficult to train the weights in the first layer.

A kind of neural network that is designed especially for images are convolutional neural networks. They usually work much better than multilayer perceptrons and are much faster.

alfa
  • 3,058
  • 3
  • 25
  • 36
  • Thanks a lot for the datasets and suggestions..I will try to make my Network Learn one of these sets. – Access Denied Jul 20 '12 at 06:34
  • Can NN learn these images purely based on pixels as Features ? Or shld i do some form of feature extraction to classify images ? – Access Denied Jul 20 '12 at 06:50
  • 1
    Yes, it is possible. Look at the MNIST website. There are some MLP architectures listed that learn the data set and you will find references that describe the experiments in detail. – alfa Jul 20 '12 at 07:51