SIFT Input to ANN
It will be good if you apply Normalization on each image before getting the feature extractor.
I'm trying to classify images using an Artificial Neural Network and the approach I want to try is:

Get feature descriptors (using SIFT for now)
Classify using a Neural Network

I'm using OpenCV3 and Python for this.
I'm relatively new to Machine Learning and I have the following question -
Each image that I analyse will have different number of 'keypoints' and hence different dimensions of the 2D 'descriptor' array. How do I decide the input for my ANN. For example for one sample image the descriptor shape is  (12211, 128) so do I flatten this array and use it as an input, in which case I have to worry about varying input sizes for each image, or do I compute something else for the input?