Ilovepdf Merged
Ilovepdf Merged
BACHELOR OF TECHNOLOGY
In
by
A. Tanush Kumar 21L31A0407
A. Karthik 21L31A0405
D.K.V. Varma 21L31A0433
G.S.L. Manasa 21L31A0443
APRIL 2025
AUTOMATED POTHOLE AND ROAD IRREGULARITY
DETECTION FOR DRIVER SAFETY
A Project Report
BACHELOR OF TECHNOLOGY
In
by
A. Tanush Kumar 21L31A0407
A. Karthik 21L31A0405
D.K.V. Varma 21L31A0433
G.S.L. Manasa 21L31A0443
APRIL 2025
DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING
CERTIFICATE
This is to certify that the project report entitled “AUTOMATED POTHOLE AND ROAD
IRREGULARITY DETECTION FOR DRIVER SAFETY” is a bonafide record of
project work carried out under my supervision by Appikonda Tanush Kumar
(21L31A0407), Ambati Karthik (21L31A0405), Datla Krishna Vivek Varma
(21L31A0433), Gamini Sri Lakshmi Manasa (21L31A0443) during the academic year
2024-25, in partial fulfillment of the requirements for the award of the degree of Bachelor of
Technology in ELECTRONICS AND COMMUNICATION ENGINEERING of VIGNAN’S
INSTITUTE OF INFORMATION TECHNOLOGY (Autonomous). The results embodied in
this major project report have not been submitted to any other University or Institute for the
award of any Degree or Diploma.
External Examiner
DECLARATION
We hereby declare that the project work entitled “AUTOMATED POTHOLE AND ROAD
IRREGULARITY DETECTION FOR DRIVER SAFETY” is being submitted to
VIGNAN’S INSTITUTE OF INFORMATION TECHNOLOGY (Autonomous), in partial
fulfillment for the award of B.Tech degree during the year 2024-25 in Electronics and
Communication Engineering. The work was originally designed and executed by us under
the guidance of our supervisor Dr. H. Devanna, Associate Professor, and was not a
duplication of work done by someone else. We hold the responsibility of the originality of the
work incorporated into this thesis.
Date:
Our deepest thanks to our Guide Dr. H. Devanna, Associate Professor, Department of
Electronics and Communication Engineering, VIGNAN’S INSTITUTE OF INFORMATION
TECHNOLOGY (Autonomous), Visakhapatnam for his invaluable scholarly advice,
inspirations, help, and guidance that helped us throughout our project work. We will always
be indebted to him for all he has done for us, and it is a pleasure to acknowledge his guidance
and support.
We sincerely and honestly thank Dr. A. Naga Jyothi, Professor of ECE & Dean of
Academics of VIGNAN’S INSTITUTE OF INFORMATION TECHNOLOGY
(Autonomous)for her valuable advices and encouragement for the project work.
We also thankful to Dr. Lavu Rathaiah, Chairman of Vignan Group, for his
constant source of inspiration and motivation.
We express thanks to our faculty members and non-teaching staff who were directly
and indirectly involved in this project for their overwhelming cooperation.
Finally, we would like to extend our heart-felt thanks to our beloved parents whose
blessings & encouragement were always there as a source of strength and inspiration.
ABSTRACT
Roadside potholes can cause severe traffic safety issues and damage vehicles. Pothole
detection is an important activity in road maintenance that ensures traffic safety and
infrastructure longevity. This work proposes an effective method for pothole detection based
on adaptive Canny edge detection and contour analysis. The technique dynamically calculates
edge thresholds according to the median intensity of the image, providing robustness in
different lighting conditions. The pipeline starts with pre-processing with Median Blur to
minimize noise, and adaptive Canny edge detection for reliable boundary detection. Extracted
edges are then detected using contour detection, where convex hull methods and bounding
box computations assist in marking potential pothole areas. To enhance reliability, DBSCAN
clustering clusters proximate contours to reduce false detection. The new method improves
conventional edge detection by learning to adapt to various environments and minimizing
manual threshold tuning. The efficiency of the system makes it ideal for practical applications
like autonomous road inspection and self-driving vehicle navigation, with a cost-efficient and
scalable approach to pothole detection.
Key Terms: Raspberry Pi, Canny edge detection, Cost-effective solution, Road safety.
i
TABLE OF CONTENTS
ii
Module 8
3.3 Raspberry Pi 4 Model B
3.3.1 Introduction 8-17
3.3.2 Features 8
3.3.3 Ports 8-9
3.3.4 Power Requirements 9-10
3.3.5 Peripherals 10
3.3.6 Virtual Environment in Raspberry Pi 10-12
3.3.7 Initialisation of Raspberry Pi 12-14
3.3.8 Activation of VNC Viewer 14-16
3.4 ESP8266 Microcontroller 16-17
3.4.1 Introduction ESP8266 NodeMCU 17-20
3.4.2 Features of ESP8266 NodeMCU 17
3.4.3 Pin description 18
3.5 L298N Driver module 18-20
3.5.1 Introduction to L298N driver module 20-21
3.5.2 Features of L298N driver module 20
3.6 Battery operated DC motor 21
3.6.1 Introduction 21-22
3.6.2 Features of BO DC motor 21
22
Chapter 4 SOFTWARE IMPLEMENTATION 23-26
4.1 Algorithm for automated pothole and road 23-24
irregularity detection for driver safety
4.2 Pothole detection using different algorithms 24-26
4.2.1 Step by Step process 25-26
iii
Chapter 5 DESIGN AND METHODOLGY 27-35
5.1 Introduction to the proposed system 27
5.2 System Architecture, Block Diagram and 28-30
circuit diagram
5.3 Block Diagram of the proposed system 30
5.4 Block Diagram Explanation 30-32
5.5 Circuit Diagram 32-34
5.5.1 Description of the Pothole Detection 32-33
System Circuit Diagram
5.5.2 Description of Robotic Car Circuit 33-34
Diagram
5.6 Flowchart 35
Chapter 6 TESTING AND EXPERIMENTAL 36-38
RESULTS
6.1 Circuit Connections 36
6.2 Pothole detection 37
6.3 Dropbox excel sheet 37-38
6.4 Messages sent through telegram bot 38
iv
LIST OF FIGURES
20 3.6.1 BO DC motor 21
v
24 5.5.1 Circuit Diagram 32
26 5.6.1 Flowchart 35
vi
Automated Pothole and Road Irregularity Detection for Driver Safety
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION:
1.2 OBJECTIVES:
CHAPTER 2
LITERATURE SURVEY
Over the past decade, various technologies such as active and passive sensing, have
been utilized to acquire road data and aid personnel in detecting road potholes. These
methods include using vibration analysis from 3-axis accelerometer, disparity
transformation and road surface modelling, computer vision and learning, mobile
laser scanning, point laser sensor, pot-yolo v8 network. To overcome this, we try to
propose a road irregularity detection technique using Raspberry Pi and image
processing combined with GPS for location tracking.
To find the depth of any potholes, the pothole detection system uses a waterproof
ultrasonic sensor that is attached on the front end of the Pothole Robot Agent
(PRA). The sensor constantly senses the distance on a flat road. A pothole is a
positive difference, but a negative difference indicates a road hump. To enable
correct mapping of pothole locations, the system also utilizes a GPS Module
Board to take the geographic coordinates of sensed potholes. An Atmega328
Arduino Uno Microcontroller manages the communication between the GPS
module and the ultrasonic sensor, guaranteeing precise data processing and
gathering. This process facilitates easy detection and definition of potholes in real
time, which later forms an extensive pothole map for road users.
2.2 POT-YOLO
With the YOLOv8 network, the authors introduced a novel approach for real-time
pothole detection termed POT-YOLO. The authors captured pothole videos and
split them into individual picture frames for further analysis. They employed a
pre-processing technique referred to as the Contrast Stretching Adaptive Gaussian
Star Filter (CAGF) to enhance the quality of these frames and eliminate
distortions.
Following pre-processing, Sobel edge detection was applied to scan the photos
and identify the edges of potholes. To identify and classify various types of
potholes such as cracks, oil spots, patches, and stones correctly, the processed
photos were then input into the POT-YOLOv8 model. Following several metrics,
the performance of the POT-YOLO method was measured and revealed to be
highly accurate and efficient in pothole detection but is highly complicated.
CHAPTER 3
HARDWARE IMPLEMENTATION
3.1.3 Applications:
3.3.1 Introduction:
3.3.3 Ports:
USB ports — these are used to connect a mouse and keyboard. You can also
connect other components, such as a USB drive.
SD card slot — you can slot the SD card in here. This is where the operating
system software and your files are stored.
Ethernet port — this is used to connect Raspberry Pi to a network with a cable.
Raspberry Pi can also connect to a network via wireless LAN.
Audio jack — you can connect headphones or speakers here.
3.3.5 PERIPHERALS:
GPIO Interface: The Pi4B makes 28 BCM2711 GPIOs available via a standard
Raspberry Pi 40-pin header.
GPIO Pin Layout: As well as being able to be used as straightforward software
controlled input and output (with programmable pulls), GPIO pins can be
switched (multiplexed) into various other modes backed by dedicated peripheral
blocks such as I2C, UART and SPI. In addition to the standard peripheral options,
it has extra I2C, UART and SPI peripherals as further MUX option.
During heavier load the speed and voltage (and hence thermal output) are
increased. The internal governor will throttle back both the CPU speed and voltage
to make sure the CPU temperature never exceeds 85 degrees C. The Pi4B will
operate perfectly well without any extra cooling and is designed for sprint
performance - expecting a light use case on average and ramping up the CPU
speed when needed (e.g. when loading a webpage). If a user wishes to load the
system continually or operate it at a high temperature at full performance, further
cooling may be needed.
1) Creation:
Python has a command for creation of virtual environment which varies between
different OSs, as our raspberry pi runs on Linux the command that we use is: python -
m venv /path/to/new/virtual/environment Once created we can observe that it creates
a file based on the name specified by us in the command.
2) Activation:
After creation to work in the created virtual environment we have to activate it. To
activate it we have a command which also differs between different OS, the command
that we use is:
source <venv>/bin/activate
After this we can observe that our virtual environment is activated. Here after
activation we can install packages into it using the command:
python -m pip install <module name>
3) Deactivation:
Once activated if we want to deactivate our virtual environment we can simply enter
the command ‘deactivate’ into the terminal and the virtual environment deactivates.
Now, choose the device as raspberry pi 4 and select the Debian bookworm OS and
install the 64-bit version, when storage is selected it shows the SD card that we
connected to our PC select it and click on next.
then a dialog box pops up asking if we want to customize the OS settings, click on
‘edit settings’. After that another window pops up for OS customization, there we set
our username and password of our user in Raspberry pi along with it we can also
configure the wireless LAN.
After this, click on Services and click on enable SSH and select ‘Use password
authentication’, then click Save. Once done, the OS is written into the SD card. Later
we remove the SD card from the card reader and place it in Raspberry Pi
Use the arrow keys to select VNC and press Enter.You will be prompted to enable
VNC Server. Select Yes and press Enter.
Use the arrow keys to select Ok and then Finish, to return to the terminal. After
setting it up, we have to reboot the system for it to implement. Later, Install VNC
Viewer in your PC and login to it and a window appears. Here, Enter the IP address of
the network connected to your Raspberry pi and we will be able to operate it on our
PC
PWM Support: Pulse Width Modulation for controlling LEDs, motors, etc.
UART, SPI, I2C Protocols: Used for serial communication with other devices.
VIN can be used to directly supply the NodeMCU/ESP8266 and its peripherals.
Power delivered on VIN is regulated through the on board regulator on the NodeMCU
module – you can also supply 5V regulated to the VIN pin.3.3V pins are the output of
the on board voltage regulator and can be used to supply power to external
components. GND are the ground pins of NodeMCU/ESP8266
I2C Pins are used to connect I2C sensors and peripherals. Both I2C Master and I2C
Slave are supported. I2C interface functionality can be realized programmatically, and
the clock frequency is 100 kHz at a maximum. It should be noted that I2C clock
frequency should be higher than the slowest clock frequency of the slave device.
The NodeMCU is embedded with a 10-bit precision SAR ADC. The two functions
can be implemented using ADC. Testing power supply voltage of VDD3P3 pin and
testing input voltage of TOUT pin. However, they cannot be implemented at the same
time.
NodeMCU/ESP8266 features two SPIs (SPI and HSPI) in slave and master modes.
These SPIs also support the following general-purpose SPI features:
4 timing modes of the SPI format transfer, Up to 80 MHz and the divided clocks of 80
MHz, and up to 64-Byte FIFO
The board has 4 channels of Pulse Width Modulation (PWM). The PWM output can
be implemented programmatically and used for driving digital motors and LEDs.
PWM frequency range is adjustable from 1000 μs to 10000 μs (100 Hz and 1 kHz).
Control Pins are used to control the NodeMCU/ESP8266. These pins include Chip
Enable pin (EN), Reset pin (RST) and WAKE pin.
Tiny Sine Wave Control Pins are used to control the NodeMCU/ESP8266. These pins
include Chip Enable pin (EN), Reset pin (RST) and WAKE pin.
EN: The ESP8266 chip is enabled when EN pin is pulled HIGH. When pulled LOW
the chip works at minimum power.
CHAPTER 4
SOFTWARE IMPLEMENTATION
1. Grayscale Conversion:
Purpose: Reduces the image complexity by converting the color image into asingle-
channel image representing intensity values (0-255).
Method: Use a suitable image processing library (e.g., OpenCV) to convert the image
to grayscale.
2. Median Blurring:
Method: Apply a Median blur filter to the grayscale image, using a suitable kernel
size (e.g., 5x5 or 7x7).
Method:
5. Contour Clustering:
Purpose: Group nearby contours that likely belong to the same pothole.
Method: It uses DBSCAN to cluster contour center points based on spatial proximity,
helping to merge fragmented edges into unified pothole regions.
CHAPTER 5
Key Features:
Real-Time Pothole Detection: Uses adaptive Canny edge detection &
DBSCAN clustering for accurate identification.
GPS Tagging: Logs latitude & longitude of each pothole for precise location
tracking.
Hardware Components:
Software Components:
Methodology:
1. Image Acquisition
2. Preprocessing Pipeline
3. Edge Detection
4. Contour Analysis
Contour Clustering:
Uses DBSCAN algorithm to group nearby contours
Parameters: max_distance=30px, min_samples=1
Cluster Filtering:
5. Feature Extraction
Geometric Features:
6. Data Management
Local Storage:
Alert System:
7. GPS Integration
1. Pi Camera
2. Raspberry Pi
Description: The central processing unit (likely a model like RPi 3B+/4/5)
running Linux.
Function: Executes OpenCV scripts and manages peripheral communication.
Key Features:
o Runs Python/OpenCV for image processing.
o Connects to Wi-Fi/Bluetooth for data transmission.
4. Telegram
5. Dropbox
6. GPS Module
a) Raspberry Pi 4B:
Acts as the central processing unit, handling data acquisition, image processing,
and communication.
Connects to all peripheral modules, including the camera, GPS module, and
network interface for cloud communication.
b) Raspberry Pi Camera V2:
Captures real-time images of the road surface to identify potholes using computer
vision and machine learning techniques.
The captured images are processed using OpenCV algorithms to detect road
irregularities.
c) GPS Module:
The GPS module collects real-time location data of detected potholes.
The GPS module facilitates data transmission to a cloud database or central server,
allowing authorities to monitor road conditions remotely.
d) CAT5 LAN Cable with RJ45 Connector:
Provides network connectivity, allowing real-time data transfer to cloud-based
applications or a local monitoring system.
Ensures fast and stable communication between the Raspberry Pi and external
systems.
e) USB-C Power Cable:
Supplies power to the Raspberry Pi 4B, ensuring uninterrupted system operation.
5.6 FLOWCHART:
CHAPTER 6
CHAPTER 7
7.1 CONCLUSION:
This project successfully demonstrates the feasibility and effectiveness of the
proposed system in addressing the identified problem. By integrating innovative
approaches, it balances theoretical concepts with practical applications, resulting in
improved efficiency, accuracy, and usability. The challenges encountered during
development provided valuable learning experiences, enhancing problem-solving
skills and fostering a deeper understanding of the subject. The system's design ensures
reliability and scalability, allowing it to adapt to evolving requirements and
technological advancements. Furthermore, its impact extends across various domains,
offering benefits such as automation, cost reduction, time efficiency, and enhanced
user experience. The insights gained from this project highlight the importance of
continuous research, testing, and refinement to further optimize performance and
expand its scope of application. Overall, this project marks a significant step toward
innovation and digital transformation, paving the way for future advancements that
can contribute to both academic and industrial sectors.
7.3 APPLICATIONS:
1. Smart City Infrastructure – Automated road monitoring for municipal maintenance
teams.
2. Autonomous Vehicles – Real-time road hazard alerts for self-driving cars.
3. Fleet Management – Route optimization for logistics companies to avoid pothole
damage.
4.Government Audits – Data-driven reporting for road repair budgets and
accountability.
5. GPS Navigation Apps – Live pothole alerts (e.g., Google Maps/Waze integration).
APPENDIX
REFERENCES
[1] Bidve, Vijaykumar S., et al. "Pothole detection model for road safety using
computer vision and machine learning." Int J Artif Intell ISSN 2252.8938: 4481.
[2] Fan, Rui, et al. "Pothole detection based on disparity transformation and road
surface modeling." IEEE Transactions on Image Processing 29 (2019): 897-908.
[3] Chen, Dong, et al. "Real-time road pothole mapping based on vibration analysis in
smart city." IEEE Journal of selected topics in applied Earth observations and
remote sensing 15 (2022): 6972-6984
[4] Cheng, Ming, et al. "Extraction and classification of road markings using mobile
laser scanning point clouds." IEEE Journal of Selected Topics in Applied Earth
Observations and Remote Sensing 10.3 (2016): 1182-1196.
[5] Li, Wenda, Michael Burrow, and Zijun Li. "Automatic road condition assessment
by using point laser sensor." 2018 IEEE SENSORS. IEEE, 2018.
[6] Bhavana, N., et al. "POT-YOLO: Real-Time Road Potholes Detection using Edge
Segmentation based Yolo V8 Network." IEEE Sensors Journal (2024).
[7] Z. Hou, K. C. P. Wang, and W. Gong, “Experimentation of 3D pavement imaging
through stereovision,” in International Conference on Transportation Engineering
2007, ICTE 2007, 2007, pp. 376–381, doi: 10.1061/40932(246)62.
[8] H. Lokeshwor, L. K. Das, and S. Goel, “Robust method for automated
segmentation of frames with/without distress from road surface video clips,” J.
Transp. Eng., vol. 140, no. 1, pp. 31–41, Jan. 2014, doi: 10.1061/(ASCE)TE.1943-
5436.0000564.
[9] A. Mednis, G. Strazdins, R. Zviedris, G. Kanonirs, and L. Selavo, “Real time
pothole detection using Android smartphones with accelerometers,” in 2011
International Conference on Distributed Computing in Sensor Systems and
Workshops, DCOSS’11, 2011, doi: 10.1109/DCOSS.2011.5982206.
[10] R. S. Shaikh Patil Pallavi and S. S. Priyanka Khan Aabid A, “Detection of
Potholes, Humps and Measuring Distance between Two Vehicles using Ultrasonic
Sensor and Accelerometer,” GRD Journals-Global Res. Dev. J. Eng., vol. 3, no. 6,
2018.
[11] Kim, Taehyeong, and Seung-Ki Ryu. "Review and analysis of pothole
detection methods." Journal of Emerging Trends in Computing and Information
Sciences 5.8 (2014): 603-608.
[12] Kim, Young-Mok, et al. "Review of recent automated pothole-detection
methods." Applied Sciences 12.11 (2022): 5320.
[13] Koch, Christian, and Ioannis Brilakis. "Pothole detection in asphalt pavement
images." Advanced engineering informatics 25.3 (2011): 507-515.
[14] Fan, Rui, et al. "Pothole detection based on disparity transformation and road
surface modeling." IEEE Transactions on Image Processing 29 (2019): 897-908.
[15] Kang, Byeong-ho, and Su-il Choi. "Pothole detection system using 2D LiDAR
and camera." 2017 ninth international conference on ubiquitous and future
networks (ICUFN). IEEE, 2017.
[16] Zhang, Zhen, et al. "An efficient algorithm for pothole detection using stereo
vision." 2014 IEEE International Conference on Acoustics, Speech and Signal
Processing (ICASSP). IEEE, 2014.
[17] Bučko, Boris, et al. "Computer vision based pothole detection under
challenging conditions." Sensors 22.22 (2022): 8878.
[18] Tsai, Yi-Chang, and Anirban Chatterjee. "Pothole detection and classification
using 3D technology and watershed method." Journal of Computing in Civil
Engineering 32.2 (2018): 04017078.
[19] Pandey, Anup Kumar, et al. "Convolution neural networks for pothole
detection of critical road infrastructure." Computers and Electrical
Engineering 99 (2022): 107725.
[20] Kulkarni, Aniket, et al. "Pothole detection system using machine learning on
Android." International Journal of Emerging Technology and Advanced
Engineering 4.7 (2014): 360-364.
BIBLIOGRAPHY
REFERNCE WEBSITES:
1. https://www.raspberrypi.com/documentation/computers/getting-started.html
2. https://www.electronicwings.com/raspberry-pi/gps-module-interfacing-with
raspberry-pi
3. https://www.raspberrypi.com/documentation/accessories/camera.html
4. https://www.make-it.ca/nodemcu-details-specifications/
5. https://components101.com/modules/l293n-motor-driver-module
Project Title: Automated Pothole and Road Irregularity Detection for Driver Safety
Batch No: A7
Student Names: 1. A. Tanush Kumar - (21L31A0407)
2. A. Karthik - (21L31A0405)
3. D.K.V. Varma - (21L31A0433)
4. G. Srilakshmi Manasa - (21L31A0443)
CO1: Understand about embedded system and Raspberry Pi, learn how to implement
image processing using OpenCV in Raspberry pi.
CO2: Detect potholes in captured images using image processing techniques and
OpenCV, analysing shape, texture, and depth.
CO3: Store pothole images, location data, and timestamps in a cloud database for
efficient retrieval and analysis.
CO4: Send real-time pothole alerts to users and authorities via social messaging apps,
ensuring timely road maintenance
CO-PO Mapping:
PO PO PO PO PO PO PO PO PO PO PO PO PSO PSO
1 2 3 4 5 6 7 8 9 10 11 12 1 2
CO1 3 3 1 2 - - - - - - - - - 3
CO2 - - 3 3 3 2 - 3 3 - 2 - 2 3
CO3 - - 3 - 3 2 - 3 1 3 2 - - 3
CO4 - - 3 - 3 1 - 3 1 3 1 - - 3