Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚗 Autonomous Vehicle Perception Module

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.


📑 Table of Contents

  1. Dataset Overview
  2. Project Roadmap
  3. Repository Structure
  4. Setup & Installation
  5. How to Run
  6. Team Members
  7. Acknowledgments

📊 Dataset Overview

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).


🗺️ Project Roadmap

Phase 1: Data & Classical ML

  • 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.

Phase 2: Deep Learning (CNN/AE/Transfer)

  • 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.

Phase 3: Advanced Techniques (Transformers/GANs/XAI)

  • 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.

📂 Repository Structure

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

⚙️ Setup & Installation

  1. Clone the repository:
git clone https://github.com/AliRadwan1/Autonomous-Vehicle-Perception-Module.git
cd autonomous-vehicle-perception
  1. Create a virtual environment (Optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
  1. Install dependencies:
pip install -r requirements.txt

🚀 How to Run

The project is designed to be executed via Jupyter Notebooks for grading and demonstration purposes.

  1. Ensure your data is downloaded and placed in data/raw/.
  2. Start the Jupyter server:
jupyter notebook
  1. 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 the src/ directory.

👥 Team Members

NameGitHub Profile
Ali Radwan@AliRadwan1
Seif Eldeen Amr@seifah1234
Nouran Essam@Nouranessam116
Zyad Atef@Zyadateff
Mawada Emad@mawadaemad

🙏 Acknowledgments

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

About

a comprehensive computer vision system for autonomous vehicle perception, progressing from classical machine learning through deep learning to advanced AI techniques for traffic sign recognition and road scene understanding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚗 Autonomous Vehicle Perception Module

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.


📑 Table of Contents

  1. Dataset Overview
  2. Project Roadmap
  3. Repository Structure
  4. Setup & Installation
  5. How to Run
  6. Team Members
  7. Acknowledgments

📊 Dataset Overview

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).


🗺️ Project Roadmap

Phase 1: Data & Classical ML

  • 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.

Phase 2: Deep Learning (CNN/AE/Transfer)

  • 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.

Phase 3: Advanced Techniques (Transformers/GANs/XAI)

  • 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.

📂 Repository Structure

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

⚙️ Setup & Installation

  1. Clone the repository:
git clone https://github.com/AliRadwan1/Autonomous-Vehicle-Perception-Module.git
cd autonomous-vehicle-perception
  1. Create a virtual environment (Optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
  1. Install dependencies:
pip install -r requirements.txt

🚀 How to Run

The project is designed to be executed via Jupyter Notebooks for grading and demonstration purposes.

  1. Ensure your data is downloaded and placed in data/raw/.
  2. Start the Jupyter server:
jupyter notebook
  1. 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 the src/ directory.

👥 Team Members

NameGitHub Profile
Ali Radwan@AliRadwan1
Seif Eldeen Amr@seifah1234
Nouran Essam@Nouranessam116
Zyad Atef@Zyadateff
Mawada Emad@mawadaemad

🙏 Acknowledgments

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

About

a comprehensive computer vision system for autonomous vehicle perception, progressing from classical machine learning through deep learning to advanced AI techniques for traffic sign recognition and road scene understanding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚗 Autonomous Vehicle Perception Module

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.


📑 Table of Contents

  1. Dataset Overview
  2. Project Roadmap
  3. Repository Structure
  4. Setup & Installation
  5. How to Run
  6. Team Members
  7. Acknowledgments

📊 Dataset Overview

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).


🗺️ Project Roadmap

Phase 1: Data & Classical ML

  • 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.

Phase 2: Deep Learning (CNN/AE/Transfer)

  • 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.

Phase 3: Advanced Techniques (Transformers/GANs/XAI)

  • 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.

📂 Repository Structure

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

⚙️ Setup & Installation

  1. Clone the repository:
