Abstract
Traffic Sign Recognition For Autonomous Cars is an open-source AI & Machine Learning project. Traffic Sign Recognition for autonomous vehicles applications using ROS to control a turtlebot. The objective of this project was to design and develop a traffic sign recognition algorithm for autonomous vehicles applications. The self driving car market is growing at a very fast pace. It is built using HTML, Computer Vision, Machine Learning. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an AI & Machine Learning mini project or final-year project.
1. Introduction
The objective of this project was to design and develop a traffic sign recognition algorithm for autonomous vehicles applications. The self driving car market is growing at a very fast pace. Many companies are working in this problem trying to solve every aspect of it, so that autonomous cars can drive safely on the roads. It is a very complex problem due to the many aspects that it relies on: robotics, path planning, navigation, computer vision, mechanics, etc.
The robot will be driving around a simulated world, searching for traffic signs with its camera. Any time a traffic sign is recognized, the vision algorithm will send a command to the robot telling it how does it have to react to that sign. For example, if the robot finds a "turn left" sign, it will stop in front of the sign and turn to the left instead of continue going forward or turning to another direction.
The simulated world was designed using Gazebo. It simulates a map with delimited roads and a few traffic signs so that the robot's behavior can be tested.
2. Objective
Traffic Sign Recognition for autonomous vehicles applications using ROS to control a turtlebot.
This project demonstrates how HTML, Computer Vision, Machine Learning can be applied to a real-world AI & Machine Learning problem.
4. Technology Stack
- Ubuntu 16.04
- ROS Kinetic
- Turtlebot Gazebo package
- Packages included in ROS Kinetic:
- std_msgs
- geometry_msgs
- OpenCV3 (standard version included in ROS Kinetic, no need to install other version)
- cv_bridge
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- A modern web browser
- VS Code or any code editor
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/MichiMaestre/Traffic-Sign-Recognition-for-Autonomous-Cars.git
cd Traffic-Sign-Recognition-for-Autonomous-Carscd ~/ros_ws
source devel/setup.bash
roslaunch traffic_sign_recognition demo.launchFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Deploy the model as a web app with Streamlit, Flask or FastAPI
- Compare against an additional model and report the metric difference
- Add explainability (SHAP / Grad-CAM)
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- What dataset does the project use and how was it pre-processed?
- Which algorithm / model architecture is used and why was it chosen over alternatives?
- How are training and testing data split, and how is overfitting avoided?
- Which evaluation metrics (accuracy, precision, recall, F1) are reported and what do they mean here?
- How would you deploy this model for real users?
9. Source Code & License
This project is developed by MichiMaestre and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an AI & Machine Learning project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for AI & Machine Learning Internship