sandybeachmapping_dl
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 3 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 (13.6%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: csiro
- License: other
- Language: R
- Default Branch: main
- Size: 1.5 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Mapping Sandy Beaches using Deep Learning
Mapping Australian sandy beaches using image segmentation deep learning method based on U-Net architecture.
Installation
git clone https://bitbucket.csiro.au/scm/~yon012/sandybeachmapping_dl.git
pip install -r requirements.txt
Quick Start
Download data: See Spatial processing and downloading of data
Run deep learning pipeline:
- Setup configs:
config/config.yaml - Run training:
$ python -m sandybeachmapping_dl.main - Run evaluation:
$ python -m sandybeachmapping_dl.main --config-name='config_eval.yaml'
Usage
Data folder layout and filename convention
- Folder:
<data_dir> - Filename convention:
<IMAGE_SOURCE>_<AUS_STATE>_<IMAGE_TYPE>_FID.tif<IMAGE_SOURCE>: Image source, e.g., from Bing<AUS_STATE>: Australian state<IMAGE_TYPE>: Eitherimage,mask, ormaskpred
Spatial processing and downloading of data
{R} scripts to tile and download images for input into {python} ML code, and then convert ML raster output to polygon vectors are found in the folder coast_tiling_extraction. The extraction scripts can be run for each Australian State (e.g. VIC).
- Not used
download_and_Tile_beach_images.Rtile the region of a OSM beach into n x m tiles covering the entire OSM beach id polygon. tile_beach_images.Rdefine 512 x 512 image tiles along the coastline of a Australian state (e.g. VIC). The tiles overlap, but tiles with more than 5 overlaps are removed (rs > thr).download_tile_images.Rdownload the aerial images for each 512 x 512 tile in previous step.mask_tile_images.Rrasterise the binary "mask" of the OSM beach polygons for each image tile in the previous step.- Not used
mask_tile_images_BeachCliffsSea.Rmake a classified mask to include a cliff and beach mask.
- Not used
polygonise_ml_output_maskpred.Rconvert the ML output rasters to polygon vectors, to compare to OSM beaches.
Output files from main script
- Select test set to evaluate in configs:
test_imagesetmask: Test images with masksmask+nomask: Test images with masks and images without masksall: All images, including from training, validation and testing. Outputs will be in<maskpred_subdir>_all.
<output_dir>/<maskpred_subdir>/: GeoTiff of predicted masks<output_dir>/<maskpred_subdir>_polygons.shp.zip: Shapefile of predicted masks- In
<modelout_dir>/:model.pth: Trained modelloss_metric.pkl: Loss metrics
Authors
Suk Yee Yong (sukyee.yong@csiro.au)
Julian O'Grady (julian.ogrady@csiro.au)
About
This project is being developed as part of Scientific Computing Collaboration Project 2024H1 for ERRFP 1343: Machine Learning Methods to Identify Australian Beaches from a Citizen Science derived training data.
Acknowledgements
Dataset of OpenStreetMap (OSM) beaches is created using overpass API.
Open source packages used: PyTorch, SMP, terra
Citation
If you find this repository useful, please cite the paper:
bibtex
@article{yong2024sandybeachmappingdl,
author = {Yong, Suk Yee and O'Grady, Julian and Gregory, Rebecca and Lynton, Dylan},
doi = {10.3390/rs16183534},
issn = {2072-4292},
journal = {Remote Sensing},
number = {18},
title = {Regional-Scale Image Segmentation of Sandy Beaches in Southeastern Australia},
url = {https://www.mdpi.com/2072-4292/16/18/3534},
volume = {16},
article-number = {3534},
year = {2024},
}
License
CSIRO Open Source Software Licence Agreement (variation of the BSD / MIT License)
Owner
- Name: CSIRO
- Login: csiro
- Kind: organization
- Location: Australia
- Repositories: 2
- Profile: https://github.com/csiro
CSIRO public facing GitHub organisation.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Yong"
given-names: "Suk Yee"
orcid: "https://orcid.org/0000-0002-5204-2902"
- family-names: "O'Grady"
given-names: "Julian"
orcid: "https://orcid.org/0000-0003-3552-9193"
title: "SandyBeachMapping_DL"
version: 0.0.1
doi: 102.100.100/636534
date-released: 2024-07-26
url: "https://github.com/csiro/sandybeachmapping_dl"
preferred-citation:
type: article
authors:
- family-names: "Yong"
given-names: "Suk Yee"
orcid: "https://orcid.org/0000-0002-5204-2902"
- family-names: "O'Grady"
given-names: "Julian"
orcid: "https://orcid.org/0000-0003-3552-9193"
- family-names: "Gregory"
given-names: "Rebecca"
orcid: "https://orcid.org/0000-0003-0137-1578"
- family-names: "Lynton"
given-names: "Dylan"
doi: "10.3390/rs16183534"
journal: "Remote Sensing"
number: 3534
title: "Regional-Scale Image Segmentation of Sandy Beaches in Southeastern Australia"
volume: 16
year: 2024
GitHub Events
Total
- Push event: 6
Last Year
- Push event: 6
Dependencies
- geopandas ==0.14.
- hydra-core ==1.3.
- matplotlib ==3.8.
- numpy ==1.26.
- pandas ==2.2.
- rasterio ==1.3.
- scikit-learn ==1.4.
- scipy ==1.12.
- segmentation-models-pytorch ==0.3.3
- torch >=2.6.0