Giter Club home page Giter Club logo

dcsfn's Introduction

DCSFN: Deep Cross-scale Fusion Network for Single Image Rain Removal

Cong Wang*, Xiaoying Xing*, Yutong Wu, Zhixun Su , Junyang Chen โ€ 

<* Both authors contributed equally to this research. โ€  Corresponding author.>

This work has been accepted by ACM'MM 2020.

Abstract

Rain removal is an important but challenging computer vision task as rain streaks can severely degrade the visibility of images that may make other visions or multimedia tasks fail to work. Previous works mainly focused on feature extraction and processing or neural network structure, while the current rain removal methods can already achieve remarkable results, training based on single network structure without considering the cross-scale relationship may cause information drop-out. In this paper, we explore the cross-scale manner between networks and inner-scale fusion operation to solve the image rain removal task. Specifically, to learn features with different scales, we propose a multi-sub-networks structure, where these sub-networks are fused via a cross-scale manner by Gate Recurrent Unit to inner-learn and make full use of information at different scales in these sub-networks. Further, we design an inner-scale connection block to utilize the multi-scale information and features fusion way between different scales to improve rain representation ability and we introduce the dense block with skip connection to inner-connect these blocks. Experimental results on both synthetic and real-world datasets have demonstrated the superiority of our proposed method, which outperforms over the state-of-the-art methods.

Requirements

  • CUDA 9.0
  • Python 3.6 (or later)
  • Pytorch 1.1.0
  • Torchvision 0.3.0
  • OpenCV

Dataset

Please download the following datasets:

Setup

Please download this project through 'git' command.

$ git clone https://github.com/Ohraincu/DCSFN.git
$ cd config

Thanks to the code by Li et al., our code is also adapted based on this.

Training

After you download the above datasets, you can perform the following operations to train:

$ python train.py

You can pause or start the training at any time because we can save the pre-trained models in due course.

Testing

Pre-trained Models

[BaiduYun](pw:c3ri)

Quantitative and Qualitative Results

After running eval.py, you can get the corresponding numerical results (PSNR and SSIM):

$ python eval.py

If the visual results on datasets need to be observed, the show.py can be run:

$ python show.py

All the pre-trained model in each case is placed in the corresponding 'model' folder, and the 'latest_net' model is directly referenced by default.

Citation

@inproceedings{acmmm20_dcsfn,
	author    = {Cong Wang and Xiaoying Xing and Yutong Wu and Zhixun Su and Junyang Chen},
	title     = {DCSFN: Deep Cross-scale Fusion Network for Single Image Rain Removal},
	booktitle = {ACM International Conference on Multimedia},
	year      = {2020},
}

Contact

If you are interested in our work or have any questions, please directly contact my github. Email: [email protected] / [email protected]

dcsfn's People

Contributors

ohraincu avatar

Watchers

James Cloos avatar

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.