{"id":18573551,"url":"https://github.com/prs-eth/sentinel_lakeice","last_synced_at":"2025-04-10T07:32:09.587Z","repository":{"id":39728670,"uuid":"258627492","full_name":"prs-eth/sentinel_lakeice","owner":"prs-eth","description":"[ISPRS Congress 2020] Lake Ice Detection from Sentinel-1 SAR with Deep Learning (Deeplabv3+, Tensorflow). The data was collected from Google Earth Engine platform.","archived":false,"fork":false,"pushed_at":"2023-03-24T22:35:04.000Z","size":4523,"stargazers_count":36,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T18:11:23.569Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://prs.igp.ethz.ch/research/current_projects/integrated-lake-ice-monitoring-and-generation-of-sustainable--re.html","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prs-eth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-24T21:23:24.000Z","updated_at":"2025-02-28T03:40:56.000Z","dependencies_parsed_at":"2024-11-06T23:10:53.997Z","dependency_job_id":"b62f2be0-30ae-4d41-8517-2a10f5970c18","html_url":"https://github.com/prs-eth/sentinel_lakeice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2Fsentinel_lakeice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2Fsentinel_lakeice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2Fsentinel_lakeice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2Fsentinel_lakeice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prs-eth","download_url":"https://codeload.github.com/prs-eth/sentinel_lakeice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248176441,"owners_count":21060065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T23:10:49.720Z","updated_at":"2025-04-10T07:32:08.658Z","avatar_url":"https://github.com/prs-eth.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lake Ice Detection from Sentinel-1 SAR with Deep Learning\n\nThis repository contains the source code (tensorflow) and pre-trained model corresponding to the paper:\u003cbr\u003e\n\n\u003e[Lake Ice Detection from Sentinel-1 SAR with Deep Learning](https://www.isprs-ann-photogramm-remote-sens-spatial-inf-sci.net/V-3-2020/409/2020/) (presented at the ISPRS Congress, 2020, virtual conference)\u003cbr\u003e\n\u003e by Manu Tom, Roberto Aguilar, Pascal Imhof, Silvan Leinss, Emmanuel Baltsavias and Konrad Schindler\n\n![segmentation_sar](figures/qual_tran_sils.jpg)\n\nThis work is part of the [Lake Ice Project (Phase 2)](https://prs.igp.ethz.ch/research/current_projects/integrated-lake-ice-monitoring-and-generation-of-sustainable--re.html) funded by MeteoSwiss in the GCOS Switzerland framework. Here is the link to [Phase 1](https://prs.igp.ethz.ch/research/completed_projects/integrated-monitoring-of-ice-in-selected-swiss-lakes.html) of the same project.\n\nNote that:\u003cbr\u003e\n* Our Sentinel-1 SAR semantic segmentation system is based on [Deeplab v3+](https://arxiv.org/pdf/1802.02611.pdf).\n* Rasters corresponding to Sentinel-1 SAR \nwere downloaded from [Google Earth Engine (GEE)](https://earthengine.google.com/)\n\n## Pre-trained model\n[Download](https://share.phys.ethz.ch/~pf/tommdata/Sentinel-1_SAR/pre-trained-model.zip) the Deeplab v3+ network weights (~105MB) pre-trained on our SAR dataset.\n\n## Dependencies\n\nThe required libraries can be installed by running\n\u003e pip install -r requirements.txt\n\n## General syntax for running our model\n\u003e * cd models/research/deeplab\n\u003e * bash train_and_val_sar_ice.sh \u003cdataset_name\u003e \u003cexperiment_name\u003e \u003cnetwork_type\u003e \u003cvalidation_mode\u003e\n\n#### More details on \u003cdataset_name\u003e:\nA sample dataset \"2016_17_2017_18_vv_vh_sils_silvaplana_stmoritz_2016_17\" is provided in:\n\u003emodels/research/deeplab/datasets/sar_ice\n\nIts name follows this convention:\n\u003e\\\u003cwinter1\\\u003e\\_\\\u003cwinter2\\\u003e\\_\\\u003cband1\\\u003e\\_\\\u003cband2\\\u003e\\\u003clake1\\\u003e\\_\\\u003clake2\\\u003e\\_\\\u003clakeN\\\u003e\\_\\\u003cvalidationset\\\u003e\n\nIt was generated with the script \n\u003edata_scripting/preprocessing_sar.ipynb\n\nand is split in the following folders:\n\n- dataset_2016_17_2017_18_vv_vh_sils_silvaplana_stmoritz_2016_17\n    - ImageSets: training and validation file list\n    - JPEG images: RGB composite with SAR images, VV -\u003e red, VH -\u003e green\n    - SegmentationClass: pixel-wise ground truth. non-frozen -\u003e red, frozen -\u003e blue, background -\u003e white\n- tfrecord_2016_17_2017_18_vv_vh_sils_silvaplana_stmoritz_2016_17\n\n#### Options for \u003cnetwork_type\u003e:\n\u003emobilenet_v2, \n\u003eXception-65\n\n#### Options for \u003cvalidation_mode\u003e:\n\u003eV (Testing only), \n\u003eTV (Training and testing)\n\n## To reproduce our results of leave one winter out experiment (train on w2017-18 and test on w2016-17) without training the network:\n- Download the dataset from GEE platform (we cannot provide the dataset due to copyright reasons) and extract it in: models/research/deeplab/datasets\n(Note that, we processed all the available data from the beiginning of September till end of May in each winter)\n- [Download](https://share.phys.ethz.ch/~pf/tommdata/Sentinel-1_SAR/pre-trained-model.zip) the Deeplab v3+ model (~105MB) pre-trained on our SAR dataset. \n\nRun:\n\n\u003e bash train_and_val_sar_ice.sh 2016_17_2017_18_vv_vh_sils_silvaplana_stmoritz_2016_17 2016_17_regionsils mobilenet_v2 V\n\nFolder structure:\n    - Input weights shall be placed in *train* subfolder\n    - Output visualization images will be stored in *vis* subfolder\n\nTakes ~30 min on GPU Quadro M1200\n\nResults are stored in models/research/deeplab/datasets/sar_ice/exp_2016_17_regionsils\n\n**Note:**  An entry with the name and size of 2016_17_2017_18_vv_vh_sils_silvaplana_stmoritz_2016_17 dataset has been already added to the models/research/deeplab/datasets/segmentation_dataset.py file. In case of adding a new dataset, an entry needs to be included in this file.\n\n## To train a model\n\n\u003e bash train_and_val_sar_ice.sh 2016_17_2017_18_vv_vh_sils_silvaplana_stmoritz_2016_17 2016_17_regionsils mobilenet_v2 TV 0.001 40000 1 8 129\n-----\n#####  Training parameters:\n- Dataset: 2016_17_2017_18_vv_vh_sils_silvaplana_stmoritz_2016_17\n- Output folder (same as experiment name): 2016_17_regionsils\n- Network: mobilenet_v2\n- TV: validation mode\n- Initial learning rate: 0.001\n- Number of steps: 40000\n    - This hyperparameter needs to be tuned when adding a new lake\n- Atrous rate: 1 -\u003e it generates a [1,2,3] value\n- Batch size: 8\n- Patch size: 129 -\u003e it generates a 129x129 pixels window\n\nTakes ~8 hours on GeForceGTX1080Ti\n\n## Downloading from Google Earth Engine\n\nAn example code to download the images of lake Sils from winter 2017-18 (with VV polarisation) is available on: https://code.earthengine.google.com/?scriptPath=users%2Frobertoaguilar%2Flakeice%3Asentinel1. You will need to create a GEE account.\n\n* To download several images, run the script: data_scripting/gee_browser.js on the browser once GEE tasks are ready (after running the downloading script).\n\n## Citation\n\nKindly cite our paper, if you use this project in your research:\n\n\u003e @article{tom_aguilar_2020:isprs,\u003cbr\u003e\n\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;author    = {Manu Tom and Roberto Aguilar and Pascal Imhof and Silvan Leinss and Emmanuel Baltsavias and Konrad Schindler},\u003cbr\u003e\n\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;title     = {Lake Ice Detection from Sentinel-1 SAR with Deep Learning},\u003cbr\u003e\n\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;journal   = {ISPRS Ann. Photogramm. Remote Sens. Spatial Inf. Sci.},\u003cbr\u003e\n\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;year      = {2020},\u003cbr\u003e\n\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;volume    = {V-3-2020},\u003cbr\u003e\n\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;pages     = {409--416},\u003cbr\u003e\n}\n\n## Useful links\n1. Multi-sensor lake ice monitoring with machine (deep) learning. [Project github page](https://github.com/czarmanu/lake-ice-ml).\n2. Lake ice monitoring with webcams and crowd-sourced images with Deep-U-Lab. [Github repo (tensorflow code, pre-trained model)](https://github.com/czarmanu/deeplab-lakeice-webcams). \n3. Tom, M., Suetterlin, M., Bouffard, D., Rothermel, M., Wunderle, S., Baltsavias, E., 2019. [Integrated monitoring of ice\nin selected Swiss lakes](https://arxiv.org/abs/2008.00512). Final Project Report\n4. Tom et al. 2020, [Ice monitoring in Swiss lakes from optical satellites and webcams using machine learning](https://www.mdpi.com/2072-4292/12/21/3555), MDPI Remote Sensing, 12(21), 3555\n5. . Tom, M., Wu, T., Baltsavias, E., Schindler, K., 2021. Recent Ice Trends in Swiss Mountain Lakes: 20-year Analysis of MODIS Imagery. [Paper](https://arxiv.org/abs/2103.12434)\n6. . Tom, M., Jiang, Y., Baltsavias, E., Schindler, K., 2021. Learning a Sensor-invariant Embedding of Satellite Data: A Case Study for Lake Ice Monitoring. [Paper](https://arxiv.org/abs/2107.09092)\n7. . Tom, M., Suetterlin, M., Bouffard, D., Rothermel, M., Wunderle, S., Baltsavias, E., 2019. [Integrated monitoring of ice\nin selected Swiss lakes](https://arxiv.org/abs/2008.00512). Final Project Report\n8. Tom, M., Baltsavias, E., Schindler, K., 2020. [Integrated Lake Ice Monitoring and Generation of Sustainable, Reliable, Long Time-Series](https://ethz.ch/content/dam/ethz/special-interest/baug/igp/photogrammetry-remote-sensing-dam/documents/pdf/Misc/Lake_Ice_Project_Final_Report.pdf). Final Project Report\n\n\n## Licence\n\nMIT License\n\nCopyright (c) 2020 ETH Zurich\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nAuthor: Manu Tom\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprs-eth%2Fsentinel_lakeice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprs-eth%2Fsentinel_lakeice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprs-eth%2Fsentinel_lakeice/lists"}