Skip to content

DavideSalonico/DeepLearningChallenges

Repository files navigation

Deep Learning Challenges Collection

This repository contains code and solutions for various deep learning challenges from the Artificial Neural Networks and Deep Learning course at Politecnico di Milano across multiple academic years.

📚 Course Information

  • Course: Artificial Neural Networks and Deep Learning
  • Institution: Politecnico di Milano
  • Academic Years: 2023/2024, 2024/2025

🎯 Challenges Overview

This repository includes solutions to four different deep learning challenges covering various domains and techniques:

1. 🩸 Blood Cell Classification (AY 2024/2025)

Directory: BloodCellImage_MultiClassClassification/

  • Task: Multi-class classification of peripheral blood smears into 8 categories
  • Techniques: Transfer Learning with ConvNeXt, Test Time Augmentation, Custom CNNs
  • Dataset: 13,758 images (after removing 1,799 duplicates)
  • Best Result: Accuracy 0.9427, F1 Score 0.9385
  • Key Approaches: ImageNet pre-trained models, advanced data augmentation, hyperparameter optimization

2. 🔴 Mars Terrain Segmentation (AY 2024/2025)

Directory: MarsImage_Segmentation/

  • Task: Semantic segmentation of Mars terrain into 5 classes (Background, Soil, Bedrock, Sand, Big Rocks)
  • Techniques: Custom UNet architectures, Multipath encoders, Focal Loss
  • Dataset: 2,615 images (110 low-quality images removed)
  • Best Result: Mean IoU 0.74
  • Key Approaches: Multipath UNet, Squeeze-and-Excitation blocks, Optuna hyperparameter tuning

3. 🌱 Plant Health Classification (AY 2023/2024)

Directory: PlantImage_BinaryClassification/

  • Task: Binary classification of plant images (healthy vs unhealthy)
  • Techniques: Transfer Learning, Fine-tuning, Self-Supervised Learning
  • Dataset: Original dataset with 196 outliers removed
  • Best Result: 0.88 accuracy (Top 10% among 580+ participants)
  • Key Approaches: ConvNextLarge fine-tuning, comprehensive data augmentation

4. 📈 Time Series Forecasting (AY 2023/2024)

Directory: TimeseriesForcasting/

  • Task: Multi-step time series prediction
  • Techniques: MLPs, RNNs (GRU/LSTM), Conv1D, Seq2Seq, Transformers
  • Best Result: MSE 0.01008289 (Top 25% among 560+ participants)
  • Key Approaches: Hybrid Conv-LSTM architectures, autoregressive and direct prediction strategies

🛠️ Technologies & Frameworks

  • Deep Learning: TensorFlow/Keras, PyTorch
  • Computer Vision: OpenCV, PIL
  • Data Processing: NumPy, Pandas
  • Visualization: Matplotlib, Seaborn
  • Hyperparameter Optimization: Optuna
  • Augmentation: KerasCV

📁 Repository Structure

DeepLearningChallenges/
├── BloodCellImage_MultiClassClassification/
│   ├── notebooks/           # Jupyter notebooks for different approaches
│   ├── README.md           # Detailed challenge description
│   └── report.pdf          # Technical report
├── MarsImage_Segmentation/
│   ├── notebooks/           # Implementation notebooks
│   ├── README.md           # Challenge overview
│   └── report.pdf          # Technical documentation
├── PlantImage_BinaryClassification/
│   ├── Notebooks/          # Solution notebooks
│   ├── Images/             # Visual assets
│   ├── README.md           # Project details
│   └── Report_Challenge_1.pdf
├── TimeseriesForcasting/
│   ├── Notebooks/          # Various architecture implementations
│   ├── Images/             # Visualization assets
│   ├── README.md           # Challenge description
│   └── Report_Challenge_2.pdf
└── README.md              # This file

🎯 Key Learning Outcomes

Through these challenges, the following concepts and techniques were explored:

  • Computer Vision: Image classification, semantic segmentation, transfer learning
  • Sequence Modeling: RNNs, LSTMs, GRUs, Transformers, attention mechanisms
  • Architecture Design: Custom CNNs, UNet variants, hybrid models
  • Optimization: Hyperparameter tuning, advanced optimizers (NAdam, AdamW)
  • Data Engineering: Augmentation strategies, outlier detection, class balancing
  • Evaluation: Various metrics (accuracy, F1, IoU, MSE), cross-validation

👥 Contributors

AY 2024/2025 Team:

AY 2023/2024 Team:

📖 Getting Started

Each challenge directory contains:

  • Detailed README with specific instructions
  • Jupyter notebooks with complete implementations
  • Technical reports with methodology and results
  • All necessary code to reproduce the results

Navigate to any challenge directory to explore the specific implementation and documentation.

🏆 Achievements

  • Blood Cell Classification: Top-performing solution with 94.27% accuracy
  • Mars Segmentation: Achieved 0.74 Mean IoU with custom architecture
  • Plant Classification: Top 10% performance among 580+ participants
  • Time Series Forecasting: Top 25% ranking among 560+ participants

This repository serves as a comprehensive collection of deep learning solutions, showcasing various techniques and approaches across different domains and academic years at Politecnico di Milano.

About

Challenges (including models and reports) from Artificial Neural Networks course at Politecnico di Milano

Resources

Stars

Watchers

Forks

Contributors