Mani 05
Mani 05
Project report
on
AI BASED DEAF ASSISTANCE SYSTEM
submitted in partial fulfillment of the Requirements for the Award of the Degree of
BACHELOR OF TECHNOLOGY
In
COMPUTER SCIENCE AND ENGINEERING
(Artificial Intelligence and Machine Learning)
By
GAJULA MANI SRINIVAS 21VD1A6626
I,
GAJULA MANI SRINIVAS 21VD1A6626
hereby declare that the Major project report entitled “AI BASED DEAF ASSISTANCE
SYSTEM” under the guidance of Mr. G. SRIDHAR, Assistant Professor(c), Department of
CSE, JNTUH University College of Engineering Manthani submitted in partial fulfillment for
the award of the Degree of Bachelor of Technology in Computer Science and
Engineering(AIML) during the Academic year 2024-2025.
This is a record of bonafide work carried out by us and the results embodied in this project
report have not been reproduced or copied from any source. The results embodied in this
project have not been submitted to any other University or Institute for the award of any degree
or diploma.
GAJULA MANI SRINIVAS 21VD1A6626
CERTIFICATE
This is to certify that the Major project report entitled “AI BASED DEAF ASSISTANCE
SYSTEM” being submitted by
GAJULA MANI SRINIVAS 21VD1A6637
in the partial fulfillment of the requirements for the award of the Degree of Bachelor of Technology
in Computer Science and Engineering(AIML) by the Jawaharlal Nehru Technological
University Hyderabad University College of Engineering Manthani during the academic
year 2024-25.
The results of investigation enclosed in this report have been verified and found satisfactory.
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.
i. TITLE PAGE i
ii. DECLARATION ii
i. ACKNOLEDGEMENT iv
ii. ABSTRACT v
iii. TABLE OF CONTENTS vi
1 INTRODUCTION 1
1.1 Problem Statement 2
1.2 Objective 3
2 LITERATURE SURVEY 5
2.1 Deaf Culture and Identity 6
2.2 Challenges in Sign Language Processing 6
2.3 Reviewed progress in Sign Language Processing 7
2.4 Explanation of Key Functions 8
3 SYSTEM ANALYSIS 9
3.1 Existing System 10
3.2 Proposed System 11
3.3 Feasibility Study 12
4 SYSTEM REQUIREMENT SPECIFICATION 13
4.1 Functional Requirements 14
4.2 Non-Functional Requirements 14
5 SYSTEM DESIGN 16
5.1 Use Case Diagram 17
5.2 Activity Diagram 18
5.3 Class Diagram 19
5.4 Sequence Diagram 20
6 IMPLEMENTATION 21
6.1 Working Description 22
6.2 Methodology 23
o Laws like the Americans with Disabilities Act (ADA) in the U.S. have affirmed the right of
Deaf individuals to access services in their native language.
o Legal recognition helped empower the Deaf community and increased the visibility and respect
for their language and culture.
5. Impact on Sign Language Processing Systems
o When developing sign language processing technologies, it is crucial to respect the cultural
identity and communication preferences of the Deaf community.
o Sign language recognition systems should not undermine the cultural significance of sign
language but rather aim to enhance communication and accessibility for Deaf individuals.
o Collaboration with the Deaf community is essential to ensure that these systems are
culturally respectful and useful to the users.
2.2 Challenges in Sign Language Processing
Sign language processing faces several significant challenges due to the inherent complexity of
sign languages. These challenges include:
1. Diversity in Variations: Sign languages differ regionally, socially, and individually. Variations in
signs across different geographic locations, social contexts, and individual preferences make it
difficult for recognition systems to generalize and accurately process sign language.
2. Lack of Standardized Written Form: The absence of a universally accepted written form for sign
languages makes it hard to document and annotate sign language data consistently. This lack of
standardization complicates the creation of annotated datasets needed for training machine learning
models, leading to inconsistent annotations and lower-quality datasets.
3. Data Annotation Issues: Inconsistent annotation systems and the difficulty of labeling complex
signs or continuous signing further hinder the development of robust recognition systems. Limited
and non-diverse datasets also restrict the effectiveness of models, making them less applicable
across different regions, dialects, and user groups.
2.3 Reviewed progress in Sign Language Processing
2.3.1 Limitations of Previous Reviews:
Early reviews focused mainly on technical issues like recognition algorithms and datasets,
neglecting interdisciplinary perspectives. Many were written before deep learning became
central to the field, and they often ignored the cultural, social, and linguistic contexts needed
to address the real-world needs of the Deaf community.
Backend (Python/Django):
• Django (core web framework)
• django.core.management – for command-line tools like manage.py
• django.contrib.auth – for login, signup, and authentication
• django.forms – for form handling (Login/Signup)
• django.shortcuts – likely used to render pages and redirect users
• django.urls – for URL routing
• CSRF protection via {% csrf_token %}
Frontend (HTML/CSS/JS):
• HTML5 – for webpage structure
• CSS – for layout, color themes, responsiveness
• JavaScript – for interactivity (e.g., mic button)
• Web Speech API (webkitSpeechRecognition) – to convert voice input to text
• HTML5 <video> element – to play sign language videos
o Function: Amplify sounds to help people with mild to moderate hearing loss.
o Types: Behind-the-ear (BTE), in-the-ear (ITE), and in-the-canal (ITC) hearing aids.
2. Cochlear Implants:
o Function: A surgically implanted device that bypasses damaged parts of the ear and stimulates the auditory
nerve directly. It's typically used for severe hearing loss.
o Process: Includes an external microphone and processor that captures sounds and transmits them to an internal
device surgically placed in the cochlea.
o Function: These devices are surgically implanted behind the ear and use bone conduction to transmit sound
vibrations to the inner ear, bypassing the middle ear.
o Usage: Ideal for people with conductive hearing loss or single-sided deafness.
4. Sign Language:
AI BASED DEAF ASSISTANCE SYSTEM 10
o Function: A visual language used by the deaf community, with distinct hand shapes, facial
expressions, and movements to convey meaning.
o Systems: American Sign Language (ASL), British Sign Language (BSL), etc.
5. Captioning and Subtitling:
o Function: Provides real-time transcription of spoken dialogue, making media (like television,
movies, and videos) accessible to the deaf community.
o Tools: Closed captions (CC), real-time captioning software, and subtitling features.
3.2 PROPOSED SYSTEM
The proposed AI-based Deaf Assistance System leverages voice and text input to deliver real-time sign
language translation through video output, enhancing communication between deaf and hearing
individuals. This system is designed to offer a seamless, intuitive solution that automatically translates
spoken language into sign language, making communication natural and effective without requiring
constant human intervention.
Key features include:
1. Voice and Text Input: The system allows users to speak or type their messages, which are then
processed using advanced speech recognition and natural language processing (NLP) algorithms.
2. Real-time Sign Language Translation: Using AI-driven models, the system translates voice or
text into sign language in real-time, ensuring accurate representation of words and phrases through
video output.
3. Video Output: The translated content is displayed as video clips, featuring sign language gestures
performed by a digital avatar, or using pre-recorded sign language from a video dictionary to ensure
proper representation.
4. Offline Functionality: The system operates independently without the need for constant
connectivity. It stores a library of common sign language gestures and phrases, ensuring that the
translation can function effectively in areas with limited or no internet access.
5. User-Friendly Interface: Designed to be easy for both hearing and deaf individuals, the system
provides an accessible interface where users can input voice or text and instantly receive sign
language translations in video format.
3.3 Feasibility Study
A feasibility study assesses the practicality and viability of implementing the proposed system across
several dimensions:
Technical Feasibility:
• Compatible with mobile devices, leveraging frameworks like TensorFlow Lite or PyTorch Mobile.
• Real-time processing enabled with edge computing for low-latency responses.
• Reduces dependence on specialized human interpreters, cutting costs for long-term assistance.
• Potential for partnership with healthcare providers, governments, or NGOs for funding.
• Reliability:
• Usability:
5.3.1Class Diagram
The figure 5.3.1 illustrates the structural organization of the system by showing its classes, attributes,
operations, and the relationships between them. Key components include "Views" (e.g., ContactView,
AnimationView), which manage different user interfaces and interactions. The "Models" section defines
the core data entities like User (storing username, email, password) and SignVideo (containing keyword
and video_path). Additionally, "Forms" such as LoginForm and SignupForm are depicted for user
authentication. This diagram provides a blueprint of the system's architecture, demonstrating how data
and functionalities are structured.
The Sequence Diagram focuses on the Login process within the "Audio to Sign Language Tool",
illustrating the time-ordered interactions between various objects. It begins with the user providing
their username and password. These credentials are then sent to the LoginView for validation. The
LoginView interacts with the User Model to authenticate the user. Upon successful authentication, the
LoginView redirects the user to the HomePage. This diagram provides a detailed view of the message
flow and the sequence of operations involved in a user logging into the system.
5.5 SYSTEM ARCHITECTURE
The AI-based Deaf Assistance System processes voice or text input, converts it into Indian Sign Language
using NLP models, and displays the output through a 3D animated avatar for effective communication with deaf
users.
6.2 METHODOLOGY
The methodology follows a combination of speech processing and image-based representation
to convert live speech into Indian Sign Language (ISL) symbols.
Speech Recognition:
from django.http import HttpResponse
from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django.contrib.auth import login,logout
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords
from nltk.stem import WordNetLemmatizer
import nltk
from django.contrib.staticfiles import finders
from django.contrib.auth.decorators import login_required
def home_view(request):
return render(request,'home.html')
def about_view(request):
return render(request,'about.html')
def contact_view(request):
AI BASED DEAF ASSISTANCE SYSTEM 23
return render(request,'contact.html')
@login_required(login_url="login")
def animation_view(request):
if request.method == 'POST':
text = request.POST.get('sen')
#tokenizing the sentence
text.lower()
#tokenizing the sentence
words = word_tokenize(text)
tagged = nltk.pos_tag(words)
tense = {}
tense["future"] = len([word for word in tagged if word[1] == "MD"])
tense["present"] = len([word for word in tagged if word[1] in ["VBP", "VBZ","VBG"]])
tense["past"] = len([word for word in tagged if word[1] in ["VBD", "VBN"]])
tense["present_continuous"] = len([word for word in tagged if word[1] in ["VBG"]])
#stopwords that will be removed
stop_words = set(["mightn't", 're', 'wasn', 'wouldn', 'be', 'has', 'that', 'does', 'shouldn', 'do',
"you've",'off', 'for', "didn't", 'm', 'ain', 'haven', "weren't", 'are', "she's", "wasn't", 'its', "haven't",
"wouldn't", 'don', 'weren', 's', "you'd", "don't", 'doesn', "hadn't", 'is', 'was', "that'll", "should've", 'a', 'then',
'the', 'mustn', 'i', 'nor', 'as', "it's", "needn't", 'd', 'am', 'have', 'hasn', 'o', "aren't", "you'll", "couldn't",
"you're", "mustn't", 'didn', "doesn't", 'll', 'an', 'hadn', 'whom', 'y', "hasn't", 'itself', 'couldn', 'needn',
"shan't", 'isn', 'been', 'such', 'shan', "shouldn't", 'aren', 'being', 'were', 'did', 'ma', 't', 'having', 'mightn', 've',
"isn't", "won't"])
#removing stopwords and applying lemmatizing nlp process to words
lr = WordNetLemmatizer()
filtered_text = []
for w,p in zip(words,tagged):
if w not in stop_words:
if p[1]=='VBG' or p[1]=='VBD' or p[1]=='VBZ' or p[1]=='VBN' or p[1]=='NN':
filtered_text.append(lr.lemmatize(w,pos='v'))
elif p[1]=='JJ' or p[1]=='JJR' or p[1]=='JJS'or p[1]=='RBR' or p[1]=='RBS':
filtered_text.append(lr.lemmatize(w,pos='a'))
else:
filtered_text.append(lr.lemmatize(w))
#adding the specific word to specify tense
AI BASED DEAF ASSISTANCE SYSTEM 24
words = filtered_text
temp=[]
for w in words:
if w=='I':
temp.append('Me')
else:
temp.append(w)
words = temp
probable_tense = max(tense,key=tense.get)
if probable_tense == "past" and tense["past"]>=1:
temp = ["Before"]
temp = temp + words
words = temp
elif probable_tense == "future" and tense["future"]>=1:
if "Will" not in words:
temp = ["Will"]
temp = temp + words
words = temp
else:
pass
elif probable_tense == "present":
if tense["present_continuous"]>=1:
temp = ["Now"]
temp = temp + words
words = temp
filtered_text = []
for w in words:
path = w + ".mp4"
f = finders.find(path)
#splitting the word if its animation is not present in database
if not f:
for c in w:
filtered_text.append(c)
#otherwise animation of word
else:
AI BASED DEAF ASSISTANCE SYSTEM 25
filtered_text.append(w)
words = filtered_text;
return render(request,'animation.html',{'words':words,'text':text})
else:
return render(request,'animation.html')
def signup_view(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save()
login(request,user)
# log the user in
return redirect('animation')
else:
form = UserCreationForm()
return render(request,'signup.html',{'form':form})
def login_view(request):
if request.method == 'POST':
form = AuthenticationForm(data=request.POST)
if form.is_valid():
#log in user
user = form.get_user()
login(request,user)
if 'next' in request.POST:
return redirect(request.POST.get('next'))
else:
return redirect('animation')
else:
form = AuthenticationForm()
return render(request,'login.html',{'form':form})
def logout_view(request):
logout(request)
return redirect("home")
setuptools.setup(
name='audio-speech-to-sign-language-converter',
version='0.1.0',
description='Python project',
author='Jigar Gajjar',
author_email='jigargajjar.55jg@gmail.com',
url='https://github.com/jigargajjar55/Audio-Speech-To-Sign-Language-Converter',
packages=setuptools.find_packages(),
setup_requires=['nltk', 'joblib','click','regex','sqlparse','setuptools'],
)
{% block content %}
<h2>VERSION 1.0.0</h2>
<hr>
<h2>We are just a bunch of Enthusiastic people,who wants to help The Society.</h2>
<hr>
<h2>Our Creator Team:</h2>
<hr>
<ul class="td">
<li>Ravali Vootla</li>
<li>Vasu Dubbanaboina</li>
<li>Mani Srinivas Gajula</li>
<li>Likith Yerramshetty</li>
</ul>
<hr>
<footer><p class="td">Thank you, For visiting our website</p></footer>
AI BASED DEAF ASSISTANCE SYSTEM 29
{% endblock %}
#animation.html
{% extends 'base.html' %}
{% load static %}
{% block content %}
<div class="split left">
<h2 align="center">Enter Text or Use Mic</h2>
<br>
<form action="" method="post" align="left">
{% csrf_token %}
<input type="text" name="sen" class="mytext" id="speechToText" placeholder="">
<button type="button" name="button" class="mic" onclick="record()"><img src="{% static
'mic3.png' %}" height="32px" width="38px" /></button>
    
