I want to classify product images into 8 discrete classes. For several reasons the number of input images need to be as small as possible. Related to this I have 2 questions:

  1. What strategies can I employ to reduce the number or required images
  2. What is the magnitude of images per classes needed (A) in a simple scenario where the image is always isolated, see below or (B) in a complex scenario where the image is a scenery (also below). I know this is hard to tell in general but a rough number would be fine.

Additional information


Currently a CNN seems to be most fitting for the problem. I am also thinking about a pre-trained network (removing the deeper layers of a powerful network such as AlexNet).


Imagine I am trying to classify dinner tables by the type of legs they have. In the simple scenario images from 3 different classes could look like this:

enter image description here Class: regular

enter image description here Class: outward

enter image description here Class: Wire

In a complex scenario they might look like this:

enter image description here

Techniques to reduce input data needed

There are a couple of ideas I have to reduce the need for data (please add your own):

  • Use a pre-trained network (good idea or not?)
  • Pre-process images (how? fiddle with image orientation?)
  • Does it make sense to change the images more deeply (such as chopping off the top 50% since I only care for the legs?)

I am looking forward for your thoughts!


1 Answer 1


After running a few tests and collecting some training data I got a rough impression of how much data is needed. The question is still not answered entirely but I figured these insights might help others:

So how many images did I need?

Architecture: - Pre-trained Inception V3 model with Imagenet data - Removed last layer

Data / Images per category:

  • 101 images
  • 258 images
  • 45 images
  • 1064 images
  • 259 images
  • 607 images
  • 161 images

Complexity: Mixed complex sceneries with simple images.

Result: The quality depends a lot on how difficult the task is. In my scenario the images to be classified where rather similar to the ones in the training data. In these situations all categories with 160 images and above are recognised rather reliably.

I will do some more testing and update my answer.


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.