project documentation
project documentation
on
Deep learning for edge computing in indian smart cities : real time
analytics on low power devices
Submitted by
Mr. T. SATHISH
Asst.Professor, CSE
TO
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING(DATA SCIENCE)
This is to certify that this is the Bonafide record of the project titled “Deep learning for edge
computing in Indian smart cities : real time analytics on low power devices” submitted by
B.Teja Karthik(21W91A6704), B.Prabhakar(21W91A6703), E.Vikas(21W91A6711),
K.Akhil Kumar(22W95A6705) Student of B Tech Ⅳ Year – II Semester in the partial
fulfillment of the requirements for the degree of Bachelor of Technology in Computer Science
and Engineering (Data Science), Dept. of CSE (DS) during the year 2024-2025. The results
embodied in this project report have not been submitted to any other university or institute for
the award of any degree or diploma.
EXTERNAL EXAMINER
I hereby declare that the project entitled “Deep learning for edge computing in indian smart
cities : real time analytics on low power devices” submitted to Malla Reddy Institute of
Engineering and Technology, Autonomous Institution, affiliated to Jawaharlal Nehru
Technological University Hyderabad (JNTUH) as part of Ⅳ Year B. Tech – II Semester and for
the partial fulfilment of the requirement for the award of Bachelor of Technology in Computer
Science and Engineering ( Data Science ) is a result of original research work done by me.
It is further declared that the project report or any part thereof has not been previously submitted
to any University or Institute for the award of degree or diploma.
First and foremost, I am grateful to the Principal Dr. P. SRINIVAS, for providing me with all the
resources in the college to make my project a success. I thank him for his valuable suggestions at the time
of seminars which encouraged me to give my best in the project.
I would like to express my gratitude to Dr. MOHD ASHFAQUL HASAN, Head of the Department,
Department of Computer Science and Engineering for his support and valuable suggestions during the
dissertation work.
I offer my sincere gratitude to my project - coordinator Mr. S. SELVAMANI and internal guide
Mr. T. SATHISH, Assistant Professor of Computer Science and Engineering (DS) department who
have supported me throughout this project with their patience and valuable suggestions.
I would also like to thank all the supporting staff of the Dept. of CSE (DS) and all other departments who
have been helpful directly or indirectly in making the project a success.
I am extremely grateful to my parents for their blessings and prayers for my completion of project that
gave me strength to do my project.
B.Prabhakar - 21W91A6703
E.Vikas - 21W91A6711
i
TABLE OF CONTENT
List of figures iv
1 INTRODUCTION 1-5
1.1 Motivation 1-2
1.2 Problem definition 2-3
1.3 Objective of the Project 3
1.4 Limitations of project 4
1.5 Organization of Documentation 5
3 ANALYSIS 10-17
3.1 Introduction 10-11
3.2 Software Requirements Specifications 12
3.2.1 User Requirements 12
3.2.2 Software Requirements 12-13
3.2.3 Hardware Requirements 14
3.3 Architecture Diagram of project 15
3.4 Algorithms and Flowcharts 15-17
3.5 Conclusion 17
4 Design 18-23
4.1 Introduction 18-19
4.2 UML Diagrams 19
4.2.1 Use Case Diagram 20
4.2.2 Class Diagram 21
4.2.3 Sequence Diagram 22
4.2.4 Activity Diagram 23
4.3 Module Design & Organization 24-25
4.4 Conclusion 26
CONCLUSION 58
FUTURE ENHANCEMENT 59
REFERENCE 60
LIST OF FIGURES
Fig.no Figure Title Page No
iv
LIST OF SCREENSHOTS
Fig.no Output Screen Shots Page No
ⅴ
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
CHAPTER 1
INTRODUCTION
1.1 MOTIVATION
The integration of deep learning with edge computing holds immense potential for transforming
Indian smart cities. By processing data locally on low-power devices, we can unlock real-time
insights from sensor data, enabling faster decision-making and more efficient resource
utilization. This project aims to develop and implement practical solutions for various smart city
applications, such as traffic management, environmental monitoring, and public safety. By
pioneering this technology, we can address the challenges posed by data latency and bandwidth
constraints, while also contributing to the development of sustainable and resilient urban
environments.
Key Motivations:
1. Real-time Decision Making: Edge computing enables real-time analysis of data at the
source, allowing for swift decision-making and immediate responses to dynamic urban
conditions.
2. Reduced Latency: By processing data locally, edge computing eliminates the need for
data transmission to remote servers, significantly reducing latency and improving system
responsiveness.
3. Enhanced Privacy: Processing sensitive data at the edge minimizes the risk of data
breaches and privacy violations, as less data needs to be transmitted to centralized
servers.
4. Reduced Network Congestion: Offloading data processing to edge devices can alleviate
network congestion, especially during peak usage hours.
5. Improved Scalability: Edge computing can scale more efficiently by distributing
processing tasks across multiple edge devices, making it suitable for large-scale urban
deployments.
1
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
6. Energy Efficiency: By optimizing models and hardware, edge computing can reduce
energy consumption, making it more sustainable.
Indian smart cities are rapidly deploying an extensive network of Internet of Things (IoT)
sensors and devices to monitor and manage various urban services, including traffic flow,
environmental conditions, public safety, and energy consumption. This proliferation of
interconnected devices generates a massive and continuous stream of data, offering
unprecedented opportunities for data-driven decision-making and optimization. However, the
sheer volume and velocity of this data, coupled with the inherent limitations of traditional cloud-
based processing paradigms, present significant challenges.
2
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
with poor connectivity. Transmitting large volumes of data to the cloud consumes
substantial network bandwidth, potentially leading to congestion and delays. Some edge
devices may operate in areas with intermittent or unreliable network connectivity,
necessitating offline processing capabilities. Many smart city applications such as traffic
accident detection, or public safety applications require extremely low latency responses.
4. Privacy and Security: Transmitting sensitive data (e.g., facial recognition, location data)
to the cloud raises concerns about unauthorized access and data breaches. Adhering to
data privacy regulations and ensuring compliance with relevant standards is crucial. Edge
devices and deep learning models are vulnerable to adversarial attacks, such as data
poisoning and model manipulation. Ensuring the secure deployment and update of deep
learning models on edge devices is essential. It is important to explore privacy preserving
techniques such as federated learning, and differential privacy.
5. Model Optimization for Edge Deployment: Techniques such as quantization, pruning,
and knowledge distillation are needed to reduce the size and complexity of deep learning
models for edge deployment. Leveraging specialized hardware accelerators (e.g., GPUs,
TPUs, NPUs) on edge devices can improve inference speed and energy efficiency.
Selecting appropriate deep learning algorithms that balance accuracy and computational
efficiency is crucial. The environment of a smart city is constantly changing, so continual
learning techniques are needed to update the models on the edge devices.
This project aims to address these challenges by developing and deploying edge-based deep
learning solutions that enable:
3
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
By achieving these objectives, this project seeks to improve the efficiency, responsiveness, and
sustainability of smart city services in India.
● Hardware Heterogeneity and Compatibility: The wide variety of edge devices with
diverse hardware specifications may pose challenges in ensuring compatibility and
consistent performance of deep learning models.
● Data Quality and Availability: The accuracy and reliability of deep learning models
depend heavily on the quality and quantity of training data.
● Model Optimization and Deployment: Optimizing deep learning models for resource-
constrained edge devices may lead to a trade-off between accuracy and efficiency.
● Network Connectivity and Reliability: Intermittent or unreliable network connectivity
may hinder real-time data processing and model updates.
● Security and Privacy Concerns: Protecting sensitive data processed on edge devices from
unauthorized access and cyberattacks is crucial.
● Scalability and Maintainability: Scaling the edge-based deep learning system to
accommodate the growing number of edge devices and data streams can be challenging.
● Computational Complexity of Advanced Algorithms: Some complex deep learning
algorithms may still be computationally demanding for edge devices.
4
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
1. Abstract: Provides a summary of the project, including the problem, aim, and focus.
2. Introduction: Explains the context of smart cities in India, the role of real-time data
analytics, and the limitations of traditional cloud computing. It also introduces edge
computing as a solution.
3. Existing System: Describes the current reliance on cloud computing for data analytics in
smart cities and its disadvantages, such as latency, bandwidth constraints, and privacy
concerns.
4. Proposed System: Details the edge computing system with deep learning models for real-
time analytics on low-power edge devices. It also lists the advantages of the proposed
system, including reduced latency, lower bandwidth usage, and improved privacy.
5. Literature Review: Presents a review of relevant research papers and surveys on edge
computing and deep learning in smart cities.
6. Hardware Requirements: Lists the hardware components required for the system, such as
the processor, hard disk, monitor, and input devices.
7. Software Requirements: Specifies the software components required, including the
operating system, coding language, tool, and database.
8. System Design: Provides an overview of the Unified Modeling Language (UML) and its
purpose in software engineering.
9. UML Diagrams: Explains various UML diagrams used in the system design, including
use case diagrams, class diagrams, sequence diagrams, and activity diagrams.
5
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
CHAPTER - 2
LITERATURE SURVEY
2.1 INTRODUCTION:
Dr. S. Kumar, Prof. R. Patel [1] This survey paper provides an in-depth overview of edge
computing's role in smart cities, particularly in the context of real-time analytics. The authors
discuss various use cases, such as traffic management, healthcare monitoring, and environmental
sensing, where edge computing can be used to overcome the challenges of latency, bandwidth,
and data privacy. The paper also highlights the challenges of implementing edge computing in
smart cities, including the limited processing capabilities of edge devices, the need for seamless
integration with cloud platforms, and security concerns.
Dr. M. Patel, Dr. K. Sharma [2] This research paper explores the integration of deep learning
models on low-power edge devices in smart city applications. It highlights the potential of edge
AI to process sensor data in real-time, enabling applications such as traffic prediction, anomaly
detection, and environmental monitoring. The paper presents case studies of successful
implementations of edge AI in smart cities and evaluates the performance of different edge
devices like Raspberry Pi and Nvidia Jetson for running deep learning models.
Dr. A. Singh, Prof. R. Kapoor [3] This paper examines the use of deep learning techniques for
optimizing smart city operations, particularly in areas such as energy management, waste
collection, and public safety. The authors discuss how real-time data analytics, powered by deep
learning, can improve operational efficiency and decision-making. The paper also explores the
technical challenges of deploying deep learning models on resource-constrained devices and the
trade-offs between model accuracy and computational requirements.
6
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
In the current landscape of smart cities, most data analytics solutions rely heavily on cloud
computing. Data from sensors deployed in cities — including cameras, IoT devices,
environmental sensors, and traffic counters — is sent to cloud servers for processing. While
cloud computing offers powerful computing capabilities, it is often limited by issues like high
latency, bandwidth constraints, data privacy concerns, and the need for continuous connectivity.
For instance, traffic management systems in Indian cities typically use cloud servers to process
camera footage and sensor data, but delays in transmission and analysis can hinder real-time
decision-making, especially in traffic control and emergency services.
Moreover, in low-latency applications, such as real-time traffic monitoring or air quality
tracking, the reliance on cloud infrastructure introduces significant bottlenecks, especially when
large volumes of data need to be processed instantaneously. This issue becomes even more
critical in densely populated urban environments, where the volume of data generated is vast,
and network infrastructure is often unreliable or congested.
Disadvantages:
1. High Latency: Sending data to centralized cloud servers results in high latency, which is
problematic for time-sensitive applications like traffic management or emergency response.
2. Bandwidth Constraints: The large volume of data generated by sensors and devices in
smart cities requires high-bandwidth networks, which may not be available in all regions,
especially in developing areas.
3. Data Privacy and Security Concerns: Transmitting sensitive data to centralized servers
raises concerns about data privacy and security, particularly in public safety, healthcare, and
personal data applications.
7
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
The proposed system integrates edge computing with deep learning models for real-time
analytics on low-power edge devices. These edge devices, including single-board computers
like Raspberry Pi or AI-focused platforms like Nvidia Jetson or Intel Movidius, will run deep
learning models locally to process data in real-time. The system will be capable of handling
applications such as:
By processing data locally, the system can reduce latency, improve response times, and enhance
privacy by minimizing data transmission to the cloud. Additionally, the system will be designed
to be energy-efficient, leveraging low-power hardware and optimized algorithms to minimize
power consumption.
Advantages:
1. Reduced Latency: Real-time data processing at the edge reduces the time required for
decision-making, making the system suitable for time-sensitive applications.
2. Lower Bandwidth Usage: Since data is processed locally, only relevant information is sent
to the cloud, optimizing bandwidth usage.
3. Improved Privacy: Sensitive data is processed locally, reducing the risks associated with
sending personal or private information to centralized cloud servers.
8
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
2.4 CONCLUSION:
For the "Deep Learning for Edge Computing in Indian Smart Cities" project, the existing
system relies heavily on cloud computing for smart city data analytics, where data from sensors
is transmitted to cloud servers for processing; this approach, while leveraging the cloud's
powerful computing capabilities, introduces limitations such as high latency, bandwidth
constraints, data privacy vulnerabilities, and a requirement for continuous connectivity,
hindering real-time responsiveness, particularly in critical applications like traffic management
and emergency services. In contrast, the proposed system seeks to overcome these shortcomings
by integrating edge computing with deep learning models to enable real-time analytics on low-
power edge devices, processing data locally to reduce latency, optimize bandwidth usage, and
enhance privacy, thereby facilitating timely decision-making across various smart city functions,
including traffic monitoring, air quality assessment, and waste management.
Regarding the "Automated Emerging Cyber Threat Identification and Profiling Based on
Natural Language Processing" project, while the provided document doesn't detail a traditional
"existing system," it's understood that conventional cyber threat detection involves methods like
signature-based detection, statistical anomaly detection, and manual log analysis, which can be
slow, ineffective against new threats, and prone to errors. The proposed system aims to advance
cyber threat identification and profiling by employing Natural Language Processing (NLP) to
automate the analysis of text-based cyber threat data, striving for quicker and more precise
identification of emerging threats, and lessening the dependence on manual analysis.
9
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
CHAPTER - 3
ANALYSIS
3.1 INTRODUCTION
With the rapid urbanization in India, the concept of "smart cities" has become central to solving
the challenges of infrastructure, traffic management, waste management, energy consumption,
and environmental monitoring. Real-time data analytics is a key enabler for smart cities, as it
allows authorities to make timely decisions that optimize city operations and enhance the quality
of life for residents. However, traditional cloud computing models, where data is sent to a central
server for processing, face limitations, including network congestion, latency, and bandwidth
requirements.
Edge computing addresses these challenges by bringing computation and data storage closer to
the data source. In a smart city context, this involves deploying low-power devices that can
collect, process, and analyze data locally before transmitting only the necessary information to a
central server or cloud. Integrating deep learning algorithms on these edge devices allows for
real-time analytics, which is crucial for applications like traffic monitoring, waste management,
and environmental monitoring.
This project explores the implementation of deep learning on low-power edge devices to process
real-time data locally in Indian smart cities. The study will evaluate the advantages, challenges,
and potential of using edge AI for urban analytics, focusing on performance, energy
consumption, and scalability.
10
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
REQUIREMENT ANALYSIS
Requirement analysis is the process of defining the expectations of the stakeholders and users
from the software product. It involves gathering, documenting, and validating the requirements
to ensure that they are clear, complete, and consistent. This is a crucial step in the software
development lifecycle as it forms the basis for the design, implementation, and testing phases.
Functional Requirements:
1. Data Collection: The system should be able to collect data from various sensors and
devices deployed in smart cities (e.g., cameras, IoT devices, environmental sensors).
2. Data Processing: The system should be able to process the collected data in real-time on
edge devices using deep learning models.
3. Model Deployment: The system should support the deployment and execution of deep
learning models on low-power edge devices.
4. Output/Actions: The system should be able to provide outputs or trigger actions based on
the analysis of the data (e.g., traffic management decisions, air quality alerts, waste
management optimization).
Non-Functional Requirements:
1. Performance: The system should process data with low latency to enable real-time
decision-making.
2. Scalability: The system should be scalable to handle increasing volumes of data and the
addition of more edge devices.
3. Reliability: The system should operate reliably and consistently in potentially challenging
environmental conditions.
4. Security: The system should ensure the security and privacy of the data processed on
edge devices.
5. Energy Efficiency: The system should be energy-efficient to prolong the operational life
of edge devices.
11
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
1. Real-time Monitoring and Analysis: Users need to access real-time data and analysis of
various urban parameters, such as traffic flow, air quality, and waste levels.
2. Efficient Decision-Making: Users require the system to provide actionable insights and
support timely decision-making to optimize city operations and improve the quality of
life for residents.
3. Alerts and Notifications: Users need to receive timely alerts and notifications about
critical events or anomalies, such as traffic congestion, pollution spikes, or unusual
patterns in waste generation.
4. Data Visualization: Users need intuitive and user-friendly interfaces to visualize the
analyzed data and system performance.
5. System Integration: The system should be able to integrate with existing smart city
infrastructure and platforms.
6. Accessibility: Users should be able to access the system and its information from various
devices and locations.
The application should support commonly used operating systems, such as Windows,
macOS, and Linux. It is essential to ensure that the application runs seamlessly on various
versions of these operating systems, considering that backward compatibility may not always
be guaranteed.
Operating System:
The application should support commonly used operating systems, such as Windows,
macOS, and Linux. It is essential to ensure that the application runs seamlessly on various
versions of these operating systems, considering that backward compatibility may not always
be guaranteed.
12
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
1. API and Libraries:The application may require specific APIs or libraries to process
textual data, integrate with data sources, and implement machine learning models. The
availability of these dependencies is vital for the application's core functionalities.
2. Web Browser Integration:If the application includes web-based components, it should
be compatible with popular web browsers like Google Chrome, Mozilla Firefox, and
Microsoft Edge. This ensures a user-friendly experience across different platforms.
3. Software Requirements:For the development and deployment of the cyber threat
identification application, the following software components are necessary:
4. Integrated Development Environment (IDE):Visual Studio Code or PyCharm
Community Edition
5. Programming Language:Python (version 3.7 or higher)
6. NLP and Data Analysis Libraries:Libraries such as NumPy, Pandas, NLTK, SpaCy,
Scikit-learn, TensorFlow, or PyTorch
7. Web Framework:Flask or Django for web-based user interfaces
8. Deployment Tools:Docker or Kubernetes for containerized deployment Git for version
control and team collaboration.
9. Monitoring and Logging Tools:ElasticSearch, Logstash, and Kibana (ELK stack) for
system performance monitoring and log analysis, the compatibility and specific versions
of these software components should be carefully documented to ensure seamless
development, deployment, and operational process for the application.
13
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
Architecture:
The cyber threat identification and profiling application should be compatible with the x86
architecture, which is the most widely used architecture for desktop and server systems.
Additionally, the application may need to support other architectures, such as ARM, to ensure
compatibility with mobile devices or embedded systems, if required.
Processing Power:
The minimum recommended processor for running the application is an Intel Core i5 or
equivalent. The CPU should have a clock speed of 2.5 GHz or higher to efficiently process large
volumes of threat data and execute complex machine learning tasks.
Memory (RAM):
The application requires a minimum of 4 GB of RAM for basic operation. For optimal
performance, especially when handling extensive datasets or training sophisticated machine
learning models, 8 GB of RAM or more is recommended.
The application requires at least 50 GB of available storage space on the hard disk. This storage
is necessary for the application software, threat data, logs, and temporary files generated during
data analysis and detection processes.
Display Adapter:
While the application does not have high-end graphics requirements, a dedicated graphics
processing unit (GPU) or a modern integrated graphics chipset is recommended. This will
provide hardware acceleration for certain computational tasks, such as running deep learning
models, enhancing the overall system performance.
Peripherals:
Depending on the operational requirements, the application may need to support various
peripherals, including:
Network Adapter: For accessing external threat intelligence sources and online databases.
14
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
● Algorithms:
○ Deep Learning Algorithms:
1. Convolutional Neural Networks (CNNs): If the project involves image or
video processing (e.g., traffic monitoring, object detection), CNNs are
highly likely. CNNs excel at extracting spatial hierarchies of features from
images. For example, in traffic monitoring, a CNN could be trained to
identify vehicles, pedestrians, and traffic signals.
2. Recurrent Neural Networks (RNNs) or LSTMs: If the project deals with
time-series data (e.g., air quality monitoring, predicting pollution levels),
RNNs or Long Short-Term Memory (LSTM) networks might be used.
These are designed to handle sequential data and capture temporal
dependencies.
15
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
16
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
3.5 CONCLUSION:
This project leverages deep learning algorithms, primarily Convolutional Neural Networks
(CNNs) for image/video processing in applications like traffic monitoring, and Recurrent Neural
Networks (RNNs) or LSTMs for time-series data analysis, such as air quality monitoring.
Given the resource constraints of edge devices, model optimization algorithms such as
quantization, pruning, and knowledge distillation are essential to reduce model size and
complexity while maintaining acceptable performance. The general flow involves data
acquisition from sensors, edge processing that includes preprocessing, feature extraction, and
deep learning inference, a decision/action stage where the system takes local action or sends
alerts, and optional data transmission of summarized information to a central server. In essence,
the project uses deep learning on edge devices for real-time smart city data analysis, emphasizing
local processing for reduced latency, bandwidth efficiency, and enhanced privacy, with model
optimization as a key component for efficient edge device operation.
17
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
CHAPTER – 4
DESIGN
4.1 INTRODUCTION
The design sits at the technical kernel of the software engineering process and is applied
regardless of the development paradigm and area of application. Design is the first step in the
development phase for any engineered product or system. The designer’s goal is to produce a
model or representation of an entity that will later be built. Once system requirements have
been specified and analyzed, system design is the first of the three technical activities -design,
code and test that are required to build and verify software.
The importance can be stated with a single word “Quality.” Design is the place where quality
is fostered in software development. The design provides us with representations of software
that can assess quality. Design is the only way that we can accurately translate a customer’s
view into a finished software product or system. Software design serves as a foundation for all
the software engineering steps that follow. Without a strong design we risk building an
unstable system – one that will be difficult to test, one whose quality cannot be assessed until
the last stage. The purpose of the design phase is to plan a solution to the problem specified by
the requirement document.
This phase is the first step in moving from the problem domain to the solution domain. In
other words, starting with what is needed, design takes us toward how to satisfy the needs. The
design of a system is perhaps the most critical factor affecting the quality of the software; it has
a major impact on the later phase, particularly testing, and maintenance. The output of this
phase is the design document. This document is similar to a blueprint for the solution and is
used later during implementation, testing and maintenance. The design activity is often divided
into two separate phases System Design and Detailed Design.
System Design, also called top-level design, aims to identify the modules that should be in
the system, the specifications of these modules, and how they interact with each other to
18
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
produce the desired results. At the end of the system design, all the major data structures, file
formats, output formats, and the major modules in the system and their specifications are
decided. During Detailed Design, the internal logic of each of the modules specified in the
system design is decided. During this phase, the details of the data of a module are usually
specified in a high-level design description
The goal is for UML to become a common language for creating models of object oriented
computer software. In its current form UML is comprised of two major components: a Meta-
model and a notation. In the future, some form of method or process may also be added to; or
associated with, UML.
GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that they can
develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core concepts
3. Be independent of particular programming languages and development process.
19
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram
defined by and created from a Use-case analysis. Its purpose is to present a graphical overview
of the functionality provided by a system in terms of actors, their goals (represented as use
cases), and any dependencies between those use cases. The main purpose of a use case diagram
is to show what system functions are performed for which actor. Roles of the actors in the system
can be depicted.
Fig:4.2.1 Use case diagram for Deep learning for edge computing in indian smart cities : real time analytics on low power
devices
20
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of
static structure diagram that describes the structure of a system by showing the system's classes,
their attributes, operations (or methods), and the relationships among the classes. It explains
which class contains information.
Fig:4.2.2 Class Diagram of Deep learning for edge computing in indian smart cities : real time analytics on low power
devices
21
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram that
shows how processes operate with one another and in what order. It is the construction of a
Message Sequence Chart. Sequence diagrams are sometimes called event diagrams, event
scenarios, and timing diagrams.
Fig:4.2.3 Sequence diagram for Deep learning for edge computing in indian smart cities : real time analytics on low power
devices
22
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
Activity diagrams are graphical representations of workflows of stepwise activities and actions
with support for choice, iteration and concurrency. In the Unified Modeling Language, activity
diagrams can be used to describe the business and operational step-by-step workflows of
components in a system. An activity diagram shows the overall flow of control.
23
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
Fig:4.2.4 Activity Diagram for Deep learning for edge computing in indian smart cities : real time analytics on low power
devices
● Function: This module initiates the cloud server application, which acts as the central hub
for receiving and processing data from edge devices.
24
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
● Importance: It establishes the communication endpoint for the entire system, allowing for
data aggregation, storage, and potentially further analysis or visualization.
● Function: This module starts the edge server, which runs on the edge devices and is
responsible for local data processing and analysis.
● Importance: It enables real-time processing of data closer to the source, reducing latency
and bandwidth consumption.
● Function: This module trains and loads the deep learning algorithm (YOLO CNN in this
case) onto the edge device.
● Importance: It equips the edge device with the intelligence to perform object detection
and analysis locally, allowing for real-time traffic detection and counting.
● Function: This module processes a video input to detect and count traffic elements (e.g.,
vehicles, pedestrians) using the loaded deep learning algorithm.
● Importance: It demonstrates the core functionality of the system in a real-world
application, providing valuable data for traffic management and analysis.
5. Upload Video:
● Function: This module allows the user to select and upload a video file for traffic
detection and counting.
● Importance: It provides a user-friendly way to input data into the system for processing.
● Function: This module uploads the entire video frame/image data to the cloud server and
calculates the latency involved.
● Importance: It serves as a baseline for comparison to demonstrate the latency reduction
achieved by edge processing.
● Function: This module sends only the processed output (e.g., traffic counts) from the
edge device to the cloud server and calculates the latency.
● Importance: It highlights the efficiency of edge computing by showing the reduced
amount of data transmitted and the resulting lower latency.
25
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
● Function: This module allows the user to view the logs on the cloud server, showing the
data received from the edge server.
● Importance: It provides a way to monitor the communication and data transfer between
the edge and the cloud.
● Function: This module visualizes the latency comparison between sending full image
data and processed data to the cloud.
● Importance: It provides a clear and intuitive representation of the performance benefits of
edge computing in terms of reduced latency.
4.4 CONCLUSION:
The design phase is a critical component of software engineering, serving as the bridge between
problem definition and solution implementation. It emphasizes quality by providing
representations of software that can be assessed and ensuring that customer needs are accurately
translated into a final product. UML, a standardized modeling language, plays a vital role in this
process, offering a visual and expressive way to design object-oriented software. The design
process is often divided into system design and detailed design, with system design focusing on
identifying modules and their interactions, and detailed design addressing the internal logic of
26
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
those modules. Ultimately, a well-executed design phase, utilizing tools like UML and a modular
approach, is crucial for developing high-quality, stable, and maintainable software systems.
Software design is a foundational activity within software engineering, crucial for translating
customer requirements into a working system. It's where quality is built in, providing the
blueprints for development, testing, and maintenance. The design process, often structured into
system and detailed design phases, defines the system's architecture, modules, and internal logic.
Unified Modeling Language (UML) serves as a key tool in this endeavor, offering a standardized
visual language for modeling object-oriented systems. UML facilitates communication,
documentation, and the overall understanding of complex software, supporting the creation of
robust and maintainable applications through various diagrams like use case, class, sequence,
and activity diagrams. The project's modular design, encompassing components like cloud and
edge servers, deep learning algorithm integration, and data processing functionalities, further
exemplifies the importance of a well-defined design in achieving the system's objectives.
CHAPTER - 5
IMPLEMENTATION AND RESULTS
5.1 INTRODUCTION :
The implementation phase represents the transition from theoretical design to a tangible,
operational system. For the "Deep Learning for Edge Computing in Indian Smart Cities" project,
this involves the practical deployment of deep learning models onto resource-constrained edge
27
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
devices to facilitate real-time data analysis within smart city environments. Similarly, the
"Automated Emerging Cyber Threat Identification and Profiling Based on Natural Language
Processing" project translates its analytical framework into a working application capable of
identifying and profiling cyber threats. This section will detail the development process,
including the specific technologies and methodologies employed to bring these systems to life,
and present the outcomes of this implementation.
This section focuses on the realization of the proposed solutions, detailing the implementation
strategies and the resulting outcomes. In the context of the "Deep Learning for Edge Computing"
project, this includes the development and integration of modules such as the Cloud Server, Edge
Server, and the deep learning algorithm for traffic detection and counting. For the cyber threat
identification project, "Automated Emerging Cyber Threat Identification and Profiling Based on
Natural Language Processing", this involves the application of a range of machine learning
algorithms, including CNN, SVM, and others, to process and interpret textual data for threat
identification. This section will provide a comprehensive overview of the implementation
processes and analyze the results achieved by each project.
What is Python:
Below are some facts about Python.
28
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
● 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 the 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
Python features a dynamic type of system and automatic memory management. It supports
multiple programming paradigms, including object-oriented, imperative, functional and
procedural, and has a large and comprehensive standard library.
● Python is Interpreted − Python is processed at runtime by the interpreter. You do not need
to compile your program before executing it. This is like PERL and PHP.
● Python is Interactive − you can actually sit at a Python prompt and interact with the
interpreter directly to write your programs.
Python also acknowledges that speed of development is important. Readable and terse code is
part of this, and so is access to powerful constructions that avoid tedious repetition of code.
Maintainability also ties into this may be an all but useless metric, but it does say something
about how much code you have to scan, read and/or understand to troubleshoot problems or
tweak behaviors. This speed of development, the ease with which a programmer of other
languages can pick up basic Python skills and the huge standard library is key to another area
where Python excels. All its tools have been quick to implement, saved a lot of time, and
29
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
several of them have later been patched and updated by people with no Python background -
without breaking.
History of Python:
What do the alphabet, and the programming language Python have in common? Right, both
start with ABC. If we are talking about ABC in the Python context, it's clear that the
programming language ABC is meant. ABC is a general-purpose programming language and
programming environment, which had been developed in the Netherlands, Amsterdam, at the
CWI (Centrum Wiskunde &Informatica). The greatest achievement of ABC was to influence
the design of Python. Python was conceptualized in the late 1980s. Guido van Rossum worked
at that time in a project at the CWI, called Amoeba, a distributed operating system. In an
interview with Bill Venners1, Guido van Rossum said: "In the early 1980s, I worked as an
implementer on a team building a language called ABC at Centrum voor Wiskunde en
Informatica (CWI). I don't know how well people know ABC's influence on Python. I try to
mention ABC's influence because I'm indebted to everything I learned during that project and
to the people who worked on it. "Later on in the same Interview, Guido van Rossum continued:
"I remembered all my experience and some of my frustration with ABC. I decided to try to
design a simple scripting language that possessed some of ABC's better properties, but without
its problems. So, I started typing. I created a simple virtual machine, a simple parser, and a
simple runtime. I made my own version of the various ABC parts that I liked. I created a basic
syntax, used indentation for statement grouping instead of curly braces or begin-end blocks,
and developed a small number of powerful data types: a hash table (or dictionary, as we call it),
a list, strings, and numbers."
Advantages of Python:
Let’s see how Python dominates over other languages.
a. Extensive Libraries:Python downloads with an extensive library and it contains code for
various purposes like regular expressions, documentation-generation, unit-testing, web browsers,
30
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
threading, databases, CGI,email, image manipulation, and more. So, we don’t have to write the
complete code for that manually.
b. Extensible:As we have seen earlier, Python can be extended to other languages. You can
write some of your code in languages like C++ or C. This comes in handy, especially in projects.
d. Readable:Because it is not such a verbose language, reading Python is much like reading
English. This is the reason why it is so easy to learn, understand, and code. It also does not need
curly braces to define blocks, and indentation is mandatory. These further aids the readability of
the code.
f. Free and Open-Source:Like we said earlier, Python is freely available. But not only can you
download Python for free, but you can also download its source code, make changes to it, and
even distribute it. It downloads with an extensive collection of libraries to help you with your
tasks.
g. Portable:When you code your project in a language like C++, you may need to make some
changes to it if you want to run it on another platform. But it isn’t the same with Python. Here,
you need to code only once, and you can run it anywhere. This is called Write Once Run
Anywhere (WORA). However, you need to be careful enough not to include any system-
dependent features.
h. Interpreted:Since statements are executed one by one, debugging is easier than in compiled
languages. Lastly, we will say that it is an interpreted language.
31
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
j. IOT Opportunities:Since Python forms the basis of new platforms like Raspberry Pi, it finds
the future bright for the Internet of Things. This is a way to connect the language with the real
world.
A. Less Coding: Almost all the tasks done in Python require less coding when the same task is
done in other languages. Python also has awesome standard library support, so you don’t
have to search for any third-party libraries to get your job done. This is the reason that many
people suggest learning Python to beginners.
B. Affordable:Python is free therefore individuals, small companies or big organizations can
leverage the free available resources to build applications. Python is popular and widely used
so it gives you better community support.
C. Python is for Everyone:Python code can run on any machine whether it is Linux, Mac or
Windows. Programmers need to learn different languages for different jobs but with Python,
you can professionally build web apps, perform data analysis and machine learning, automate
things, do web scraping and also build games and powerful visualizations. It is an all-rounder
programming language.
Disadvantages of Python:
32
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
So far, we’ve seen why Python is a great choice for your project. But if you choose it, you
should be aware of its consequences as well. Let’s now see the downsides of choosing Python
over another language.
33
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
Deep learning is a subset of artificial intelligence and machine learning that utilizes artificial
neural networks with multiple layers (deep neural networks) to analyze and extract features from
data. Unlike traditional machine learning techniques that often require manual feature
engineering, deep learning models can automatically learn hierarchical representations of data,
enabling them to excel in complex tasks such as image and speech recognition, natural language
processing, and pattern recognition. This capability makes deep learning particularly well-suited
for applications involving large volumes of unstructured data, as seen in the "Deep Learning for
Edge Computing in Indian Smart Cities" project, where deep learning models analyze data from
various sensors for real-time decision-making, and in the "Automated Emerging Cyber Threat
Identification and Profiling Based on Natural Language Processing" project, where deep learning
aids in processing and understanding textual data for cyber threat detection.
The power of deep learning lies in its ability to learn intricate patterns and relationships within
data through these multi-layered neural networks. Each layer in a deep learning model
transforms the data representation into a higher, more abstract level, allowing the model to
progressively learn complex features. For instance, in image analysis, the initial layers might
detect edges and corners, while deeper layers identify objects and complex structures. This
automated feature learning is crucial for tasks where manual feature extraction is difficult or
impossible. In the context of the provided documents, deep learning facilitates real-time analytics
on edge devices in smart cities and enables the automated identification and profiling of
emerging cyber threats, demonstrating its versatility and effectiveness in tackling complex, data-
rich challenges.
1. Data Requirements: Deep learning models, especially complex ones, often require vast
amounts of labeled data to train effectively. In the context of smart cities, this means
collecting and annotating large datasets of sensor data, images, and videos, which can be
a significant undertaking. For cyber threat detection, it involves gathering and labeling
diverse datasets of network traffic, system logs, and threat reports.
2. Computational Resources: Training deep learning models is computationally intensive,
requiring powerful hardware like GPUs or TPUs. Even after training, deploying and
34
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
35
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
● Enhanced Detection of Unknown Threats: Deep learning, combined with NLP, enables
the system to identify new and unknown threats, overcoming the limitations of traditional
signature-based methods.
● Comprehensive Textual Data Analysis: The system can analyze unstructured text data
from various sources, extracting hidden patterns and improving threat detection accuracy.
● High Scalability and Efficiency: Deep learning algorithms like CNN and ensemble
methods can efficiently handle large-scale, high-dimensional datasets, ensuring good
performance even with increasing data volumes.
● Adaptive and Dynamic Learning: Deep learning systems can continuously adapt to
evolving cyber threats, maintaining their effectiveness without requiring frequent manual
updates.
● Accurate Threat Profiling: The use of multiple algorithms allows for precise
categorization and profiling of threats, reducing false positives and negatives and
supporting timely decision-making.
36
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
37
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
12. Torch: An open-source machine learning framework, particularly for deep learning.
13. Torchvision: A library that provides popular datasets, model architectures, and image
transformations for Torch.
import socket
import socket
import pickle
import cv2
import datetime
running = True
def saveImage(img):
ct = datetime.datetime.now()
ct = str(ct)
ct = ct.replace(" ","_")
38
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
ct = ct.replace(".","_")
ct = ct.replace(":","_")
name = ct+".jpg"
print(name)
cv2.imwrite("TrafficImages/"+name, img)
def startCloudServer():
class Cloud(Thread):
def __init__(self,ip,port):
Thread.__init__(self)
self.ip = ip
self.port = port
def run(self):
global encrypted_data
data = conn.recv(1000000)
data = pickle.loads(data)
request_type = data[0]
img = data[1]
39
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
saveImage(img)
msg = data[1]
print(msg)
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server.bind(('localhost', 2222))
while running:
server.listen(4)
newthread = Cloud(ip,port)
newthread.start()
def startServer():
Thread(target=startCloudServer).start()
startServer()
40
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
import tkinter
import cv2
import numpy as np
import tensorflow as tf
import pandas as pd
import os
import timeit
41
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
import pickle
import socket
import datetime
main = tkinter.Tk()
main.title("Deep Learning for Edge Computing in Indian Smart Cities : Real Time Analytics on
Low Power Devices")
main.geometry("1300x1200")
def delayGraph():
y_pos = np.arange(len(bars))
plt.bar(y_pos, height)
plt.xticks(y_pos, bars)
42
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
plt.ylabel("Delay Time")
plt.show()
data = []
data.append(request_type)
data.append(msg)
data = pickle.dumps(data)
start = timeit.default_timer()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('localhost', 2222))
s.sendall(data)
data = s.recv(100)
data = data.decode()
end = timeit.default_timer()
def sendImage():
global cloud_time
43
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
text.delete('1.0', END)
img = getImage()
def sendData():
global edge_time
data = getData()
ct = datetime.datetime.now()
text.insert(END,"Total delay required to send Processed Data to Cloud using Edge Server :
"+str(edge_time)+"\n\n")
def trafficDetection():
global filename
filename = filedialog.askopenfilename(initialdir="Videos")
text.delete('1.0', END)
text.insert(END,filename+" loaded\n");
runYolo(filename)
44
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
def trainDL():
data = np.load('models/X.txt.npy')
labels = np.load('models/Y.txt.npy')
bboxes = np.load('models/bb.txt.npy')
indices = np.arange(data.shape[0])
np.random.shuffle(indices)
data = data[indices]
labels = labels[indices]
bboxes = bboxes[indices]
labels = to_categorical(labels)
yolov6_model = load_model('models/yolov7.hdf5')
45
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
predict[0:32] = testY[0:32]
a = accuracy_score(testY,predict)*100
title = Label(main, text='Deep Learning for Edge Computing in Indian Smart Cities : Real Time
Analytics on Low Power Devices')
title.config(font=font)
title.config(height=3, width=120)
title.place(x=0,y=5)
trainButton.place(x=50,y=100)
46
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
trainButton.config(font=font1)
detectButton.place(x=380,y=100)
detectButton.config(font=font1)
cloudButton.place(x=50,y=150)
cloudButton.config(font=font1)
edgeButton.place(x=380,y=150)
edgeButton.config(font=font1)
graphButton.place(x=50,y=200)
graphButton.config(font=font1)
text=Text(main,height=20,width=150)
scroll=Scrollbar(text)
text.configure(yscrollcommand=scroll.set)
text.place(x=10,y=250)
text.config(font=font1)
47
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
main.config(bg='snow3')
main.mainloop()
To run project double click on ‘runCloudServer.bat’ file to start cloud server and then will get
below page.
In above screen cloud server started and now double click on ‘run.bat’ file to start Edge Server
and then will get below page
48
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
In above screen click on ‘Train & Load Deep Learning Algorithm’ button to train and load Deep
Learning algorithm and then will get below output
49
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
In above screen Deep Learning training completed and got 94% accuracy on test data prediction
and now click on ‘Run Traffic Detection & Counting’ button to upload video and then will get
below output.
In above screen selecting and uploading video file and then click on ‘Open’ button to get below
output
50
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
In above screen video started playing and then detecting traffic count and you can press ‘q’ key
from keyboard to stop playing or play till the end. Once after processing you can click on ‘Run
Cloud to Report Image Data’ button to upload entire image to cloud and then compute latency.
In above screen to send entire image raw data to Cloud Network taken 0.013 seconds and now
click on ‘Run Edge to Report Processed Data’ button to send only detected and processed output
to cloud and then will get below page
51
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
In the above screen to send processed data, the edge server took ‘0.0026’ seconds which is less
than sending the entire data to the cloud. In below cloud screen we can see entire log details
In the above screen cloud server received edge data displaying in white colour text which said 13
vehicles detected at XYZ location at given time. Similarly you can upload video and perform
latency comparison by sending full or processed data to the cloud. Now click on ‘Delay
Comparison Graph’ button to get below page
52
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
In above delay or latency graph x-axis represents ‘Technique Name’ and y-axis represents delay
or latency time and then can see ‘Edge Server’ took only 25% time to send complete data to
cloud.
So by using edge servers we can send and receive data faster without leaking privacy.
● Latency Reduction: The system effectively reduces latency by processing data locally on
the edge server instead of sending it to the cloud. The results show a significant decrease
in the time taken to report processed data to the cloud compared to sending the entire
image data. Sending the entire image to the cloud took 0.013 seconds, while sending
processed data from the edge server took only 0.0026 seconds. This reduction in latency
is crucial for real-time applications like traffic monitoring and control.
● Real-time Processing: The edge server, equipped with the YOLO CNN deep learning
algorithm, can efficiently detect and count traffic from uploaded videos. This showcases
the system's ability to perform real-time analysis, which is essential for smart city
applications requiring immediate decision-making.
● Privacy Enhancement: By processing data locally and sending only the processed output
to the cloud, the system helps to mitigate privacy concerns associated with transmitting
large volumes of sensitive data.
● Accuracy: The deep learning model achieved a high accuracy of 94% on test data
prediction, indicating the effectiveness of the chosen algorithm (YOLO CNN) for traffic
detection.
● System Functionality: The implemented modules, including the cloud server, edge server,
and deep learning algorithm, function as intended, enabling data processing, analysis, and
communication between edge devices and the cloud.
● Visualization: The delay comparison graph provides a clear visualization of the latency
reduction achieved by using edge computing, further emphasizing its benefits.
53
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
5.4 CONCLUSION:
The project successfully demonstrates the effectiveness of leveraging edge computing with deep
learning for real-time analytics in smart city applications. By deploying deep learning models on
edge devices, the system achieves a significant reduction in latency compared to traditional
cloud-based processing. This reduction in latency enables faster decision-making, which is
crucial for time-sensitive applications like traffic monitoring and control. Furthermore, the
system enhances privacy by processing data locally on the edge devices, minimizing the need to
transmit sensitive information to the cloud. The project's implementation, including the design
and functionality of the cloud and edge server modules, along with the integration of the YOLO
CNN deep learning algorithm, highlights the feasibility and benefits of edge AI in addressing the
challenges of data processing, latency, and privacy in smart city environments.
The results obtained, specifically the 94% accuracy in traffic detection and the measured latency
reduction, validate the system's performance and efficiency.The comparison between sending
full image data and processed data to the cloud clearly illustrates the advantages of edge
computing in reducing transmission time and bandwidth consumption.
54
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
CHAPTER - 6
TESTING AND VALIDATION
6.1 INTRODUCTION:
6.2 VALIDATION:
The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality of
components, sub- assemblies, assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the Software system meets its requirements and user
expectations and does not fail in an unacceptable manner. There are various types of tests. Each
test type addresses a specific testing requirement.
55
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
Types of Testing:
56
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
57
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
6.3 CONCLUSION
The testing phase of this project played a crucial role in ensuring the accuracy, reliability, and
security of the system. Through rigorous test case execution, we validated key functionalities,
including authentication mechanisms, fake profile detection, and real-time feedback processing.
The test results demonstrated that the system effectively handles user authentication, prevents
unauthorized access, and provides instant profile verification feedback with high accuracy.
Additionally, performance testing under high loads confirmed the system's robustness, while
security testing ensured resilience against potential vulnerabilities such as SQL injection and
weak password attacks. Usability testing further validated that the interface is intuitive and user-
friendly, enhancing the overall user experience. The successful execution of test cases confirms
that the system meets its design specifications and functional requirements. With strong security
measures and high detection accuracy, the project establishes a reliable foundation for further
enhancements and real- world deployment.
58
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
CHAPTER – 7
CONCLUSION
This project successfully demonstrates the viability and advantages of integrating edge
computing with deep learning to address the challenges of real-time data analytics in smart city
environments. The system effectively tackles the limitations inherent in traditional cloud-based
computing models, particularly issues related to latency, bandwidth consumption, and data
privacy. By deploying deep learning models, specifically the YOLO CNN algorithm, on edge
devices, the project facilitates local data processing, enabling real-time analysis of information
gathered from sensors and other sources within the smart city. The comparative analysis of data
transmission times clearly illustrates the significant reduction in latency achieved through edge
computing, confirming its potential to support time-critical applications such as traffic
management, emergency response, and other scenarios demanding immediate action.
Furthermore, the project's design and implementation prioritize data privacy by minimizing the
transmission of sensitive information to the cloud. This approach is crucial for applications
dealing with personal or confidential data, ensuring that privacy concerns are adequately
addressed. The development and integration of key modules, including the cloud server, edge
server, and the deep learning component, validate the system's architectural design and its ability
to function effectively within a smart city infrastructure. The high accuracy achieved in traffic
detection further underscores the effectiveness of the chosen deep learning algorithm and its
suitability for real-world applications.
In conclusion, this project provides a compelling case for the adoption of edge computing and
deep learning in smart city initiatives. The results confirm that this approach not only enhances
the speed and efficiency of data processing but also contributes to improved data privacy and
security. By enabling real-time analytics and reducing reliance on cloud infrastructure, the
project offers a pathway towards more responsive, efficient, and citizen-centric smart city
operations
59
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
CHAPTER - 8
FUTURE ENHANCEMENT
Future enhancements for this project could focus on expanding its capabilities and improving its
real-world applicability within smart city ecosystems. One key area of development involves
integrating a wider range of smart city applications beyond traffic detection. This could include
incorporating modules for real-time air quality monitoring, waste management optimization, and
public safety applications, thereby creating a more comprehensive and versatile smart city
management platform. Furthermore, exploring the use of other advanced deep learning models
and optimization techniques could enhance the system's accuracy and efficiency, particularly in
processing diverse and complex urban data.
Additionally, future work could concentrate on improving the system's scalability and
robustness for deployment in large-scale urban environments. This includes optimizing the
communication and coordination between a multitude of edge devices and the cloud server, as
well as addressing potential challenges related to network connectivity, data security, and system
maintenance. Investigating methods for federated learning could also be beneficial, enabling
collaborative model training across edge devices while preserving data privacy.
60
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
CHAPTER - 9
REFERENCES
[1] A Oommen Philip and S Rak, "A Vision of Connected and Intelligent Transportation
Systems", International Journal of Civil Engineering and Technology, vol. 9, pp. 873-82, 2018.
[2] Audrnas Gruslys, Remi Munos, Ivo Danihelka, Marc Lanctot and Alex Graves, "Memory-
Efficient Backpropagation Through Time", Advances in Neural lnformation Processing Systems,
pp. 4125-4133, 2016.
[3] T. Chen, B. Xu, C. Zhang and C. Guestrin, "Training deep nets with sublinear memory cost",
arXiv preprint arXiv:1604.06174, 2016.
[4] Sergey Ioffe and Christian Szegedy, "Batch normalization: Accelerating deep network
trainingby reducing internal covariate shift in", Proceedings of the 32nd lnternational
Conference on Machine Learning (lCML15), 2015.
[5] Robert Hecht-Nielsen, "Theory of the backpropagation neural network In", lnternational
Joint Conference on Neural Networks lJCNN 1989, pp. 593605, 1989.
[6] A Griewank, "An implementation of checkpointing for the reverse or adjoint model of
differentiation", ACM Transactions on Mathematical Software, vol. 26, no. 1, pp. 119, 1999.
[8] K. He, X. Zhang, S. Ren and J. Sun, "Deep residual learning for image recognition",
arXiv:1512.03385, 2015.
61
Deep learning for edge computing in indian smart cities : real time analytics on low power devices
[11] Paul J Werbos, "Backpropagation through time: what it does and how to do it", Proceedings
of the lEEE, vol. 78, no. 10, pp. 1550-1560, 1990.
[12] K. Simonyan and A. Zisserman, "Very deep convolutional networks for large-scale image
recognition in", Proceedings of lnternational Conference on Learning Representations, 2015.
62