Shadow Removal by a Lightness-Guided Network with Training on Unpaired Data.
@article{liu2021shadow,
title={Shadow Removal by a Lightness-Guided Network with Training on Unpaired Data},
author={Liu, Zhihao and Yin, Hui and Mi, Yang and Pu, Mengyang and Wang, Song},
journal={IEEE Transactions on Image Processing},
volume={30},
pages={1853--1865},
year={2021},
publisher={IEEE}
}
This code uses the following libraries
- python 3.7+
- pytorch 1.1+ & tochvision
- scikit-image
Train
- Set the path of the dataset in
train_aistd_module1.py
- Run
train_aistd_module1.py
- Set the paths of the saved module1 models
(netG_A2B.pth,netG_B2A.pth)
and the dataset intrain_aistd.py
- Run
train_aistd.py
Test
- Set the paths of the dataset and saved LG-ShadowNet models
(netG_A2B.pth)
intest_aistd.py
- Run
test_aistd.py
- Set the paths of the shadow removal result and the dataset in
evaluate.m
- Run
evaluate.m
Code is implemented based on Mask-ShadowGAN.
BaiduNetdisk: AISTD/ISTD/USR (Access code: 1111)
All codes will be released to public soon.
Method | Shadow | Non-shadow | All |
---|---|---|---|
Mask-ShadowGAN(our run) | 11.5* | 4.5* | 5.5 |
LG-ShadowNet | 10.6* | 4.0* | 5.0 |
Method | Shadow | Non-shadow | All |
---|---|---|---|
Mask-ShadowGAN(our run) | 10.8* | 3.8* | 4.8 |
LG-ShadowNet | 9.9* | 3.4* | 4.4 |
*Since the RMSE (MAE) in shadow and non-shadow regions are computed on each image first and then compute the average of all images, the results may be different from yours.