Skip to content
Convergent-FzxPublic

About

ml,dl on dataset, methods to improve the perforamnce on imbalanced dataset

Resources

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

Aerial Image Classification on SkyView Dataset

This repository contains code for aerial landscape image classification using the SkyView dataset. The project explores both traditional machine learning approaches and deep learning models, with additional experiments on handling imbalanced (long-tail) datasets.

Dataset

The project uses the SkyView dataset, which contains aerial images of various landscape categories.

Methods Implemented

Feature Extraction

  • Shift (image transformations)
  • Local Binary Patterns (LBP)

Traditional Machine Learning

  • Support Vector Machine (SVM)
  • K-Nearest Neighbors (KNN)
  • Random Forest

Deep Learning

  • ResNet
  • EfficientNet

Imbalanced Data Handling

  • Long-tail distribution experiments

Requirements

  • Python 3.8+
  • PyTorch >= 2.0.0
  • pandas
  • torchvision
  • OpenCV
  • scikit-learn
  • scikit-image
  • matplotlib
  • seaborn
  • jupyterlab
pip install torch torchvision opencv-python scikit-learn scipy matplotlib seaborn numpy scikit-image jupyterlab

How to run

  1. Go into the project directory and make a directory called res to save the results

      makedir res
  2. Change the img_dir in each file to the actual directory saving Aerial Landscapes dataset, if you have clone the repo from github then this is not necessary

  3. Run those code blocks in jupyter notebooks

Code Attribution

This project is primarily composed of original work by the team. However, several open-source libraries and references were used to support implementation and experimentation. Below is a list of tools and external resources used:

Libraries & Tools

  • PyTorch – Deep learning framework used to implement and train ResNet and DenseNet models.
  • Torchvision – Used for pretrained models and image transformations.
  • OpenCV – For implementing SIFT and other image processing utilities.
  • Scikit-learn – For traditional ML models such as SVM, KNN, and Random Forest.
  • Imbalanced-learn – Techniques used to handle class imbalance (e.g., oversampling).
  • Matplotlib and Seaborn – For data visualization.

Reference Materials & Tutorials

All external resources are used in accordance with their respective licenses and are credited accordingly in code comments where applicable.

About

ml,dl on dataset, methods to improve the perforamnce on imbalanced dataset

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages