I am new to machine learning, and have constructed a basic CNN classifier by retraining the last layer of the Inception v3 model with my own image set into two classifications.

I did this in Python using Tensorflow, following the guidelines from here.

I used two files to achieve this:

  • retrain.py : Retrains the Inception V3 model according to the images in a directory

  • label_image.py : Labels given images using a prebuilt classifier

My image set contains two folders - one for each object that I am trying to classify. Within these folders are the images. Some images contain very clear views of the object - center-camera, front-facing etc. Others are ordinary photos that contain the object somewhere in view, possibly somewhat obscured or at strange angles.

I imagine that there is some process that I can use to give a higher training 'priority' to the high quality photos of the objects, and a lower priority to the photos where the objects are less obvious or obscured. The reason I want this, is because I have noticed that after including the lower-quality photos, the classifier becomes less confident about its classifications of the high-quality photos, when they should be very easy to classify.

Is what I'm describing a common process? What is it called? I am after keywords or a topic name.

  • $\begingroup$ That's why mostly you need to make sure the image size, brightness and other specs are same to make the classifier job easier. you can dive the retrain script, they include some hyperparameters that you can try to play. $\endgroup$ – Infinite Loops Mar 27 at 17:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.