<input type="submit" name="submit" class="submit">
</form>
<br>
<table cellspacing="20px">
<tr>
<td class="td">The text that you entered is:</td>
<td class="td">{{ text }}</td>
</tr>
<tr>
<td class="td">Key words in sentence:</td>
<td class="td">
<ul class="td" id="list" align="center">
{% for word in words %}
<li id="{{ i }}" style="margin-right: 8px">{{ word }}</li>
{% endfor %}
</ul>
</td>
</tr>
AI BASED DEAF ASSISTANCE SYSTEM 30
</table></div>
<div class="split right">
<h2 align="center">Sign Language Animation</h2>
<button onclick="makeBig()">Big</button>
<button onclick="makeSmall()">Small</button>
<button onclick="makeNormal()">Normal</button>-->
<script>
//webkitSpeechRecognition api for speech to text conversion
function record(){
var recognition = new webkitSpeechRecognition();
recognition.lang='en-IN';
recognition.onresult = function(event){
console.log(event)
document.getElementById('speechToText').value = event.results[0][0].transcript;
}
recognition.start();
}
function play()
{
var videoSource = new Array();
var videos = document.getElementById("list").getElementsByTagName("li");
var j;
AI BASED DEAF ASSISTANCE SYSTEM 31
for(j=0;j<videos.length;j++)
{
videoSource[j] = "/static/" + videos[j].innerHTML +".mp4";
}
var i = 0; // define i
var videoCount = videoSource.length;
function videoPlay(videoNum)
{
document.getElementById("list").getElementsByTagName("li")[videoNum].style.color =
"#09edc7";
document.getElementById("list").getElementsByTagName("li")[videoNum].style.fontSize =
"xx-large";
document.getElementById("videoPlayer").setAttribute("src", videoSource[videoNum]);
document.getElementById("videoPlayer").load();
document.getElementById("videoPlayer").play();
}
document.getElementById('videoPlayer').addEventListener('ended', myHandler, false);
document.getElementById("list").getElementsByTagName("li")[0].style.color = "#09edc7";
document.getElementById("list").getElementsByTagName("li")[0].style.fontSize = "xx-large";
function myHandler()
{
document.getElementById("list").getElementsByTagName("li")[i].style.color = "#feda6a";
document.getElementById("list").getElementsByTagName("li")[i].style.fontSize = "20px";
i++;
if (i == videoCount)
{
document.getElementById("videoPlayer").pause();
}
else
AI BASED DEAF ASSISTANCE SYSTEM 32
{
videoPlay(i);
}
}
}
/* LETS USE ONLY PLAY PAUSE BUTTON WITH 720 *420 ,IT FITS THE SCREEN
function makeBig() {
document.getElementById("videoPlayer").width = 560;
document.getElementById("videoPlayer").height = 360;
}
function makeSmall() {
document.getElementById("videoPlayer").width = 320;
document.getElementById("videoPlayer").height = 180;
}
function makeNormal() {
document.getElementById("videoPlayer").width = 420;
document.getElementById("videoPlayer").height =280;
}*/
function playPause(){
if (document.getElementById("videoPlayer").paused){
play();}
else{
document.getElementById("videoPlayer").pause();}
}
</script>
{% endblock %}
#base.html
{% load static %}
<!DOCTYPE html>
<html>
<head>
<title>Homepage</title>
</head>
AI BASED DEAF ASSISTANCE SYSTEM 33
<div style="background-color:#404040;color: blueviolet;padding:10 10 1 10;border: 1px blueviolet
groove;margin-bottom:0;">
• The Hearing Impairment Assistant system effectively converts live speech into Indian Sign Language
(ISL) representations using images and GIFs.
• It accurately captures and processes speech using the Google Speech Recognition API, converting it
into lowercase text while removing punctuation for better matching with the ISL vocabulary.
• The system displays the corresponding ISL GIF for recognized words and shows alphabet images
letter by letter for unrecognized words.
• The GUI provides two options: "Live Voice" to initiate speech recognition and display the ISL
translation, and "All Done!" to exit the application.
Fig 8.1.1
Fig8.1.1 represents User interface of the Audio to Sign Language Tool showcasing the avatar ready to
perform sign language animations based on user input.
Fig 8.4.1 represents another example for Text or voice input is processed and translated into animated
Indian Sign Language gestures by the virtual avatar, enhancing accessibility for deaf users,i.e “maintain
silence”.