Skip to content

An implementation of AutoScale localization-based method

Notifications You must be signed in to change notification settings

Xinxinatg/AutoScale

 
 

Repository files navigation

AutoScale_localization

  • An officical implementation of AutoScale localization-based method, you can find regression-based method from here.
  • AutoScale leverages a simple yet effective Learning to Scale (L2S) module to cope with significant scale variations in both regression and localization.

Structure

AutoScale_localization
|-- data            # generate target
|-- model           # model path 
|-- README.md       # README
|-- centerloss.py           
|-- config.py          
|-- dataset.py       
|-- find_contours.py           
|-- fpn.py         
|-- image.py
|-- make_npydata.py
|-- rate_model.py
|-- val.py        

Visualizations

Some localization-based results.

avatar

Qualitative visualization of distance label maps given by the proposed AutoScale.

Result of detected person locations

. avatar

Red points are the ground-truth. To more clearly present our localization results, we generate bounding boxes (green boxes) according to the KNN distance of each point, which follows and compares with LSC-CNN.

Environment

python >=3.6
pytorch >=1.0
opencv-python >=4.0
scipy >=1.4.0
h5py >=2.10
pillow >=7.0.0
imageio >=1.18

Datasets

  • Download ShanghaiTech dataset from Baidu-Disk, passward:cjnx
  • Download UCF-QNRF dataset from Google-Drive
  • Download JHU-CROWD ++ dataset from here
  • Download NWPU-CROWD dataset from Baidu-Disk, passward:3awa

Generate target

cd data
Edit "distance_generate_xx.py" to change the path to your original dataset folder.
python distance_generate_xx.py

“xx” means the dataset name, including sh, jhu, qnrf, and nwpu.

Model

  • QNRF link, passward:bbpr
  • NWPU link, passward:gupa
  • JHU link, passward:qr07
  • ShanghaiA link, passward : ge32
  • ShanghaiB link, passward : 2pq0

Quickly test

  • git clone https://github.com/dk-liang/AutoScale.git
    cd AutoScale
    chmod -R 777 ./count_localminma

  • Download Dataset and Model

  • Generate target

  • Generate images list

Edit "make_npydata.py" to change the path to your original dataset folder.
Run python make_npydata.py

  • Test
    python val.py --test_dataset qnrf --pre ./model/QNRF/model_best.pth --gpu_id 0
    python val.py --test_dataset jhu --pre ./model/JHU/model_best.pth --gpu_id 0
    python val.py --test_dataset nwpu --pre ./model/NWPU/model_best.pth --gpu_id 0
    python val.py --test_dataset ShanghaiA --pre ./model/ShanghaiA/model_best.pth --gpu_id 0
    python val.py --test_dataset ShanghaiB --pre ./model/ShanghaiB/model_best.pth --gpu_id 0
    More config information is provided in config.py

Training

Our journal version of the paper has been cast, is under review.

We will release that training code when it is ready.

References

If you are interested in AutoScale, please cite our work:

@article{xu2019autoscale,
  title={AutoScale: Learning to Scale for Crowd Counting},
  author={Xu, Chenfeng and Liang, Dingkang and Xu, Yongchao and Bai, Song and Zhan, Wei and Tomizuka, Masayoshi and Bai, Xiang},
  journal={arXiv preprint arXiv:1912.09632},
  year={2019}
}

and

@inproceedings{xu2019learn,
  title={Learn to Scale: Generating Multipolar Normalized Density Maps for Crowd Counting},
  author={Xu, Chenfeng and Qiu, Kai and Fu, Jianlong and Bai, Song and Xu, Yongchao and Bai, Xiang},
  booktitle={Proceedings of the IEEE International Conference on Computer Vision},
  pages={8382--8390},
  year={2019}
}

About

An implementation of AutoScale localization-based method

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%