Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Obtain negative results from a machine learning algorithm

I have a set of images of a particular object. I want to find if some of these has anomalies with a machine learning algorithm. For example if I have many photos of glasses I want to find if one of these is broken or has something anomalous. Something like this:

GOOD!! enter image description here

BAD!! enter image description here

(Obviously I will use the same kind of glasses...)

The problem is that I don't know every negative situation, so, for training, I have only positive images.

In other words I want an algorithm that recognize if an image has something different from the dataset. Do you have any suggestion?

In particular is there a way to use convolutional neural network?

like image 820
Davide Biraghi Avatar asked Mar 10 '23 22:03

Davide Biraghi


1 Answers

What you are looking for is usually called anomaly, outlier, or novelty detection. You have lots of examples of what your data should look like, and you want to know when something doesn't look like your data.

A good approach for this problem, since you are using images, you can get a feature vectorized version using a pre-trained CNN on image net. Then you can use an anomaly detector on that feature set. The isolation forest should be an easier one to get working.

like image 188
Raff.Edward Avatar answered Mar 23 '23 11:03

Raff.Edward