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: Artificial Neural Networks and Deep Learning
- Institution: Politecnico di Milano
- Academic Years: 2023/2024, 2024/2025
This repository includes solutions to four different deep learning challenges covering various domains and techniques:
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
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
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
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
- Deep Learning: TensorFlow/Keras, PyTorch
- Computer Vision: OpenCV, PIL
- Data Processing: NumPy, Pandas
- Visualization: Matplotlib, Seaborn
- Hyperparameter Optimization: Optuna
- Augmentation: KerasCV
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
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
AY 2024/2025 Team:
AY 2023/2024 Team:
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.
- 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.