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:
- What strategies can I employ to reduce the number or required images
- 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
Architecture
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).
Data
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:
In a complex scenario they might look like this:
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!