chrismolli / uncertainty-in-image-seg

Experimenting with Uncertainty Quantification of Image Segmentation Tasks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

uncertainty-in-image-seg

Experimenting with Uncertainty Quantification in Image Segmentation Tasks. The project is based on the Satellite Images of Water Bodies dataset, which is available on Kaggle.

TL;DR

The predictive uncertainty of a model let's us take insight in the confidence of a model's inference. This enables us to build safer ML systems, and makes entailing decisions more transparent by giving explicit information on how well the input data has been represented during training.

Theory

The uncertainty of our model is parted in two categories, which sum up to what is called predictive uncertainty (PU).

  • Aleatoric Uncertainty (AU); Occurring as a noise in our observations, either homogenously or locally.
  • Epistemic Uncertainty (EU); Occurring through biased datasets and can be decreased by adding more samples.

They are various ways to estimate these terms; This notebook uses MC dropout to estimate the present epistemic uncertainty. For more detailed insight on different techniques under research check out [Abdar2021].

Results

A modified version of the U-Net model [Ronneberger2015] was used to estimate the epistemic uncertainty present in a Earth Observation dataset. It is enhanced using batch normalization for better performance and combined with spatial dropout to allow for estimation of the EU term. The task of the model is to create a binary classification, segregating water and non-water areas in the input image. The model is trained using BCE loss and a Nadam optimizer.

Some of the results are shown below. Check the notebook on Kaggle for the full results.

About

Experimenting with Uncertainty Quantification of Image Segmentation Tasks.

License:MIT License


Languages

Language:Jupyter Notebook 100.0%