I hope this is the right place to ask this, so here goes:
I am currently trying to implement a convolutional neural network in C++, but since I have no formal education in signal processing, image classification, or anything of the sort, I am a bit confused as to the filter part of it. So I understand the general structure, but I don't understand where you get the convolution filters from. Do you just use a general set of filters that are supposed to identify things like edges. Or do you train the filters?
So say I have 64x64 images of either a face or not a face. If I understand it correctly, you pass this image into a set of convolutional filters, and pass that output into something that downsizes the new images. Then you keep doing this until the images are suitable for direct classification. Am I getting something wrong here? And how do I know which convolutional filters to use? Is there some sort of standard set of filters that detect features?
Any help would be appreciated!!!