BDRAR can detect shadows, while DHnet can remove (and detect) shadows. Here are two colabs chowcasing each work
BDRAR: [colab] [paper] [original github]
Dual Hierarchical Aggregation Network: [colab] [paper] [original github]
###My contributions I created the colab notebook and updated the source code to PyTorch 1.7 for BDRAR (originally in an older version of PyTorch).
I reimplemented DHnet in PyTorch 1.7 (originally in tensorflow).
@inproceedings{zhu18b,
author = {Zhu, Lei and Deng, Zijun and Hu, Xiaowei and Fu, Chi-Wing and Xu, Xuemiao and Qin, Jing and Heng, Pheng-Ann},
title = {Bidirectional Feature Pyramid Network with Recurrent Attention Residual Modules for Shadow Detection},
booktitle = {ECCV},
year = {2018}
}
@misc{cun2019ghostfree,
title={Towards Ghost-free Shadow Removal via Dual Hierarchical Aggregation Network and Shadow Matting GAN},
author={Xiaodong Cun and Chi-Man Pun and Cheng Shi},
year={2019},
eprint={1911.08718},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
The results of shadow detection on SBU and UCF can be found at Google Drive.
You can download the trained model which is reported in our paper at Google Drive.
- Python 2.7
- PyTorch 0.4.0
- torchvision
- numpy
- Cython
- pydensecrf (here to install)
- Set the path of pretrained ResNeXt model in resnext/config.py
- Set the path of SBU dataset in config.py
The pretrained ResNeXt model is ported from the official torch version, using the convertor provided by clcarwin. You can directly download the pretrained model ported by me.
- Run by
python train.py
Hyper-parameters of training were gathered at the beginning of train.py and you can conveniently change it as you need.
Training a model on a single GTX 1080Ti GPU takes about 40 minutes.
- Put the trained model in ckpt/BDRAR
- Run by
python infer.py