Course: Supervised Learning - Spring 2026 Institution: Cairo University - Faculty of Computers and Artificial Intelligence Task: Object detection and road scene classification for self-driving cars
This repository contains the code, experiments, and reports for a comprehensive machine learning pipeline designed for autonomous vehicle perception. The project progresses from classical machine learning baselines to deep learning models, and finally to advanced sequence modeling and explainable AI (XAI) techniques.
- Dataset Overview
- Project Roadmap
- Repository Structure
- Setup & Installation
- How to Run
- Team Members
- Acknowledgments
This project utilizes the following approved datasets to fulfill the phase requirements:
- German Traffic Sign Recognition Benchmark (GTSRB) & CIFAR-10: Used primarily in Phases 1 and 2 for image-based traffic sign classification and feature extraction.
- BDD100K Subset: Used in Phase 3 for sequential video frame processing and evaluating in-car camera data under various driving conditions.
(Note: Raw data should be placed in the data/raw/ directory. See data/datasets_info.md for specific download links and instructions).
- EDA: Analysis of class balance and pixel statistics for the traffic sign datasets.
- Baselines: Feature extraction paired with KNN and Naïve Bayes classifiers.
- Dimensionality Reduction: PCA implementation to measure accuracy trade-offs.
- Ensembles: Implementation of Bagging and Boosting classifiers.
- Tuning: Grid search for hyperparameter optimization.
- CNN Architecture: Deep Convolutional Neural Network built from scratch for traffic sign recognition.
- Anomaly Detection: AutoEncoder trained for noisy image reconstruction.
- Transfer Learning: Fine-tuning MobileNet/VGG architectures for in-car camera data.
- Optimization: Comparison of optimizers and learning rate schedulers, along with CNN feature map visualizations.
- Sequence Modeling: LSTM network integrated for processing video frame sequences.
- Attention: Implementation of Attention mechanisms to focus on relevant scene regions.
- Generative AI: DCGAN used to generate synthetic traffic scenarios.
- Explainability (XAI): GradCAM and SHAP applied to explain model predictions.
- Fairness: Documentation of model fairness across different weather and lighting conditions.
autonomous-vehicle-perception/
├── data/
│ ├── raw/ # Original datasets (GTSRB, BDD100K)
│ ├── processed/ # Cleaned/preprocessed data
│ └── datasets_info.md
├── src/
│ ├── phase1_classical_ml/ # Phase 1: Classical ML scripts
│ ├── phase2_deep_learning/ # Phase 2: Deep Learning scripts
│ ├── phase3_advanced/ # Phase 3: Advanced Techniques scripts
│ └── utils/ # Helper functions (loaders, metrics)
├── notebooks/
│ ├── 01_eda_traffic_signs.ipynb
│ ├── 02_phase1_classical_ml.ipynb
│ ├── 03_phase2_deep_learning.ipynb
│ └── 04_phase3_advanced.ipynb
├── models/ # Saved model weights (.h5, .pt, etc.)
├── results/ # Outputs, plots, reports (PDFs)
├── tests/ # Unit tests
├── requirements.txt
├── README.md
├── .gitignore
└── config.yaml
- Clone the repository:
git clone https://github.com/AliRadwan1/Autonomous-Vehicle-Perception-Module.git
cd autonomous-vehicle-perception
- Create a virtual environment (Optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install dependencies:
pip install -r requirements.txt
The project is designed to be executed via Jupyter Notebooks for grading and demonstration purposes.
- Ensure your data is downloaded and placed in
data/raw/. - Start the Jupyter server:
jupyter notebook
- Run the notebooks in the
notebooks/directory in sequential order (01 through 04) to reproduce the pipeline from EDA to Advanced XAI. Heavy processing logic is imported from thesrc/directory.
| Name | GitHub Profile |
|---|---|
| Ali Radwan | @AliRadwan1 |
| Seif Eldeen Amr | @seifah1234 |
| Nouran Essam | @Nouranessam116 |
| Zyad Atef | @Zyadateff |
| Mawada Emad | @mawadaemad |
We would like to thank our course instructors for their guidance throughout this project:
-
Dr. Ghada Dahy
-
Eng. Hamza EmadEIDin
-
Eng. Abdelrahman Sayed
-
Eng. Sherif Magdy