This project is trained on the UCSD dataset. The code has been kept in modular format, with the following modules -
data_loader.py
- Contains twotf.keras.utils.Sequence
classes -CNN_train_data_loader
andCNN_test_data_loader
to load batches of images and labelspaths.py
andhyperparams.py
- Contains paths and hyperparams needed for the modellogger.py
- Logger callbacktimer.py
- Timer callbacktrain.py
- Entry point for the code; starts the training sequencemodel.py
- Contains two models - a CNN Autoencoder and a 2-layered LSTM
A CNN Autoencoder is trained to learn latent space representation of frame images
A 2-layered LSTM is trained to predict if the sequence of frames contains an anomaly. Latent space representation of each frame is passed to the stacked LSTM.