You are on page 1of 60

Experiment 1:Identify the Software Project, Create Business Case,

Arrive at a Problem Statement

Project overview:

A project on traffic signal and stop sign recognition involves using computer vision
techniques to detect and classify traffic signals and stop signs from camera images or videos.
The goal of the project is to develop an intelligent system that can accurately detect and
classify traffic signals and stop signs in real-time, allowing autonomous vehicles or human
drivers to respond appropriately.

The project can be divided into several steps, including:

1. Data collection: Collecting a large dataset of traffic signal and stop sign images or
videos.

2. Data pre-processing: Cleaning and pre-processing the data to improve the quality and
reduce noise.

3. Image processing: Applying computer vision techniques such as edge detection,


segmentation, and feature extraction to detect and locate traffic signals and stop signs
in the images.

4. Classification: Using machine learning algorithms such as support vector machines


(SVMs) or deep learning techniques such as convolutional neural networks (CNNs) to
classify the detected traffic signals and stop signs.

5. Integration: Integrating the traffic signal and stop sign recognition system with an
autonomous vehicle or traffic control system.

6. Testing and evaluation: Testing the system's performance in real-world scenarios and
evaluating its accuracy, speed, and robustness.

Overall, a traffic signal and stop sign recognition system has the potential to improve traffic
safety and reduce accidents, making it an important research area for autonomous driving
and transportation engineering.

1
Aim :

1. To develop an intelligent system that can accurately detect and recognize traffic
signals and stop signs from camera images or videos.

Objectives:

1. To collect and preprocess a large dataset of traffic signal and stop sign
images or videos.
2. To implement computer vision techniques such as edge detection,
segmentation, and feature extraction to detect and locate traffic signals
and stop signs in the images.
3. To train a machine learning algorithm or deep learning model to
accurately classify the detected traffic signals and stop signs.
4. To integrate the traffic signal and stop sign recognition system with an
autonomous vehicle or traffic control system.
5. To evaluate the performance of the system in terms of accuracy, speed,
and robustness, and compare it with other state-of-the-art systems.

Business case Project:


The development of a traffic signal and stop sign recognition system can benefit various
industries, including transportation, automotive, and logistics. The system can help reduce
accidents and improve traffic flow, leading to cost savings, increased efficiency, and
enhanced safety.

Objectives:
1. Improve traffic safety: The traffic signal and stop sign recognition system can help
reduce the number of accidents caused by human error, such as running a red light or
failing to stop at a stop sign.
2. Enhance efficiency: By recognizing traffic signals and stop signs, the system can help
reduce the time spent at intersections, improving traffic flow and reducing congestion.
3. Reduce costs: The system can help reduce the cost of accidents, including property
damage, medical expenses, and insurance premiums.

2
4. Increase automation: The traffic signal and stop sign recognition system can be
integrated with autonomous vehicles, enhancing their ability to navigate roads safely
and efficiently.
5. Expand market share: By developing a state-of-the-art traffic signal and stop sign
recognition system, the company can attract new customers and increase its market
share in the transportation and logistics industries.

Potential Customers:

1. Automotive companies developing autonomous vehicles


2. Traffic management agencies and local governments
3. Logistics companies managing transportation fleets
4. Ride-hailing companies and taxi services

Revenue Streams:

1. License fees for the use of the traffic signal and stop sign recognition system
2. Installation and maintenance services for the system
3. Data services, including access to the collected dataset of traffic signal and stopimages
or videos
4. Consulting services for system integration and customization
5. Overall, a traffic signal and stop sign recognition system can provide a competitive
advantage for businesses operating in the transportation and logistics industries while
also improving safety and efficiency for all road users.

History:

The development of traffic signal and stop sign recognition systems has been a long-standing
research area in the field of computer vision and artificial intelligence. Here is a brief
history of some of the major milestones in the development of such systems:

