This project is an implementation of the crowd counting model proposed in our CVPR 2017 paper - Switching Convolutional Neural Network(SCNN)for Crowd Counting. SCNN is an adaptation of the fully-convolutional neural network and uses an expert CNN that chooses the best crowd density CNN regressor for parts of the scene from a bag of regressors. This helps it tackle intra-scene crowd density variation and obtain SOTA results
This code is released under the MIT License (Please refer to the LICENSE file for details).
Please cite our paper in your publications if it helps your research:
@article{2017arXiv170800199B,
Author = {Babu Sam, Deepak and Surya, Shiv and
Babu R, Venkatesh},
Title = {Switching Convolutional Neural Network for Crowd Counting},
Journal = {ArXiv e-prints},
eprint = {1708.00199},
Keywords = {Computer Science - Computer Vision and Pattern Recognition},
Year = {2017},
Month = {august},
}
-
Code for SCNN is based on Lasagne\Theano. This code was tested on UBUNTU 14.04 on the folowing NVIDIA GPUs: NVIDIA TITAN X.
-
To test SCNN on trained model:
$ git clone https://github.com/val-iisc/crowd-counting-scnn.git $ matlab -nodisplay -nojvm -nosplash -nodesktop -r "run('dataset/create_test_set.m');" $ python ./src/test_scnn.py
-
To train SCNN:
$ git clone https://github.com/val-iisc/crowd-counting-scnn.git $ matlab -nodisplay -nojvm -nosplash -nodesktop -r "run('dataset/create_datasets.m');" $ python ./src/differential_train.py $ python ./src/coupled_train.py
Please send message to [email protected] or [email protected] if you have any query regarding the code.