All Projects → hasanirtiza → Pedestron

hasanirtiza / Pedestron

Licence: apache-2.0
[Pedestron] Generalizable Pedestrian Detection: The Elephant In The Room. On ArXiv 2020

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pedestron

Driving In The Matrix
Steps to reproduce training results for the paper Driving in the Matrix: Can Virtual Worlds Replace Human-Generated Annotations for Real World Tasks?
Stars: ✭ 96 (-72.73%)
Mutual labels:  autonomous-driving, faster-rcnn
Kittibox
A car detection model implemented in Tensorflow.
Stars: ✭ 388 (+10.23%)
Mutual labels:  autonomous-driving, faster-rcnn
Hybridastartrailer
A path planning algorithm based on Hybrid A* for trailer truck
Stars: ✭ 279 (-20.74%)
Mutual labels:  autonomous-driving
Hrm Solutions
Human Resource Machine solutions and size/speed hacks
Stars: ✭ 332 (-5.68%)
Mutual labels:  benchmarking
Cherry Autonomous Racecar
Implementation of the CNN from End to End Learning for Self-Driving Cars on a Nvidia Jetson TX1 using Tensorflow and ROS
Stars: ✭ 294 (-16.48%)
Mutual labels:  autonomous-driving
Locust
Scalable user load testing tool written in Python
Stars: ✭ 17,763 (+4946.31%)
Mutual labels:  benchmarking
Nonius
A C++ micro-benchmarking framework
Stars: ✭ 302 (-14.2%)
Mutual labels:  benchmarking
Papers
Summaries of papers on machine learning, computer vision, autonomous robots etc.
Stars: ✭ 271 (-23.01%)
Mutual labels:  autonomous-driving
Pytorchnethub
项目注释+论文复现+算法竞赛
Stars: ✭ 341 (-3.12%)
Mutual labels:  faster-rcnn
Blockbench
BLOCKBENCH: A Framework for Analyzing Private Blockchains. Blockbench contains workloads for measuring the data processing performance, and workloads for understanding the performance of different layers of Blockchain systems.
Stars: ✭ 294 (-16.48%)
Mutual labels:  benchmarking
Ssd.tensorflow
State-of-the-art Single Shot MultiBox Detector in Pure TensorFlow, QQ Group: 758790869
Stars: ✭ 334 (-5.11%)
Mutual labels:  faster-rcnn
Ecal
eCAL - enhanced Communication Abstraction Layer
Stars: ✭ 292 (-17.05%)
Mutual labels:  autonomous-driving
Mobile Ai Bench
Benchmarking Neural Network Inference on Mobile Devices
Stars: ✭ 289 (-17.9%)
Mutual labels:  benchmarking
Sqlbench
sqlbench measures and compares the execution time of one or more SQL queries.
Stars: ✭ 319 (-9.37%)
Mutual labels:  benchmarking
Faster rcnn for dota
Code used for training Faster R-CNN on DOTA
Stars: ✭ 283 (-19.6%)
Mutual labels:  faster-rcnn
Matlabrobotics
MATLAB sample codes for mobile robot navigation
Stars: ✭ 332 (-5.68%)
Mutual labels:  autonomous-driving
Powerful Benchmarker
A PyTorch library for benchmarking deep metric learning. It's powerful.
Stars: ✭ 272 (-22.73%)
Mutual labels:  benchmarking
Simple Faster Rcnn Pytorch
A simplified implemention of Faster R-CNN that replicate performance from origin paper
Stars: ✭ 3,422 (+872.16%)
Mutual labels:  faster-rcnn
So Net
SO-Net: Self-Organizing Network for Point Cloud Analysis, CVPR2018
Stars: ✭ 297 (-15.62%)
Mutual labels:  autonomous-driving
Benchmarking Keras Pytorch
🔥 Reproducibly benchmarking Keras and PyTorch models
Stars: ✭ 346 (-1.7%)
Mutual labels:  benchmarking

PWC

PWC

Pedestron

Pedestron is a MMdetection based repository that focuses on the advancement of research on pedestrian detection. We provide a list of detectors, both general purpose and pedestrian specific to train and test. Moreover, we provide pre-trained models and benchmarking of several detectors on different pedestrian detection datasets. Additionally, we provide processed annotations and scripts to process the annotation of different pedestrian detection benchmarks. If you use Pedestron, please cite us (see at the end) and other respective sources.

🔥 Updates 🔥

  • 🔥 We haved added a slightly better implementation of CSP - CVPR 2019 to Pedestron along with a pre-trained model. 🔥

YouTube demo

Leaderboards

Installation

We refer to the installation and list of dependencies to installation file. Clone this repo and follow installation. Alternatively, Google Colab step-by-step instruction can be followed for installation. Addiitonally, you can also refer to the google doc file for step-by-step installation.

