Cloud Type Classification with Camera CNNs

Cloud Type Classification with Camera CNNs

ISEF Category: Earth and Environmental Sciences

Ready to Turn This Idea Into a Real Project?

This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

Subcategory: Atmospheric Science  ·  Difficulty: Advanced  ·  Setup: University Lab  ·  Time: Full Year

The Hook

Clouds look simple, but they are one of the hardest things to measure from the ground. A thin layer can hide the sun for you and barely register on a satellite. That gap makes cloud data messy, and messy data is a real problem for weather, climate, and citizen science.

What Is It?

This project asks you to teach a computer to identify cloud genera from all-sky images. Cloud genera are the broad cloud types, like cumulus, stratus, and cirrus. You use a Raspberry Pi camera to capture the sky, then a CNN, or convolutional neural network, to sort each image into cloud classes.

Think of it like training a friend to spot animals in photos. First, they need examples. Then they learn patterns, like shape, texture, and brightness. Your model does the same thing, but for cloud cover and cloud type. After that, you compare your ground-based labels with MODIS cloud-type products, which are satellite measurements from NASA, to see where the two sources agree and where they do not.

That comparison can reveal bias. For example, a ground camera may see thin clouds that a satellite misses, or a satellite may capture broad patterns that a single camera cannot. Your final map can show how cloud observations differ by location, time of day, or sky condition.

Why This Is a Good Topic

This topic works well for a science fair because you can turn images into numbers, compare two data sources, and test a clear question. You are not just making a classifier. You are checking how well ground-level observation matches satellite products, which connects to weather, climate tracking, and citizen science. You can also keep improving the project by adding more cloud classes, better labels, or stronger validation.

Research Questions

  • How does a CNN’s cloud genus accuracy change when you train it on images from different seasons?
  • What is the effect of camera angle or lens field of view on cloud-classification agreement with MODIS?
  • Does adding sun position or time of day as a feature improve cloud genus prediction accuracy?
  • To what extent do ground-based all-sky labels differ from MODIS cloud-type products for thin or broken clouds?
  • Which cloud genera produce the largest mismatch between local camera labels and satellite classifications?
  • How does image quality, such as haze or glare, affect false cloud-type predictions?

Basic Materials

  • Raspberry Pi with camera module or equivalent all-sky camera setup.
  • Weatherproof housing or dome for the camera.
  • Tripod, pole mount, or stable rooftop mount.
  • Laptop or desktop computer for model training.
  • SD card and power supply for the Raspberry Pi.
  • Internet access for downloading MODIS data and documentation.
  • Notebook or spreadsheet for manual cloud labels.
  • Free storage account for image archives.

Advanced Materials

  • Calibrated all-sky camera system with known field of view.
  • Raspberry Pi or edge device for real-time inference.
  • Reference sky imager or hemispherical lens setup.
  • Access to ground truth labels from trained observers or a local weather station.
  • Computer with a GPU for CNN training.
  • Data storage for large image sets and satellite files.
  • GIS software for spatial bias mapping.
  • Access to MODIS cloud products through NASA data portals.

Software & Tools

  • Python: Runs image processing, data cleaning, model training, and evaluation scripts.
  • OpenCV: Processes sky images, crops frames, and prepares inputs for the model.
  • TensorFlow or PyTorch: Trains the CNN that classifies cloud genera.
  • ImageJ: Helps inspect image quality and compare brightness patterns across samples.
  • QGIS: Maps bias patterns and compares camera results with satellite coverage.

Experiment Steps

  1. Define the cloud classes you will label and decide how much sky coverage each class must have before you count an image as usable.
  2. Plan a consistent imaging setup so your camera sees the same patch of sky in the same way each day.
  3. Build a labeling scheme that links each image to a single cloud class or a small set of mixed classes.
  4. Choose a model architecture and decide how you will split images into training, validation, and test sets.
  5. Design a comparison method that matches your camera observations to MODIS products by location and time.
  6. Set up a bias analysis that tests when the two data sources disagree and whether those disagreements follow a pattern.

Common Pitfalls

  • Training on blurry or overexposed sky photos, which teaches the CNN the wrong visual cues.
  • Mixing images from the same day into both training and test sets, which inflates accuracy.
  • Using labels that are too broad, which hides real differences between cloud genera.
  • Comparing camera data and MODIS data without matching the observation time closely enough, which creates false disagreement.
  • Ignoring thin clouds and partly cloudy scenes, which can skew the bias map toward easy cases only.

What Makes This Competitive

A strong version of this project does more than report model accuracy. You compare multiple labeling schemes, test how errors change with sky conditions, and check whether bias shifts by season or cloud type. You also make the satellite comparison careful enough to answer when the ground camera is more reliable, and when MODIS is. That kind of analysis turns a computer vision project into a real atmospheric science study.

Project Variations

  • Use fish-eye images from a fixed rooftop camera and compare cloud genus agreement across morning, noon, and evening.
  • Train the CNN on one region, then test whether it transfers to a different climate or elevation.
  • Replace cloud genus labels with cloud fraction bins and study how well the model estimates total cloud cover.

Learn More

  • NASA MODIS Data Products: Search NASA Earthdata and the MODIS cloud product documentation for cloud optical, phase, and type datasets.
  • NOAA National Weather Service Cloud Chart: Use the cloud classification guide to review standard cloud genera and their visual features.
  • NASA Earthdata: Find satellite data access guides, product descriptions, and search tools for MODIS observations.
  • Journal of Applied Meteorology and Climatology: Search for papers on cloud classification, sky imaging, and remote sensing validation.
  • MIT OpenCourseWare Atmospheric Science materials: Use course notes on clouds, radiation, and remote sensing for background.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

To discover more projects, visit the MehtA+ Science Fair Project Discovery Hub​ →

Shopping Cart