I am implementing a vanilla neural network (MLP) to do image classification in python using tensorflow on images of honey bees to detect their health status. The images in my dataset are of different shapes and sizes, so I decided to do image resize using cv2. All my images are now of the same size (64 by 64) but some of them have been stretched/shrieked due to resizing. Does this have an effect on the low prediction accuracy I am getting from my MLP?

  • $\begingroup$ for image classification (or any image related problems), you should use CNN over MLP. $\endgroup$ Nov 13, 2018 at 16:20

1 Answer 1


Generally speaking, it highly depends on your data. If you have images of numbers for each image, it may not be that much bad but for images of cats or dogs, you completely put your information away by resizing to that size.

To answer your question, yes. The reason is that it leads to high Bayes error. It simply means that you as an expert can not say what they are. Consequently, it is not possible for the network to learn them. You can easily see the images and figure out that there is not anything to be learned. For instance, in that case, what is the difference between the sky and sea? Can a $64\times64$ image represent them? Can you as an expert find it out without any previous knowledge?

  • $\begingroup$ Thanks for your answer. I am trying to classify honey bee images and use that to predict their health status. A 64×64 image can mostly represent a complete bee but the stretch it causes in some of the smaller images decreases the quality to the point that it's hard to identify any unique characteristics. $\endgroup$
    – Gol
    Nov 13, 2018 at 16:56
  • $\begingroup$ @Gol So, I guess you've understood what I meant. $\endgroup$ Nov 13, 2018 at 17:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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