Home

Awesome

<div align="center">

SILT: Shadow-aware Iterative Label Tuning for Learning to Detect Shadows from Noisy Labels

Paper Conference

image

<!-- Conference --> </div>

Description

This is the pytorch implementation of the ICCV 2023 paper "SILT: Shadow-aware Iterative Label Tuning for Learning to Detect Shadows from Noisy Labels" by Han Yang, Tianyu Wang, Xiaowei Hu and Chi-Wing Fu.

How to Run

  1. Install dependencies
# clone project   
git clone https://github.com/Cralence/SILT.git

# create conda environment
cd SILT
conda env create -f environment.yaml
conda activate silt
pip install opencv-python
pip install omegaconf==2.3.0
  1. Download the additional non-shadow dataset from here if needed. Pretrained weights for the backbone encoders can be downloaded from the table below. Then, set the correct path and whether to use the additional dataset in configs/silt_training_config.yaml. Note that we use the additional dataset only when training on SBU.

  2. Train the model by running:

python train.py --dataset SBU --backbone PVT-b5
  1. Test the model by running:
python infer.py --dataset SBU --ckpt path_to_weight  

Dataset

Our relabeled SBU test set, as well as the automatically refined SBU training set, can be downloaded from here.

Pretrained Model

ModelParams(M)Pretrained BackboneSBUISTDUCF
EfficientNet-B312.18-5.232.009.18
EfficientNet-B767.80-4.621.467.97
ResNeXt-10190.50weight5.081.539.27
ConvNeXt-B100.68-5.111.158.62
PVT v2-B349.42weight4.361.117.25
PVT v2-B586.14weight4.191.167.23

Citation

@inproceedings{yang2023silt,
  title={SILT: Shadow-aware Iterative Label Tuning for Learning to Detect Shadows from Noisy Labels},
  author={Han Yang, Tianyu Wang, Xiaowei Hu, Chi-Wing Fu},
  booktitle={IEEE International Conference on Computer Vision},
  year={2023}
}