You are on page 1of 40

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

“Jnana Sangama”, Belagavi-590018, Karnataka

“AUTOMATIC STREET LIGHT CONTROL SYSTEM ”


A Project Report
Submitted in partial fulfillment of the requirement for the award of degree of

Bachelor of Engineering
In
Computer Science and Engineering

Submitted by
ASHISH S (4NN20CS403)

BHOOMIKA A (4NN20CS405)
HARSHITHA K K (4NN20CS409)

Under the Guidance of


Mr. VISHWAS DB
Assistant Professor and
Dept of CSE

Department of Computer Science and Engineering


NIE Institute of Technology
Mysuru -570018
2020-2021
NIE Institute of Technology
Mysore
#50(part), Hootagalli Industrial area, Koorgalli
Village Mysuru-18

DEPARTMENT OF
COMPUTER SCIENCE AND
ENGINEERING

CERTIFICATE
This is to certify that the project work entitled “Automatic Street Light Control System” is
carried out by Ashish S (4NN20CS403), Bhoomika A (4NN20CS405), Harshitha K K
(4NN20CS409) in partial fulfillment for the award of Bachelor of Engineering in Computer
Science & Engineering of the Visvesvaraya Technological University, Belgaum during
the academic year 2020- 2021. The project report has been approved as it satisfies the
academic requirements with respect to project work prescribed for the Bachelor of
Engineering degree.

Signature of the Guide Signature of the HOD Signature of the Principal


Mr. Vishwas DB
Smt. Usha MS Dr. Bansilal
Assistant Professor &
Assistant Professor & Principal, NIEIT,
Dept. of CSE
Head, Dept. of CSE Mysuru
NIEIT, Mysuru
NIEIT, Mysuru

External Viva

Name of the examiners Signature with date

1………………………. ……………………………

2………………………. …………………………….
ACKNOWLEDGEMENT

It gives us immense pleasure to bring our Project report entitled “Automatic Street
Light Control System” in our Seventh Semester Engineering Course.

We are thankful to Dr. Bansilal, Principal, NIEIT for having supported us in


ouracademic endeavors.

We deeply acknowledge Mr. Vishwas DB, Assistant Professor of Computer


Science and Engineering, NIEIT for providing us timely suggestions, encouragement and
support to complete this work.

We extend our thanks to Project Coordinator Mr. Deepak P, Assistant Professor in


Dept. of Computer Science and Engineering for guiding us for the completion of this work.
We would also like to thank all our teaching and non-teaching staff members of the
Department for their support.

We are always thankful to our Parents for their valuable support and guidance in
every step. Also, we thank all our friends for their support and guidance throughout the
project work.

We express our deepest gratitude and indebted thanks to NIEIT which has provided
us opportunity in fulfilling our most cherished desire of reaching our goal.
In all Sincerity,

ASHISH S (4NN20CS403)
BHOOMIKA A (4NN20CS405)
HARSHITHA K K (4NN20CS409)
ABSTRACT

Potholes are one of the major problems faced by the developing countries as transport sector
plays a crucial role in the development of a country. This system proposes an optimal solution to
detect and classify the road cavities or potholes and convey the result to the public through a
mobile application and also to notify the municipal corporation by using IOT and machine learning
techniques. In this, ultrasonic sensors are used to identify potholes and humps to measure their
depth and height respectively. This provides a prototype of an IOT based potholes and hump
detection system that can be integrated with the vehicle and provide timely information to
maintenance authorities so that necessary steps can be taken for safety of drivers. We describe a
system and an associated algorithm to monitor the pothole conditions on the road. This system, that
we call the Road cavity detection and smart maintenance using IOT and machine learning, uses
ultrasonic sensor for detection of potholes and GPS for plotting the location of potholes on Google
Maps. Using a simple machine-learning approach, we show that we are able to classify the roads
on the basis of good or bad using the sensor data.
DECLARATION

We, Ashish S, Bhoomika A, Harshitha K K hereby undertake that the project work entitled
“Automatic Street Light Control System” is carried out by us independently under the guidance
of Sri. Vishwas DB, Assistant Professor and Department of Computer Science and Engineering,
NIEIT, Mysore-18, in partial fulfillment of therequirement for the award of Bachelor of
Engineering in Computer Science and Engineering by the Visvesvaraya Technological University,
Belagavi. The project has been our original work and has not formed the basis for the award of
any degree, associate ship, fellowship or any other similar titles.

ASHISH S
BHOOMIKA A
HARSHITHA K K
CONTENTS
Cover Page i
Certificate ii
Acknowledgement iii
Abstract iv
Declaration v
Table of Contents vi
List of Figures ix
List of Snapshots x

CHAPTERS PAGE NO

1. Introduction 1
1.1 Aim 2
1.2 Purpose 2
1.3 Scope 2
1.4 Overview 2

2. Literature Survey 3
2.1 Survey Papers 3
2.2 Existing System 5
2.3 Proposed System 5
2.4 Feasibility Study 6
2.4.1 Technical Feasibility 7
2.4.2 Economical Feasibility 7
2.4.3 Motivational Feasibility 7
2.4.4 Schedule Feasibility 8

3. System Requirement 9
3.1 Hardware Requirements 9
3.2 Software Requirements 9
3.3 Functional Requirements 10
3.3.1 Ultrasonic sensor 10
3.3.2 Raspberry pi 10

3.4 Non-functional Requirements 12


3.5. Tools And Technologies 12

3.5.1 Overview of Machine Learning 12


3.5.2 Internet of things 13
3.5.3 Python programming 13

4. System Design 15
4.1 Role of sensors 15
4.1.1 Ultrasonic sensor 15
4.1.2 vibration sensor 16
4.2 Design of Proposed system 17
4.3 Use case diagram 17

5. Implementation 19
5.1 Introduction 19
5.2 Implementation techniques used in the Project 19
5.2.1 Data collection 20
5.2.2 Data processing and training 20
5.2.3 Classification 20
5.2.4 client application 21

6. Testing 22
Introduction 22
6.1 Software Testing 23
6.1.1 Unit Testing 23
6.1.2 Integration Testing 24
6.1.3 Validation Testing 24
6.2 System Testing 24
6.2.1 Code Testing 24

6.2.2 Specification Testing 24


6.3 Acceptance Testing 25
6.4 Test Plan 25
6.4.1 Test Plans used in Unit Testing 25

7. Snapshots 27-28

Conclusion 29

Future Enhancement 30

References 31
LIST OF FIGURES
Figure Page No.

1.1 Real image of a Pothole 1


4.1 Ultrasonic Sensor 15
4.2 Architecture 16

4.3 Use case diagram 18

6.1 The Testing process 23

TABELS 25
6.1 The Test case Table

Snapshots
7.1 Prototype Vehicle mounted with sensors (view 1) 27

27
7.2 Prototype Vehicle mounted with sensors (view 2)

7.3 Prototype Vehicle mounted with sensors (view 3) 28


Road Cavity Detection and Smart maintenance System

CHAPTER 1
INTRODUCTION

India is one of the countries that has suffered a lot of deaths due to pothole accidents. Pothole
deaths are quite common and have always been on the rise. The primary reason for this would be the
lack of maintenance of roads. Potholes are a natural formation and cannot be prevented, but pothole
deaths can be prevented by taking appropriate measures.
There are some challenges involved in this. We have to find a way to get information about
road conditions. Then the location of the pothole must be identified. Lastly the information must be
conveyed in a manner which can be understood and used by Government body. We, in this project
try to design and build such a system. In this system we use a prototype vehicle that is mount with
sensors to detect potholes, classify the roads and convey the information to the government body
through a mobile application[1].
Due to beginning of digital India, the current state of roads in India is improving. However,
natural disasters such as heavy rains and floods destroy road infrastructure continuously. There are
millions of potholes existing on the roads which cause various road related deaths and injuries every
year. A lot of people are losing their lives or getting injuries in India every year due to potholes. The
figures for pothole accidents and pothole deaths are 4,869 and 2,015 respectively[2].
There is no such existing mechanism to notify concerned authorities and citizens about potholes
or worsening road conditions, especially over the Internet. There is no mobile application available
in India to identify road conditions/potholes and warn users in real‐time. With the increase in
world's population, there has been an increasing load on the infrastructure of the country. Roads
have been flooded with the vehicular traffic. It has become very tough to manage such an amount of
traffic. This is the primary reason behind developing a system for a vehicle which is an intelligent
enough to help drivers in various fields to provide them comfortable ride. There are various reasons
for road deterioration such as rainfalls, road accidents or wear and tear which damage the road and
make it difficult to drive on it. Further, it leads to road accidents and increases the consumption of
fuel by vehicles, which effects the environment. There is a need of machine learning based pothole
detection system to identify the road irregularities using Internet of Things (IoT) sensors to avoid
future accidents.

Figure1.1 Real image of a Pothole

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 1


Road Cavity Detection and Smart maintenance System

1.1 Aim
To produce a system that helps detecting potholes and maintaining them smartly to prevent
road accidents.

1.2 Purpose
To prevent accidents caused by the potholes on the road and help reduce inefficient
maintenance of the road.

1.3 Scope
The objective of the project is an efficient road cavity or pothole detection and smart
maintenance system that helps the public to identify better roads through the application and avoid the
accident-prone roads. This application also helps keeping track of the maintenance of the road in a
smart manner, making it easier for the municipal corporation/government.

1.4 Overview
Road transportations are vital infrastructures that cities and societies greatly depend on, yet they
are often also the most difficult to maintain due to the existence of potholes. Potholes are the result of
either bad road construction or due to unforeseen accidents that damage a road. It also can be the cause
for accidents and gives a bad driving experience. There are instances where the vehicles are damaged
due to these anomalies in the road and therefore, fast detection of potholes and repair is an essential
part of road safety and quality.
Although detection of potholes is not directly linked to fixing them, it is one of the basic steps that
one can take to make society a better place. This can also have a huge impact on those who make
roads, by making them construct roads of better quality. This pothole detection system promises to use
efficient and cost-friendly techniques to detect and solve the problems of society.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 2


Road Cavity Detection and Smart maintenance System

CHAPTER 2
LITERATURE SURVEY

Almost every Software development requires the survey process. The Survey process
is needed to get the requirement for the software. The Survey also consists of studying the
present system and also studying about the tools needed for the development of the software.
A proper understanding of the tools is very essential. Following is an extract of the
information of the material collected during literature survey.

2.1 Survey Papers

A literature review or narrative review is a type of article. A literature review is a


scholarly paper, which includes the current knowledge including substantive findings, as well
as theoretical and methodological contributions to a particular topic. Literature reviews are
secondary sources, and do not report new or original experimental work. We have surveyed
the following IEEE papers for our project.

 We Learn Better Road Pothole Detection