List of detectors

Currently we provide configurations for the following detectors, with different backbones

  • Cascade Mask-R-CNN
  • Faster R-CNN
  • RetinaNet
  • RetinaNet with Guided Anchoring
  • Hybrid Task Cascade (HTC)
  • MGAN
  • CSP

Following datasets are currently supported

Datasets Preparation

Benchmarking

Benchmarking of pre-trained models on pedestrian detection datasets (autonomous driving)

Detector Dataset Backbone Reasonable Heavy
Cascade Mask R-CNN CityPersons HRNet 7.5 28.0
Cascade Mask R-CNN CityPersons MobileNet 10.2 37.3
Faster R-CNN CityPersons HRNet 10.2 36.2
RetinaNet CityPersons ResNeXt 14.6 39.5
RetinaNet with Guided Anchoring CityPersons ResNeXt 11.7 41.5
Hybrid Task Cascade (HTC) CityPersons ResNeXt 9.5 35.8
MGAN CityPersons VGG 11.2 52.5
CSP CityPersons ResNet-50 10.9 41.3
Cascade Mask R-CNN Caltech HRNet 1.7 25.7
Cascade Mask R-CNN EuroCity Persons HRNet 4.4 21.3
Faster R-CNN EuroCity Persons HRNet 6.1 27.0

Benchmarking of pre-trained models on general human/person detection datasets

Detector Dataset Backbone AP
Cascade Mask R-CNN CrowdHuman HRNet 84.1

Pre-Trained models

Cascade Mask R-CNN

  1. CityPersons
  2. Caltech
  3. EuroCity Persons
  4. CrowdHuman 1
  5. CrowdHuman 2 (higher AP)
  6. WIDER Pedestrian

Faster R-CNN

  1. CityPersons
  2. EuroCity Persons

RetinaNet

  1. CityPersons

RetinaNet with Guided Anchoring

  1. CityPerson

Hybrid Task Cascade (HTC)

  1. CityPersons

MGAN

  1. CityPersons

CSP

  1. CityPersons

Getting Started

Running a demo using pre-trained model on few images

  1. Pre-trained model can be evaluated on sample images in the following way
python tools/demo.py config checkpoint input_dir output_dir

Download one of our provided pre-trained model and place it in models_pretrained folder. Demo can be run using the following command

python tools/demo.py configs/elephant/cityperson/cascade_hrnet.py ./models_pretrained/epoch_5.pth.stu demo/ result_demo/ 

See Google Colab demo.

Training

  • [x] single GPU training
  • [x] multiple GPU training

Train with single GPU

python tools/train.py ${CONFIG_FILE}

Train with multiple GPUs

./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} [optional arguments]

For instance training on CityPersons using single GPU

python tools/train.py configs/elephant/cityperson/cascade_hrnet.py

Training on CityPersons using multiple(7 in this case) GPUs

./tools/dist_train.sh configs/elephant/cityperson/cascade_hrnet.py 7  

Testing

  • [x] single GPU testing
  • [x] multiple GPU testing

Test can be run using the following command.

python ./tools/TEST_SCRIPT_TO_RUN.py PATH_TO_CONFIG_FILE ./models_pretrained/epoch_ start end\
 --out Output_filename --mean_teacher 

For example for CityPersons inference can be done the following way

  1. Download the pretrained CityPersons model and place it in the folder "models_pretrained/".
  2. Run the following command:
python ./tools/test_city_person.py configs/elephant/cityperson/cascade_hrnet.py ./models_pretrained/epoch_ 5 6\
 --out result_citypersons.json --mean_teacher 

Alternatively, for EuroCity Persons

python ./tools/test_euroCity.py configs/elephant/eurocity/cascade_hrnet.py ./models_pretrained/epoch_ 147 148 --mean_teacher

or without mean_teacher flag for MGAN

python ./tools/test_city_person.py configs/elephant/cityperson/mgan_vgg.py ./models_pretrained/epoch_ 1 2\
 --out result_citypersons.json  

Testing with multiple GPUs on CrowdHuman

./tools/dist_test.sh ${CONFIG_FILE} ${CHECKPOINT_FILE} ${GPU_NUM} [--out ${RESULT_FILE}] [--eval ${EVAL_METRICS}]
./tools/dist_test.sh configs/elephant/crowdhuman/cascade_hrnet.py ./models_pretrained/epoch_19.pth.stu 8 --out CrowdHuman12.pkl --eval bbox

Please cite the following work

ArXiv version

@misc{hasan2020generalizable,
      title={Generalizable Pedestrian Detection: The Elephant In The Room}, 
      author={Irtiza Hasan and Shengcai Liao and Jinpeng Li and Saad Ullah Akram and Ling Shao},
      year={2020},
      eprint={2003.08799},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].