Reputation: 23
I have only "Positive" class image data from an experiment and the task is to train them using a deep learning network. Anything which is slightly different from the above category should be classified as an anomaly/outlier? [Taking negative class data from the same experiment is quite a difficult task]
P.S : There will be no huge difference between the two classes of data. And the task is to use Deep learning without having to define or give any features from the images. Also, only a limited number of images (around 300-400) for positive class data are available.
A simple guess of what an anomalous image would look like
I believe that this is entirely not an unsupervised learning because I know the labels of one of the classes. I tried using OneClassSVM for this without defining any features (Just tried - not much knowledge about SVM's). Also, tried using Convolutional Autoencoders from this "https://github.com/artem-hryb/cnn-anomaly-detection-keras" link and Deep Autoencoders from "https://github.com/otenim/AnomalyDetectionUsingAutoencoder". Some threshold value was set based on training the above models and then it was used to predict if the given image is an anomaly or not. The predictions were not correct.
If anyone could point me in the right direction, it would be of great help.
Upvotes: -1
Views: 261
Reputation: 6289
Use a pretrained CNN (on ImageNet for example) to extract a feature vector for your images. Then train an AutoEncoder on that feature representation. This should allow to easier learn higher level differences than directly training an AutoEncoder on pixels.
Upvotes: 0