GithubHelp home page GithubHelp logo

fsdnet's Introduction

FSDNet

Revisiting Shadow Detection: A New Benchmark Dataset for Complex World

by Xiaowei Hu, Tianyu Wang, Chi-Wing Fu, Yitong Jiang, Qiong Wang, and Pheng-Ann Heng.

Fast Shadow Detection Network

This implementation is written by Xiaowei Hu at the Chinese University of Hong Kong.


Citation

@article{hu2021revisiting,
     title={Revisiting Shadow Detection: A New Benchmark Dataset for Complex World},
     author={Hu, Xiaowei and Wang, Tianyu and Fu, Chi-Wing and Jiang, Yitong and Wang, Qiong and Heng, Pheng-Ann},
     journal={IEEE Transactions on Image Processing},
     volume={30},
     pages={1925--1934},
     year={2021},
     publisher={IEEE}
     }

Requirements

Train and Test

  1. Clone this repository:

    git clone https://github.com/xw-hu/FSDNet.git
  2. Train:

    python3 train.py    
  3. Test:

    python3 infer.py

CUHK-Shadow Dataset

Please find the dataset at https://github.com/xw-hu/CUHK-Shadow#cuhk-shadow-dateset.

Evaluation Function

Please find the evaluation function at https://github.com/xw-hu/CUHK-Shadow#cuhk-shadow-evaluation.

fsdnet's People

Contributors

xw-hu avatar

Stargazers

Prabhu Kumar avatar  avatar EmilyM avatar  avatar  avatar donghyun han avatar  avatar Guangcan MAI avatar  avatar WANG, Tianyu avatar Levin Dabhi avatar Cui avatar  avatar Jingwei avatar Hieu Le avatar

Watchers

James Cloos avatar  avatar

fsdnet's Issues

模型对比

你好,请问论文中与其他方法对比时,有否改变他们的backbone为MobileNet V2来跟你的保持一致,还是用他们原本的?还有能否上传一下你方法得到的检测图,谢谢!

Run on the PyTorch 1.3+

  1. nets.py: return irnn()(input, self.up_weight.weight....) -> return irnn().forward(input, self.up_weight.weight....)
  2. irnn.py: @cupy.util.memorize(...) -> @cupy.memorize(...)

About loss function

Hello,

firstly thanks for the work.

I have a question for the loss function. Here you use the L1 loss instead of cross entropy loss. Is there any specific reason for this? From my side, shadow detection is more like a pixel-wise classification task rather than regression task. And I've also checked your previous DSC paper, there you used the weighted BCE loss. So just a little bit curious why you changed it to L1 loss.

there is no change before and after high_level_feat send into irnn,is there something wrong with irnn.py?

class Spacial_IRNN(nn.Module):
def init(self, in_channels, alpha=1.0):
super(Spacial_IRNN, self).init()
...
self.left_weight.weight = nn.Parameter(torch.tensor([[[[alpha]]]] * in_channels))
...
according to your paper,alpha is a parameter of gate map G to measure the importance of the detail structures based on the distance between the DSC feature and low-level feature,but it seems that u didnt use alpha in the following code?or maybe i didnt find it,can u give some clues?

network models in net.py

Hi,

First, thanks for publishing your code. It is easy to understand your code. However, I think that there are some unnecessary network models in the net.py. Probably, they are used in the development phase to measure performance of different architectures. In my view, we don't need the following network models to run the FSDNet:

class ShadowNetUncertaintyGuide(nn.Module):
class basic_ASPP_DSC(nn.Module):
class basic_ASPP(nn.Module):
class basic_DSC(nn.Module):
class ShadowNet(nn.Module):
class ShadowNet2(nn.Module):

Maybe, you can explain the purpose of those networks to me?

In addition, I could not find "DEM" in your FSDNet's architecture. Instead, a decoder is called x = self.decoder(dsc, low_level_feat, middle_level_feat,x) # 256,256,256,256 on line 503 in the net.py before getting the ouput. Can you tell me where the DEM is?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.