From Attention Aggregation to Adversarial Domain Adaptation
Year- 2020
This paper presents the description of classifying damaged and undamaged roads with the
help of Neural networks. Uses computer vision, Convolution neural network and novel
attention aggregation framework based on machine learning[3].
 Automatic Detection and Notification of Potholes and Humps on Roads using IoT
Year - 2020
This research presents a description of Pothole detection and user alert system with the
help of IOT.Uses sensors to detect potholes and road humps and cloud storage is used to
store the collected data.GPS and GSM modules are used to render location and send
notification to user respectively[4].
 Pothole Detection System for Monitoring Road & Traffic Conditions using IoT
Authors:Prajakta Shendkar,Wasim Mulani,Vaibhav Narde,Nilesh devekar,Swapnil
damodar.
This paper represent the detection of potholes on road using IOT sensor and KNN

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 3


Road Cavity Detection and Smart maintenance System
algorithm.Detection of pothole using IoT sensor and using C4.5 &KNN algorithm
classifier to classify road condition[5].
 Iot Based Real Time Potholes Detection System Using Image Processing Techniques
Year-2020
Author : Kulwant Singh, Sristy Hazra, Chandra Mukherjee, Sushanth.G, Sanjith Gowda
This paper represent real time detection of potholes using Image processing and artificial
Intelligence. Detection of real time pothole using IoT sensors and MAT lab image
processing[6].

● Pothole Detection, Reporting and Management using IOT

Year-2018
Author : Ebenezer komla gavua
It presents the description about the good and bad road using sensors (Arduino board)
Uses hardware devices and the prototype vehicle to build IOT. Reporting and Manage
potholes and Obstacles[7].
 Pothole detection system using a Black box camera
Year-2015
Author : Young tae jo and Seungki Ryu
It presents the description Of pothole Detection using black box camera then the detected
data stored in database. Uses Black Box camera and prototype vehicle for detection of
road pothole[8].
 IOT Based pothole detection and notification system
Year- 2017
Author: S.Gnanapriya,V.B. Padmashree, V. Bagyalakshmi
As we know that potholes not only causes damage to the vehicle, it is also threat to our
life so advanced sensors are introduced to the vehicle, where it senses the potholes. The
sensor will be attached to the vehicles. The data obtained from sensors and the location
obtained by the GPS are transferred to road transport authority by IOT[9].
 Automatic Detection and notification of potholes and humps on roads to aid drivers
Year- 2015
Authors: Rajeshwari Madli; Santosh Hebbar; Praveenraj Pattar; Varaprasad Golla
This paper proposes a cost effective solution to identify potholes and humps to provide
alert to drivers to avoid accidents. Kinetic sensors are used to obtain direct depth

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 4


Road Cavity Detection and Smart maintenance System
measurement. we use kinect sensors which gives the direct depth measurement thereBy
reducing computing cost[10].

2.2 Existing System

In the existing system, a user is alerted or notified right before encountering a pothole and
not earlier. If there is no mobile network, then the user will not be alerted.
In the present system, only the potholes and the information regarding the location is sent
to the corporation and not the intensity, hence the danger is not known unless manually
checked[11].

2.3 Proposed System

The proposed system consists of an ultrasonic sensor that senses the distance between the
vehicle & the pothole/hump.The sensor provides the distance values to the
microcontroller. Further the system also captures the geographical location coordinates of
potholes and humps using GPS receiver. The data is sent to the cloud from where the data
is taken into machine learning algorithm for classification and then sent to the mobile
application for the public use.
In the proposed system, we have overcome the problems of the existing system.
 User can decide a better route or be alerted even before starting to the destination and not
just before encountering the pothole, with the help of the mobile application.
 The municipal corporation is not only notified of the pothole and its location, but also
regarding its intensity and how early the potholes need to be repaired.

2.4 Feasibility Study


The feasibility study proposes various feasible conceptual solutions to the problem
statements of the project. The conceptual solutions give indications of what the new
system might look like. They indicate what kind of inputs are needed by the system and
what kind of outputs will be produced. The things to be done to establish feasibility are:
First, determine if the project is technically feasible. Second, operational feasibility must
be established. In order to establish this, it is necessary to consult the system users to see
if the proposed solution satisfies user objectives and intentions and if it can be fitted in to
operation of the current system. Third, the economic feasibility must be checked. The
study must determine whether the goal of the project can be achieved within the resource

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 5


Road Cavity Detection and Smart maintenance System
limits allocated to it. It must also determine whether it is worthwhile to proceed with the
project at all.
Feasibility study is necessary to determine if the proposed system is feasible considering
the technical, operational and economic factors. By having detailed feasibility study one
can have a clear view of the proposed system with respect to its benefits and draw backs.
For a successful feasibility study of system feasibility, the existing systems and proposed
system are studied carefully.
 System Feasibility
The feasibility study is carried out to determine whether the proposed system can be
developed with the available resources.
• Technical Feasibility
• Economical Feasibility
• Behavioral Feasibility
• Motivational Feasibility
• Schedule Feasibility

2.4.1 Technical Feasibility

Technical feasibility is the study of resource availability that could affect the ability to
achieve an acceptable system. Technical feasibility is also the most difficult area to ensure at
initial stages. Since the performance and objectives functions cannot be predicted to its fullest,
everything seems possible provided, proper assumptions are made. The consideration that is
normally associated with technical feasibility generally includes resource availability at the
organization where the project is to be developed and implemented.

2.4.2 Economical Feasibility

