IsThisWater is a web app that detects the existence of any surface water (rivers, lakes, oceans, etc.) within a square satellite image of the surface of the Earth.
One of the most important concerns with climate change is the increasing scarcity of freshwater sources. One of the ways that technology can be used to mitigate this problem is understanding where and how much water exists on the surface of the Earth. Convolutional neural networks have been used successfully in the past to identify and map surface water from Landsat images, as explained in studies like this and this.
This project is a work in progress:
- Create data labelling app
- Create water detection frontend
- Label 2000-3000 images
- Build convnet model
- Perform data augmentation and train model on the images
- Connect frontend with model prediction endpoint in backend
- Clone the repo.
pipenv installinside the cloned repo.
How to use the data labelling app
download_base_images.ipynbto download satellite images from Mapbox at zoom level 15 for each of the sites. The images are saved locally at the location dictated by the
data_labelling/app.pywith Python 3 to open the data labelling app at
localhost:5000. The app will automatically load each image using an iterator in the backend.
For each image, click either "No", "Yes", or "Ignore" to label the image. The image will be moved to the appropriate folder inside the
staticfolder, and the next image will load.
Close the app when all the images are labelled.