Using CNNs to detect incorrect label images in dataset

What I want to do is to train a model to identify the images that are incorrectly labeled in my dataset, for example, in a class of dogs, I can find cats images and I want a model that detects all those images that are in the wrong class. Does any one tried this to have more details or does any one have any ideas? I'm open for all ideas and thank you in advance.

Topic cnn labels multiclass-classification image-classification python

Category Data Science


As far as I undertood you, you have a database where you have a set of 3 items per data: the image, the label and a boolean pointing if that label is correct or not.

You want to train a model where you can classify the correct labeled and the incorrect labeled data.

This problem is equivalent to changing all the incorrect labels to the other label if we are talking about binary classification.

Assuming the problem is NOT binary classification (which is the same problem as training a new classic CNN model for image classification), you should train a new model which involves a CNN and the current label as input and one single output:

  1. Build a CNN wich takes the image as input and outputs the most posible class (inputs a NxM image and outputs a vector of K classes with the probability of each class).
  2. Take the predicted label and use a feed forward network to predict if the label is correct or not according to the outputs of the CNN. Maybe all CNNs outputs are similar and its very likely to confuse the label even if one of them is the highest, this is solved by the FFNN.
  3. Try a transfer learning technique, there are 2 networks inside!

Good luck and regards!

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.