Code for FCHD - A fast and accurate head detector
This is the code for FCHD - A Fast and accurate head detector. See the paper for details and video for demo.
-
The code is tested on Ubuntu 16.04.
-
install PyTorch >=0.4 with GPU (code are GPU-only), refer to official website
-
install cupy, you can install via
pip install cupy-cuda80
or(cupy-cuda90,cupy-cuda91, etc). -
install visdom for visualization, refer to their github page
-
Install Pytorch
-
Clone this repository
git clone https://github.com/aditya-vora/FCHD-Fully-Convolutional-Head-Detector
- Build cython code for speed:
cd src/nms/
python build.py build_ext --inplace
-
Download the caffe pre-trained VGG16 from the following link. Store this pre-trained model in
data/pretrained_model
folder. The filename isvgg16_caffe.pth
. -
Download the BRAINWASH dataset from the official website. Unzip it and store the dataset in the
data/
folder. -
Make appropriate settings in
src/config.py
file regarding the updated paths. -
Start visdom server for visualization:
python -m visdom.server
- Run the following command to train the model:
python train.py
.
-
Download the best performing model from the following link. The filename is
head_detector_final
. -
Store the head detection model in
checkpoints/
folder. -
Run the following python command from the root folder.
python head_detection_demo.py --img_path <test_image_name> --model_path <model_path>
Method | AP |
---|---|
Overfeat - AlexNet [1] | 0.62 |
ReInspect, Lfix [1] | 0.60 |
ReInspect, Lfirstk [1] | 0.63 |
ReInspect, Lhungarian [1] | 0.78 |
Ours | 0.70 |
- Runs at 5fps on NVidia Quadro M1000M GPU with 512 CUDA cores.
This work builds on many of the excellent works:
[1] Stewart, Russell, Mykhaylo Andriluka, and Andrew Y. Ng. "End-to-end people detection in crowded scenes." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.