Will images modification get me a better machine learning model?

I have the following scenario. Camera is fixed and does photos of a process. The process has a few states. Now I want to train a model given a photo to classify to which state, does the photo belong. I.e. what is the current state of the process.

For the model training I was given only one photo for each of the process state.

Now my question is whether I should train my model with one photo in each class or should I take that one photo and do random modifications to the photo so that to get a few photos for each class?

I am thinking that it is better for the training to have just one but real photo. Instead of a lot modified. Am I right?

I use the ML.NET plugin for a Visual Studio to train the image classification model.


One can never 100% say that a data preprocessing approach will yield positive results. So, if you are trying different things, always test and use the metrics to see what works best.

With that said, what you described is often referred to data augmentation, namely the generation of more data points, typically from existing data points. It is very common practice and so I encourage you to try it on your problem. Common techniques include flipping, shifting, or rotating the original images.

The problem of having few examples per class is called zero- or few-shot learning. Specific techniques such as siamese networks have been devised to tackle these. Here is a good blog to use as reference.


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.