Awesome
Latent Space Autoregression for Novelty Detection
This repository contains Pytorch code to replicate experiments in the CVPR19 paper "Latent Space Autoregression for Novelty Detection".
Please cite with the following BibTeX:
@inproceedings{abati2019latent,
title={{Latent Space Autoregression for Novelty Detection}},
author={Abati, Davide and Porrello, Angelo and Calderara, Simone and Cucchiara, Rita},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision and Pattern Recognition},
year={2019}
}
Specifically, performs:
- one class classification on MNIST.
- one class classification on CIFAR-10.
- video anomaly detection on UCSD Ped2.
- video anomaly detection on ShanghaiTech.
0 - Clone this repo
First things first, clone this repository locally via git.
git clone https://github.com/cvpr19-858/novelty-detection.git
cd novelty-detection
1 - Environment
This code runs on Python 3.6.
The easiest way to set up the environment is via pip
and the file requirements.txt
:
pip install -r requirements.txt
2 - Datasets
MNIST and CIFAR-10 will be downloaded for you by torchvision.
You still need to download UCSD Ped and
ShanghaiTech. After download, please unpack them into the data
folder as follows
tar -xzvf <path-to-UCSD_Anomaly_Dataset.tar.gz> -C data
tar -xzvf <path-to-shanghaitech.tar.gz> -C data
3 - Model checkpoints
Checkpoints for all trained models are available here.
Please untar them into the checkpoints
folder as follows:
tar -xzvf <path-to-tar.gz> -C checkpoints
4 - Run!
Once your setup is complete, running tests is as simple as running test.py
.
Usage:
usage: test.py [-h]
positional arguments:
The name of the dataset to perform tests on.Choose among
`mnist`, `cifar10`, `ucsd-ped2`, `shanghaitech`
optional arguments:
-h, --help show this help message and exit
Example:
python test.py ucsd-ped2