0% found this document useful (0 votes)
13 views9 pages

Finally

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 9

TRIBHUWAN UNIVERSITY

INSTITUE OF ENGINEERING

PULCHOWK CAMPUS

A PROJECT PROPOSAL ON

Nepali Characters Recognition using Artificial


Neural Network in C++ With An Object Oriented
Approach

SUBMITTED BY: SUBMITTED TO:


Binod Pandey (079bct034) Department of Electronics and
Darshan Paudyal (079bct036) Computer Engineering
Kapil Upreti (079bct042)
ASAR 20
1
1.ACKNOWLEDGEMENT
We, the students of the Object-Oriented Programming (OOP) course, want to
thank Mr. Daya Sagar Baral for his excellent teaching and constant support during
our studies. His deep knowledge of OOP and his engaging teaching style have
greatly helped us understand and enjoy this challenging subject.

His ability to explain complicated concepts in a straightforward way has been


incredibly helpful. He created a positive and collaborative classroom environment
where we felt comfortable asking questions, sharing ideas, and learning from each
other. His patience in answering our questions and his useful feedback have
improved our programming skills and boosted our confidence in solving
problems. We are very thankful for the time and effort he has put into our
education. His guidance has had a lasting impact on us, shaping how we approach
programming and our future goals. Thank you, Sir, for being an outstanding
teacher and mentor. We will always appreciate the knowledge and wisdom you
have shared with us.

Our sincere thanks also go to our peers and the Department of Computer
Engineering for providing us with the resources and environment to pursue this
project.

Sincerely,

Binod Pandey

Darshan Paudyal

Kapil Upreti

2
2.TABLE OF CONTENT
1.ACKNOWLEDGEMENT .................................................................................... 2

2.TABLE OF CONTENT ........................................................................................ 3

3.INTRODUCTION ................................................................................................ 4

4.OBJECTIVES ....................................................................................................... 5

5.EXISTING SYSTEM ........................................................................................... 5

6.PROPOSED SYSTEM ......................................................................................... 6

6.1 DESCRIPTION .............................................................................................. 6

6.2 SYSTEM BLOCK DIAGRAM ..................................................................... 7

7. METHODOLOGY .............................................................................................. 8

7.1 Dataset Creation: ............................................................................................ 8

7.2 Image Processing: .......................................................................................... 8

7.3 Feature Extraction: ......................................................................................... 8

7.4 ANN Development:........................................................................................ 8

7.5 Testing and Evaluation: .................................................................................. 8

7.6 User Interface Development: ......................................................................... 8

8. PROJECT SCOPE ............................................................................................... 9

3
3.INTRODUCTION
Recognizing handwritten characters is important for many tasks today. These
tasks include turning handwritten documents into digital files, automatically
processing forms, and translating languages. While there are many tools for
recognizing English handwriting, there is a big gap when it comes to recognizing
Nepali characters. This makes it hard to digitize important documents and
automate form processing in Nepali.

This project aims to fill this gap by creating a system to recognize Nepali
characters, both letters and numbers. We will use an artificial neural network
(ANN), which is a type of computer system that learns to recognize patterns,
much like the human brain. We will build this ANN from scratch using the C++
programming language.

By developing this system, we hope to make it easier to digitize Nepali texts,


process forms automatically, and improve language translation services. This will
help preserve and promote the Nepali language in the digital world.

4
4.OBJECTIVES
▪ Gain a solid understanding of Object-Oriented Programming (OOP)
concepts and apply them practically in a project.
▪ Explore and master the foundational aspects of the C++ programming
language.
▪ Learn how to maximize code reuse by creating and using custom header
files.
▪ Get familiarity with the SFML (Simple and Fast Multimedia Library) for
developing software that interacts with multimedia components on
computers.
▪ Develop programs that are not only effective in achieving their goals but
also efficient in terms of improving both time and space resources.

5.EXISTING SYSTEM
Currently, there are limited systems available for Nepali character recognition.
Most existing OCR systems focus on English characters, and those that do handle
Nepali characters are often proprietary and not open source. Furthermore, these
systems typically rely on pre-built machine learning libraries rather than
implementing the neural network from scratch.

5
6.PROPOSED SYSTEM
6.1 DESCRIPTION
The proposed system aims to develop an Artificial Neural Network (ANN) from
scratch using C++ with an object-oriented approach. This ANN will be
specifically tailored for the recognition of Nepali characters, including both letters
and numbers. The system will encompass several critical components: a dataset of
Nepali characters, a training module to train the ANN, a testing module to
evaluate the ANN’s performance, and a user interface for real-time recognition of
handwritten Nepali characters.

System Components

1. Dataset of Nepali Characters:


o Collection: Images of Nepali characters, sourced from Kaggle.
o Preprocessing: Binarization, normalization, and noise reduction.
o Storage: Organized for efficient access during training and testing.

2. Training Module:
o Architecture Design: Multiple layers optimized for character
recognition.
o Algorithm Implementation: Backpropagation and gradient
descent from scratch.
o Training Process: Loading dataset, feeding images, calculating
errors, adjusting weights.
o Parameter Tuning: Optimizing learning rate, batch size, and
epochs.
o Validation: Using a validation set to monitor training and prevent
overfitting.

3. Testing Module:
o Performance Metrics: Accuracy, precision, recall, and F1 score.
o Confusion Matrix: Visualizing performance across different
characters.

4. User Interface for Real-Time Recognition:


o Input Mechanism: Drawing pad or image upload.
o Real-Time Processing: Immediate character recognition.
o Output Display: Showing recognized characters with confidence
scores.

6
6.2 SYSTEM BLOCK DIAGRAM

7
7. METHODOLOGY
7.1 Dataset Creation:
▪ Collect images of Nepali characters.
▪ Preprocess images (grayscale conversion, normalization, etc.).

7.2 Image Processing:


▪ Apply techniques such as binarization and noise reduction.
▪ Use OpenCV for dealing with Images in C++.

7.3 Feature Extraction:


▪ Extract features from preprocessed images to be used as input for the
ANN.

7.4 ANN Development:


▪ Implement the neural network architecture (input layer, hidden layers,
output layer) from scratch in C++.
▪ Train the ANN using the dataset.
▪ Optimize the ANN through techniques like backpropagation and gradient
descent.

7.5 Testing and Evaluation:


▪ Test the trained ANN on a separate dataset.
▪ Evaluate performance using metrics such as accuracy, precision, and
recall.

7.6 User Interface Development:


▪ Create an interface for users to input and recognize Nepali characters in
real-time.

8
8. PROJECT SCOPE
The project scope includes the development of an ANN for Nepali character
recognition with a primary focus on implementing the neural network from
scratch. This project will serve as a foundational tool for our learning, research
and development in the field of Nepali OCR. Potential extensions could include
expanding the character set, improving recognition accuracy, and deploying the
system as a web or mobile application.

9.PROJECT SCHEDULE

TASK DURATION START END DATE


DATE
Data collection 1 week 03 - 09 03 - 15

System Design ½ week 03 - 16 03 - 18

ANN Implementation ½ week 03 - 19 03 - 22

GUI Development 1 week 03 – 23 03 - 28

Training and testing ½ week 03 - 29 04 - 01

Iteration and Optimization 1 week 04 - 02 04 - 07

Final Documentation ½ week 04 - 08 04 - 11

Project Submission - - 04 - 13

This proposal outlines our plan to develop a Nepali Characters Recognition system
using Artificial Neural Networks. By adhering to this structured approach, we aim
to achieve a functional and efficient solution for Nepali script recognition.

You might also like