Professional Documents
Culture Documents
Submitted by
CERTIFICATE
This is to certify that following students have successfully and satisfactorily completed
the project on Sign Language Reorganization using Machine Learning presented their
report in the partial fulfillment of requirement for Diploma in Computer Engineering from
Government Polytechnic, Mumbai under the guidance of Prof. P.S. Sadafule in the academic
year 2020-2022.
ACKNOWLEDGEMENT
It is always a difficult job to acknowledge all those who have been of tremendous help
in the development of any work. In spite of that, we honestly thank all those who had put in
tremendous efforts in guiding and helping us to successfully build this project named “Sign
Language Reorganization using ML”. We take this opportunity to thank each and every
one for their co-operation and support.
First and firmly, we are grateful to (principal, Government Polytechnic Mumbai) for
allowing us to do this project collectively and with advanced techniques.
We express our sincere gratitude towards Prof. Neha. H. Vachani (Head of Computer
Department).
We heartly thank Prof. P. S. Sadafule our project guide for their valuable guidance
throughout, without which the project would not have stood its ground as it has now. We
would even like to thank people who have directly or indirectly helped us with the making of
the project and their support.
We are thankful to and fortunate enough to get constant encouragement, support, and
guidance from all Teaching staffs of Computer department, GPM which helped us in
successfully progressing with our project work.
YUKTA R. MORE-SS20CO065
SANIKA S. KHADE -SS20CO038
AMISHA B. SAWANT-SS20CO005
MEGHA M. PAWAR-SS20CO006
Index
SR.NO CONTENTS PAGE
. NO.
1 INTRODUCTION
.
1.1 Objectives
1.2 Problem Statement
1.3 Literature survey
2 Feasibility Study
.
2.1 project Scope
2.2 Approach
3 Project Planning
.
3.1 Scope Schedule and Cost
And Risks
3.2 Communication, Resources
4 Requirement Analysis
.
4.1 Hardware Requirements
4.2 Software Requirements
5 System Design
.
5.1 System Architecture
6 Coding
. Collection.py
6.1 data y
6.2 test.p
6.3 api
7 Implementation
.
8 Testin
. g
9 Output/Screenshots
.
1 Bibliography
0
ABSTRACT
Sign Language is mainly used by deaf (hard hearing) and dumb people to
exchange information between their own community and with other people. It is a
language where people use their hand gestures to communicate as they can’t speak or
hear. Sign Language Recognition (SLR) deals with recognizing the hand gestures and
continues till text or speech is generated for corresponding hand gestures. Here hand
gestures for sign language can be classified as static and dynamic. However, static
hand gesture recognition is simpler than dynamic hand gesture recognition, but both
recognition is important to the human community. We can use Deep Learning
Computer Vision to recognize the hand gestures.
Where the model will learn to recognize the hand gestures images. Once the model
Successfully recognizes the gesture the corresponding English text is generated and
then text can be converted to speech. This model will be more efficient and hence
communicate for the
deaf (hard hearing) and dump people will be easier. In this, we will discuss how Sign
Language Recognition is done using Machine Learning.
Chapter – 1
INTRODUCTION
INTRODUCTION
Deaf (hard hearing) and dumb people use Sign Language (SL) as their primary
means To express their ideas and thoughts with their own community and with other
people with hand and body gestures. It has its own vocabulary, meaning, and syntax
which is different from the spoken language or written language. Spoken language is
a language produced by articulate sounds mapped against specific words and
grammatical combinations to convey meaningful messages. Sign language uses visual
hand and body gestures to convey meaningful messages. There are somewhere
between 138 and 300 different types of Sign Language used around globally today. In
India, there are only about 250 certified sign language interpreters for a deaf
population of around 7 million. This would be a problem to teach sign language to the
deaf and dumb people as there is a limited number of sign language interpreters exits
today. Sign Language Recognition is an attempt to recognize these hand gestures and
convert them to the corresponding text or speech. Today Computer Vision and Deep
Learning have gained a lot of popularity. Using Deep Learning algorithms and Image
Processing we can be able to classify these hand gestures and able to produce
corresponding text.
1.1 Objectives
The main objectives of this project are to contribute to the field of automatic sign
language recognition and translation to text or speech. In our project, we focus on static
sign language hand gestures. This work focused on recognizing the hand gestures which
includes 26
English alphabets (A-Z) and 10 digits (0-9). By using ‘PyCharm’ and using ML with the help
oh python libraires we executed the code to show the hand gesture.
Android Studio is the official IDE for Android development, and includes everything you
need to build Android apps.
This page lists new features and improvements in the latest version in the stable channel,
Android Studio Dolphin. You can download it here or update to it inside Android
Studio by clicking Help > Check for updates (Android Studio > Check for updates on
macOS).
Features:
Based on IntelliJ IDEA, Android Studio provides fast turnaround on your coding and running
workflow.
Android Studio knows not all code is written in Java, and not all code runs on the user's
device.
Android Studio provides GUI tools that simplify the less interesting parts of app
development.
Key Features
To highlight the advanced features of Tensor Light, an incomplete list of some main
functionalities is provided that are not shipped with TensorFlow by default, or might
even be missing in other high-level APIs. These include:
• Transparent lifecycle management of the session and graph definition.
• Abstraction of models and datasets to provide a reusable plug-and-play support.
• Effortless support to train a model symmetrically on multiple GPUs, as well as prevent
TensorFlow to allocate memory on other GPU devices of the cluster.
• Train or evaluate a model with a single line of code.
• Abstracted, runtime-exchangeable input pipelines which either use the simple feeding
mechanism with NumPy arrays, or even multi-threaded input queues.
• Automatic saving and loading of hyperparameters as JSON to simplify the evaluation
management of numerous trainings.
• Ready-to-use loss functions and metrics, even with latest advances for perceptual
motivated image similarity assessment.
• Extended recurrent functions to enable scheduled sampling, as well as an
implementation of a ConvLSTM cell.
• Automatic creation of periodic checkpoints and Tensor Board summaries.
• Ability to work with other higher-level libraries hand in hand,
TensorFlow:
TensorFlow is a free and open-source software library for dataflow and
differentiable programming across a range of tasks. It is a symbolic math l library and is
also used for machine learning applications such as neural networks. It is used for both
research and production at Google.
Features:
• TensorFlow provides stable Python (for version 3.7 across all platforms) and C APIs;
and without API backwards compatibility guarantee: C++, Go, Java, JavaScript and
Swift (early release).
• Third-party packages are available for C#,. "New language support should be built on
top of the C API. However, not all functionality is available in C yet." Some more
functionality is provided by the Python API.
• Application among the applications for which TensorFlow is the foundation, are
automated image-captioning software, such as Deep Dream.
OpenCV:
OpenCV (Open-Source Computer Vision Library) is a library of programming
functions mainly aimed at real-time computer vision.[1] Originally developed by Intel,
it was later supported by Willow Garage then Itrez (which was later acquired by Intel
[2]). The library is cross-platform and free for use under the open-source BSD license.
• OpenCV Functionality
• Image/video I/O, processing, display (core, improv, high-up)
• Object/feature detection (obj detect, features2d, nonfee)
• Computational photography (photo, video, supers)
• Machine learning & clustering (ml, Flann)
• CUDA acceleration (gnu)
Image-Processing:
keras:
Keras is an open-source neural-network library written in Python. It can run on top of
TensorFlow, Microsoft Cognitive Toolkit, R, Theano, or Plaid ml. Designed to enable
fast experimentation with deep neural networks, it focuses on being user-friendly,
modular, and extensible.
Features:
1)Large Dataset:
Keras contains a large pre-defined dataset. It provides you a variety of datasets. You can use
this dataset to be directly importing and loading it.
2) Pre-processing of Data:
Keras provides you several functions for the pre-processing of data.
3)Modularity:
Keras is modular, the model you train and use this model later by loading it.
NumPy:
It is a library for the Python programming language, adding support for large,
multidimensional arrays and matrices, along with a large collection of high-level
mathematical functions to operate on these arrays.
Features:
Feasibility Study
A feasibility study is an analysis that takes all a project’s relevant factors into account—
including economic, technical, legal, and scheduling considerations—to ascertain the
likelihood of completing the project successfully. Project managers use feasibility studies to
discern the pros an cons of undertaking a project before they invest a lot of time into it.
By doing this project we opened the door for the people who can’t communicate properly or
adjust with world. Using this application people will enjoy and learn something new
language.
2.2 Approach
This application will be using for native approach of development. The application is created
using Machine learning &Python , recognition is achieved by TensorFlow, OpenCV, Cvzone
for desktop and for mobile app we use android studio. Recognize the user which show the
sign and display on screen. Mostly usable for all people who can interested to learn sign
language, detect sign language and help deaf and dump people communicating with each
other.
CHAPTER 3
Project Planning
project planning
Project planning is a discipline addressing how to complete a project in a certain time period,
usually with defined stages and designated resources. One view of project planning divides
the activity into these steps:
17
18.
CHAPTER 4
Requirement Analysis
Requirement Analysis
We present a sign language recognition that can be helpful for the deaf and dumb
people while communicating with others. In the sign language recognition, we
create sign detector which detects numbers from 0 to 9 and hand gesture
including the alphabets and words.
Requirement Specification:
➢ Hardware Requirements ➢
Software Requirements
Let’s draw the System Architecture of our Sign Language Recognition to understand
clearly:
Fig.1: Block Diagram of System
As shown in Figure 1, the project will be the entire system is divided into 3 parts: -
1) Data Processing
2) Training
3) Classify Gesture
1)Data Processing:
The DataCollection.py script contains functions to load the images and save it on data as
NumPy arrays into file storage. in short Data Collection script is use for webcam through
which we can capture the images and save it on “Data” Folder. After that it will go for
training.
2)Training:
The training loop for the model is contained in train model. The model is trained with n
number of saved image and that images will be save on Models folder in which two file will
be generated “keras_models.h5” and “labels.txt” in which all the input value predefined.
3) Classify Gesture:
As we have used supervised machine learning algorithm in our programs. After training, the
users give the input, and the system will process it or recognize it and gives the output on the
screen.
Implementation
Android Stuido:
Android architecture contains different number of components to support any android device
needs.Android software contains an open-source Linux Kernel having collection of number
of C/C++ libraries which are exposed through an application framework services.Among all
the components Linux Kernel provides main functionality of operating system functions to
smartphones and Dalvik Virtual Machine (DVM) provide platform for running an android
application.
Architecture:
Applications
Application Framework
Android Runtime
Platform Libraries
Linux Kernel
TensorLight Architecture
From an architectural perspective, the framework can be split into three main components.
Examples are functions to download and extract datasets, to process images and videos, or
to generate animated GIFs and videos from a data array, to name just a few.
Second, the high-level library which builds on top of TensorFlow. It includes several
modules that either provide a simple access to functionally that it repeatedly required when
developing deep learning applications, or features that are not included in TensorFlow yet.
For instance, it handles the creation of weight and bias variables internally, offers a bunch of
ready-to-use loss and initialization functions, or comes with some advanced visualization
features to display feature maps or output images directly in an IPython Notebook.
Third, an abstraction layer to simplify the overall lifecycle, to generalize the definition of a
model graphs, as well as to enable a reusable and consistent access to datasets.
Working of TensorFlow
TensorFlow allows you to create dataflow graphs that describe how data moves through a
graph. The graph consists of nodes that represent a mathematical operation. A connection or
edge between nodes is a multidimensional data array. It takes inputs as a multi-dimensional
array where you can construct a flowchart of operations that can be performed on these
inputs.
Architecture of TensorFlow:
➢ Input Layer
The input layer accepts large volumes of data as input to build the network. The data can be
in the form of text, image, audio, etc.
➢ Hidden Layer:
This layer processes data by performing complex computations and carries out feature
extraction. As part of the training, these layers have weights and biases that are
continuously updated until the training process is complete.
➢ Output Layer
The output layer generates predicted output by applying suitable activation functions. The
output can be in the form of numeric or categorical values.
can be in the form of binary classification like the number zero for the dog and the number
one for the cat
Explanation: -
Step1: - In this phase we run the program and it will open the “Webcam”.
Step2: -It invokes the OpenCV, Keras, and TensorFlow such library for processing the
images.
Step3: - This step consists of digitize the information from the user to make it usable to
classification algorithm.
Step5: - It is the process of transforming raw data into numerical features that can be
processed while preserving the information in the original datasets.
Step6: - It compare two different sets of data and matching them with input data. If data is
matched, it will display the outputs otherwise it will repeat the process until the data cannot
be matched.
CHAPTER 8
Testing
TESTING
The purpose of testing is to discover the error and every conceivable fault or
weakness in a work product.
Testing Objectives:
Testing objectives can serve as a several rules they are:
Types of testing:
➢ Unit Testing:
Unit testing is done on individual models as they completed and becomes
executable. It helps to detect flaw in code which is more difficult to find in
later in testing process. Unit testing is different from and should be
preceded by other techniques including:
• Inform debugging
• Code Inspection
This testing approach allow tester to verify the inner working of software
systems (code, infrastructure, integration with external system).
It has been used to generate test cases in the following cases:
• Execute internal data structure to ensure their validity
• Guarantee that are all independent paths have been executed
➢ Integration Testing:
Integration testing is the second level of the software testing process comes
after unit testing.
In this testing, units or individual components of the software are tested in a
group. The software is developed with a few software modules that are
coded by different coders or programmers.
➢ System Testing:
It is a level of testing that validates the complete and fully integrated software product.
The purpose of a system test is to evaluate the end-to-end system specifications.
Usually, the software is only one element of a larger computer -based system.
Ultimately, the software is interfaced with other software/hardware system.
Test Cases:
Test Test Case Input Data Expected Actual Result Remar
Case Objectives /Description Result k/
Status
ID
CHAPTER 9
Output/Screenshots
CHAPTER 10
References /Bibliography
References /Bibliography
1.Thakur, Pujan Budhathoki, Sarmila Upreti, Shirish Shrestha, Subarna Shakya, “Real Time Sign Language
Recognition and Speech Generation,” Journal of Innovative Image Processing(Vol.02/No.02) Published on
01-02-2020.
Aman Pathak, Avinash Kumar, Priyam, Priyanshu Gupta and Gunjan Chugh, “Real Time Sign Language
Detection,” International Journal for Modern Trends in Science and Technology 2022, 8 pp. 32-37.
Reddygari Sandhya Rani , R Rumana , R. Prema,” Sign Language Recognition for The Deaf and Dumb,”
International Journal of Engineering Research & Technology (IJERT), Volume 10, Issue 10 (October 2021).
Other references:
https://www.eecg.utoronto.ca/~jayar/mie324/asl.pdf
https://ieeexplore.ieee.org/document/7916786
https://babysignlanguage.com/dictionary/ https://data-flair.training/blogs/sign-
language-recognition-python-ml-opencv/
http://cs231n.stanford.edu/reports/2016/pdfs/214Report.pdf