A large scale video database for violence detection, which has 2,000 video clips containing violent or non-violent behaviours.
With the increasing of surveillance cameras in modern cities, huge amount of videos can be collected. While there are insufficient human resource for monitoring all the screens at one time.
We are considering how to use techniques of video understanding to detect violent behavior so that it can give a quick alarm in time.
Preprocess contains the python script to transform original video dataset to .npy files. Each .npy file is a tensor with shape = [nbframes, imgheight, img_width, 5]. The last channel contains 3 layers for RGB components and 2 layers for optical flows (vertical and horizontal components, respectively ).
Networks contain the keras implemention of our propsoed model. Also, the training scripts of single stream are provided here.
Models contains the pre-trained model implemented by Keras.
Collected raw surveillance videos from YouTube, sliced them into clips within 5s at 30 fps, and labeled each clip as Violent or Non-Violent Behavior。
Dropped duplicated contents which appear in both training set and validation set.
Finally we got 2000 clips and 300,000 frames as a new data set for real-world violent behavior detection under surveillance camera.
Since all the videos are captured by surveillance cameras in public places, many of them may not have a good imaging quality due to dark environment, fast movement of object, lighting blur, etc. Here are some examples:
To download the released dataset, please:
Kindly remind: using the proposed dataset, please cite:
Ming Cheng, Kunjing Cai, and Ming Li. "RWF-2000: An Open Large Scale Video Database for Violence Detection." arXiv preprint arXiv:1911.05913 (2019).
Since the dataset contains 2,000 video clips extracted from about 1,000 unique videos, we have manually checked the train set and test set to avoid the data leakage between different parts. We suggest you to keep the original partition and only separate a validation set from the train set, but do not re-shuffle the entire dataset.