Monitoring Changes in Surface Water Using Satellite Image Data

Time series data, Image segmentation, CNN, Auto Decoder, UNet
Daniel Buscombe
8 weeks · 5-8 hours per week
In this liveProject, you’ll fill the shoes of a data scientist at UNESCO (United Nations Educational, Scientific and Cultural Organization). Your job involves assessing long-term changes to freshwater deposits, one of humanity’s most important resources. Recently, two European Space Agency satellites have given you a massive amount of new data in the form of satellite imagery. Your task is to build a deep learning algorithm that can process this data and automatically detect water pixels in the imagery of a region. To accomplish this, you will design, implement, and evaluate a convolutional neural network model for image pixel classification, or image segmentation. Your challenges will include compiling your data, training your model, evaluating its performance, and providing a summary of your findings to your superiors. Throughout, you’ll use the Google Collaboratory (“Colab”) coding environment to access free GPU computer resources and speed up your training times.

project author

Daniel Buscombe
Daniel Buscombe is a geosciences researcher with 16 years experience applying innovation in computation, geostatistics, and machine learning to problems in coastal and hydraulic engineering, geophysics, hydrology and geomorphology. He has written many articles on the application of stochastic statistics, machine learning and artificial intelligence. Dan has a PhD in nearshore oceanography from the University of Plymouth, UK.


This course is for intermediate Python programmers who know basic data science techniques. You’ll augment your skills with some cutting-edge machine learning methods in demand across industry.

This course is for intermediate Python programmers. To begin this liveProject, you will need to be familiar with:

  • Basic Jupyter
  • Intermediate NumPy
  • Intermediate Matplotlib
  • Basic SciPy
  • Basic pandas
  • Intermediate Python package installation using conda and pip
  • Basics of neural networks or multi-layer perceptrons
  • Basic concepts in using digital imagery for environmental monitoring

you will learn

In this liveProject, you’ll learn to build a large-scale deep learning model to classify satellite imagery. You’ll develop techniques for handling satellite imagery data, performing geospatial operations on your data such as coordinating transformations, and optimizing model training algorithms by tuning model architecture, learning rates, loss functions and other model hyperparameters. These skills can easily be applied to a wide variety of deep learning tasks using imagery, and beyond.

  • Accessing cloud data servers to download satellite imagery
  • Manually creating your own ground truth data from imagery
  • Using the VGG-JSON image annotation format
  • Using Graphical Processing Unit (GPU) computation on Google Colab
  • Merging imagery and performing operations on raster datasets
  • Using Keras and TensorFlow for deep learning
  • Evaluating model performance by comparing estimated and observed results
  • Data augmentation for boosting model training
  • Optimizing model performance using experimentation
  • Understanding model performance metrics (such as Dice and Jaccard scores)


You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Peer support
Chat with other participants within the liveProject platform.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
Book and video resources
Excerpts from Manning books and videos are included, as well as references to other resources.

project outline


Prerequisites Test

Get Started

1. Getting Started

1.1. Getting Started

1.2. Reading and Writing Raster Data

1.3. Working with Raster Data

1.4. Map Algebra with NumPy and SciPy

1.5. Submit Your Work


2. Data Acquisition and Pre-processing

2.1. Data Acquisition and Pre-processing

2.2. Introduction to Spatial Reference Systems

2.3. Using Spatial References with Pyproj

2.4. Submit Your Work


3. Enhancing and Segmenting Images

3.1. Enhancing and Segmenting Images

3.2. What is Deep Learning

3.3. Fairly Simple Neural Networks

3.4. Getting Started with Neural Networks

3.5. Fundamentals of Machine Learning

3.6. Welcome to Computer Vision

3.7. Deep Learning and Neural Networks

3.8. Convolutional Neural Networks

3.9. Submit Your Work


4. Model Training and Evaluation

4.1. Model Training and Evaluation

4.2. A Peek into Autoencoders

4.3. Object Detection with R-CNN, SSD, and YOLO

4.4. Introduction to Generative Modeling

4.5. Submit Your Work


5. Model Optimization

5.1. Model Optimization

5.2. Advanced Deep Learning Best Practices

5.3. Structuring Deep Learning Projects and Hyperparameters Tuning

5.4. Advanced CNN Architectures

5.5. Submit Your Work


6. Reporting to UNESCO

6.1. Reporting to UNESCO

6.2. Submit Your Work



Project Conclusions


placing your order...

Don't refresh or navigate away from the page.
liveProject $36.00 $60.00 self-paced learning
Monitoring Changes in Surface Water Using Satellite Image Data (liveProject) added to cart
continue shopping
go to cart

Prices displayed in rupees will be charged in USD when you check out.