Economic justification includes a very broad range of concerns that include cost-
benefit analysis. Cost benefit delineates costs for the project development and weighs them
against the tangible and the intangible benefits of a system. Regarding the cost and benefits of
the project, which is to man-hours with compared to man that are required to record data
about activity task report manually and also in terms of money benefits by the selling of this
system as a product. Thus this project work is economically feasible for the development in
any company.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 6


Road Cavity Detection and Smart maintenance System
2.4.3 Motivational Feasibility
An evaluation of the probability that the company is significantly motivated to support
the development and implementation of the application with necessary user participation,
resources , training etc., the participation and support by the organization during system study
was encouraging thus eliminating any resistance in this regard. So, from behavioral aspect the
new system is supposed to have can be possible to achieve.

2.4.4 Schedule Feasibility

The time schedule required for the development of this project is very important since
overruns result in escalated projects costs and also hinders in the development of the other
systems

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 7


Road Cavity Detection and Smart maintenance System

CHAPTER 3

SYSTEM REQUIREMENTS
Every computer software needs to have certain specific hardware components or some
software resources to be present on a computer. These prerequisites are known as system
requirements and are often used as a guideline as opposed to an absolute rule. Most of the
software usually defines two sets of system requirements namely, minimum and
recommended. With the ever-increasing demand for higher processing power and resources in
much newer versions of the software, system requirements usually tend to increase over time.
Hence, industry analysts tend to suggest that this trend plays a larger part in driving upgrades
to existing computer systems than the technological advancements. Another way of defining
the term System requirements, is, a generalization of the first definition, that is, giving the
requirements to be met in the design of a system or subsystem. Typically, an organization
generally starts with a set of Business requirements and then derives the System requirements
from there[12].

3.1 Hardware requirements

● PROCESSOR: Intel(R) Core (TM) i5-8250U CPU @ 1.60GHz, 1801 MHz


● RAM: 8 GB
● Graphics: NVIDIA GEFORCE
● OS-type: 64-bit operating system
● Hard disk: 1TB
● Vibration Sensor: SW-420

● Raspberry pi: 3
● Ultrasonic Sensor: HC-SR04

3.2 Software Requirements

• Operating system : Windows 10

• IDE Operating System: Windows


• Tools Languages : Python

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 8


Road Cavity Detection and Smart maintenance System
3.3 Functional requirements
A functional requirement generally defines the function of a system or components of
the system, where a function is described as a specification of behavior between outputs and
inputs. Functional requirements may also involve some calculations, data manipulation,
technical details and processing and other specific functionality that define what a system is
supposed to accomplish. These are some of the requirements for a system that define the
services or functionality that the system is anticipated to provide. They are basically the
requirements stated by the user which one can see directly in the final product, unlike the non-
functional requirements. The following are some of the functional requirements of the
proposed system[13].

3.3.1 Ultrasonic Sensor


An ultrasonic sensor is an instrument that measures the distance to an object using
ultrasonic sound waves. An ultrasonic sensor uses a transducer to send and receive ultrasonic
pulses that relay back information about an object’s proximity. High-frequency sound waves
reflect from boundaries to produce distinct echo patterns.

Ultrasonic sensors work by sending out a sound wave at a frequency above the range of human
hearing. The transducer of the sensor acts as a microphone to receive and send the ultrasonic
sound. Our ultrasonic sensors, like many others, use a single transducer to send a pulse and to
receive the echo. The sensor determines the distance to a target by measuring time lapses
between the sending and receiving of the ultrasonic pulse.

3.3.2 Raspberry Pi

The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer
monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables
people of all ages to explore computing, and to learn how to program in languages like Scratch
and Python. It’s capable of doing everything you’d expect a desktop computer to do, from
browsing the internet and playing high-definition video, to making spreadsheets, word-
processing, and playing games.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 9


Road Cavity Detection and Smart maintenance System
3.3.3 Vibration sensor

A vibration sensor is a device that measures the amount and frequency of vibration in a
given system, machine, or piece of equipment. Those measurements can be used to detect
imbalances or other issues in the asset and predict future breakdowns.

Any business that uses heavy equipment in their daily operations can benefit from
monitoring vibrations. The advantages of doing so include the following:

 Understand causes of damage

When a piece of equipment starts showing signs of wear, vibration analysis can help with
root cause analysis(RCA). By monitoring vibrations within the asset, you can track down the
root source of the vibrations and subsequent damage.

 Monitor repair needs

While vibration monitoring can help with RCA, it truly shines when used in predictive
maintenance. When connected to a CMMS or similar system, you’re able to track vibration
data in real time. When you see dangerously high levels of vibration reflected in the data,
you’ll know that you need to perform repair work on the connected asset.

 Keep an overall health check on equipment

Condition monitoring relies heavily on sensors, including vibration sensors. By


monitoring vibration data from key assets, you’re able to see how they’re performing during
specific time periods. For instance, if you’re currently adapting your system to process new
materials, vibration monitoring can help you see whether specific pieces of equipment are able
to handle it without undue wear.

 How do vibration sensors work?

A vibration sensor either connects directly to an asset or monitors it wirelessly. Once


placed, it will detect vibrations from the asset through various means, depending on the type
of sensor (more on that below). Over time, you’ll get two types of data from the device.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 10


Road Cavity Detection and Smart maintenance System
 Frequency

The first type of data is the frequency, or how often the vibration occurs. By tracking
when spikes in vibration happen in a given asset, you’ll be able to pinpoint root causes.

 Intensity

