I am currently a student in the fast.ai practical deep learnign for coders v5 class and after the first week I took Jeremy's advice to just try to complete some small project using the material covered so far in lesson 1.

Therefore, I humbly present FastClouds

This is not meant to be a serious project and is just for my own learning experience.

The Problem

On ground observations are a key part to weather forecasting. Most observations are taken by autonomous systems but there are still a few routine observations that are done manually by a human. One of these is cloud type classification.

This manual observation is currently done is at major airports around Australia. At these airports one or more highly knowledgeable and accredited aerodrome weather observers is stationed to take manual weather observations on a fixed schedule throughout each day. But, having such specialized observers at all airports all of the time is not cost effective or realistically feasible, especially for remote locations (e.g. uninhabited islands or infrequently used aerodromes). Therefore many of these remote or small areas miss out on observations and perhaps receive lower quality situational awareness and forecasts as a result.

The Solution

Using deep learning and image classification techniques to classifying cloud types from photographs seemed to me a very plausible solution to this problem. Therefore, after the Fastai course v5 lecture 1 I thought I'd try to do exactly that using a visual learner example Jeremy provided as my starting point.

This algorithm uses a resnet and transfer learning as per the original notebook - [is-it-a-bird] -(https://www.kaggle.com/code/jhoward/is-it-a-bird-creating-a-model-from-your-own-data) but it uses three broad categories of clouds instead of just birds vs forests. These classes were chosen as per the work of Luke Howard in "Essay of the Modifications of Clouds" (1803).

This is an image from: https://www.weather.gov/jetstream/corefour

In order to create a data set duckduckgo was searched for the terms: cirrus clouds, cumulus clouds, stratus clouds. here is an example batch of images used in the training:

The Notebook

This notebook is sitting on Kaggle as it has a nice (e.g. free...) gpu backend that allows you to run this model should you wish to poke around.

So, here it is for you to enjoy - https://www.kaggle.com/robtheoceanographer/fastclouds


While this is very basic demo and only about 70% accurate, it shows great potential for automating some of the cloud type observing in remote regions of Australia where there is currnetly limited or no human observer coverage, and therefore this work might benifit from future work.

I'd love ideas, feedback, and suggestions should anyone have any.