Okay I am starting to understand the idea of neural networks but I still haven't been able to understand the use/benefits/implementation of convolutional neural networks especially for image processing.

What I don't understand is how to detect an object of different size.

Say we have a weights matrix of 50*50 and a face in the training set which is of 50*50 size . Now when you take the weighted sum of the matrix it will return a particular value say "X" . So now I understand the idea is to run the weights matrix over the entire image to get a lock over a region which gives a weighted sum of ~"X" now you have detected a face.

If the above mentioned understanding is true Then how is that an image of size 25*25 going to churn out a value anywhere clone to "X" . So the basic question is how to deal with relative sizes of the image .

If possible please suggest some good tutorials for the same .


First of all, CNNs are typically used with identical sized inputs. So, you resize your input to a constant size, no matter what.

Next, detecting an object and recognizing an object over many samples are different tasks. For object detection, you could be better of with R-CNNs. Its sources are also available and there is a Caffe tutorial for R-CNNs. Of course there are many other works on the same topic. For example, this one.

  • $\begingroup$ As in say like we have an image of 50*50 , with in the image there is a face in the background which is made using 20*20. So how would the weights matrix return the same value for a face . I read some where that we can resize the same image so that there might come a time when the face is enlarged to fit a 50*50 region . But i dont find this a very efficient way of doing the same. $\endgroup$ Aug 13 '15 at 6:05
  • $\begingroup$ No it's not efficient. Your network should be trained with scaled samples of faces to do that. You should also learn it. $\endgroup$ Aug 13 '15 at 6:18
  • $\begingroup$ Okay so say an object say face would be having a range of values which is applicable $\endgroup$ Aug 13 '15 at 6:24
  • $\begingroup$ Thanks buddy , now I have another question about back propagation. $\endgroup$ Aug 13 '15 at 6:27
  • $\begingroup$ Like how do I go about it using gradient descent method and why exactly do we need a sigmoid function $\endgroup$ Aug 13 '15 at 6:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.