The second point of data you’ll get is the intensity of the vibration as it occurs. The more
vibration you have from a piece of equipment, the higher the intensity measurements will be.
As these two types of data are collected, your CMMS will log them into the asset’s history,
which can then be used as a point of comparison. As malfunctions occur, they’ll reflect in the
data, and your system will be able to predict future failures and malfunctions by comparing the
current data with past trends.

3.4 Non-Functional Requirements

A non-functional requirement is a requirement that specifies criteria that can be used to


judge the operation of a system, rather than specific behaviors.

• Usability
Usability is the degree to which a software can be used by specified consumers to
achieve quantified objectives with effectiveness, efficiency, and satisfaction in a
quantified context of use.
• Reliability
Refers to whether the software can perform a failure-free operation for a specified
period of time in a specified environment. The project is reliable; it can be used many
number of times.
• Supportability
It refers to the ability of technical support personnel to install, configure, and monitor
computer products, identify exceptions or faults, debug or isolate faults to root cause
analysis, and provide hardware or software maintenance in pursuit of solving a
problem and restoring the product into service. Incorporating serviceability facilitating
features typically results in more efficient product maintenance and reduces
operational costs and maintains business continuity. The system is cost-effective.
• Portability
The system shall provide the capability to back-up the Data.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 11


Road Cavity Detection and Smart maintenance System
• Security
The system shall keep a log of all the errors.
• Availability
The system shall be available all the time. Pages must be activated from the identified
link. The entry screen, messages and responses must not be delayed.
• Maintainability
Verify that the entries are of the correct format. No duplicate entries should be allowed.
• Accuracy
Since we will give the priority to the accuracy of the software, the performance of the
Recommender will be based on its accuracy on recommendations.

3.1 Tools and Technologie


3.1.1 Overview of the Machine Learning

Machine learning is a branch of artificial intelligence (AI) and computer science which

focuses on the use of data and algorithms to imitate the way that humans learn, gradually
improving its accuracy. Machine learning is a sub-domain of computer science which evolved
from the study of pattern recognition in data, and also from the computational learning theory in
artificial intelligence. It is the first-class ticket to most interesting careers in data analytics today.
As data sources proliferate along with the computing power to process them, going straight to
the data is one of the most straightforward ways to quickly gain insights and make predictions.

Machine learning algorithm into three main parts.

A Decision Process: In general, machine learning algorithms are used to make a prediction or
classification. Based on some input data, which can be labelled or unlabeled, your algorithm will
produce an estimate about a pattern in the data.

An Error Function: An error function serves to evaluate the prediction of the model. If there
are known examples, an error function can make a comparison to assess the accuracy of the
model.

An Model Optimization Process: If the model can fit better to the data points in the training
set, then weights are adjusted to reduce the discrepancy between the known example and the
model estimate. The algorithm will repeat this evaluate and optimize process, updating weights
autonomously until a threshold of accuracy has been met.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 12


Road Cavity Detection and Smart maintenance System
3.1.2 Internet Of Things

The Internet of things (IoT) describes the network of physical objects, so known
as, "things" — that are embedded with sensors, software, and other technologies that is
used for the purpose of connecting and exchanging data with other devices and systems
over the Internet.

Things have evolved due to the convergence of multiple technologies, real-time


analytics, machine learning, ubiquitous computing, commodity sensors, and embedded
systems. Traditional fields of embedded systems, wireless sensor networks, control
systems, automation (including home and building automation), and others all contribute
to enabling the Internet of things.

3.4.3 Python Programming

Python is an interpreted high-level general-purpose programming language.


Python's design philosophy emphasizes code readability with its notable use of
significant indentation. Its language constructs as well as its object-oriented approach
aim to help programmers write clear, logical code for small and large-scale projects.

Python language is being used by almost all tech-giant companies like – Google,
Amazon, Facebook, Instagram, Dropbox, Uber etc. The biggest strength of Python is

Huge collection of standard libraries which can be used for the following:

 Machine Learning
 GUI Applications (like Kivy, Tkinter, PyQt etc.)
 Web frameworks like Django (used by YouTube, Instagram, Dropbox)
 Image processing (like OpenCV, Pillow)
 Web scraping (like Scrapy, BeautifulSoup, Selenium)
 Test frameworks
 Multimedia
 Scientific computing
 Text processing and many more.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 13


Road Cavity Detection and Smart maintenance System

CHAPTER 4

SYSTEM DESIGN

System Design is the one which is used to give us complete information about project, by
considering the physical design, system development, waterfall model, system architecture and
class diagrams. It also tells how the project will work and the steps needed for implementation
and system requirements.
System Design is one of the important roles of software development. System design is
the first step to move from problem domain to the solution domain. It is the most critical factor
affecting the quality of software and majorly on testing and maintenance. System Design is
divided into separate phases such as top-level design and detailed design. It will identify the
modules that should be in the system and specifications about the modules and how they interact
with each other to produce the desired output[15].

4.1 Role of sensors

4.1.1 Ultrasonic sensor

Ultrasonic sensor that mounted on the vehicle, is used to detect the distance
between the system and the pothole. In case the pothole is encountered between the tyres,
the ultrasonic sensors can sense the potholes.

Figure 4.1(a) plain ground Figure 4.1(b) pothole

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 14


Road Cavity Detection and Smart maintenance System
As the ultrasonic sensor only provides the time of flight of the burst, calculations
are made as follows to find the conversion value to get the distance in centimeters. If the
speed of sound in air is denoted as Vair m/s and the time of flight of the ultrasonic burst is
T s, then the distance traveled by the pulse before it hit the obstacle is given by:
Vair  T
D
2

These values are recorded and sent to the machine learning model for the
classification process
Vair  T
D
2

