• Stars
    star
    184
  • Rank 209,187 (Top 5 %)
  • Language
    Jupyter Notebook
  • Created over 3 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

We propose a new method for effective shadow removal by regarding it as an exposure fusion problem.

Auto-exposure fusion for single-image shadow removal

We propose a new method for effective shadow removal by regarding it as an exposure fusion problem. Please refer to the paper for details: https://openaccess.thecvf.com/content/CVPR2021/papers/Fu_Auto-Exposure_Fusion_for_Single-Image_Shadow_Removal_CVPR_2021_paper.pdf.

Framework

Dataset

  1. For data folder path (ISTD), train_A: shadow images, train_B: shadow masks, train_C: shadow free images, organize them as following:
--ISTD+
   --train
      --train_A
          --1-1.png
      --train_B
          --1-1.png 
      --train_C_fixed_official 
          --1-1.png
      --train_params_fixed  # generate later
          --1-1.png.txt
   --test
      --test_A
          --1-1.png
      --test_B
          --1-1.png
      --test_C
          --1-1.png
      --mask_threshold   # generate later
          --1-1.png
  1. Run the code ./data_processing/compute_params.ipynb for exposure parameters generation. The result will be put in ./ISTD/train/train_params_fixed. Here, names train_C_fixed_official and train_params_fixed are for ISTD+ dataset, which are consitent with self.dir_C and self.dir_param in ./data/expo_param_dataset.py .
  2. For testing masks, please run the code ./data_processing/test_mask_generation.py. The result will be put in ./ISTD/mask_threshold.

Pretrained models

We release our pretrained model (ISTD+, SRD) at models

pretrained model (ISTD) at models

Modify the parameter model in file OE_eval.sh to Refine and set ks=3, n=5, rks=3 to load the model.

Train

Modify the corresponding path in file OE_train.sh and run the following script

sh OE_train.sh
  1. For the parameters:
      DATA_PATH=./Datasets/ISTD or your datapath
      n=5, ks=3 for FusionNet,
      n=5, ks=3, rks=3 for RefineNet.
      model=Fusion for FusionNet training,
      model=Refine for RefineNet training.

The trained models are saved in ${REPO_PATH}/log/${Name}, Name are customized for parameters setting.

Test

In order to test the performance of a trained model, you need to make sure that the hyper parameters in file OE_eval.sh match the ones in OE_train.sh and run the following script:

sh OE_eval.sh
  1. The pretrained models are located in ${REPO_PATH}/log/${Name}.

Evaluation

The results reported in the paper are calculated by the matlab script used in other SOTA, please see evaluation for details. Our evaluation code will print the metrics calculated by python code and save the shadow removed result images which will be used by the matlab script.

Results

  • Comparsion with SOTA, see paper for details.

Framework

  • Penumbra comparsion between ours and SP+M Net

Framework

  • Testing result

The testing results on dataset ISTD+, ISTD, SRD are:results

More details are coming soon

Bibtex

@inproceedings{fu2021auto,
      title={Auto-exposure Fusion for Single-image Shadow Removal}, 
      author={Lan Fu and Changqing Zhou and Qing Guo and Felix Juefei-Xu and Hongkai Yu and Wei Feng and Yang Liu and Song Wang},
      year={2021},
      booktitle={accepted to CVPR}
}

More Repositories

1

efficientderain

we propose EfficientDerain for high-efficiency single-image deraining
Python
164
star
2

misf

Python
91
star
3

DSiam

Learning Dynamic Siamese Network for Visual Object Tracking
MATLAB
38
star
4

ABBA

Python
29
star
5

inpaint4shadow

We propose the shadow-guided inpainting task to take advantage of the shadow removal and image inpainting.
Python
22
star
6

bgmix

We propose a novel data augmentation by enriching the backgrounds for change detection in a weakly-superivsed way.
Python
20
star
7

AttackTracker

Python
18
star
8

jpgnet

We proposed a novel framework for image inpainting. https://arxiv.org/abs/2107.04281
Python
17
star
9

jadena

Official implementation of "Can You Spot the Chameleon? Adversarially Camouflaging Images from Co-Salient Object Detection" in CVPR 2022.
Python
17
star
10

ABA

We propose the adversarial blur attack (ABA) against visual object tracking.
Python
12
star
11

robustOT

We build a benchmark to involve existing adversairal tracking attacks and defense methods and evaluates their performance, which could trick a series of novel works and push the progress to build a robust tracking system.
Python
7
star
12

deeprhythm

Python
6
star
13

irad

We introduce a novel approach to counter adversarial attacks, namely, image resampling. The underlying rationale behind our idea is that image resampling can alleviate the influence of adversarial perturbations while preserving essential semantic information, thereby conferring an inherent advantage in defending against adversarial attacks.
Python
5
star
14

sharel

We propose a shadow-removal benchmark dataset (i.e., SHAREL) to explore the mutual influence of shadow removal and facial landmark detection tasks.
4
star
15

tsingqguo.github.io

Homepage of Qing Guo
HTML
2
star
16

efficientderainplus

We further extend the efficientderain in https://github.com/tsingqguo/efficientderain via a novel predictive filtering framework.
Python
2
star
17

ccotssr

abc
MATLAB
1
star
18

MSiam

Try to build a new tracking framework with Siamese network
MATLAB
1
star
19

frequency-tuned-ACM

This repository contains the demos of frequency-tuned ACM.
MATLAB
1
star
20

evadingfakedetector

We propose a statistical consistency attack (StatAttack) against diverse DeepFake detectors.
1
star
21

resample4defense

We have identified a novel adversarial defense solution, i.e., image resampling, which can break the adversarial textures while maintaining the main semantic information in the input image. This work has been accepted to ICLR 2024.
1
star