waterbody-detection-via-deep-learning
Source code for the paper, "Water Body Extraction from Sentinel-2 Imagery with Deep Convolutional Networks and Pixelwise Category Transplantation".
https://github.com/joshuabillson/waterbody-detection-via-deep-learning
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: mdpi.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.2%) to scientific vocabulary
Keywords
Repository
Source code for the paper, "Water Body Extraction from Sentinel-2 Imagery with Deep Convolutional Networks and Pixelwise Category Transplantation".
Basic Info
Statistics
- Stars: 16
- Watchers: 2
- Forks: 3
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md
Waterbody Detection Via Deep Learning
This project explores the application of deep learning to waterbody detection.
Dataset
https://drive.google.com/file/d/1faVYayxdNFGx2m0IxswDncoKmIxusdf7/view
Running The Script
To run the script, simply execute main.py with the index of the GPU you want to train with specified as an optional parameter. If no GPU is specified, the script will default to GPU 0.
bash
python3 main.py [GPU]
Configuration
The script expects an external file called config.json in which the use should specify the desired configuration. Below is an example of such a file and a table outlining the effects of each setting.
Example Configuration
json
{
"timestamp": 1,
"patch_size": 512,
"experiment_tag": "unet_multispectral",
"create_logs": true,
"train": true,
"test": true,
"experiments": 1,
"use_mixed_precision": true,
"hyperparameters": {
"model": "unet",
"bands": ["RGB", "NIR", "SWIR"],
"backbone": null,
"learning_rate": 0.00005,
"fusion_head": "naive",
"loss": "jaccard_bce",
"batch_size": 4,
"epochs": 50,
"apply_transfer": false,
"random_subsample": false,
"water_threshold": 0
}
}
Available Settings
| Setting | Effects | |---------------------|----------------------------------------------------------------------| | timestamp | The timestamp to use (1, 2 or 3) | | patchsize | The desired size of the generated patches | | experimenttag | The human-readable tag with which to lable the experiment | | createlogs | Indicates whether or not we want to create logs for the experiment | | train | Whether or not we want to run the training loop | | test | Whether or not we want to test the trained model on the test set | | experiments | Indicate the number of identical experiments we want to run | | usemixed_precision | Indicate the number of identical experiments we want to run |
Available Hyperparameters
| Hyperparameter | Effects | |------------------|-----------------------------------------------------------------------------------| | model | The model we want to use | | bands | The bands used as inpiut to the model | | backbone | The model of the pre-trained backbone we want to use | | learningrate | The learning rate used by the optimizer | | fusionhead | The type of fusion head to use to combine spectral bands | | loss | The loss to use during training | | batchsize | The size of batches used in training | | epochs | The number of epochs to train for | | applytransfer | Whether or not to apply the PCT water transfer method | | randomsubsample | Whether or not to randomly sample patches for training | | waterthreshold | The threshold at which to stop transplanting water bodies if apply_transfer=true |
Citation
Please cite our work if it is helpful for your research.
@article{rs15051253,
title={Water Body Extraction from Sentinel-2 Imagery with Deep Convolutional Networks and Pixelwise Category Transplantation},
author={Billson, Joshua and Islam, MD Samiul and Sun, Xinyao and Cheng, Irene},
journal={Remote Sensing},
volume={15},
year={2023},
number={5},
article-number={1253},
url={https://www.mdpi.com/2072-4292/15/5/1253},
issn={2072-4292},
doi={10.3390/rs15051253}
}
Owner
- Login: JoshuaBillson
- Kind: user
- Repositories: 8
- Profile: https://github.com/JoshuaBillson
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Billson" given-names: "JoshuaE" title: "Waterbody-Detection-Via-Deep-Learning" version: 1.0.0 date-released: 2022-08-04 url: "https://github.com/JoshuaBillson/Waterbody-Detection-Via-Deep-Learning"
GitHub Events
Total
- Watch event: 6
- Fork event: 2
Last Year
- Watch event: 6
- Fork event: 2
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0