4.1.2 Vibration sensor


Vibration sensors are used to detect potholes, if they are encountered by the vehicle tyres.
These sensors sense the vibration caused by the pothole. Potholes cause large amounts of
vibrations compared to normal roads. The vibration sensor output is recorded and sent to the
machine learning model for classification purpose. The vibration intensity is calculated as the
total number of vibrations given by the sensor in a single second.

4.2 Architecture of Pothole

Figure.4.2 Architecture

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 15


Road Cavity Detection and Smart maintenance System
The pothole detection system is divided into three subsystems. First is sensing subsystem
which senses the potholes encountered by it, about which it did not have the prior information.
Second is communication subsystem which handles the information transfer between Wi-Fi
Access Point and Mobile Node/ global storage. Third subsystem is the globalization subsystem
which analyzes the data received from Access Points and send to the ML model that classifies
and sends to user application regarding the occurrence of potholes.

4.2 Design of Proposed system


 User can decide a better route or be alerted even before starting to the destination and
not just before encountering the pothole, with the help of the mobile application

 The municipal corporation is not only notified of the pothole and its location, but also
regarding its intensity and how early the potholes need to be repaired.

4.3 Use case diagram

The prototype will be mounted with the two sensors are ultrasonic sensors and
vibration sensors. Both the sensor will sense the pothole, if there is a pothole in the
road and compute the input value and compare with the threshold value. Which is
already given to the system and this comparing value will be updated value in the
server. The updated value of data will be sent it to the machine learning model. for the
classification whether the road is good /bad and the final result updated in the Mobile
application.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 16


Road Cavity Detection and Smart maintenance System

Figure.4.3 Use Case Diagram

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 17


Road Cavity Detection and Smart maintenance System

CHAPTER 5
IMPLEMENTATION

5.1 Introduction

Implementation is the process of converting a new or a revised system design into an


operational one. The objective is to put the new or revised system that has been tested into
operation while holding costs, risks, and personal irritation to the minimum. A critical aspect
of the implementation process is to ensure that there will be no disrupting the functioning of
the organization. The best method for gaining control while implanting any new system would
be to use well planned test for testing all new programs. Before production files are used to
test live data, text files must be created on the old system, copied over to the new system, and
used for the initial test of each program.
Another factor to be considered in the implementation phase is the acquisition of the
hardware and software. Once the software is developed for the system and testing is carried
out, it is then the process of making the newly designed system fully operational and
consistent in performance.
Implementation is the most crucial stage in achieving a successful system and giving
the user’s confidence that the new system is workable and effective. Implementation of a
modified application to replace an existing one. This type of conversant ion is relatively
easy to handle, provide there are no major changes in the system.

5.2 Implementation techniques used in the Project


The project is implemented in modular approach. Each module is coded as per the
requirements and tested and this process is iterated till the all the modules have been
thoroughly implemented. The techniques and algorithms used for the implementation of the
project are discussed below.

5.2.1 Data Collection

The first step is to collect the pothole data from the sensors. The sensors are mounted
on the vehicle. The vehicle is made to drive on different types of roads and the sensor data is
collected. The collected data is then structured into a dataset that is used for training the
machine learning model that uses c5.0 algorithm.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 18


Road Cavity Detection and Smart maintenance System

5.2.2 Data Processing and training

The dataset needs to be cleaned for garbage values. Erroneous values such as the
ultrasonic sensor giving infinite distance or the vibration sensor giving garbage values are
removed from the dataset.

This clean data is converted into time batches of 1second each. The time batches are
used to train the machine learning model. The machine learning model classifies if the time
batch contains a pothole or not.

5.2.2 Classification Algorithms

C5.0 Algorithm

C4.5 is an algorithm used to generate a decision tree developed by Ross Quinlan. C4.5
is an extension of Quinlan's earlier ID3 algorithm. The decision trees generated by C4.5 can
be used for classification, and for this reason, C4.5 is often referred to as a statistical classifier.
In 2011, authors of the Weak machine learning software described the C4.5 algorithm as "a
landmark decision tree program that is probably the machine learning workhorse most widely
used in practice to date”. The C5.0 package contains an interface to the C5.0 classification
model.

● This classification algorithm is used to classify the roads into good or bad based
on the classification of the time batch that contains the sensor data. The time batch data is used
to predict potholes for that given instant. The total number of potholes for a road is recorded
and the road is classified as good or bad.

5.2.3 Client Application

The client application displays the custom map API that indicates whether the route the
user wants to take is safe for travelling in terms of quality of the road. This uses HTML,
CSS and JavaScript for the front end.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 19


Road Cavity Detection and Smart maintenance System

CHAPTER 6
TESTING

Introduction

Testing is the major process involved in software quality assurance (QA). It is


iterative process. Here test data is prepared and is used to test the modules individually.
System testing makes sure that all components of the system function properly as a unit
by actually forcing the system to fail.

The test causes should be planned before testing begins. Then as the testing
progresses, testing shifts focus in an attempt to find errors in integrated clusters of
modules and in the entire system. The philosophy behind testing is to find errors.
Actually, testing is the estate of implementation that is aimed at ensuring that the system
works actually and efficiently before implementation.

Testing is done for each module. After testing all the modules, the modules are
integrated and testing of the final system is done with the test data, specially designed to
show that the system will operate successfully in all its aspects conditions. The
procedure level testing is made first. By giving improper inputs, the errors occurred are
noted and eliminated. Thus, the system testing is a confirmation that all is correct and an
opportunity to show the user that the system works. The final step involves Validation
testing, which determines whether the software function as the user expected. The end-
user rather than the system developer conducts this test most software developers as a
process called “Alpha and Beta test” to uncover that only the end user seems able to
find.

