Giter VIP home page Giter VIP logo

msresnet-via-ssls_shuizhifenlei's Introduction

๐ŸŒŠ MSResNet-via-SSL

๐Ÿ“„ Paper

MSResNet: Multi-Scale Residual Network via Self-Supervised Learning for Water-Body Detection in Remote Sensing Imagery
โ— Our paper are available at link (Open Access)

๐Ÿ”‘ Abstract

Driven by the urgent demand for flood monitoring, water resource management and environmental protection, water-body detection in remote sensing imagery has attracted increasing research attention. Deep semantic segmentation networks (DSSNs) have gradually become the mainstream technology used for remote sensing image water-body detection, but two vital problems remain. One problem is that the traditional structure of DSSNs does not consider multiscale and multishape characteristics of water bodies. Another problem is that a large amount of unlabeled data is not fully utilized during the training process, but the unlabeled data often contain meaningful supervision information. In this paper, we propose a novel multiscale residual network (MSResNet) that uses self-supervised learning (SSL) for water-body detection. More specifically, our well-designed MSResNet distinguishes water bodies with different scales and shapes and helps retain the detailed boundaries of water bodies. In addition, the optimization of MSResNet with our SSL strategy can improve the stability and universality of the method, and the presented SSL approach can be flexibly extended to practical applications. Extensive experiments on two publicly open datasets, including the 2020 Gaofen Challenge water-body segmentation dataset and the GID dataset, demonstrate that our MSResNet can obviously outperform state-of-the-art deep learning backbones and that our SSL strategy can further improve the water-body detection performance.

โญ Introduction & Graphical abstract

GA

๐Ÿ”ท Training

  • Download the code we released and then configure the python (Python 3.7) and deep learning environment (Pytorch 1.7.1).

    git clone https://github.com/Jack-bo1220/MSResNet-via-SSL.git
  • Prepare the training dataset, including images and the corresponding binary ground truth labels (distinguish between water and non water).

  • Add the file path of training dataset images (dir_img) and labels (dir_mask) to the training script (train.py, line 17-18). In addition, if you need to use our proposed self-supervised learning method, you also need to add the file path of the unlabeled images to the ./utils/dataset_2.py, line 60.

  • The in_channels of our proposed MSResNet (./network/MSResNet.py, line 139) needs to be changed according to the number of bands of the training data. (default is 3)

  • Run training script.

    python train.py -e $max_epoch -b $batch_size -l $learning_rate -f $pretrained_weights
    
  • Add the file path of the validation dataset and inferencing results in the corresponding position in the validation script (predict_fwiou.py, line 107 117 163 166), so as to select the optimal model according to the performance of the validation dataset during the training process.

๐Ÿ”ถ Testing

  • Download the pretrained model (extraction code: 2020) we released or train own dataset to get the appropriate inference weight. ๏ผˆThe pretrained model is trained by the 2020 Gaofen Challenge water-body segmentation dataset including RGB bands.๏ผ‰
  • Run testing script.
    python predict.py -m $model_checkpoint -i $input_dir -o $output_dir
    
  • Add the file path of inference results (path1) and test dataset labels (path2) in FWIoU2.py, line 54 56. Test segmentation accuracy. ๏ผˆoptional๏ผ‰
    python FWIoU2.py
    

โœ”๏ธ Citation

If you find our source code helpful in your work, please cite the following papers:

[1] Dang, B.; Li, Y. MSResNet: Multiscale Residual Network via Self-Supervised Learning for Water-Body Detection in Remote Sensing Imagery. Remote Sens. 2021, 13, 3122. https://doi.org/10.3390/rs13163122
[2] Li, Y., Shi, T., Zhang, Y., Chen, W., Wang, Z., & Li, H. (2021). Learning deep semantic segmentation network under multiple weakly-supervised constraints for cross-domain remote sensing image semantic segmentation. ISPRS Journal of Photogrammetry and Remote Sensing, 175, 20-33. https://doi.org/10.1016/j.isprsjprs.2021.02.009

๐Ÿ˜ƒ Contact

If you have any questions about it, please feel free to let me know. (:email: email:[email protected])

msresnet-via-ssls_shuizhifenlei's People

Contributors

jack-bo1220 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.