Anuj Gupta
Anuj Gupta

Reputation: 6562

One class classification for images

Say You have thousands of images of cat, like this: (https://web.archive.org/web/20150703060412/http://137.189.35.203/WebUI/CatDatabase/catData.html). You wish to build a system that can look at a image and say - if the image is that of cat or not.

 What are the (if any) techniques to build such a model with a descent accuracy?

PS1: The key challenge in this problem is to see that "what is not a cat" is a huge universe - every image in this world that is not of cat qualifies for it. Formulating this problem as a binary classification is not good since it is near impossible to collect a "comprehensive" dataset of "what is not a cat". (if you do so, your model will be as good as your dataset of "what is not a cat")

PS2: Such a setting is called "One class classification"

Upvotes: 1

Views: 763

Answers (1)

marco romelli
marco romelli

Reputation: 1163

One approach I can think of is to use One-Class SVM, which essentially is doing outlier detection.
In practice you can first apply a pre-trained CNN to extract a meaningful compact representation of the images and then use those vectors as input to a One-Class SVM. Everything non-cat will be an outlier!

Upvotes: 0

Related Questions