This is the final step in system life cycle. Here we implement the tested error-free
system into real-life environment and make necessary changes, which runs in an online
fashion. Here system maintenance is done every months or year based on company
policies, and is checked for errors like runtime errors, long run errors and other
maintenances like table verification and reports. During the requirement analysis and
design, the output is a document that is usually textual and non- executable. After the
coding phase, computer programs are available that can be executed for testing purpose.
This implies that testing not only has to uncover errors introduced during coding, but
also errors introduced during the previous phases.
DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 20
Road Cavity Detection and Smart maintenance System

Figure. 6.1 The Testing process

The various types of testing done on the system are:


• Unit Testing
• Integration Testing
• Validation Testing
• System Testing
• Acceptance Testing

6.1 Software Testing

6.1.1 Unit Testing

Unit testing verification efforts on the smallest unit of software design, module.
This is known as “Module Testing”. The modules are tested separately. This testing is
carried out during programming stage itself. In these testing steps, each module is found
to be working satisfactorily as regard to the expected output from the module.

User module and Admin module are the examples of unit testing. In User module the
Registration fragmentation ,Login Fragmentation ,Avail courses are the modules of unit
testing. In Admin module the manage courses, tests, feedback are the modules of unit

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 21


Road Cavity Detection and Smart maintenance System
testing.

6.1.1 Integration Testing

Integration testing is a systematic technique for constructing tests to uncover error


associated within the interface. In the project, all the modules are combined and then the
entire programmer is tested as a whole. In the integration-testing step, all the error
uncovered is corrected for the next testing steps.
6.1.2 Validation Testing
To uncover functional errors, that is, to check whether functional characteristics
confirm to specification or not specified. To check Log in credentials [TC-10 ,TC-11] ,email
id[TC-12,TC-13,TC-04], gender[TC-07] ,phone no [TC-05],date of birth[TC-06] we make
use of Validation Testing as in table 6.1.

6.2 System Testing


Once individual module testing completed, modules are assembled to perform as a
system. Then the top down testing, which begins from upper level to lower level module
testing, has to be done to check whether the entire system is performing satisfactorily.
After unit and integration testing are over then the system as whole is tested. There
are two general strategies for system testing.
They are:

■ Code Testing
■ Specification Testing

6.2.1 Code Testing


This strategy examines the logic of the program. A path is a specific combination of conditions
handled by the program. Using this strategy, every path through the program is tested. To check
the course results[TC-21,TC-22,TC-23] and material search[TC-24,TC-25] we make use of
Code testing.

6.2.2 Specification Testing


This strategy examines the specifications stating what the program should do and how
it should perform under various conditions. The test cases are developed for each condition of

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 22


Road Cavity Detection and Smart maintenance System

developed system and processed. It is found that the system developed perform according to
its specified requirements. The system is used experimentally to ensure that the software will
run according to tits specification and in the way user expect.
Specification Testing is done successfully by entering various types of end data. It is
checked for both valid and invalid data and found System is working properly as per
requirement. This is also used in Similarity testing for displaying recommendation to a new
user [TC-28], old user[TC-27] and the user[TC-26] who has attended quiz.

6.3 Acceptance Testing


When the system has no measure problem with its accuracy, the system passes through
a final acceptance test. This test confirms that the system needs the original goal, Objective
and requirements established during analysis. If the system fulfils all the requirements, it is
finally acceptable and ready for operation.

6.4 Test Plan


A software project test plan is a document that describes the objectives, scope approach
and focus of a software testing effort. This process of preparing a test plan is a useful way to
think through the efforts needed to validate the acceptability of a software product. The
completed document will help the people outside the test group understand ‘Why and How’ of
production validation. Different test plans are used at different levels of testing.

6.4.1 Test Plans used in Unit Testing


Each module is tested for correctness whether it is meeting all the expected results.
Condition loops in the code are properly terminated so that they don’t enter into an infinite loop.
Proper validations are done so as to avoid any errors related to data entry from user.

Test Cases
TestCas
e Testing Scenario Expected result Result
Number

TC – 01 Ultrasonic sensor Values from Ultrasonic sensor Pass

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 23


Road Cavity Detection and Smart maintenance System

TC – 02 Vibration sensor Values from vibration sensor Pass

TC – 03 Saving the values Sending the values to the storage/Database Pass

TC – 04 Classification Classify the pothole data using the ML Pass


algorithm

TC – 05 Client Application Displays the map API for the users Pass

Table 6.1 Test case table

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 24


Road Cavity Detection and Smart maintenance System

CHAPTER 7
SNAPSHOT

Figure.7.1 Prototype Vehicle mounted with sensors (view 1)

Figure.7.2 Prototype Vehicle mounted with sensors (view 2)

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 25


Road Cavity Detection and Smart maintenance System

Figure.7.3 Prototype Vehicle mounted with sensors (view 3)

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 26


Road Cavity Detection and Smart maintenance System

CONCLUSION

Potholes are one of the problems India faces today, that requires a radical, quick and easy
solution. Implementing the proposed system, which alerts users even before they set out to drive,
has the potential to help eliminate the problem. Potholes effect travel time and experience. With
Indian roads, potholes make roads from bad to worse. An effective way for the government to
tackle it would be if they have the knowledge of the condition of roads. Our system not only
provides these necessary information but also provides information for drivers to travel of good
roads. It will help make the travel experience better for everyone.

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 27