git clone https://github.com/AliRadwan1/Autonomous-Vehicle-Perception-Module.git
cd autonomous-vehicle-perception
  1. Create a virtual environment (Optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
  1. Install dependencies:
pip install -r requirements.txt

🚀 How to Run

The project is designed to be executed via Jupyter Notebooks for grading and demonstration purposes.

  1. Ensure your data is downloaded and placed in data/raw/.
  2. Start the Jupyter server:
jupyter notebook
  1. 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 the src/ directory.

👥 Team Members

NameGitHub Profile
Ali Radwan@AliRadwan1
Seif Eldeen Amr@seifah1234
Nouran Essam@Nouranessam116
Zyad Atef@Zyadateff
Mawada Emad@mawadaemad

🙏 Acknowledgments

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

About

a comprehensive computer vision system for autonomous vehicle perception, progressing from classical machine learning through deep learning to advanced AI techniques for traffic sign recognition and road scene understanding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚗 Autonomous Vehicle Perception Module

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.


📑 Table of Contents

  1. Dataset Overview
  2. Project Roadmap
  3. Repository Structure
  4. Setup & Installation
  5. How to Run
  6. Team Members
  7. Acknowledgments

📊 Dataset Overview

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).


🗺️ Project Roadmap

Phase 1: Data & Classical ML

  • 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.

Phase 2: Deep Learning (CNN/AE/Transfer)

  • 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.

Phase 3: Advanced Techniques (Transformers/GANs/XAI)

  • 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.

📂 Repository Structure

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

⚙️ Setup & Installation

  1. Clone the repository:
git clone https://github.com/AliRadwan1/Autonomous-Vehicle-Perception-Module.git
cd autonomous-vehicle-perception
  1. Create a virtual environment (Optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
  1. Install dependencies:
pip install -r requirements.txt

🚀 How to Run

The project is designed to be executed via Jupyter Notebooks for grading and demonstration purposes.

  1. Ensure your data is downloaded and placed in data/raw/.
  2. Start the Jupyter server:
jupyter notebook
  1. 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 the src/ directory.

👥 Team Members

NameGitHub Profile
Ali Radwan@AliRadwan1
Seif Eldeen Amr@seifah1234
Nouran Essam@Nouranessam116
Zyad Atef@Zyadateff
Mawada Emad@mawadaemad

🙏 Acknowledgments

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

About

a comprehensive computer vision system for autonomous vehicle perception, progressing from classical machine learning through deep learning to advanced AI techniques for traffic sign recognition and road scene understanding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚗 Autonomous Vehicle Perception Module

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.


📑 Table of Contents

  1. Dataset Overview
  2. Project Roadmap
  3. Repository Structure
  4. Setup & Installation
  5. How to Run
  6. Team Members
  7. Acknowledgments

📊 Dataset Overview

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).


🗺️ Project Roadmap

Phase 1: Data & Classical ML

  • 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.

Phase 2: Deep Learning (CNN/AE/Transfer)

  • 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.

Phase 3: Advanced Techniques (Transformers/GANs/XAI)

  • 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.

📂 Repository Structure

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

⚙️ Setup & Installation

  1. Clone the repository:
git clone https://github.com/AliRadwan1/Autonomous-Vehicle-Perception-Module.git
cd autonomous-vehicle-perception
  1. Create a virtual environment (Optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
  1. Install dependencies:
pip install -r requirements.txt

🚀 How to Run

The project is designed to be executed via Jupyter Notebooks for grading and demonstration purposes.

  1. Ensure your data is downloaded and placed in data/raw/.
  2. Start the Jupyter server:
jupyter notebook
  1. 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 the src/ directory.

👥 Team Members

NameGitHub Profile
Ali Radwan@AliRadwan1
Seif Eldeen Amr@seifah1234
Nouran Essam@Nouranessam116
Zyad Atef@Zyadateff
Mawada Emad@mawadaemad

🙏 Acknowledgments

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

About

a comprehensive computer vision system for autonomous vehicle perception, progressing from classical machine learning through deep learning to advanced AI techniques for traffic sign recognition and road scene understanding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚗 Autonomous Vehicle Perception Module

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.


📑 Table of Contents

  1. Dataset Overview
  2. Project Roadmap
  3. Repository Structure
  4. Setup & Installation
  5. How to Run
  6. Team Members
  7. Acknowledgments

📊 Dataset Overview

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).


🗺️ Project Roadmap

Phase 1: Data & Classical ML

  • 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.

Phase 2: Deep Learning (CNN/AE/Transfer)

  • 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.

Phase 3: Advanced Techniques (Transformers/GANs/XAI)

  • 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.

