Explore Courses Blog Tutorials Interview Questions
0 votes
in Machine Learning by (19k points)

I am currently trying to make a program to differentiate rotten oranges and edible oranges solely based on their external appearance. To do this, I am planning on using a Convolutional Neural Network to train with rotten oranges and normal oranges. After some searching, I could only find one database of approx. 150 rotten oranges and 150 normal oranges on a black background ( Obviously, a machine learning model will need at least a few thousand oranges to achieve an accuracy above 90 or so percent. However, can I alter these 150 oranges in some way to produce more photos of oranges? By later, I mean adding different shades of orange on the citrus fruit to make a "different orange." Would this be an effective method of training a neural network?

1 Answer

0 votes
by (33.1k points)

Every modification in machine learning depends on your data. Let’s say if you are using data obtained from a sensor, then you may want to add some noise to the training data so that you can increase your dataset. There may be noise from the sensor also.

Python’s libraries can help you with augmenting images for your machine learning projects. It can convert a set of input images into a new, much larger set of slightly altered images.


  • It provides most standard augmentation techniques available.

  • Some techniques can be applied to both images and landmarks on images. 

  • It defines flexible stochastic ranges for each augmentation, e.g. "rotate each image by a value between -45 and 45 degrees" or "rotate each image by a value sampled from the normal distribution N(0, 5.0)".

  • Easily convert all stochastic ranges to deterministic values to augment different batches of images in the exactly identical way.

Hope this answer helps.

Browse Categories