Skip to content

Developed a CNN-based model for weather image classification to support early warning systems in sectors like transportation and agriculture. Designed for deployment in remote areas with limited infrastructure, the model enables real-time, automated 24/7 weather reporting as a complementary solution to existing forecasts.

Notifications You must be signed in to change notification settings

Bimantyo/Weather-Image-Classification-Using-EfficientNetB0-CNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

⛅ Weather Image Classification Using EfficientNetB0 (CNN)

Hello! I’m Bima, and this project is designed to classifies weather conditions using a Convolutional Neural Network (CNN), aiming to provide early warnings for situations that may impact transportation, agriculture, and other outdoor activities.

Rather than replacing official weather forecasting systems, this model is intended to complement existing solutions—particularly in remote areas with limited technological infrastructure and access to timely information. Equipped with automation capabilities, it is designed to deliver real-time, 24/7 weather updates, enabling users to access accurate and practical weather information anytime.

🛠️ Repository Outline

This repository contains the following files:

  1. README.md – General overview of the project.
  2. Milestone_4.ipynb – Main notebook for data processing and modeling
  3. Milestone_4_inference.ipynb = Notebook for running inference on new data.
  4. Deployment - Folder that contain files deployment on HuggingFace

👀 Problem Background

Weather is one of the most significant external factors influencing various sectors, including transportation, agriculture, tourism, and other outdoor activities. In many regions—particularly remote areas—access to accurate, up-to-date weather information remains limited due to infrastructure and technological constraints. Delays in obtaining weather data can have serious consequences on safety, operational efficiency, and productivity.

With advancements in computer technology, especially in the field of Computer Vision, the use of visual imagery to identify weather conditions has become increasingly feasible. One highly effective approach is the use of Convolutional Neural Networks (CNNs)—a deep learning algorithm capable of analyzing and recognizing patterns in image data with exceptional accuracy.

CNNs can automatically classify weather conditions from images of the sky or surrounding environments, offering the potential to create real-time, automated weather monitoring systems that can be deployed even in resource-limited areas.

This project leverages CNNs to develop a weather classification model aimed at providing early warnings and timely updates, serving as an alternative and complementary solution to conventional weather prediction systems.

📊 Project Highlights

  • The best-performing model in this project is one that implements Transfer Learning. By applying Transfer Learning with EfficientNet B0, the model’s performance improved significantly compared to the baseline model.
  • EfficientNet B0 is particularly well-suited for datasets of small to medium size. Based on the classification report, the Transfer Learning model achieved 95% accuracy on the test set, indicating that it effectively learned patterns and can accurately predict unseen data.
  • This CNN model is not intended to compete with advanced weather forecasting applications but rather to serve specific use cases, such as localized observations in areas not covered by sensors or existing applications.

💻 Data

The data source used comes from kaggle

The dataset contains data on certain weather conditions such as cloudy, rainy, sunny and conditions at sunrise with the following details.

  • Sunrise 357
  • Shine 253
  • Rain 215
  • Cloudy 300

🎯 Model Deployment

For model deployment can be accessed here

Usage Instructions

  1. Click the link provided below.
  2. In the navigation bar, switch to the Prediction section.
  3. Upload your images.
  4. The model will classify your images onto specific weather condition.

🛠 Tools & Skills

  • Python
  • pandas, numpy — data manipulation
  • matplotlib, seaborn — data visualization
  • scikit-learn - data processing
  • tensorflow - Modeling

👔 Let’s Get To Know Each Other!

I welcome any feedback, suggestions, or opportunities for collaboration. If you would like to connect or discuss ideas, feel free to reach out.

Bimantyo Arya Majid
Email | LinkedIn

About

Developed a CNN-based model for weather image classification to support early warning systems in sectors like transportation and agriculture. Designed for deployment in remote areas with limited infrastructure, the model enables real-time, automated 24/7 weather reporting as a complementary solution to existing forecasts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published