Skip to content
Operationalize a video anomaly detection model with Azure ML
Branch: master
Clone or download
wmpauli Merge pull request #5 from wmpauli/master
update for azureml-sdk==1.0.48
Latest commit 8b3d8c9 Jul 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.azureml script_params May 4, 2019
config revert to old keras Jul 10, 2019
deployment restructuring deploy scripts May 4, 2019
docs additional config. test with clean ws May 5, 2019
tools updating to newest tf version Jul 10, 2019
.gitignore restored orig .gitignore May 3, 2019
LICENSE Initial commit May 2, 2019
README.md
annotate_results.py initial push May 3, 2019
azure-pipelines.yml Update azure-pipelines.yml for Azure Pipelines May 5, 2019
data_preparation.py additional config. test with clean ws May 5, 2019
data_utils.py initial push May 3, 2019
evaluate_model.py initial push May 3, 2019
fit_anoms.py initial push May 3, 2019
hyperparameter_tuning.py initial push May 3, 2019
keras_utils.py initial push May 3, 2019
model_registration.py initial push May 3, 2019
pipelines_create.py update to new HyperDriveStep Jul 10, 2019
pipelines_master.py typo in dummy filename, adding schduler to each training pipeline May 5, 2019
pipelines_submit.py don't wait for completion of last run May 3, 2019
prednet.py initial push May 3, 2019
score.py initial push May 3, 2019
test.py initial push May 3, 2019
train.py using custom image May 4, 2019
train_remotely.py initial push May 3, 2019
utils.py updating to newest tf version Jul 10, 2019
video_decoding.py initial push May 3, 2019

README.md

Video Anomaly Detection - powered by Azure MLOps

Build Status

The automation of detecting anomalous events in videos is a challenging problem that currently attracts a lot of attention by researchers, but also has broad applications across industry verticals.

The approach involves training deep neural networks to develop an in-depth understanding of the physical and causal rules in the observed scenes. The model effectively learns to predict future frames in the video in a self-supervised fashion.

By calculating the error in this prediction, it is then possible to detect if something unusual, an anomalous event, occurred, if there is a large prediction error.

The approach can be used both in a supervised and unsupervised fashion, thus enabling the detection of pre-defined anomalies, but also of anomalous events that have never occurred in the past.

Post on LinkedIn (includes video demonstration)

Learning Goals

You will learn:

  1. How to adapt an existing neural network architecture to your use-case.
  2. How to prepare video data for deep learning.
  3. How to perform hyperparameter tuning with HyperDrive to improve the performance of you model.
  4. How to deploy a deep neural network as a webservice for video processing.
  5. How to post-process the output of a Keras model for secondary tasks (here, anomaly detection)
  6. How to define a build pipeline for DevOps.

Pre-requisites

Skills

  1. Some familiarity with concepts and frameworks for neural networks:
  2. Knowledge of basic data science and machine learning concepts. Here and here you'll find short introductory material.
  3. Moderate skills in coding with Python and machine learning using Python. A good place to start is here.

Software Dependencies

We found that a useful development environment is to have a VM with a GPU and connect to it using X2Go.

Hardware Dependencies

A computer with a GPU, Standard NC6 sufficient, faster learning with NC6_v2/3 or ND6. compare VM sizes

Dataset

UCSD Anomaly Detection Dataset

The dataset consists of individual files for video frames. Please use this script to create video files.

Agenda

Getting Started

  1. Data Preparation
  2. Model Development
  3. Hyperparameter Tuning
  4. Anomaly Detection
  5. Deployment

Advanced Topics

  1. Transfer learning - How to quickly retrain the model on new data.
  2. AML Pipelines - Use AML pipelines to scale your solution.
  3. MLOps - How to quickly scale your solution with the MLOps extension for DevOps.

References / Resources

You can’t perform that action at this time.