(Semi) Automated anomaly detection using Machine Learning can aid proctoring and serve as a deterrent to malpractices. etc. To this end, we have volunteered to design a machine learning model and an associated process that can be used for anomaly detection as part of remote proctoring. The model has been currently trained by a suitable adaptation of a publicly available action recognition dataset from NTU: http://rose1.ntu.edu.sg/datasets/actionrecognition.asp
The code and approach are based on Anomaly Detection in Surveillance Videos, by Sukalyan Bhakat, Ganesh Ramakrishnam, Best demo paper, In Proceedings of the ACM India Joint International Conference on Data Science and Management of Data, CoDS-COMAD '19, Kolkota, India.
More details on our work in Video Analytics can be found at https://www.cse.iitb.ac.in/~ganesh/videosurvellianceanalytics
For CS387 project students, the runthrough instructions of the code can be seen in Guidelines for CS387 project students
to_do
Description of files
get_test_images.py: downloads a set of images from a given url and stores them in --images_dir
image_demo.py: calculates the posenets for the images in --images_dir and stores the posenet images in --output_dir
Run through:
videotoframes.py: converts videos in --video_dir and stores every 3rd frame in --frames_dir/(rel_path_of_video in --video_dir)
framestoposenets.py: calculates posenets for frames in every folder of --frames_dir and stores the corresponding posenet images in --posenet_dir and coordinates in --coords_dir
posenets/ : contains utility functions models/ : contains already built model (mobilenet_v1_101.pth used here) images/ : set of test images got after running get_test_images posenet/ : corresponding set of image posenets coordinates_images/ : corresponding set of coordinates for each pose