Road Cavity Detection and Smart maintenance System

FUTURE ENHANCEMENTS

In the near future, the system will be able to predict the expectancy of the roads based on the collected
data with the help of enhanced machine learning techniques. The prototype to be applied on a larger
scale that helps the users in real time. Integrating our system with Google maps can provide better
travel experience and faster routes to the user. A large scale implementation will lead to better
classification of roads

DEPT. OF CSE, NIE-IT, Mysore 2020-21 Page 28


Road Cavity Detection and Smart maintenance System

REFERENCES
[1] He Youquan, Wang Jian, Qiu Hanxing, Zhang Wei, Xie Jianfang, “A Research of Pavement Potholes
Detection Based on Three-Dimensional Project Transformation”, In Proceedings of International
Congress on Image and Signal Processing, pp.1805- 1808, 2011.

[2] H.Youquan, W.Jian, Q.Hanxing, Z.Wei,and X.Jianfang,“A research of pavement potholes detection
based on threedimensional projection transformation,” in Proc. 4th Int. Congr. Image Signal Process
(CISP), Oct. 2011, pp.1805– 1808.

[3] Rui Fan, Hengli Wang, Mohammud J. Bocus, Ming Liu : " We Learn Better Road Pothole
Detection:from Attention Aggregation to Adversarial Domain Adaptation " arXiv:2008.06840v2 [cs.CV]
11 Dec 2020,Computer Vision and Pattern Recognition (cs.CV); Robotics (cs.RO).

[4] Swetha K, Punithgowda KM, Lalithesh D, B Deepak Sharan, Shivuprasad UJ :"Automatic Detection
and Notification of Potholes and Humps on Roads using IoT",International Research Journal of
Engineering and Technology (IRJET),Volume: 07 Issue: 06 | June 2020

[5] Vaibhav Narde,Nilesh Devekar,Swapnil Damodar,Prajakta Shendkar,Wasim Mulani :"Pothole


Detection System for Monitoring Road & Traffic Conditions using IoT", [3] Pothole Detection
System for Monitoring Road & Traffic Conditions using IoT",IJIRST –International Journal for
Innovative Research in Science & Technology Volume 5 Issue 7 December 2018.

[6] Kulwant Singh, Sristy Hazra, Chandra Mukherjee, Sushanth.G, Sanjith Gowda :"Iot Based Real Time
Potholes Detection System Using Image Processing Techniques",INTERNATIONAL JOURNAL OF
SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 9, ISSUE 02, FEBRUARY 2020.

[7] Collinson Colin M. Agbesi, Ebenezer K. Gavua, Seth Okyere-Dankwa, Kwame Anim Appiah, Kofi
AduManu Sarpong:"Pothole Detection, Reporting and Management using IOT",International Journal of
Emerging Science and Engineering (IJESE),ISSN: 2319–6378, Volume-5 Issue-1, November 2017.
[8] Youngtae Jo and Seungki Ryu :"Pothole detection system using a Black box camera",Highway
Research Institute, Korea Institute of Civil Engineering and Building Technology,Goyang-si, Gyeonggi-
do 10223, Korea,published in 2015.
[9] S.Gnanapriya, V.B.Padmashree, V.Bagyalakshmi and G.A.Pravallikha :"IOT Based pothole detection
and notification system",American-Eurasian Journal of Scientific Research 12 (3): 172-179,IDOSI
Publications, 2017.

DEPT. OF CSE, NIE-IT, Mysore 2020-2021 Page-29


Road Cavity Detection and Smart maintenance System

[10] Rajeshwari Madli, Santosh Hebbar, Praveenraj Pattar, and Varaprasad Golla :"Automatic Detection
and notification of potholes and humps on roads to aid drivers",IEEE SENSORS JOURNAL, VOL. 15,
NO. 8, AUGUST 2015.

[11] J. Lin and Y. Liu, “Potholes detection based on SVM in the pavement distress image,” in Proc. 9th
Int. Symp. Distrib. Comput. Appl. Bus. Eng. Sci., Aug. 2010, pp. 544– 547.

[12] A. Kulkarni, N. Mhalgi, D. Sagar Gurnani, and N. Giri, “Pothole detection system using machine
learning on android,” International Journal of Emerging Technology and Advanced Engineering, vol. 5,
no. 7, pp. 360–364, July 2014.

[13] I. Moazzam, K. Kamal, S. Mathavan, S. Usman, and M. Rahman, “Metrology and visualization of
potholes using the microsoft kinect sensor,” in Proc. 16th Int. IEEE Conf. Intell. Transp. Syst,
Netherlands, 2013, pp. 1284–1291.

[14] Raj, S.; Jain, A.; Misra, R. Smartphone sensing for large data set collection of potholes. In
Proceedings of the MobiSys 2013, Taipei, Taiwan, 25–28 June 2013; pp. 517–518.

[15] Koch, C.; Brilakis, I. Pothole detection in asphalt pavement images. Adv. Eng. Inform. 2011, 25,
507–515.

[16] https://dataplatform.cloud.ibm.com/docs/content/wsd/nodes/c50.html
https://www.maxbotix.com/articles/how-ultrasonic-sensors- work.htm#:text=Ultrasonic%20sensors
%20work%20by%20sending,and%20to%20receive%20the% 20echo.

Dept.,Of CSE,NIE-IT , 2020-2021 Page 30


Road Cavity Detection and Smart maintenance System

You might also like