Module 8: Convolutional Neural Networks

What this module covers

This module covers (Fully) Convolutional Neural Networks (CNN) — for a long time the state-of-the-art for computer vision tasks like image classification, object detection, and image segmentation.

CNNs are similar in concept to fully connected ANNs (Module 7) but more efficient and more powerful. Instead of connecting every pixel to every hidden node, CNNs apply small kernels (e.g., 3x3 or 5x5 pixels) that act as learnable filters — edge detectors, texture detectors, and increasingly abstract pattern recognizers. By stacking many filters in hidden channels, a CNN learns complex visual patterns with far fewer parameters than an equivalent ANN.

Key properties that make CNNs powerful:

  • Sparse connectivity — each node only connects to a local patch, not the entire image
  • Weight sharing — the same filter is applied across the whole image
  • Translation invariance — a CNN can recognize a feature regardless of where it appears in the image

Materials

This module has one lecture and three practice exercises focused on geospatial satellite data. The practices are designed to be completed in order but are also self-contained.

Slides: Convolutional Neural Networks (pdf)

Lecture: Convolutional Neural Networks for Computer Vision — convolution operations, pooling, CNN architectures, and training strategies, with detailed interactive examples.

Practice exercises

  1. Working with Satellite Imagery — introduction to multispectral satellite data, loading and visualizing Sentinel-2 imagery, and preparing image data for ML
  2. EuroSAT Land-Cover Classification — train a CNN to classify Sentinel-2 satellite patches into land-use/land-cover categories
  3. Satellite Image Segmentation — pixel-level classification of satellite imagery using fully convolutional architectures
Tip

The CNN practice exercises benefit from GPU acceleration. If using Google Colab, switch to a GPU runtime via Runtime > Change runtime type > T4 GPU.

Prerequisites

Module 7 — artificial neural networks, backpropagation, and activation functions.