1. `1960s-1980s: Early work on computer vision focused on low-level image processing


tasks, such as edge detection and segmentation. However, researchers also began
exploring object recognition techniques, such as template matching and feature
extraction, as a way to detect traffic signals and stop signs.

2. 1990s: With the rise of machine learning algorithms such as support vector machines
(SVMs), researchers began exploring the use of these techniques for traffic sign

3
recognition. SVMs were used to classify traffic sign shapes and colors, and later to
recognize text in traffic signs.

3. 2000s: As deep learning techniques such as convolutional neural networks (CNNs)


gained popularity, researchers began applying these techniques to traffic sign
recognition. CNNs were used to automatically learn features from raw image data,
improving recognition accuracy and reducing the need for hand-crafted features.

4. 2010s: With the growth of the autonomous driving industry, there was renewed interest
in developing accurate and robust traffic signal and stop sign recognition systems.
Researchers began exploring the use of multiple sensors, such as cameras, lidars, and
radars, as well as fusing data from these sensors to improve recognition performance.

5. Today: Traffic signal and stop sign recognition systems are an active area of research,
with continued efforts to improve recognition accuracy, speed, and robustness. With
the increasing deployment of autonomous vehicles, the demand for reliable and
accurate traffic signal and stop sign recognition systems is expected to grow.

Limitations:
1. Environmental conditions
2. Variability in sign design
3. Computational requirements
4. Limited training data
5. Privacy concerns

Approach:
The approach for a traffic signal stop sign recognition project typically involves
collecting and annotating large amounts of image or video data, developing and training a
deep learning model using computer vision algorithms, and evaluating the model's
performance using various metrics such as accuracy, precision, and recall. The trained model
is then integrated into a system that can detect and recognize traffic signals and stop signs in
real-world scenarios.

4
Benefits:
1. Improved safety: Accurate and reliable detection and recognition of traffic signals and
stop signs can help reduce the number of accidents caused by human error, improving
overall road safety.
2. Increased efficiency: Automated detection and recognition of traffic signals and stop
signs can help reduce traffic congestion and improve traffic flow, leading to more
efficient use of road infrastructure.
3. Cost savings: Automated traffic signal and stop sign recognition can reduce the need
for human operators or manual inspection, leading to cost savings for transportation
agencies and other stakeholders.
4. Environmental benefits: More efficient use of road infrastructure can lead to reduced
emissions and improved air quality, benefiting both the environment and public health.
5. Advancement of autonomous driving technology: Accurate and reliable traffic signal
and stop sign recognition is a key component of autonomous driving technology,
which has the potential to revolutionize the transportation industry and improve
mobility for people and goods.

Uses:
1. Advanced Driver Assistance Systems (ADAS): ADAS applications can use traffic
signal and stop sign recognition to alert drivers when they approach a stop sign or
traffic signal, improving safety and reducing the risk of accidents.
2. Autonomous Vehicles: Autonomous vehicles rely on traffic signal and stop sign
recognition to navigate roads safely and efficiently, detecting and obeying traffic
signals and signs as required.
3. Traffic Management Systems: Traffic management systems can use traffic signal and
stop sign recognition to monitor traffic flow, adjust traffic signal timing, and manage
traffic congestion, improving overall efficiency and safety on the roads.
4. Pedestrian Safety: Pedestrian safety applications can use traffic signal and stop sign
recognition to detect and warn pedestrians when they approach an intersection,
helping to reduce the risk of accidents involving pedestrians.
5. Law Enforcement: Law enforcement agencies can use traffic signal and stop sign
recognition to monitor and enforce traffic laws, such as red-light running and stop
sign violations.
5
Problem Statement:
The problem statement for a traffic signal and stop sign recognition project
is to develop an accurate and reliable system that can automatically detect and
recognize traffic signals and stop signs in real-world scenarios, despite the
variability in sign design, environmental conditions, and occlusion. This
system should be able to operate in real-time, with high precision and recall,
and should be scalable to different use cases and deployment scenarios. The
goal is to improve road safety, reduce traffic congestion, and advance
autonomous driving technology by enabling vehicles to safely and efficiently
navigate roads and intersections.

An example of a problem that a traffic signal and stop sign recognition


project could address is the high number of accidents caused by drivers
running red lights or stop signs. These types of accidents are often caused by
human error, and can result in serious injuries or fatalities. By developing an
accurate and reliable system that can detect and recognize traffic signals and
stop signs, vehicles equipped with this system could be programmed to
automatically stop at intersections, reducing the risk of accidents caused by
red-light running or stop sign violations. This could improve road safety and
reduce the number of accidents on the roads.

6
Experiment 2: Stakeholder and User Description, Identify the
Appropriate Process Model, Comparative study with Agile Model

 Direct Users:Transportation agencies, automotive manufacturers,


ADAS developers, pedestrian safety organizations, and law
enforcement agencies could all be direct users of a traffic signal and
stop sign recognition project.
 Secondary Users:In addition to direct users, secondary users for a
traffic signal and stop sign recognition project could include
academic researchers studying traffic safety, urban planners
designing infrastructure, insurance companies interested in reducing
accident rates, and the general public who benefit from improved
mobility and road safety.
Beneficiaries: A beneficiary is any person who gains an advantage and/or profits
from something. In the financial world, a beneficiary typically refers to someone
eligible to receive distributions from a trust, will, or life insurance policy.
Beneficiaries are either named specifically in these documents or have met the
stipulations that make them eligible for whatever distribution is specified. The
beneficiaries are the government, rto, police, and insurance.
The beneficiaries of a traffic signal and stop sign recognition
project could include drivers and passengers who benefit from improved road
safety, pedestrians who benefit from safer intersections, transportation
agencies and law enforcement who benefit from improved traffic
management and enforcement, and society at large which could benefit from
reduced accidents and increased mobility.
There are seven primaries algorithms that the software requires for identifying a
license plate:
1. Image processing: This involves preprocessing camera or sensor data to
enhance image quality, reduce noise, and improve contrast and
brightness.
2. Feature extraction: This step involves identifying relevant features in the
image that could be used to differentiate traffic signals and stop signs
from other objects.

7
3. Machine learning: This involves using algorithms to classify and
interpret the traffic signals and stop signs. Deep learning techniques such
as Convolutional Neural Networks (CNNs) or Recurrent Neural
Networks (RNNs) could be used for this task.
4. Training: The system would need to be trained on a large dataset of
traffic signal and stop sign images to improve its accuracy and
robustness in different scenarios.
5. Real-time operation: The system would need to operate in real-time,
with low latency and high precision, to enable quick and accurate
recognition of traffic signals and stop signs in dynamic traffic
environments.

Process Model:

1. Requirements gathering: Define the system requirements and user needs, including the
type of camera or sensor used, the range of operating conditions, and the performance
metrics.

2. Data collection and preprocessing: Collect a large dataset of traffic signal and stop sign
images, preprocess the data to enhance image quality, and annotate the data with labels
indicating the presence or absence of traffic signals and stop signs.

3. Feature extraction and selection: Extract relevant features from the preprocessed
images, such as color, shape, and texture, and select the most informative features
using feature selection techniques.

4. Machine learning model development: Develop a machine learning model, such as a


CNN or RNN, using the selected features and training data. Fine-tune the model
parameters using techniques such as cross-validation and hyperparameter optimization.

5. Evaluation and validation: Evaluate the performance of the model using a validation
dataset, and validate the model in real-world traffic conditions to test its accuracy and
robustness.

6. Deployment and maintenance: Deploy the system in the target environment, and
continuously monitor and maintain the system to ensure reliable and accurate operation.

8
7. Continuous improvement: Collect feedback from users and monitor system
performance to identify areas for improvement, and incorporate improvements into the
system design and operation.

The process model for a traffic signal and stop sign recognition project
includes requirements gathering, data collection and preprocessing, feature extraction and
selection, machine learning model development, evaluation and validation, deployment and
maintenance, and continuous improvement.

9
Experiment 3: Identify the Requirements, System Requirements,
FunctionalRequirements, Non-Functional Requirements

FEASIBILITY STUDY:
1. Technical feasibility: Is the technology available to build an accurate and
reliable system for traffic signal and stop sign recognition?
2. Economic feasibility: Can the project be completed within the budget
constraints, and will the system provide a good return on investment?
3. Legal and regulatory feasibility: Are there any legal or regulatory barriers
to the implementation of the system, such as data privacy or safety
requirements?
4. Operational feasibility: Can the system be integrated with existing traffic
infrastructure, and will it be easy to operate and maintain?
5. Schedule feasibility: Can the project be completed within the required
timeline, and are there any potential schedule risks or dependencies?
6. Organizational feasibility: Does the organization have the necessary
expertise and resources to complete the project successfully?

FUNCTIONAL REQUIREMENTS: It refers to the functionalities that are


applicable to a system.

1. Real-time detection and recognition of traffic signals and stop signs, with high
accuracy and reliability.

2. User-friendly interface for easy interaction with the system, including visual feedback
and alerts.

3. Integration with other traffic management systems or devices, such as autonomous


vehicles or traffic control centers.

4. Configurability and adaptability, with the ability to adjust parameters and settings to
accommodate different environments and use cases.

10
5. Robustness and fault-tolerance, with the ability to handle errors and exceptions
gracefully and recover quickly.

NON-FUNCTIONAL REQUIREMENTS: It is a system must behave or how


isthe system's behaviour. This also specifies how the system's quality
characteristics or quality attributes. In order to put this constraint upon the
specific system behaviour, the qualities goals of the designed system should
gointo these:

Execution qualities:
• Functionality
• Security
• Usability
Effectiveness & Efficiency
Evolution qualities:
• Availability
• Reliability
• Manageability
SYSTEM REQUIREMENTS: The following is the suggested minimum system
configuration to run the ANPD software:
• Intel i3 CPU or higher
• 4GB RAM or more
• Windows 7 (64 bit), Windows 8 (64 bit), Windows 10 (64 bit)

PYTHON VERSION 3.10.0


Python is a high level, interpreted and general-purpose dynamic programming
language that focuses on code readability. It has fewer steps when compared to
Java and C. It was founded in 1991 by developer Guido Van Rossum. It is used in

11
many organizations as it supports multiple programming paradigms. It also
performs automatic memory management.

Advantages of Using Python:


The diverse application of the Python language is a result of the combination of
features which give this language an edge over others. Some of the benefits of
programming in Python include:

1. Presence of Third-Party Modules: The Python Package Index (PyPI)


contains numerous third-party modules that make Python capable of interacting
with most of the other languages and platforms.

2. Extensive Support Libraries: Python provides a large standard library which


includes areas like internet protocols, string operations, web services tools and
operating system interfaces. Many high use programming tasks have already
been scripted into the standard library which reduces length of code to be
written significantly.

3. Open Source and Community Development: Python language is developed


under an OSI-approved open-source license, which makes it free to use and
distribute, including for commercial purposes. Further, its development is
driven by the community which collaborates for its code through hosting
conferences and mailing lists, and provides for its numerous modules.

4. Learning Ease and Support Available: Python offers excellent readability


and uncluttered simple-to-learn syntax which helps beginners to utilize this
programming language. The code style guidelines, PEP 8, provide a set of rules
to facilitate the formatting of code. Additionally, the wide base of users and
active developers has resulted in a rich internet resource bank to encourage
development and the continued adoption of the language.

12
5. User – friendly Data Structures: Python has built-in list and dictionary
data structures which can be used to construct fast runtime data structures.
Further, Python also provides the option of dynamic high-level data typing
which reduces the length of support code that is needed.
6. Productivity and Speed: Python has clean object-oriented design, provides
enhanced process control capabilities, and possesses strong integration and text
processing capabilities and its own unit testing framework, all of which
contribute to the increase in its speed and productivity. Python is considered a
viable option for building complex multi-protocol network applications. As can
be seen from the above-mentioned points, Python offers a number of
advantages for software development. As upgrading of the language continues,
its loyalist base could grow as well.
Python File: The standard Python installer already associates the .py extension
with a file type (Python.File) and gives that file type an open command that runs
the interpreter. This is enough to make scripts executable from the command
prompt as ‘foo.py’. If you’d rather be able to execute the script by simple typing
‘foo’ with no extension you need to add .py to the PATHEXT environment
variable.

Creating and Running Script File

To create scripts files, you need to use a text editor. You can open the python
editor in two ways:

▪ Using the command prompt


▪ Using the IDE

If you are using the command prompt, type edit in the command prompt. This
will open the editor. You can directly type edit and then the filename (with .py
extension).

13
USE CASE DIAGRAM
Actor: User
Use Case:
• Capture video and acquire image
• Verify Vehicle
• Identify Number

Precondition: A camera is placed at 4-5 m away from the sign to get the clear
view of the sign and Videos are captured and stored in a repository.
Post condition: The signs are recognized and displayed on theterminal.

Fig: Use case diagram

14
Experiment 4: Prepare Project Plan based on scope, Find Job
roles andresponsibilities, Calculate Project effort based on
resources

Project Plan and its component


1. Project initiation:
➢ Define the project scope and objectives.
➢ Identify stakeholders and project team members.
➢ Establish the project timeline and budget.
2. Requirements gathering and analysis:
➢ Identify the functional and non-functional requirements.
➢ Determine the technical specifications and constraints.
➢ Define the user interface and user experience requirements.
3. Design and architecture:
➢ Develop the system architecture and component design.
➢ Create detailed design specifications for each component.
➢ Define the system interfaces and communication protocols.
4. Development and testing:
➢ Implement the system components.
➢ Conduct unit, integration, and system testing.
➢ Refine the system based on feedback from testing.
5. Deployment and rollout:
➢ Deploy the system in the target environment.
➢ Train users and administrators on how to use the system.
➢ Monitor the system and address any issues or bugs that arise.

15
6. Maintenance and support:
➢ Provide ongoing maintenance and support for the system.

➢ Continuously improve the system based on feedback.


➢ Plan for future updates and upgrades to the system.
These components may vary depending on the specific project and its
requirements, but they provide a general framework for managing a traffic
signal and stop sign recognition project.

Roles and responsibilities

Thus, the assignments for every member are as follows:

● Senthilnathan S: Idea of Establishing Database + Presentation +


Idea of Sign Detection + Finding Dataset + Polishing, Final
Report

● Yonald G: Reports Writing, Including Proposal, Progressive


Report

Scope Statement

Project objective: To develop a real-time system for detecting and recognizing traffic
signals and stop signs to improve road safety and traffic flow.

Scope: The project will involve the development of a computer vision system that can detect
and recognize traffic signals and stop signs in real-time using machine learning algorithms.
The system will be designed to work in various weather and lighting conditions and be able

16
to detect signs and signals from various angles and distances. The system will also provide
visual feedback and alerts to drivers and other road users to improve their awareness of the
traffic signals and stop signs. The project will not involve the design or development of any
physical hardware components.

Baseline Management Plans

A baseline management plan is a document that outlines the project's scope, objectives, and
key performance indicators, as well as the strategies and resources that will be used to
achieve them.By developing a baseline management plan for a traffic signal and stop sign
recognition project, the project team can ensure that everyone is aligned on the project goals,
timelines, and resource requirements, and that there is a clear plan in place for managing
risks and ensuring the quality of the final product.

Project Quality and Risk

Project Quality:

The quality of a traffic signal and stop sign recognition project can be
measured by how well it meets the project objectives and user requirements.
The following are some key factors that can contribute to project quality:

• Accuracy: The system should be able to accurately detect traffic


signals and stop signs in various lighting and weather conditions.

• Speed: The system should be able to quickly detect and respond to traffic
signals and stop signs, without causing delays or disruptions in traffic
flow.

• Reliability: The system should be reliable and consistent, with a low rate
of false positives or false negatives.

• Usability: The system should be easy to use and understand for drivers,
with clear and intuitive visual cues.
17
• Maintainability: The system should be designed for easy maintenance
and upgrades, to ensure that it remains effective over time.

Project Risk:

A traffic signal and stop sign recognition project may face a number of risks,
which could impact the project schedule, budget, or quality. Here are some of
the key risks that could be associated with this type of project:

• Technical risks: There may be technical challenges associated with


developing a system that can accurately detect traffic signals and stop
signs in all types of weather and lighting conditions.

• Resource risks: The project may require significant resources, including


personnel, equipment, and software tools, which could be impacted by
unexpected shortages or delays.

• Schedule risks: Delays in the project schedule could impact the system's
effectiveness or reduce its impact on road safety.

• Budget risks: The project may require significant funding, and


unexpected costs could impact the project's ability to deliver on its
objectives.

• Regulatory risks: The system may be subject to regulations or standards


that could impact its development, deployment, or use.

Effective risk management strategies, such as risk identification, risk


analysis, risk mitigation, and risk monitoring, can help to minimize the
impact of these risks on the project. Additionally, a focus on quality
assurance and continuous improvement can help to ensure that the final
product meets the project's objectives and user requirements.

18
JOB ROLES AND RESPONSIBILITIES

PROJECT SPONSOR: Mostly it will be NGOs, Government Authorities, RTO


Office, and Insurance Companies.

TECHNICAL LEAD, SOFTWARE TESTER : Yonald G

PROJECT MANAGER, CONTENT WRITING: Senthilnathan S

19
Experiment 5: Prepare the Work, Breakdown Structure based on
timelines,Risk Identification and Plan

When it comes to risk management, a risk breakdown structure is a powerful tool


in a project manager’s toolkit. According to the Project Management
Institute (PMI), a project risk is defined as “an uncertain event that, if it occurred,
has an effect on at least one project objective.”

While risks are typically associated with negative outcomes, PMI distinguishes
that a risk may also produce a positive project impact. Either way, a risk
breakdown structure can help project managers more easily identify all potential
risks and rank them by priority in order to plan appropriate mitigation strategies.

Read on to learn what a risk breakdown structure is, the benefits of risk
breakdown structures, and how you can create your own custom risk breakdown
structure template.

What is RBS in project management?

A risk breakdown structure, or RBS for short, is a hierarchical chart that breaks
down project risks starting with higher-level categories and continuing down into
sub-levels of risk.

Much like a work breakdown structure (or WBS), the risk breakdown structure
provides a framework for categorizing and ranking the risks associated with any
given project, making it easier for PMs to effectively plan for and mitigate the
impacts of those risks.

20
For example, the risk breakdown structure pictured above organizes the project’s
risks into four major categories: technical, external, organizational, and project
management. From here, the project manager can begin to list out more specific
subcategories; for instance, under technical we see:

• Requirements
• Technology
• Complexity and references
• Process
• Analytical

The project management RBS process would continue from here as the PM
would begin to list out the specific risks involved in each subcategory.

21
RBS project management:
After identifying and categorizing all possible risks, it’s important to prioritize
those risks in order to properly allocate resources toward risk mitigation.
The PMI suggests a risk scoring method based on probability (P) and impact (I)
using the following formulas and rankings:

• Probability (P) of risk occurrence:

o High probability (80% ≤ x ≤ 100%)


o Medium-high probability (60% ≤ x
o Medium-low probability (30% ≤ x
o Low probability (0%
• Risk impact:

o High: catastrophic (rating A - 100)


o Medium: critical (rating B - 50)
o Low: marginal (rating C - 10)

Once each individual risk has been analyzed, the risk score is found by
multiplying the impact (I) rating with the probability (P), as shown in the
following grid:

22
What are the benefits of a risk breakdown structure?

A risk breakdown structure can help give a more complete and ordered view of
the risks involved with a given project, while helping PMs more appropriately
assign resources and plan for the positive or negative impacts of identified risks.
But why is risk management so important for project managers, anyway?

How to create a risk breakdown structure template

For simplicity and consistency, many organizations adopt a risk breakdown


structure template that is standard for all projects. To get started, first identify the
major risk categories that apply to your industry or project. For example,
software developers may identify risk categories like product engineering,
development environment, and program constraints. Construction projects, on the
other hand, may include categories like environment, industry, client, and project.
From there, you and your team can begin to break down the specific risks within
each major category and begin the risk assessment process.

The Development of our ANPD software can be breakdown into the


following:

• Requirements gathering: This phase involves gathering and


documenting the project's functional and non-functional
requirements.

• Design: In this phase, the project team will develop a detailed


design for the system, including the software architecture,
algorithms, and user interface.

• Development: During this phase, the project team will write and
test the software code, integrating any necessary hardware or
third-party software components as needed.

23
• Testing: In this phase, the system will undergo rigorous testing
to ensure that it meets the project's functional and non-functional
requirements, as well as any regulatory or quality standards that
may apply.

• Deployment: Once the system has been tested and validated, it


can be deployed to the intended users or stakeholders, either as a
standalone application or as part of a larger system.

• Maintenance: Finally, the system will require ongoing


maintenance and support to ensure that it remains effective and
up-to-date over time, including software updates, bug fixes, and
user support.

Each of these phases may involve multiple sub-tasks and activities,


depending on the complexity of the project and the specific
requirements of the stakeholders. Effective project management,
including regular communication and progress tracking, can help to
ensure that the development process stays on track and meets the
project's objectives.

Risk Identification:

Technical risks: There is a risk that the software may not be able to
accurately detect and recognize traffic signals and stop signs in real-
world conditions, such as poor lighting or adverse weather. This
could result in inaccurate or unsafe driving decisions.

24
Data quality risks: The accuracy of the traffic signal and stop sign
recognition system is heavily dependent on the quality and quantity
of the training data used to train the algorithms. Poor-quality or
insufficient data could result in inaccurate recognition or detection.

Regulatory risks: There may be legal or regulatory requirements


that the system must meet, such as compliance with traffic safety
standards or privacy regulations.

Cost risks: Developing and deploying a complex software system


can be costly, and there is a risk that the project may exceed its
budget or funding limitations.

Schedule risks: The development process may take longer than


anticipated, leading to delays in deployment or increased costs.

Security risks: There is a risk that the traffic signal and stop sign
recognition system may be vulnerable to cyber attacks or hacking,
which could compromise the safety of drivers and passengers.

It is important to identify these risks early in the


project and develop appropriate mitigation strategies to address them.
This may involve developing contingency plans, conducting
thorough testing and validation, and engaging with stakeholders and
experts to ensure that the system meets their needs and expectations.

25
Experiment 6: Design a System Architecture, Use Case Diagram, ER
Diagram (Database), DFD Diagram (process) (up to level 1), Class
Diagram(Applied for OOPS based Project), Collaboration Diagram
(Applied for OOPS based Project) (Software - Rational Rose)

System Architecture: System architecture is the conceptual model that defines


the structure, behaviour and views of a system. The below figure is an
architectural design for the Automatic Number Plate Recognition (ANPD)
system. ANPD system is a system that reads and process video that consists of
vehicle number plate as input and recognizes the number plate as output
automatically.

26
Activity Diagram Description:

The main aim To develop an intelligent system that can accurately detect and recognize
traffic signals and stop signs from camera images or videos.

Precondition:

• A camera is placed in the vehicle to get the clear view of the signs.
• Photos are captured and stored in a repository.

Post condition:

The traffic signs are recognized and displayed on the terminal.

Normal flow of events:

● The camera captures the sign and analyses it.


● The software identifies and extracts the details of the traffic sign and
checked for its validity.

27
Use Case Diagram

Actor: User

Use Case:

• Capture photos and process it.


• Verify traffic sign
• Identify the sign
Precondition:

• A camera is placed in the vehicle to get the clear view of the signs.
• Photos are captured and stored in a repository.

Post condition:

• The license plate numbers are recognized and displayed on the terminal.

CLASS DIAGRAM

Use-case diagrams describe the high-level functions and scope of a system. These
diagrams also identify the interactions between the system and its actors. The use
cases and actors in use-case diagrams describe what the system does and how the
actors use it, but not how the system operates internally.
30
Experiment 7: State and Sequence Diagram, Deployment
Diagram, SampleFrontend Design (UI/UX)

System architecture is the conceptual model that defines the structure,


behaviour and views of a system. The below figure is an architectural design
for the Traffic Signal Recognition system.Traffic Signal Recognition system
is a system that reads and process photo that consists of Traffic sign as input
and recognizes the Sign as output automatically.

ACTIVITY DIAGRAM : The main aim To develop an intelligent system that can
accurately detect and recognize traffic signals and stop signs from camera images
or videos.

Precondition:

• A camera is placed in the vehicle to get the clear view of the signs.
• Photos are captured and stored in a repository.

Post condition:
• The license plate numbers are recognized and displayed on the terminal.
Normal flow of events:

● The camera captures the sign and analyses it.


● The software identifies and extracts the details of the traffic sign and

checked for its validity.

31
ALGORITHM: The working of system consists of the following steps:
Step1: Obtain the frames of a real time video
Step 2: Pre-process each frame
Step 3: Perform Traffic Sign Recognition on the pre-processed frame based on
aspect ratio
Step 4: Extract the traffic sign
Step 5: Perform Traffic sign recognition on the sign and display the result on
theterminal

DATAFLOW DIAGRAM :

Fig: Dataflow diagram

32
Experiment 8: Module Description, Module Implementation (phase 1)
UsingAgile

MODULE DESCRIPTION
The proposed system has the following four modules:
1. Pre-processing (Phase 1)
2. Sign Recognition (Phase 2)
3. Character Segmentation (Phase 2)
4. Character Recognition (Phase 3)

Discussion of Sign Recognition and character segmentation:

Sign recognition is a crucial component of a traffic signal and stop sign recognition project.
It involves using computer vision and machine learning algorithms to identify and classify
different traffic signs, including stop signs, speed limit signs, and yield signs.

for (x, y, w, h) in stop_sign_scaled:


# Draw rectangle around the stop sign
stop_sign_rectangle = cv2.rectangle(img, (x,y),
(x+w, y+h),
(0, 255, 0), 3)
# Write "Stop sign" on the bottom of the rectangle
stop_sign_text = cv2.putText(img=stop_sign_rectangle,
text="Stop Sign",
org=(x, y+h+30),

fontFace=cv2.FONT_HERSHEY_SIMPLEX,

33
fontScale=1, color=(0, 0, 255),
thickness=2, lineType=cv2.LINE_4)

Overall, sign recognition is an essential component of a traffic signal and


stop sign recognition project, and advances in computer vision and
machine learning are making it increasingly accurate and reliable.

34
Experiment 9: Module Implementation, Scrum Master to
Induce Newrequirements in Agile Development

MODULE DESCRIPTION
The proposed system has the following four modules:
1. Pre-processing (Phase-1)
2. Sign Recognition (Phase -2)
3. Character Segmentation(Phase-2)
4. Character Recognition(Phase-3)
Character Recognition :
Character recognition is another important component of a traffic signal and stop sign
recognition project. It involves using computer vision and machine learning algorithms to
recognize and interpret text on traffic signs, such as speed limits, warning messages, and
directional arrows.
Character recognition can be challenging because traffic signs often
contain text that is presented in various fonts, sizes, and styles. Moreover, the text on traffic
signs may be partially obscured or distorted due to environmental factors such as lighting,
weather conditions, and camera angles.

import cv2
import pytesseract
img = cv2.imread('stop_sign.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY +
cv2.THRESH_OTSU)[1]
text = pytesseract.image_to_string(thresh, lang='eng', config='--psm 11')
print(text)

35
Implementation: We will be using Python language to code whole software and
will host it on collab for testing and beginning phase. The modules we will be using
from python in this software are:
● Cv2: cv2 is the module import name for OpenCV-python, "Unofficial pre-
built CPU-only OpenCV packages for Python". The traditional OpenCV has
many complicated steps involving building the module from scratch, which is
unnecessary. I would recommend remaining with the OpenCV-python
library.

36
Experiment 10: Module Implementation (Phase 2), Scrum Master
to InduceNew Issues in Agile Development

Software testing method enables individual units of source code, sets one or more
computer program modules together with associated control data, usage procedures
and operating procedures are tested to determine if they are fit for use. Intuitively,
one can view a unit as the smallest testable part of an application. In procedural
programming, a unit could be an entire module, but it is more commonly an
individual function or procedure. In object-oriented programming, a unit is often an
entire interface, such as a class, but could also be an individual method.
Test cases for Sign Recognition:
● Test with a clear image of a stop sign to ensure that the system recognizes it as a stop
sign and correctly identifies its shape, color, and text.
● Test with images of stop signs at different angles and distances to ensure that the
system can detect and recognize stop signs from various perspectives.
● Test with images of traffic signals, such as red, yellow, and green lights, to ensure that
the system can recognize and interpret them correctly.

37
Test cases for Character Recognition:
● Test with images that contain multiple characters to ensure that the system can
recognize and distinguish between them accurately.

● Test with images taken in different lighting conditions and backgrounds to ensure that
the system can recognize and interpret characters under various environmental
conditions.

● Test with handwritten characters to ensure that the system can recognize and interpret
characters that are not printed or typed.

● Test with images of characters in different sizes and resolutions to ensure that the
system can work with various types of images and provide reliable character
recognition results.

38
Experiment 11: Module Implementation (Phase 3) Scrum Master to
InduceNew requirements in Agile Development, Scrum Master to
Induce New Issues in Agile Development, Code Documentation

PLATFORM SELECTION

IDLE (short for integrated development environment or integrated development


and learning environment) is an integrated development environment for
Python, which has been bundled with the default implementation of the
language since 1.5.2b1. It is packaged as an optional part of the Python
packaging with many Linux distributions. It is completely written in Python and
the Tkinter GUI toolkit (wrapper functions for Tcl/Tk).
IDLE is intended to be a simple IDE and suitable for beginners, especially in an
educational environment. To that end, it is cross-platform, and avoids feature
clutter.
According to the included README, its main features are:

● Multi-window text editor with syntax highlighting, autocompletion, smart


indent and other.
● Python shell with syntax highlighting.
● Integrated debugger with stepping, persistent breakpoints, and call stack
visibility.

IDLE has been criticized for various usability issues, including losing focus,
lack of copying to clipboard feature, lack of line numbering options, and
general user interface design; it has been called a "disposable" IDE, because
users frequently move on to a more advanced IDE as they gain experience.

PROGRAMMING LANGUAGE GIST

Python is an interpreted, object-oriented, high-level programming language


with dynamic semantics. Its high-level built-in data structures, combined with
dynamic typing and dynamic binding, make it very attractive for Rapid
Application Development, as well as for use as a scripting or glue language to
connect existing components together. Python's simple, easy to learn syntax
emphasizes readability and therefore reduces the cost of program maintenance.
Python supports modules and packages, which encourages program modularity

39
and code reuse. The Python interpreter and the extensive standard library are
available in source or binary form without charge for all major platforms and
can be freely distributed.

CODING STANDARDS

● Naming Conventions

Module Names: – Short, lowercase names, without underscores. Example:


myfile.py
Class Names: – CapWords convention. Example: MyClass
Exception Names: – If a module defines a single exception raised for all sorts of
conditions, it is generally called "Error". Otherwise use CapWords convention
(i.e. MyError.)1.
Method Names and Instance Variables: – The “Style Guide for Python Code”
recommends using lowercase with words separated by underscores (example:
my_variable). But since most of the code uses mixedCase, recommend using
this style (example: myVariable ) – Use one leading underscore only for
internal methods and instance variables (i.e. protected).
Example: _myProtectedVar – Use two leading underscores to denote class-
private names Example: myPrivateVar – Don’t use leading or trailing
underscores for public attributes unless they conflict with reserved words, in
which case, a single trailing underscore is preferrable (example: class _ )
● Organising imports
They should be always put at the top of the file, just after any module
comments and document strings, and before module global and constants.
Imports should be on separate lines.
Wrong: import sys, os
Right: import sys import os
The following is OK, though: from types import String Type, List Type
Imports should be grouped in the following order with a blank line between
each group of imports: – standard library imports – related major package
imports – application specific imports.
● Indentation and Line lengths

40
Indentions: – 2 spaces (no tabs!) – Avoid using more than five levels of
indention. Line length: – Maximum of 72 characters (never
exceed 79 characters) – You can break a long line using “\”.
● Break Lines
Leave one line between functions in a class. Extra blank lines may be used to
separate groups of related functions. Blank lines may be omitted between a
bunch of related oneliners. Use blank lines in functions, sparingly, to indicate
logical sections.
● White Space
Multiple statements on the same line are discouraged.
WRONG: if foo == 'blah': doBlahThing()
CORRECT: if foo == 'blah': doBlahThing()
No white space immediately before an open parenthesis.
WRONG: spam (1)
CORRECT: spam(1)
WRONG: dict ['key'] = list [index]
CORRECT: dict['key'] = list[index]
No white space inside parentheses, brackets or braces.WRONG:
spam( ham[ 1 ], { eggs: 2 } )
CORRECT: spam(ham[1], {eggs:2}) ƒ
No white space immediately before a comma, semicolon, or colon.
WRONG: if x == 4 : print x , y ; x , y = y , x
CORRECT: if x == 4: print x, y; x, y = y, x 17 White Space (cont.) ƒ
No more than one space around an operator.
WRONG: x = 1 yVal = 2 longVariable = 3
CORRECT: x = 1 yVal = 2 longVariable = 3 18 White Space (cont.) ƒ
Always surround the following operators with a single space on either side –
assignment
(=) – comparisons (==, , !=, <>, <=, >=, in, not in, is, is not) – Booleans (and,
or, not) –

41
Arithmetic operators (+, -, *, /, %)
WRONG: if (x==4)or(x==5): x=y+5
CORRECT: if (x == 4) or (x == 5): x = y + 5 19 White Space (cont.) ƒ
Don't use spaces around the '=' sign when used to indicate a keyword argument
or a
default parameter value.
WRONG: def complex(real, imag = 0.0): return magic(r = real, i = imag)
CORRECT: def complex(real, imag=0.0): return magic(r=real, i=imag)
● Comments
Block Comments: They are indented to the same level as the code they apply
to. Each line of a block comment starts with a # and a single space. Paragraphs
inside a block comment are separated by a line containing a single #. Block
comments are best surrounded by a blank line above and below them Example:
# Compensate for border. This is done by incrementing x # by the same amount
x += 1 25
Inline Comments: They should start with a # and a single space. Should be
separated by at
least two spaces from the statement they apply to.
Example: x += 1 # Compensate for border.
● Document Strings
Write document strings for all public modules, functions, classes, and methods.
Document strings are not necessary for nonpublic methods, but you should have
a comment that describes what the method does. This comment should appear
after the "def" line. Insert a blank line before and after all document strings that
document a class.
One-line Document strings: The opening and closing """ are on the same line.
– There is no blank line either before or after the document string. Describes
the function or method's effect as a command ("Do this", "Return that"), not as
a description.
Multi-line Document strings: – The """ that ends a multiline document string
should be on a line by itself. – Script: The document string of a script should be
usable as its "usage" message. It should document the script's function, the
command line syntax, and the environment variables. – Module: The document

42
string for a module should generally list the classes, exceptions and functions
(and any other objects) that are exported by the module, with a one-line
summary of each.
Class: The document string for a class should summarize its behaviour and list
the public methods and instance variables. If the class is intended to be sub
classed, and has an additional interface for subclasses, this interface should be
listed separately. If a class subclasses another class and its behaviour is mostly
inherited from that class, its document string should mention this and
summarize the differences. The class constructor should be documented in the
document string for its init method.
Function or method: The document string should summarize its behaviour and
document its arguments, return value, side effects, exceptions raised, and
restrictions on when it can be called. Optional arguments should be indicated.
Use the verb "override" to indicate that a subclass method replaces a super class
method and does not call the super class method; use
the verb "extend" to indicate that a subclass method calls the super class
method. The document string should contain a summary line, followed by a
blank line, followed by a more elaborate description.

MODULE DESCRIPTION: The proposed system has the following four


modules:
● Pre - Processing
● Sign Recognition
● Character Segmentation
● Character Recognition

43
Experiment 12: Master Test Plan, Test Case Design (Phase 1)
Master Test Plan: Unit testing is a software testing method by which individual
units of source code, sets one or more computer program modules together with
associated control data, usage procedures and operating procedures are tested to
determine if they are fit for use. Intuitively, one can view a unit as the smallest
testable part of an application. In procedural programming, a unit could be an
entire module, but it is more commonly an individual function or procedure. In
object-oriented programming, a unit is often an entire interface, such as a class,
but could also be an individual method.

TEST CASES FOR SIGN RECOGNITION

44
TEST CASES FOR CHARACTER SEGMENTATION

● Test with handwritten characters to ensure that the system can recognize and interpret
characters that are not printed or typed.

● Test with images of characters in different sizes and resolutions to ensure that the
system can work with various types of images and provide reliable character
recognition results.

45
TEST CASES FOR CHARACTER RECOGNITION

● Test with images that contain multiple characters to ensure that the system can
recognize and distinguish between them accurately.

● Test with images taken in different lighting conditions and backgrounds to ensure that
the system can recognize and interpret characters under various environmental
conditions.

46
SYSTEM TESTING
System Testing (ST) is a black box testing technique performed to evaluate the
complete system the system's compliance against specified requirements. In
System testing, the functionalities of the system are tested from an end-to-end
perspective. System Testing is usually carried out by a team that is independent
of the development team in order to measure the quality of the system unbiased.
It includes both functional and Non-Functional testing.

○ Performance Testing: This involves testing the system to ensure that it performs
efficiently and effectively, even under heavy traffic conditions.

○ Usability Testing: This involves testing the system to ensure that it is user-friendly,
easy to use and navigate, and provides accurate and relevant information.

○ Security Testing: This involves testing the system to ensure that it is secure, and any
data or information captured is kept confidential and cannot be accessed by
unauthorized persons.

47
Experiment 13: Manual Testing

⚫ Test Scenarios: Create test scenarios based on the functional and non-functional
requirements of the system. For example, test scenarios can be created to check
the accuracy of traffic signal and stop sign recognition, response time, usability,
etc.

⚫ Test Data: Prepare test data that covers different scenarios and use cases. The test
data should include images of traffic signals and stop signs captured under
different lighting conditions, weather conditions, and traffic densities.

⚫ Test Environment: Set up the testing environment that mimics the real-world
scenarios. For example, the testing environment should have a camera and lighting
setup that simulates the lighting and conditions on the road.

⚫ Test Execution: Execute the test scenarios using the test data in the testing
environment. Ensure that the test results match the expected outcomes based on
the system's requirements.

⚫ Test Reports: Document the test results in a test report that includes information
about the test scenario, test data, test environment, test execution, and test
outcomes.

Manual testing helps to identify defects and bugs in the system that
automated testing may miss. It also ensures that the system meets the required
specifications and provides accurate and reliable results.

Manual testing is an essential part of the testing process and can help
identify any issues or defects in the system that may not be detected through automated
testing. It can also help validate the accuracy and reliability of the system and ensure
that it meets the required specifications and standards.

48
TEST CASES FOR SIGN RECOGNITION

● Test with a clear image of a stop sign to ensure that the system recognizes it as a stop
sign and correctly identifies its shape, color, and text.

● Test with images of stop signs at different angles and distances to ensure that the
system can detect and recognize stop signs from various perspectives.

● Test with images of traffic signals, such as red, yellow, and green lights, to ensure that
the system can recognize and interpret them correctly.

49
TEST CASES FOR CHARACTER RECOGNITION

● Test with images taken in different lighting conditions and backgrounds to ensure that
the system can recognize and interpret characters under various environmental
conditions.

● Test with handwritten characters to ensure that the system can recognize and interpret
characters that are not printed or typed.

50
Experiment 14: User Manual, Analysis of Costing, Effort and
Resources

User Manual:
● The user manual should provide detailed instructions on how to
install, configure, and use the traffic signal and stop sign recognition
software.
● It should include screenshots, diagrams, and other visual aids to help
users understand the interface and functionalities.
● The manual should also cover troubleshooting tips and common
issues that users may encounter.

Analysis of Costing, Effort, and Resources:

● To estimate the project's cost, you need to consider factors such as


hardware and software requirements, personnel expenses, training,
maintenance, and other operational expenses.
● You also need to assess the effort required to develop and implement
the project, including research, design, development, testing, and
deployment phases.
● Resources needed for the project may include hardware, software,
data sets, and human resources, such as developers, testers, project
managers, and other experts.
● It's important to note that the cost, effort, and resource requirements
may vary depending on the project's size, complexity, and scope.
Therefore, a detailed project plan and feasibility study are crucial for
accurate estimation and effective project management.

51
CONCLUSION:

In conclusion, the traffic signal and stop sign recognition project is a


significant step towards improving road safety and reducing accidents. The
project involves developing an algorithm that can accurately recognize
traffic signals and stop signs, which will be useful for automated vehicles
and driver assistance systems. The project also has various benefits,
including improved road safety, reduced traffic congestion, and improved
transportation efficiency. However, the project also comes with some
challenges, such as algorithm accuracy, limited resources, and potential
legal and ethical implications. With careful planning, effective project
management, and continuous improvement, the traffic signal and stop sign
recognition project can significantly contribute to improving road safety and
making our transportation systems more efficient.

LIMITATIONS :

Some limitations of the traffic signal and stop sign recognition project include:

● Limited accuracy: Despite advancements in machine learning and


computer vision technologies, there are still limitations to the accuracy of
these algorithms. This means that there is a chance that the system may
not recognize some traffic signals or stop signs accurately, which could
lead to safety risks.

● Limited environmental conditions: The recognition system may not


perform well in all environmental conditions such as poor lighting,
extreme weather conditions, and obstruction due to trees or other objects.

52
This could result in inaccurate recognition of traffic signals and stop signs,
leading to safety risks.

● Processing power: The traffic signal and stop sign recognition algorithms
require significant processing power to analyze images in real-time. This
could be a limitation for resource-constrained systems, particularly in low-
cost embedded systems.

● Legal and ethical implications: The deployment of traffic signal and stop
sign recognition systems raises legal and ethical issues around privacy,
liability, and responsibility. For example, who is responsible if the system
fails to recognize a traffic signal and an accident occurs?

● Cost: Developing and deploying traffic signal and stop sign recognition
systems could be expensive, particularly for small and medium-sized
organizations. This could limit the widespread adoption of the technology,
particularly in low-income areas.

Overall, while the traffic signal and stop sign recognition project has significant
benefits, it is important to acknowledge these limitations and address them to
ensure the safe and effective deployment of the technology.

FUTURE ENHANCEMENTS :
There are several potential future enhancements for a traffic signal and stop sign recognition
project, including:

● Integration with autonomous vehicles: As self-driving cars become more prevalent,


they will need reliable traffic signal and stop sign recognition technology to operate
safely.

● Multilingual support: The current technology is limited to recognizing traffic signals


and stop signs with text in a specific language. Future advancements could allow for
recognition in multiple languages.

53
● Real-time traffic analysis: The technology could be enhanced to recognize not only
traffic signals and stop signs but also other traffic features like speed limits, pedestrian
crossings, and roundabouts.

● Improved accuracy: While the current technology is highly accurate, there is always
room for improvement. Future advancements could include more sophisticated
algorithms that are better at recognizing signs under varying lighting and weather
conditions.

● Cloud-based processing: Rather than relying on local processing power, the technology
could be enhanced to perform recognition in the cloud. This would allow for faster
processing and the ability to recognize a wider range of signs.

Costings:

The cost of such a project would depend on various factors such as the scope of the
project, the complexity of the algorithms used, the hardware and software requirements, the
development team size and location, and the duration of the project. The cost of development
could range from a few thousand dollars to several hundred thousand dollars. It is important
to conduct a thorough cost-benefit analysis before starting such a project to ensure that the
benefits outweigh the costs.

The Complexity of the Job :

The complexity of a traffic signal and stop sign recognition project depends on several
factors such as the size of the dataset, the quality of the images, the accuracy required, the
algorithm used, and the hardware resources available. Developing a robust and accurate
system can be challenging, as it involves designing and implementing sophisticated image
processing and machine learning algorithms, optimizing system performance, and testing the
system under a variety of real-world scenarios. Additionally, the project may require
significant computational resources, such as high-end GPUs, to achieve the required levels
of accuracy and speed.

54
Experiment 15: Project Demo and Report Submission with the
Team

I am pleased to submit the final report of the Traffic Signal and Stop Sign Recognition Project,
which was a collaborative effort by our team. The purpose of this project was to develop a software
system capable of detecting and recognizing traffic signals and stop signs using computer vision
techniques.

The project was developed using Python programming language and the OpenCV library.
The system architecture was designed to use a webcam to capture video frames in real-time, which
were then processed using object detection algorithms to identify traffic signals and stop signs.

The project team consisted of [Senthilnathan S,Yonald G], who worked together to ensure the
project was completed on time and within budget. The team followed an agile development
methodology, which allowed for iterative development and continuous feedback from the project
supervisor.

The project went through various phases, including requirements gathering, design,
development, testing, and deployment. During the requirements gathering phase, the team
identified the functional and non-functional requirements of the system. The design phase involved
the creation of a system architecture, algorithm design, and database schema. The development
phase involved the actual coding of the system using Python and OpenCV, and the testing phase
involved the creation and execution of various test cases.

The system was successfully tested and validated using real-world data, and the results were
promising. The system was able to detect and recognize traffic signals and stop signs accurately,
with a high degree of precision and recall. We believe this project has great potential for improving
road safety and reducing the number of accidents caused by driver error.

In terms of future enhancements, the team recommends further research into more advanced
computer vision techniques, such as deep learning, to improve the accuracy and speed of the
system. Additionally, the team recommends exploring the possibility of integrating the system with
other technologies, such as GPS and traffic light controllers, to create a more comprehensive traffic
management system.

In conclusion, the Traffic Signal and Stop Sign Recognition Project was a challenging and
rewarding experience for our team. We are grateful for the opportunity to work on this project and
hope that our contribution will make a positive impact on road safety. Thank you for your support
and guidance throughout the project.

55
Demo of our Project:

56

You might also like