https://github.com/sofian2022/projetpfa-autonomousbvehicles
A modular autonomous vehicle project in Python featuring real-time object detection (MobileNet SSD), license plate recognition (YOLOv8, EasyOCR), and traffic sign classification (CNN)
https://github.com/sofian2022/projetpfa-autonomousbvehicles
autonomous-vehicles computer-vision deep-learning keras license-plate-recognition object-detection opencv python-pytorch raspberry-pi robotics self-driving-car tensorflow traffic-sign-recognition yolov8
Last synced: about 1 year ago
JSON representation
A modular autonomous vehicle project in Python featuring real-time object detection (MobileNet SSD), license plate recognition (YOLOv8, EasyOCR), and traffic sign classification (CNN)
- Host: GitHub
- URL: https://github.com/sofian2022/projetpfa-autonomousbvehicles
- Owner: sofian2022
- Created: 2025-06-22T11:46:08.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-24T15:05:44.000Z (about 1 year ago)
- Last Synced: 2025-06-24T16:24:12.620Z (about 1 year ago)
- Topics: autonomous-vehicles, computer-vision, deep-learning, keras, license-plate-recognition, object-detection, opencv, python-pytorch, raspberry-pi, robotics, self-driving-car, tensorflow, traffic-sign-recognition, yolov8
- Language: Jupyter Notebook
- Homepage:
- Size: 52.2 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LIcense Plate Number Detection/Test_WebCam.py
Awesome Lists containing this project
README
# π Autonomous Vehicle Project
[](https://github.com/sofian2022/Projet_PFA-Autonomous_Vehicles)
[](LICENSE)
Welcome to the Autonomous Vehicle Project! This repository contains a modular, multi-component system for smart vehicle perception and control, developed as part of a PFA (Projet de Fin d'AnnΓ©e). It integrates state-of-the-art computer vision and deep learning for real-time object detection, license plate recognition, and traffic sign classification, with hardware control for a physical prototype.
---
## β¨ Features
| π¦ | **Traffic Sign Recognition** | Classifies traffic signs using a CNN trained on the GTSRB dataset, with a user-friendly GUI. |
| --- | ------------------------------ | -------------------------------------------------------------------------------------------------------- |
| π | **Real-time Object Detection** | Detects objects (cars, pedestrians, cyclists) using a pre-trained MobileNet SSD model. |
| π·οΈ | **License Plate Recognition** | Detects license plates with YOLOv8, recognizes characters with EasyOCR, and checks status in a database. |
| π οΈ | **Hardware Integration** | Scripts for controlling camera, motors, servos, ultrasonic sensors, and LEDs. |
---
## ποΈ Project Structure
```
.
βββ LIcense Plate Number Detection/
β βββ check_vehicle_status.py
β βββ license_plate_recognition.py
β βββ add_sample_vehicles.py
β βββ db_connector.py
β βββ Test_WebCam.py
β βββ license_plate_detector.pt
β
βββ Traffic signs Detection And Recognition/
β βββ Train.ipynb
β βββ Test_images/
β βββ Test/
β β βββ rpiCam.py
β β βββ interface.py
β β βββ cameraPC.py
β βββ model/
β β βββ traffic_classifiernew.h5
β β βββ model_trained_epoch30.p
β βββ images/
β βββ project.jpg
β βββ predictions.png
β βββ GUI.jpg
β
βββ Object Detection/
β βββ detect.py
β βββ MobileNetSSD_deploy.prototxt.txt
β βββ MobileNetSSD_deploy.caffemodel
β
βββ Materiels_Test/
β βββ servoMotor.py
β βββ leds.py
β βββ ultrasonic.py
β βββ motor.py
β βββ Camera.py
β
βββ README.md
βββ requirements.txt
```
---
## π οΈ Technologies Used
- **Python 3**
- **PyTorch** (YOLOv8 for license plate detection)
- **TensorFlow/Keras** (traffic sign recognition)
- **Caffe** (object detection model)
- **OpenCV** (image/video processing)
- **EasyOCR** (license plate OCR)
- **Pillow** (GUI image handling)
- **MongoDB** (vehicle/license plate database)
- **Tkinter** (traffic sign classifier GUI)
- **NumPy**, **Matplotlib**, **ultralytics**, **requests**
---
## π Quick Start
1. **Clone the repository:**
```bash
git clone https://github.com/sofian2022/Projet_PFA-Autonomous_Vehicles.git
cd Projet_PFA-Autonomous_Vehicles
```
2. **Create a virtual environment (recommended):**
```bash
python -m venv venv
source venv/bin/activate # On Windows use venv\Scripts\activate
```
3. **Install dependencies:**
```bash
pip install -r requirements.txt
```
4. **Database Setup (for License Plate Recognition):**
- Ensure MongoDB is running.
- Update connection details in `LIcense Plate Number Detection/db_connector.py` if needed.
- Populate the database with `add_sample_vehicles.py` if desired.
---
## π₯οΈ Usage
- **Object Detection:**
```bash
cd Object Detection
python detect.py
```
Starts real-time object detection using your webcam.
- **License Plate Recognition:**
Main script: `license_plate_recognition.py` (see script for usage details; can process images or video streams).
- **Traffic Sign Classifier GUI:**
```bash
cd "Traffic signs Detection And Recognition/Test"
python interface.py
```
Opens a GUI for uploading and classifying traffic sign images.
- **Hardware Tests:**
Scripts in `Materiels_Test/` are for Raspberry Pi or similar hardware with the appropriate components.
---
## πΈ Screenshots
---
## π License
This project is open-source. Please credit the original authors if you use or modify this code.