📂 Repository Structure

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

⚙️ Setup & Installation

  1. Clone the repository:
git clone https://github.com/AliRadwan1/Autonomous-Vehicle-Perception-Module.git
cd autonomous-vehicle-perception
  1. Create a virtual environment (Optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
  1. Install dependencies:
pip install -r requirements.txt

🚀 How to Run

The project is designed to be executed via Jupyter Notebooks for grading and demonstration purposes.

  1. Ensure your data is downloaded and placed in data/raw/.
  2. Start the Jupyter server:
jupyter notebook
  1. 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 the src/ directory.

👥 Team Members

NameGitHub Profile
Ali Radwan@AliRadwan1
Seif Eldeen Amr@seifah1234
Nouran Essam@Nouranessam116
Zyad Atef@Zyadateff
Mawada Emad@mawadaemad

🙏 Acknowledgments

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

About

a comprehensive computer vision system for autonomous vehicle perception, progressing from classical machine learning through deep learning to advanced AI techniques for traffic sign recognition and road scene understanding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚗 Autonomous Vehicle Perception Module

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.


📑 Table of Contents

  1. Dataset Overview
  2. Project Roadmap
  3. Repository Structure
  4. Setup & Installation
  5. How to Run
  6. Team Members
  7. Acknowledgments

📊 Dataset Overview

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).


🗺️ Project Roadmap

Phase 1: Data & Classical ML

  • 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.

Phase 2: Deep Learning (CNN/AE/Transfer)

  • 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.

Phase 3: Advanced Techniques (Transformers/GANs/XAI)

  • 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.

📂 Repository Structure

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

⚙️ Setup & Installation

  1. Clone the repository:
git clone https://github.com/AliRadwan1/Autonomous-Vehicle-Perception-Module.git
cd autonomous-vehicle-perception
  1. Create a virtual environment (Optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
  1. Install dependencies:
pip install -r requirements.txt

🚀 How to Run

The project is designed to be executed via Jupyter Notebooks for grading and demonstration purposes.

  1. Ensure your data is downloaded and placed in data/raw/.
  2. Start the Jupyter server:
jupyter notebook
  1. 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 the src/ directory.

👥 Team Members

NameGitHub Profile
Ali Radwan@AliRadwan1
Seif Eldeen Amr@seifah1234
Nouran Essam@Nouranessam116
Zyad Atef@Zyadateff
Mawada Emad@mawadaemad

🙏 Acknowledgments

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

About

a comprehensive computer vision system for autonomous vehicle perception, progressing from classical machine learning through deep learning to advanced AI techniques for traffic sign recognition and road scene understanding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚗 Autonomous Vehicle Perception Module

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.


📑 Table of Contents

  1. Dataset Overview
  2. Project Roadmap
  3. Repository Structure
  4. Setup & Installation
  5. How to Run
  6. Team Members
  7. Acknowledgments

📊 Dataset Overview

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).


🗺️ Project Roadmap

Phase 1: Data & Classical ML

  • 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.

Phase 2: Deep Learning (CNN/AE/Transfer)

  • 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.

Phase 3: Advanced Techniques (Transformers/GANs/XAI)

  • 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.

📂 Repository Structure

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

⚙️ Setup & Installation

  1. Clone the repository:
git clone https://github.com/AliRadwan1/Autonomous-Vehicle-Perception-Module.git
cd autonomous-vehicle-perception
  1. Create a virtual environment (Optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
  1. Install dependencies:
pip install -r requirements.txt

🚀 How to Run

The project is designed to be executed via Jupyter Notebooks for grading and demonstration purposes.

  1. Ensure your data is downloaded and placed in data/raw/.
  2. Start the Jupyter server:
jupyter notebook
  1. 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 the src/ directory.

👥 Team Members

NameGitHub Profile
Ali Radwan@AliRadwan1
Seif Eldeen Amr@seifah1234
Nouran Essam@Nouranessam116
Zyad Atef@Zyadateff
Mawada Emad@mawadaemad

🙏 Acknowledgments

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

About

a comprehensive computer vision system for autonomous vehicle perception, progressing from classical machine learning through deep learning to advanced AI techniques for traffic sign recognition and road scene understanding.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages