All Projects → tnybny → Frame Level Anomalies In Videos

tnybny / Frame Level Anomalies In Videos

Frame level anomaly detection and localization in videos using auto-encoders

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Frame Level Anomalies In Videos

Deepsvg
[NeurIPS 2020] Official code for the paper "DeepSVG: A Hierarchical Generative Network for Vector Graphics Animation". Includes a PyTorch library for deep learning with SVG data.
Stars: ✭ 403 (+706%)
Mutual labels:  autoencoder
Ad examples
A collection of anomaly detection methods (iid/point-based, graph and time series) including active learning for anomaly detection/discovery, bayesian rule-mining, description for diversity/explanation/interpretability. Analysis of incorporating label feedback with ensemble and tree-based detectors. Includes adversarial attacks with Graph Convolutional Network.
Stars: ✭ 641 (+1182%)
Mutual labels:  autoencoder
Website Fingerprinting
Automatic Feature Generation for Website Fingerprinting
Stars: ✭ 20 (-60%)
Mutual labels:  autoencoder
Autoencoders
Torch implementations of various types of autoencoders
Stars: ✭ 421 (+742%)
Mutual labels:  autoencoder
Dancenet
DanceNet -💃💃Dance generator using Autoencoder, LSTM and Mixture Density Network. (Keras)
Stars: ✭ 469 (+838%)
Mutual labels:  autoencoder
Neurec
Next RecSys Library
Stars: ✭ 731 (+1362%)
Mutual labels:  autoencoder
Pointnet Autoencoder
Autoencoder for Point Clouds
Stars: ✭ 291 (+482%)
Mutual labels:  autoencoder
Recoder
Large scale training of factorization models for Collaborative Filtering with PyTorch
Stars: ✭ 46 (-8%)
Mutual labels:  autoencoder
Tensorflow Book
Accompanying source code for Machine Learning with TensorFlow. Refer to the book for step-by-step explanations.
Stars: ✭ 4,448 (+8796%)
Mutual labels:  autoencoder
Concise Ipython Notebooks For Deep Learning
Ipython Notebooks for solving problems like classification, segmentation, generation using latest Deep learning algorithms on different publicly available text and image data-sets.
Stars: ✭ 23 (-54%)
Mutual labels:  autoencoder
Tensorflow Mnist Vae
Tensorflow implementation of variational auto-encoder for MNIST
Stars: ✭ 422 (+744%)
Mutual labels:  autoencoder
Pyod
A Python Toolbox for Scalable Outlier Detection (Anomaly Detection)
Stars: ✭ 5,083 (+10066%)
Mutual labels:  autoencoder
Tensorflow Tutorial
TensorFlow and Deep Learning Tutorials
Stars: ✭ 748 (+1396%)
Mutual labels:  autoencoder
Tensorflow Tutorial
Tensorflow tutorial from basic to hard, 莫烦Python 中文AI教学
Stars: ✭ 4,122 (+8144%)
Mutual labels:  autoencoder
Pytorch Mnist Vae
Stars: ✭ 32 (-36%)
Mutual labels:  autoencoder
Zhihu
This repo contains the source code in my personal column (https://zhuanlan.zhihu.com/zhaoyeyu), implemented using Python 3.6. Including Natural Language Processing and Computer Vision projects, such as text generation, machine translation, deep convolution GAN and other actual combat code.
Stars: ✭ 3,307 (+6514%)
Mutual labels:  autoencoder
Keras Idiomatic Programmer
Books, Presentations, Workshops, Notebook Labs, and Model Zoo for Software Engineers and Data Scientists wanting to learn the TF.Keras Machine Learning framework
Stars: ✭ 720 (+1340%)
Mutual labels:  autoencoder
Lipreading
Stars: ✭ 49 (-2%)
Mutual labels:  autoencoder
Rnn Vae
Variational Autoencoder with Recurrent Neural Network based on Google DeepMind's "DRAW: A Recurrent Neural Network For Image Generation"
Stars: ✭ 39 (-22%)
Mutual labels:  autoencoder
Advanced Deep Learning With Keras
Advanced Deep Learning with Keras, published by Packt
Stars: ✭ 917 (+1734%)
Mutual labels:  autoencoder

Frame-level anomaly detection in videos

Perform anomaly detection in videos using neural network architectures such as 2D convolutional auto-encoder[2] and spatial-temporal auto-encoder[3]. The focus is on finding frame-level anomalies in the UCSD Ped1 dataset[1, 5].

Prerequisites

  1. Python 2.7
    • PIL
    • glob
    • cv2
    • numpy
    • matplotlib
    • sklearn
  2. CUDA Toolkit 8+
  3. TensorFlow 1.3 <= tf.VERSION <= 1.12 (?)

List of files and their functions

  1. config/
    • config.ini: contains settings for the run such as which network to use, learning rate, batch size and etcetera.
  2. data.nosync/
    • (empty): space for train.tfrecords, test.tfrecords, frame-level annotation files created using src/create_tfrecords.py and src/create__frame_annotation.py.
  3. models.nosync/
    • (empty): space for saved model using TensorFlow's saver methods.
  4. results/
    • (empty): space for log files, plots and data structures that could be useful for post processing.
  5. src/
    • evaluation/* : space for routines used to evaluate quality of anomaly detection (frame and pixel-level AUCs).
    • create_ped1_frame_annotation.py: creates frame annotation to guide frame-level AUC calculation which is used to guide training.
    • create_ped2_frame_annotation.py: creates frame annotation to guide frame-level AUC calculation which is used to guide training.
    • create_streetscene_frame_annotation.py: creates frame annotation to guide frame-level AUC calculation which is used to guide training.
    • conv_AE_2D.py: implements a 2D convolutional auto-encoder.
    • conv_lstm_cell.py: implements a convLSTM cell to be used in an RNN. Credit: [4].
    • create_tfrecords.py: creates train.npy and test.npy from a video anomaly detection dataset's raw data by some preprocessing.
    • data_iterator.py: tf.data pipeline feeds batches of preprocessed video clips for training and testing.
    • plots.py: implements plotting functions for results from a run.
    • spatial_temporal_autoencoder.py: implements a spatial-temporal auto-encoder which is an RNN that uses convLSTM cells in between conv and deconv of a convAE.
    • train.py: implements functions to run the network in training and testing modes by interacting with the data iterator and a model.
    • max_unpool.py: implements the max_unpool operation in the convolutional auto-encoder. Credit: [6].
  6. main.py: read the config file, start logging, initialize data iterator and model builder and perform training.
  • Note: src/evaluation/compute_frame_roc_auc and src/evaluation/compute_pixel_roc_auc cannot be made available due to copyright. They are not essential to this repo; details on how to implement them can be found in [1, 5].

Instructions for usage

  1. Run src/create_<dataset_name>_frame_annotation.py.
  2. Set DATA_DIR and EXT in config/config.ini and run src/create_tfrecords.py.
  3. Set all variables in config/config.ini and run main.py.

Authors

  1. Bharathkumar "Tiny" Ramachandra: tnybny at gmail dot com
  2. Zexi "Jay" Chen

References

  1. Mahadevan, Vijay, et al. "Anomaly detection in crowded scenes." Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on. IEEE, 2010.
  2. Hasan, Mahmudul, et al. "Learning temporal regularity in video sequences." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.
  3. Chong, Yong Shean, and Yong Haur Tay. "Abnormal event detection in videos using spatiotemporal autoencoder." International Symposium on Neural Networks. Springer, Cham, 2017.
  4. https://github.com/carlthome/tensorflow-convlstm-cell/blob/master/cell.py
  5. Li, Weixin, Vijay Mahadevan, and Nuno Vasconcelos. "Anomaly detection and localization in crowded scenes." IEEE transactions on pattern analysis and machine intelligence 36.1 (2014): 18-32.
  6. https://github.com/Pepslee
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].