Edited Copy of Real Time Speed Estimation and Traffic Management System Using Open CV
Edited Copy of Real Time Speed Estimation and Traffic Management System Using Open CV
ABSTRACT
For real-time speed tracking of moving vehicles, there have been multiple previous
implementations. Although prediction results achieved are promising, these traditional approaches
are still far from being highly accurate and efficient. This could lead to inaccurate predictions,
improper reports, and higher risks of road accidents, and many people who are at default for
violating the traffic rules may go completely unnoticed. The existing system only detects the
number of vehicles and also it is done with an object detection mechanism. In our proposed system,
real-time speed estimation, vehicle counting, and lane management functionalities are added.
When an input video is given, the speed of the vehicles moving will be detected and the lane in
which the vehicles are travelling is also detected and tracked. Also, all the details of speed
estimation and lane management are updated in a separate CSV file. The proposed system is
trained with real-time datasets and also the proposed system has high accuracy and efficiency
1. INTRODUCTION
Throughout the last several decades, surveillance cameras have been installed all over the
transportation network to aid in traffic management, ensure the safety of drivers, and spot any
anomalies along with software for detecting cars is becoming more crucial for smart cities Many
cities have installed cameras along their streets, but it is impossible for a single person to keep
track of all of them at once. Thus, in order for people to accomplish intelligent traffic management,
a friendly intelligent traffic monitoring system is required. Accurate vehicle detection is the initial
step of intelligent traffic monitoring. Real-time road monitoring, intelligent tracking, and
intelligent traffic management are only some of the many uses for this method. The purpose of this
system is, thus, to identify vehicle categories and detect vehicles in real time. Over the last decade,
many vehicle identification standards with varying degrees of difficulty have been presented.
Meanwhile, advances in deep learning-based techniques have led to remarkable progress in the
realm of vehicle detection and object detection areas, and may be broken down into one-stage and
two-stage detection algorithms. The associate editor responsible for managing the evaluation of
this paper and giving final approval was Sudipta Roy.
1.2 MODULE DESCRIPTION
LIST OF MAIN MODULES
2. SYSTEM STUDY
2.1 EXISTING SYSTEM
These systems typically employ computer vision techniques and algorithms to analyze video
feed from cameras placed on roads and highways. The captured video frames are processed in real-
time to detect and track vehicles, and their speed is estimated using image processing and pattern
recognition techniques. The collected speed data can be used for traffic management purposes,
such as detecting congestion, controlling traffic signals, and managing road accidents. These
systems can provide valuable information for traffic management agencies to improve the
efficiency of transportation systems.
▪ Economical feasibility
▪ Technical feasibility
▪ Operational feasibility
4. SYSTEM ANALYSIS
● Data Flow
Data flows are pipelines through which packets of information flow. Label the arrows with
the name of the data that moves through it.
● External Entity
External entities are objects outside the system, with which the system communicates.
These are sources and destinations of the system’s inputs and outputs.
DATA FLOW DIAGRAM
Level 0
Level 1
Entity-relationship diagram depicts relationship between data objects. The attribute of each
data objects noted in the entity-relationship diagram can be described using a data object
description.In software engineering, an entity-relationship model (ERM) is an abstract and
conceptual representation of data. Entity-relationship modeling is a database modeling method,
used to produce a type of conceptual schema or semantic data model of a system, often a relational
database, and its requirements in a top-down fashion. Diagrams created by this process are
called entity-relationship diagrams, ER diagrams, or ERDs. Data flow diagram serves two
purposes.
1. One-to-One
One instance of entity (A) is associated with one other instance of another entity (B).
For example, in a database of sign in, each customer name (A) is associated with only one
security mobile number (B).
2. One-to-Many
One instance of an entity (A) is associated with zero, one or many instances of another entity
(B), but for one instance of entity B there is only one instance of entry A.
For example, for a company with all employees working in one building, the building name (A) is
associated with many different employees (B), but those employees all share the same singular
association with entity A.
3. Many-to-Many
One instance of an entity (A) is associated with one, zero or many instances of entity A.
For example, for a company in which all of its employees work on multiple projects, each instance
of an employee (A) is associated with many instances of a project (B), and at the same time, each
instance of a project (B) has multiple employees (A) associated with it.
● SYMBOLS USED
External entity –
Attribute –
Relationship –
Data flow –
● E-R DIAGRAM
A use case diagram is used to represent the dynamic behavior of a system. It encapsulates the
system's functionality by incorporating use cases, actors, and their relationships. It models the
tasks, services, and functions required by a system/subsystem of an application. It depicts the high-
level functionality of a system and also tells how the user handles a system. Use case diagrams can
summarize the details of your system's users (also known as actors) and their interactions with the
system. To build one, you'll use a set of specialized symbols and connectors. A use case diagram
doesn't go into a lot of detail—for example, don't expect it to model the order in which steps are
performed. Instead, a proper use case diagram depicts a high-level overview of the relationship
between use cases, actors, and systems. Experts recommend that use case diagrams be used to
supplement a more descriptive textual use case.An effective use case diagram can help your team
discuss and represent:
● Goals that your system or application helps those entities (known as actors) achieve
● Symbols Used
Actor –
Data flow–
System Function–
Use Case Diagram
● the interaction that takes place in a collaboration that either realizes a use case or an
operation (instance diagrams or generic diagrams)
● high-level interactions between user of the system and the system, between the system and
other systems, or between subsystems (sometimes known as system sequence diagrams)
Object symbol -
Activation Box -
Lifeline Symbol -
● Sequence Diagram
Fig 4.5 Sequence Diagram
Symbols Used
Initial State
Activity State
Action Flow
Decision Node
Activity Diagram
Image preprocessing
Fused coefficient
Wavelet transform
Fusion model
DTCWT
Segmented Image
Anaconda is an open-source package manager for Python and R. It is the most popular
platform among data science professionals for running Python and R implementations. There are
over 300 libraries in data science, so having a robust distribution system for them is a must for any
professional in this field.Anaconda simplifies package deployment and management. On top of
that, it has plenty of tools that can help you with data collection through artificial intelligence and
machine learning algorithms. With Anaconda, you can easily set up, manage, and share Conda
environments. Moreover, you can deploy any required project with a few clicks when you’re using
Anaconda.There are many advantages to using Anaconda and the following are the most
prominent ones among them:Anaconda is free and open-source. This means you can use it without
spending any money. In the data science sector, Anaconda is an industry staple. It is open-source
too, which has made it widely popular. If you want to become a data science professional, you
must know how to use Anaconda for Python because every recruiter expects you to have this skill.
It is a must-have for data science.
It has more than 1500 Python and R data science packages, so you don’t face any
compatibility issues while collaborating with others. For example, suppose your colleague sends
you a project which requires packages called A and B but you only have package A. Without
having package B, you wouldn’t be able to run the project. Anaconda mitigates the chances of
such errors. You can easily collaborate on projects without worrying about any compatibility
issues.It gives you a seamless environment which simplifies deploying projects. You can deploy
any project with just a few clicks and commands while managing the rest. Anaconda has a thriving
community of data scientists and machine learning professionals who use it regularly. If you
encounter an issue, chances are, the community has already answered the same. On the other hand,
you can also ask people in the community about the issues you face there, it’s a very helpful
community ready to help new learners. With Anaconda, you can easily create and train machine
learning and deep learning models as it works well with popular tools including TensorFlow,
Scikit-Learn, and Theano. You can create visualizations by using Bokeh, Holoviews, Matplotlib,
and Datashader while using Anaconda.
Activating an Environment
You can activate a Conda environment by using the following command:
conda activate <environment_name>
You should activate the environment before you start working on the same. Also, replace the term
<environment_name> with the environment name you want to activate. On the other hand, if you
want to deactivate an environment use the following command:
conda deactivate
Deleting an Environment
Sometimes, you don’t need to add a new environment but remove one. In such cases, you must
know how to delete a Conda environment, which you can do so by using the following command:
conda env remove –name <env_name>
The above command would delete the Conda environment right away.
Front-end web development is the process of transforming the data to a graphical interface, through
the usage of CSS, HTML, and JavaScript so that the users can observe and network with that data.
The front end portion is built by using some languages which are discussed below: HTML: HTML
stands for Hypertext Markup Language. It is used to design the front-end portion of web pages
using a markup language. HTML is the combination of Hypertext and Markup language. The part
of a website that the user interacts with directly is termed the front end. It is also referred to as the
‘client side’ of the application. It includes everything that users experience directly: text colors and
styles, images, graphs and tables, buttons, colors, and a navigation menu. HTML, CSS, and
JavaScript are the languages used for Front End development. The structure, design, behavior, and
content of everything seen on browser screens when websites, web applications, or mobile apps
are opened up, is implemented by front End developers. Responsiveness and performance are two
main objectives of the Front End. The developer must ensure that the site is responsive i.e. it
appears correctly on devices of all sizes no part of the website should behave abnormally
irrespective of the size of the screen.
HTML: HTML stands for Hypertext Markup Language. It is used to design the front-end portion
of web pages using a markup language. HTML is the combination of Hypertext and Markup
language. Hypertext defines the link between the web pages. The markup language is used to
define the text documentation within the tag which defines the structure of web pages.
CSS: Cascading Style Sheets fondly referred to as CSS is a simply designed language intended to
simplify the process of making web pages presentable. CSS allows you to apply styles to web
pages. More importantly, CSS enables you to do this independent of the HTML that makes up
each web page.
Some other libraries and frameworks are Semantic-UI, Foundation, Materialize, Backbone.js,
Ember.js, etc.
5.3.2.BACKEND SPECIFICATION
Advantages of Python
1. Easy to Read, Learn and Write
Python is a high-level programming language that has English-like syntax. This makes it easier to
read and understand the code.
Python is really easy to pick up and learn, that is why a lot of people recommend Python to
beginners. You need less lines of code to perform the same task as compared to other major
languages like C/C++ and Java.
2. Improved Productivity
Python is a very productive language. Due to the simplicity of Python, developers can focus on
solving the problem. They don’t need to spend too much time in understanding
the syntax or behavior of the programming language. You write less code and get more things
done.
3. Interpreted Language
Python is an interpreted language which means that Python directly executes the code line by line.
In case of any error, it stops further execution and reports back the error which has occurred.
Python shows only one error even if the program has multiple errors. This makes debugging easier.
4. Dynamically Typed
Python doesn’t know the type of variable until we run the code. It automatically assigns the data
type during execution. The programmer doesn’t need to worry about declaring variables and their
data types.
5. Free and Open-Source
Python comes under the OSI approved open-source license. This makes
it free to use and distribute. You can download the source code, modify it and even distribute your
version of Python. This is useful for organizations that want to modify some specific behavior and
use their version for development.
6. Vast Libraries Support
The standard library of Python is huge, you can find almost all the functions needed for your task.
So, you don’t have to depend on external libraries.
But even if you do, a Python package manager (pip) makes things easier to import other great
packages from the Python package index (PyPi). It consists of over 200,000 packages.
7. Portability
In many languages like C/C++, you need to change your code to run the program on different
platforms. That is not the same with Python. You only write once and run it anywhere.
However, you should be careful not to include any system-dependent features.
6. SYSTEM DESIGN
6.1 Table design