Professional Documents
Culture Documents
Final Doc11
Final Doc11
VISION
MISSION
VISION
MISSION
ii
PROGRAM OUTCOMES (POs)
Students in the Computer Science and Engineering program should, at the time
of their graduation be in possession of:
PO1.Engineering Knowledge:
PO2.Problem Analysis:
iii
PO8.Ethics:
PO10.Communication:
PO11.Life-long Learning:
Recognize the need for and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change.
Ability to develop mobile & web applications using J2EE, Android, and J2ME.
PSO2.Cloud Services:
iv
PROGRAM EDUCATIONAL OBJECTIVES (PEOs)
PEO1: Graduates will be able to analyze, design, and develop advanced computer
applications to provide solutions to complex problems.
PEO3: Graduates will have the technical, communication skills and character that will
prepare them for technical and leadership roles.
CO1. Develop problem formation and design skills for engineering and real-world
problems.
CO2. Collect and Generate ideas through literature surveys on current research areas
which help to analyze and present to impart knowledge in different fields.
CO3. Impart knowledge of software & hardware to meet industry perspective needs
and standards.
CO4. Create interest to research innovative ideas as lifelong learning.
CO5.Ability to work with a team, and enrich presentation and communication skills.
CO6. Create a platform that makes students employable.
v
EXPECTED OUTCOMES
vi
SASI INSTITUTE OF TECHNOLOGY&ENGINEERING
(Approved by AICTE, New Delhi, Permanently Affiliated to JNTUK, Kakinada, and
SBTET-Hyderabad, accredited by NAAC with ‘A’ Grade and NBA, ranked as "A"
Grade by Govt. of A.P., Recognised by UGC 2(f) & 12(B))
Kadakatla, TADEPALLIGUDEM– 534 101
CERTIFICATE
This is to certify that the project work entitled “An Handwritten Telugu
Achulu Character Recognition Using Convolutional Neural Networks” is being
submitted by R. GANGAPAVANIDEVI (19K61A05E3), V. PAVAN KUMAR
(19K61A05H2),P. SWETHA (19K61A05D4), P. RAMYA (19K61A05C6)in partial
fulfilment for the award of the degree of BACHELOR OF TECHNOLOGY, in
Computer Science and Engineering to Jawaharlal Nehru Technological
University, Kakinada during the academic year 2022 to 2023 is a record of
Bonafede work carried out by them under my/our guidance and supervision. The
results presented in this thesis have been verified and are found to be satisfactory.
The results embodied in this thesis have not been submitted to any other University
or Institute for the award of any other degree or diploma.
External Examiner
vii
DECLARATION BY THE CANDIDATES
Mohan, is submitted in partial fulfilment of the requirements for the award of the degree
carried out by us and the results embodied in this project has not been reproduced or
copied from any source. The results embodied in this project report have not been
submitted to any other University or Institute for the award of any other degree or
diploma.
Project Associates
R. Gangapavanidevi 19K61A05E3
P. Swetha 19K61A05D4
P. Ramya 19K61A05C6
viii
ABSTRACT
Handwritten recognition plays vital role in the recognition of characters of old documents by
using Optical character recognition and Convolution Neural Networks. The main challenge in
the existing Telugu recognition system is unable to recognizes and the slant correction of the
Handwritten text of Telugu characters. To overcome this problem using different Telugu
character images as dataset and convolutional neural network method to obtain high accuracy
and recognition rate. Generally convolutional neural network method will have different layers
like conventional layer, max pooling layer, fully connected layer and SoftMax layer. Once the
input character image is passed through these layers and finally obtain the recognized character
as output image from SoftMax layer. Handwritten recognition is a challenging task for a long
time either English or other language. Especially, Indian language handwritten letter is having
many curves. It has been an open challenge for long time. In the advent of Machine Learning,
the handwritten recognition becomes easier. However, many challenges still persist, because
feature extraction is a difficult task since the characters are more in Indian languages. In this we
have chosen the telugu achulu characters for recognition. The classification is a challenging
task. There are numerous machine learning techniques, however, the accuracy is the key
challenge to achieve. Therefore, we deploy deep learning technique to enhance the accuracy
which is observed test accuracy and training accuracy as high as 79.61% and 96.13%
respectively. We have built a machine learning model with Convolutional Neural Network for
Telugu Handwritten Achulu.
ix
ACKNOWLEDGEMENT
We pay obeisance to our dynamic Chairman, Sri B. Venu Gopala Krishna, Sasi
Educational Society, for his inspiring presence, which has always been the principal
driving force behind all-over endeavors. First of all, we would like to extend a special
thanks to Sri. M. Narendra Krishna, Vice-Chairman, Sasi Institute of Technology and
Engineering, for his everlasting support.
It is true pleasure for us to thank Dr. J. Anand Chandu Lal, Principal, Sasi
Institute of Technology and Engineering, who is the striving force for us to make this
project through periodical audits.
We are very much grateful to thank our supervisor S. Jagan Mohan, Assistant
Professor, Sasi Institute of Technology and Engineering for his constant encouragement,
monitoring, and guidance and live with us throughout the submission of the project. He
motivated us whenever we encountered an obstacle along the way.
We are very happy to thank our project coordinator Dr. P. Siva Kumar and all
the Project Evaluation Committee members who provide valuable suggestions to fine-
tune our ideas and projects. We are also thankful for all teaching and non-teaching staff
members who contributed well to the successful completion of our project work.
With gratitude,
R.Gangapavanidevi(19K61A05E3)
V. Pavan Kumar(19K61A05H2)
P. Swetha(19K61A05D4)
P. Ramya(19K61A05C6)
x
TABLE OF CONTENTS
1.1 PREAMBLE 1
1.12 SUMMARY 12
2.7 SUMMARY 27
3.1 PREAMBLE 28
3.5.1 Processor 31
xii
3.7.1 TABLE
Python Libraries OF CONTENTS 32
3.8 SUMMARY 33
4.1 PREAMBLE 34
4.2.1 Dataset 36
4.4 SUMMARY 41
5.1 PREAMBLE 42
5.3.1 CNN 43
5.3.3 Resizing 44
5.5 SUMMARY 47
6.1 PREAMBLE 48
6.2 RESULTS 48
6.3 GRAPHS 49
6.5 SUMMARY 54
7.1 CONCLUSION 55
REFERENCES 56-57
Project
xiv
LIST OF FIGURES
xv
LIST OF TABLES
xvi
NOMENCLATURE
LIST OF ABBRIVATIONS
xvii
Handwritten Telugu Achulu Character Recognition Using Convolutional Neural Networks
CHAPTER 1
INTRODUCTION
1.1 PREAMBLE
The Hand written character recognition detection using CNN plays a vital role. A hand
written character that has to be the depend on the user that written in the position of
word written . It is very much crucial to detect without violating the written character
correction.. the recognition of the character that is written by hand is the most important
that will helps to identify the slant correction. Most of the users still can’t able to
recognize that whether they written character is correct or not . Since, the CNN
algorithm are designed for fast recognition of hand written characters and to take
necessary actions. In this paper, our proposed methodology is about implementing
accuracy of the hand written Telegu character recognition which are available in current
running detection devices. Our project is not only for improving the efficiency and
accuracy of hand written Telegu character recognition in school sector but for also to
assist the user even which character are not having the automatic detection system.
They will assist the user by displaying the slant correction and character recognition on
the display and it will give alert to the user if they are violating the character mistake.
Some of the user may not aware of all character signs and they may do errors in writing
. Our model is also to assist these kind of users too.
Handwriting recognition has been one of the challenging and active research
areas in the field of pattern recognition and image processing. Number of character
recognition systems have been developed and are used for even commercial purpose
also. Several applications including mail reading aid for blind, bank cheques
processing, sorting, document reading and postal address recognition require offline
handwriting systems. For machines it is tough to recognize the character. Machine
considered it as document of pixels. Handwritten recognition has many real time
applications like sorting the letters in post-offices, banks for processing of handwritten
characters etc.,. Hence it is an important application of pattern recognition. Optical
character recognition (OCR) is automatic reading of optically sensed document text
This chapter mainly describes about the introduction to the Hand written character
recognition using CNN, what are the challenges that are solved by the authors,
background studyof the handwritten telugu character recognition, aim, and objective, a
brief overview of the proposed methodology and the significance of the work.
Optical Character Recognition is used to convert all the printed text, image
documents into editable text format irrespective of the language. This OCR concept can
be used in many applications like education, administration etc. The main challenge in
the existing Telugu OCR system is unable to recognizes the hand written text of Telugu
characters. To overcome this problem we are using different Telugu character images
as dataset and convolutional neural network method to obtain high accuracy and
recognition rate. Generally conventional neural network method will have different
layers like conventional layer, max pooling layer, fully connected layer and SoftMax
layer. Once the input character image is passed through these layers and finally obtain
the recognized character as output image from SoftMax layer. Future scope of our
project to obtain all the recognized characters in the editable text format for future usage
of the obtained characters. In order to build this project we came across referring Thirty
projects which have build this model. Each model is containing there own algorithm’s
and their own methodologies. Each model is again having their own case studies and
building stages. To design and build a model it need to be checked that the correction
of the characters . That if the built model could recognize the character accurately or
not. Because it is a Deep Learning project the model should be able itself to learn with
its previously performed activities. It should be given a Dataset starting to recognize
and match the characters which are present in with dataset.
to processing 2D data, such as images. CNNs eliminate the need for manual feature
extraction, so you do not need to identify features used to classify images. The CNN
works by extracting features directly from images. The relevant features are not
pretrained; they are learned while the network trains on a collection of images. This
automated feature extraction makes deep learning models highly accurate for computer
vision tasks such as object classification.
There are several stages in character recognition They are:
1. Capturing
2. Extraction
3. Detection
4. Classification
5.recognition.
time. In the advent of Machine Learning, the handwritten recognition becomes easier.
However, many challenges still persist, because feature extraction is a difficult task
since the characters are more in Indian languages. There are numerous machine learning
techniques to predict handwritten characters, however, the accuracy is the key challenge
to achieve.
The Model is integrated with the computer vision that will always look for
the font of the character. when written character capture by the system if any got
identified and it will recognize that which kind of the character is got captured and
process what should be given as the output to the correct the slant characters. By that
reply from device it will react what decision have to be taken and implement that
decision on the written character.
➨The processing of OCR information is fast. Large quantities of text can be input
quickly.
➨A paper based form can be turned into an electronic form which is easy to store
or send by mail.
➨It is cheaper than paying someone amount to manually enter large amount of text
data. Moreover it takes less time to convert in the electronic form.
• Educational sector.
• Mail reading aid for blind.
• Bank cheques processing.
• Document reading and postal address recognition require offline handwriting
systems.
Optical Character Recognition is used to convert all the printed text, image
documents into editable text format irrespective of the language. This OCR concept can
be used in many applications like education, administration etc. The main challenge in
the existing Telugu OCR system is unable to recognizes the handwritten text of Telugu
characters. To overcome this problem we are using different Telugu character images
as dataset and convolutional neural network method to obtain high accuracy and
recognition rate. Generally conventional neural network method will have different
layers like conventional layer, max pooling layer, fully connected layer and SoftMax
layer. Once the input character image is passed through these layers and finally obtain
the recognized character as output image from SoftMax layer. Future scope of our
project to obtain all the recognized characters in the editable text format for future usage
of the obtained characters.
• To recognize and correct the slant written character with better accuracy
and improve safety through a quicker recognition.
Different methods are used for detecting and recognition of telegu character.
These all methods are developed to get accurate results for the detection of character .
The character is a very difficult task. So an efficient technique and approach is given to
recognize the telegu character. autonomous systems analyze the information supplied
by various signal images and take decisions and alters the vehicles by drawing the
targeted regions carefully by going through different images in the network. This is a
time- consuming operation that necessitates a great deal of expertise and training.
There are many existing methodologies which helps in identifying and
correct the Telegu characters recognition or objects from all those existing
methodologies we considered this methodology as the base methodology or research
for this project. Here they evaluated and trained the data using 600 training images and
300 test images with 1360 X 800 pixels resolution.
The data set is divided into 3 categories like characters ,collision
characters ,slant characters . The STS dataset is also a large dataset contains 2000
images of resolution with 1280 X 960 pixels in which the annotated are 20%.The model
that identifies particular characters in the images. In addition ,they also used anchor box
method for object detection. The existing system has improved the CNN network with
network .The steps or procedure in the algorithm are
• Sorting and gathering the dataset thus according character size and shape
in the set of exercises.
The proposed system is the enhancement of the existing system to use image
processing techniques such as Optical character recognition (OCR) is the mechanical
or electronic conversion of images of type written or printed text into machine encoded
text. OCR technology provides fast automated data capture which can save
considerable time with which we can improve the speed and accuracy of the previous
models of hand written Telegu character recognition.
The proposed system will be trained on a dataset that contains wide rage of images of
Telegu characters. The characters will include all types such as small, medium, large
and in different slants to be able to recognize and correct any character.The general
challenge tasks for recognition of Telegu character is
In our new method we will modify the existing system the helps to get the
better accuracy for the handwritten character recognition.
in the old documents, books written by the elders, to reuse the content of characters.
The OCR are often enforced by Convolutional Neural Network (CNN), that
may be a well-liked deep neural spectrum. the standard CNN classifiers area unit
capable of learning, the classification is performed by victim soft-max layer. A
convolutional neural network (CNN or convnet) may be a set of machine learning. it's
one in every of the varied styles of artificial neural networks that area unit used for
various applications and knowledge sorts. A CNN may be a quite spec for deep learning
algorithms and is specifically used for image recognition and tasks that involve the
process of picture element knowledge apers and the books.
● This project recognizes the character only if the image is present in the dataset
which is trained.
● This project is mainly dealing with the slant correction of the Handwritten
character which may leads to high accuracy.
● This project does not applicable to the characters which are not in the particular
dimensions.
1.12 SUMMARY
CHAPTER 2
LITERATURE SURVEY
2.1 PREAMBLE
The following section summarizes the history of those works which are done
previously, highlighting the strengths and weakness of each method. Various methods
were proposed and reviewed here.
• Convolution Neural Network
• Adaptive Zoning
• Optical Character Recognition(OCR)
• Recurrent Neural Network
• Recognition by other methods
In the literature survey, several methods had been proposed for
Handwritten telugu character recognition. Among the most recently published works
are those presented as follows:
automobile systems. For quick multi-scale object detection, a unified deep neural
network called the multi-scale CNN (MS-CNN) is suggested. A proposal sub-network
and a detection sub-network make up the MSCNN.
Data gathered from various sources, as described was divided into training and
testing groups. 5156 images were utilized for testing after 47428 images were used for
training. 9 was trained using a training set of data many networks. The networks that
performed best on the test dataset in terms of least correlation were integrated to build
a classifier. Two networks out of the nine were chosen based on their performance on
the test dataset having the lowest correlation. Using the two categories of voting
mentioned above, the performance of the new classifier was assessed over the test
dataset. Over individual classifiers, the new classifier pair produced good results with
better accuracy.
The ensemble classifier for the same data outperformed the best individual
classifier trained on MNIST data, with such a test performance of 97.25% 98.5%. A
number of models built on CNNs produced the following results, which might be
compared to this result with the result ever published using MNIST data. Consonants
and vowel modifier recognition produced results of 92.26% and 92% for the proposed
approach, accordingly.
The network has four layers, one of which has a 5 X 5 kernel while the others
have 3 X 3 kernels, ReLU, softmax activation functions, max pooling, and two dense
layers. The 168 outputs in the final layer corresponds to the classes taken into account:
vowels and consonants. We preowned 45,133 images created by numerous telugu
writers to train and estimate the CNN. A thorough investigation of an intriguing dataset
We had to create our own dataset because Telugu characters don't have any
publically accessible training data. Initially, there is a collection of Telugu letters
written by individual.Various formats of guninthalu are scanned into exact
symbols.Each of the 21 guninthalu contains 16 characters, for a total of 275520
handwritten characters.The built-in dataset was used to develop CNN.This testing was
conducted on a 64-bit operating system.
The objective of this research is to create a system that heavily relies on
classification to recognize Telugu handwritten characters. In the model's layer-by-layer
characteristics Numerous handwritten Telugu guninthalu served as the input for the
creation of the data set that was the foundation for our suggested model.In comparison,
the RMSprop optimizer performs 94.26% better than the ADAM and SGD optimizer.
Mayur Bhargab et at,(2020) proposed Handwritten character recognition from
images using CNN-ECOC.Handwritten character recognition is difficult and
researchers are exploring completely different techniques within the pass few decades.
so as to seek out an acceptable feature extractor, 3 standard CNN architectures are
explored, particularly LeNet, AlexNet and ZfNet. From the simulation result, it's been
determined that LeNet provides an occasional accuracy rate. thus it's been changed by
adding dropout layer and ReLu layer once the primary totally connected layer, and it's
resulted in higher accuracy rate. The OCR may be enforced by exploitation
Convolutional Neural Network (CNN), that could be a standard deep neural spec.
during this paper , they need conferred OCR by combining CNN and Error Correcting
Output Code (ECOC) classifier. The CNN is employed for feature extraction and
therefore the ECOC is employed for classification.The CNN area unit feedforward
networks and uses back-propagation coaching algorithmic program.
The coaching is performed in 2 passes; forward and backward pass. within the
aerial the network weight and bias area unit initialized with tiny random numbers and
calculate the network output by exploitation coaching input. The error is computed by
examination the network output with the specified coaching output. within the
backward pass the error propagates backward and every one the weights and bias area
unit adjusted to reduce the error. the method is recurrent till the specified result's
obtained. Once the network is trained with an acceptable dataset, it may be used for
resolution a particular drawback.Given any input image the ECOC classifier works by
extracting the options of the input image so feeding those to all or any the binary
learners.
Sasi Institute of Technology & Engineering
17
Handwritten Telugu Achulu Character Recognition Using Convolutional Neural Networks
The binary learners area unit trained exploitation linear SVM, wherever one
category is taken as positive et al area unit taken as negative and area unit separated
employing a hyper-plane. Once the binary learner is trained, every learner produces a
chance. All the chances area unit collected into a string and regenerate into a codeword
by employing a appropriate threshold. The codeword generated by the ECOC category
is compared and therefore the class akin to the closest codeword is that the foreseen
output. we will use completely different models and classifiers.
model for predicting the handwriting sequence and recognition of the text. They
conducted 2 experiments mistreatment 10 telugu characters. The results of the
experiments show the powerfulness of the model .Handwriting Prediction primarily
based Character Recognition mistreatment perennial Neural Network .Humans area
unit aforesaid to accidentally trace handwriting sequences in their brains based on
handwriting experiences once recognizing transcription.
In the experiment, they use the pen pill Intuos4 ptk-640 (WACOM),shown
sure acquiring information. 10 telugu characters , were written mistreatment the pen
pill. the japanese character, corresponding pronunciation, an example of the particular
handwritten image area unit shown for every character. Each character was written 10
times to acquire a complete of a hundred sequences. pictures were non inheritable at
twenty images/sec every with resolution of twenty × twenty, ranging from the instant
the pen has had contact with the pill and ending once the character is finished writing.
5 out of every of the 10 sequences. The findings were the current the results of the
experiment for recognition of image sequences .Because the recognition method
derives the values representing every sequence, we evaluate the distribution of the
values. we have a tendency to apply the Principal element Analysis (PCA) to the values
for view ability. The primary 3 PCs were hand-picked for analyzing, because the
accumulative contribution magnitude relation of the third laptop was ninety
seven.5%.The distribution of the values . Each mark represents the worth of the
corresponding letter. The model was created mistreatment self organizing map (SOM)
for feature extraction module of words. The limitations for this paper area unit they
need not detected the massive characters that they are to be check by the long run
improvement.
2.8 SUMMARY
In the above literature survey we conducted, few papers were compared related
to methods on handwritten telugu character recognition of which most of them used
CNN, Adaptive Zoning, Optical Character Recognition algorithms, etc. The approaches
have shown a good performance and precision in handwritten telugu character
recognition In almost all the papers, the dataset in various all the letters of telugu are
not considered and though these are considered in some of the papers the developed
model is not able to give exactly correct output. In some of the papers very small dataset
is taken and most of the dataset images are of high resolution and slant correction is an
important factor in applications requiring word recognition which is one of the major
factor in developing better handwritten recognition. So, in our work we want to increase
the accuracy based on slant correction by using large dataset.
CHAPTER 3
SYSTEM REQUIREMENTS
3.1 PREAMBLE
● Python is Interpreted – Python is processed at runtime with the aid of using the
interpreter. You no longer want to assemble your software earlier than executing
it. This is much like PERL and PHP.
● Python is Interactive – You can take a seat down at a Python activate and have
interaction with the interpreter immediately to jot down your programs.
● Python language is freely available on the official website and you can
download it from the www.python.org website.
● It provides very high-level dynamic data records and supports dynamic type
checking.
● Portable, Python can run on a wide variety of hardware platforms and has the
same interface for all programs.
● Scalable, Python provides a better structure and support for large programs than
shell scripting.
versions such as Windows 7 and its above versions such as Windows 10. It helps the
user to understand what is the basic task that a system can provide to them. It makes
the user interact with the system and tells about how the data will be processed, how to
access the data. At which location the file is saved and how to access it. All the
information is present in the operating system.
3.5.1 Processor
● Tensor flow1.14
● Keras 2.3.1
3.9 SUMMARY
This chapter introduced the software and hardware requirements of the system.
The above requirements are required for the successful implementation of the project.
Python is the programming language chosen for the handwritten telugu character
recognition for better implementation and accurate results using most Jupiter
notebooks. A system with the 64-bit Windows operating system and an Intel core
Processor device. The hardware requirements are the basic ones that are required for
the execution of any regular python script.
CHAPTER 4
SYSTEM DESIGN
4.1 PREAMBLE
The previous chapter describes the different requirements and tools used for
developing the proposed system. It also consists of the hardware requirements like
processor, memory, and software requirements like python and frontend and backend
tools. This chapter deals with the design of the proposed system. It includes the system
architecture, block diagram, and various diagrams to represent the design of the system.
Firstly, we have taken the handwritten characters for every different individuals,
and later we have to captures the every individual characters. And later we have to test
the images. A common technique is to divide the data into two groups, the training set
and the testing set. The training set forms the basis for estimating parameters,
contrasting models, and carrying out other operations required to produce a final model.
It is used to generate models and feature sets. The test set is only used to estimate a
final, objective evaluation of the model's performance when all of these procedures are
complete.
The dataset for recognition of characters and recognition will be used to divide
the data. The classification of the characters will be aided by the additional division of
this dataset into the two groups. The training data and the testing data are the two
different forms of splitting. The new models will be built and the features placed in the
training dataset. It will be possible to identify the parameters and predict them.
Performance will be determined after the models have been compared. The testing data
is utilized to test the data and provide the outcome. Once the dataset has been tested
and trained we have to create an web page that estimates outcome of recognition of an
character. After the creation of webpage ,an page will be displayed with different
constraints like home, about project and the user.
The first feature is home which gives the information about the web page. And
the next feature is about the project, this one gives the complete information about the
project what was going on. And the complete details about the project. The next feature
is user phase where the user can login or can register. The user can register or can login
directly if he has registered already and we have to take a character as an input image
and captures the image into the system. Later we have to upload the images soon on
after uploading the files. And the image will undergoes the testing process and results
as an output image.
4.2.1 Dataset
This project is developed with the combination of the data set contains 2000
plus images at which they are hand written telugu characters that they have with
different slants. the data set classified into 2 types where as they are training and testing
where 70% of images used to train and 30% to test again they are divided according to
their word name this is the overall data set explanation.
⮚ Resizing: The images are resized to a fixed size of 30x30 pixels using the resize()
method from the PIL.Image library. This is done to ensure that all images have the
same dimensions, which is a requirement for training most machine learning
models.
⮚ Converting to NumPy array: The images are converted to NumPy arrays using the
np.array() function. This allows the image data to be easily manipulated and used
as input for machine learning models.
⮚ Appending data to a list: The NumPy arrays representing the images are appended
to a list called data. This list will be used to create a NumPy array containing all the
image data.
How to use the current data is one of the first decisions to be made before
beginning a modelling project. A common technique is to divide the data into two
groups, the training set and the testing set. The training set forms the basis for estimating
parameters, contrasting models, and carrying out other operations required to produce
a final model. It is used to generate models and feature sets. The test set is only used to
estimate a final, objective evaluation of the model's performance when all of these
procedures are complete. The dataset for recognition of characters and recognition will
be used to divide the data. The classification of the disorders will be aided by the
additional division of this dataset into the two groups. The training data and the testing
data are the two different forms of splitting. The new models will be built and the
features placed in the training dataset. It will be possible to identify the parameters and
predict them. Performance will be determined after the models have been compared.
The testing data is utilized to test the data and provide the outcome.
Training data is a set of samples such as images with assigned labels or tags.
It is used to train a computer vision algorithm or model to perform the desired function
or make correct predictions. Training data goes by several other names, including
learning set, training set, or training data set. It creates the machine learning model and
trains what the desired outcome should be. The model also scrutinizes the dataset
repetitively to understand its traits and fine-tune itself for optimal performance. It
creates the machine learning model and trains what the desired outcome should be. The
model also scrutinizes the dataset repetitively to understand its traits and fine-tune itself
for optimal performance.
In the same way, human beings learn better from examples; computers also need them
to begin noticing patterns and relationships in the data. But unlike human beings,
computers require plenty of examples as they don’t think as humans do. In fact, they
don’t see objects or people in the images. They need plenty of work and huge datasets
for training a model to recognize different sentiments from videos.
The model will give the recognized character in the image and produce the
class of the character it belongs to. The results generated by the model will be analyzed
and compared with that of the existing methods and a conclusion is made
• Two Conv2D layers with 32 filters each and a kernel size of 5x5, followed by ReLU
activation functions.
• One MaxPool2D layer with a pool size of 2x2 to downsample the feature maps.
• Two more Conv2D layers with 64 filters each and a kernel size of 3x3, followed by
ReLU activation functions.
• Another MaxPool2D layer with a pool size of 2x2 to downsample the feature maps
again.
• Finally, a Dense layer with 43 units (one for each class in the dataset) and a softmax
activation function, which will output a probability distribution over the classes.
This is the initial layer that extracts the different features from the input images.
The convolution mathematical operation is done between the input image and a filter
of a specific size MxM in this layer. The dot product between the filter and the sections
of the input image concerning the size of the filter is taken by sliding the filter across
the input image (MxM). The Feature map is the result, and it contains information about
the image such as its corners and edges. This feature map is then supplied to further
layers, which learn a variety of other features from the input image.
• Relu Layer
The second part of this step will involve the Rectified Linear Unit or Relook.
We will cover Relook layers and explore how linearity functions in the context of
Convolutional Neural Networks. Not necessary for understanding CNN will but there
will no harm in a quick lesson to improve your skills.
The weights and biases, as well as the neurons, make up the Fully Connected
(FC) layer, which connects the neurons between two layers. The final few layers of a
CNN Architecture are usually placed before the output layer. The previous layers' input
image is flattened and supplied to the FC layer in this step. The flattened vector is then
sent through a few more FC levels, which are where the mathematical functions are
normally performed. The classifying procedure gets underway at this point.
4.4 SUMMARY
This chapter deals with the system design. System architecture, data flow
diagrams, use case diagrams, and sequence diagrams are all included. System
architecture is a conceptual framework that describes the organisation, behaviour, and
system parts that will cooperate to construct the whole system. Data movement from
one phase to another is shown using a data flow diagram. This project has only a system
architecture diagram. The next chapter describes the implementation details like
modules or steps in implementation and proposed approach, techniques, and equations.
CHAPTER 5
IMPLEMENTATION
5.1 PREAMBLE
character images and trained using the CNN algorithm of deep learning. Once the
training is completed, we used OpenCV that captures the image and recognizes the
characters based on the extracted parameters. The proposed method provides more
enhanced results when compared to other methods in terms of recognition scalability
and robustness to variations..
For the following reasons, we tried with areas of 704 x 704, 672 x 672, 640 x
640, and 608 x 608 pixels:
1. CNN
2. Contour based feature approach
3. Resizing
Here are the steps involved in feature extraction using CNNs for traffic sign
detection:
• Input image: The first step is to input the image of the telugu character into the
CNN.
• Convolutional layers: The input image is then passed through a series of
convolutional layers, which apply filters to the image to detect features such as
edges, corners, and blobs.
• Pooling layers: After each convolutional layer, a pooling layer is usually applied to
reduce the size of the feature maps and make the model more computationally
efficient.
• Fully connected layers: The output of the convolutional and pooling layers is then
flattened and passed through one or more fully connected layers, which learn to
classify the features into different traffic sign classes.
• Soft-max activation: The final layer of the CNN typically uses a soft-max activation
function to generate a probability distribution over the different telugu character
classes.
• Prediction: The CNN predicts the most likely telugu character class based on the
highest probability value from the soft-max output.
The features learned by the CNN during this process can be used to distinguish
between different telugu characters classes and accurately detect and classify telugu
characters in real-time. In summary, feature extraction using CNNs in telugu character
recognition involves passing the input image through a series of convolutional, pooling,
and fully connected layers to learn hierarchical representations of the image, which are
then used to classify the telugu character into its respective class.
of the images so that they can be processed efficiently by the machine learning model.
Telugu character images captured by cameras can vary widely in size and aspect ratio,
so resizing the images to a fixed size is necessary to ensure that the machine learning
model can accurately learn the patterns and features of the telugu characters.
The proposed work has six main modules which are data collection, data pre-
processing, pre-training with dataset, feature extraction, data splitting, classification
result. First the telugu achulu character recognition dataset is collected from Kaggle
and few other images are added into this dataset. The dataset contains both training and
validation data. And the next modules are listed below and discussed further. The
modules are given below:
1. Data-collection
2. Data pre-processing
3. Data splitting
4. Training the model
5. Classification result
Once the data has been collected, it can be labelled with the corresponding
telugu character class, such as “aa” or “ aww”. This labelled data is then used to train
a machine learning algorithm, such as convolutional neural network(CNN), to
recognize and classify telugu characters in real-time.
• Image Resizing: The images are resized to a fixed size of 30x30 pixels using
the resize() method from the PIL. Image library. This is done to ensure that all
images have the same dimensions, which is a requirement for training most
machine learning models.
• Converting to NumPy array: The images are converted to NumPy arrays using
the np.array() function. This allows the image data to be easily manipulated and
used as input for machine learning models.
• Appending data to a list: The NumPy arrays representing the images are
appended to a list called data. This list will be used to create a NumPy array
containing all the image data.
• Labeling: A list called labels is used to store the class labels of the images. The
label for each image is determined by the directory it is stored in. The labels list
is also converted to a NumPy array.
A common technique is to divide the data into two groups, the training set and
the testing set. The training set forms the basis for estimating parameters, contrasting
models, andcarrying out other operations required to produce a final model. It is used
to generate models and feature sets. The test set is only used to estimate a final,
objective evaluation of the model's performance when all of these procedures are
complete. The dataset for handwritten character recognition will be used to divide the
data. The classification of the disorders will be aided by the additional division of this
dataset into the two groups. The training data and the testing data are the two different
forms of splitting. The new models will be built and the features placed in the training
dataset. It will be possible to identify the parameters and predict them. Performance
will be determined after the models have been compared. The testing data is utilized to
test the data and provide the outcome.
Training the machine learning model refers to the process of optimizing its
parameters (also known as weights) based on a set of input data and their corresponding
output labels. The goal of training is to find the optimal set of parameters that minimize
the difference between the predicted output of the model and the actual output labels of
the training data. This process is done by defining a loss function that measures the
difference between the predicted and actual outputs, and then using an optimization
approach such contour based feature apporach as to iteratively adjust the parameters
of the model to minimize the loss. The dataset will be trained on the using the CNN
with 12 layers constructed over a sequential model. The sequential model involves
constructing a neural network with 12 layers, configuring it for training, and fitting it
to a training dataset.
Training data is a set of samples such as images with assigned labels or tags. It
is used to train a computer vision algorithm or model to perform the desired function
or make correct predictions. Training data goes by several other names, including
learning set, training set, or training data set. It creates the machine learning model and
trains what the desired outcome should be. The model also scrutinizes the dataset
repetitively to understand its traits and fine-tune itself for optimal performance. It
creates the machine learning model and trains what the desired outcome should be. The
model also scrutinizes the dataset repetitively to understand its traits and fine-tune itself
for optimal performance.
5.4 SUMMARY
This chapter covered the use of all the approaches and modules in the proposed
work in brief detail. The project's primary framework, implementation also serves as
the primary factor in determining how well our work turns out. As a result, using the
best algorithms produces the best outcomes, which is why we compare several
algorithms to ensure the project's success
CHAPTER 6
EXPERIMENTAL RESULTS
6.1 PREAMBLE
The previous chapter discussed project implementation and the choice for the
majority used throughout project implementation. The obtained measurements of the
developed model are discussed in this chapter. Moreover, the obtained measurements
of a few existing systems are being compared in order to determine the efficiency of
the proposed system.
6.2 RESULTS
The models are trained by the Image Net dataset and applying the pre-trained
models on the desired dataset we obtained the following results. The first step is data
collection, the images in varying illumination conditions at various resolution
conditions is collected. In second step we are pre-processing it by re-sizing the collected
train images to fit the proposed model. In third step the features are extracted for further
predictions. In the next step we are training the developed using with the train dataset.
The images are given to the model for testing. The last step is evaluating the trained
model over the test dataset. Whenever the size of the image increases the time taken for
completing each epoch is going to be increased when compared to the predefined image
size of the model.
6.3 GRAPHS
The performance of the models which is having the accuracy and loss are shown
in the below graphs.
The below Figure 6.1 is an accuracy graph that describe about accuracies. Here
in the graph green line indicates training accuracy and red line indicates validation
accuracy.
The below Figure 6.2 is a loss graph that describe about accuracies. Here in the
graph green line indicates validation loss.
have collected the characters as customized data set. Each character in Telugu
Achulu is almost similar to other and difficult to classify. The CNN architecture
shown in the project is giving better accuracy with a dataset containing the different
samples with different slant and to recognize them.
Figure6.5:Login Page
The next stage that the user has to login or if the user is new user the user must
register before sign in by entering all the details likes name, mail id ,the password must
be alphanumeric character and all other details like phone number etc.,
After the user has to select the hand written character from their laptop and the web
page will give the image recognition.
tested
The comparison table having the many methods in that CNN method has the
better accuracy and used dataset are Images and it was low to recognize the characters.
This method was not able to recognize the without the slant.
Optical character recognition(OCR) method has the better accuracy and used
dataset are All sizes Images and it recognizes the characters with less number of
characters in the dataset not for large number of samples in the dataset. This method
was not able to recognize based upon the slant.
Convolutional neural networks(CNN) method has the better accuracy and used
dataset are All Images classes and it has the 270 samples of telugu characters and ability
to recognize them . This method was not able to recognize based upon the slant.
Adaptive Zoning method has the better accuracy and used dataset are contains
the images 183 images which were well trained and tested and they used to recognize
the characters in zoning techniques. This method was not able to recognize based upon
the slant .
RNN method has the better accuracy and used dataset are Self-Organizing
map(SOM) has used to categorized the related features and to recognize the characters
with in the dataset. This method was not able to recognize based upon the slant.
6.5 SUMMARY
This chapter summarizes about the results produced by using different methods.
We also discussed about the parameters and accuracies of the models. A comparison
table gives better understanding of result. The existing methods were used focused on
recognition of characters without based upon the slant. Most of them missed out the
which was not in the proper slant and no dimension images. So, the new project is
implemented in such a way that it can recognize the telugu character of blurred, noise
view and also the which was in slant also.
CHAPTER 7
7.1 CONCLUSION
This project “Hand written telugu character recognition using convolutional neural
networks” is used for recognition of the hand written telugu characters. Handwriting
recognition has been one of the challenging and active research areas in the field of
pattern recognition and image processing. It is difficult to deal with the dataset with
multiple classes. In this project we have chosen Handwritten Telugu Achulu for
recognition using Convolutional Neural Network. We have collected the characters as
customised data set. Each character in Telugu Achulu is almost similar to other and
difficult to classify. The CNN architecture shown in the project is giving accuracy with
a dataset of more samples. The collected high number of samples to improve the
accuracy. Finally, our future work will also focus on implementing the recognition of
telugu characters.
Our work can be further improved by considering the recognition of hand written telugu
characters. In the future, this project can be implementing these methods for the
different languages and words also. This project mainly focuses on recognition of
telugu characters.
REFERENCES
[1]B. Soujanya,Suresh Chittineni, T. Sitamahalakshmi,A CNN based Approach for
Handwritten Character Identification of Telugu Guninthalu using Various
Optimizers,(IJACSA) International Journal of Advanced Computer Science and
Applications,Vol. 13, No. 4, 2022.
[2] N. Sarika, N. Sirisala and M. S. Velpuru, "CNN based Optical Character
Recognition and Applications," 2021 6th International Conference on Inventive
Computation Technologies (ICICT), 2021, pp. 666-672,
doi:10.1109/ICICT50816.2021.9358735.
[3] Vijaya Krishna Sonthi,Dr. S. Nagarajan,Dr. N. Krishnara,Automated Telugu
Printed and Handwritten Character Recognition in Single Image using Aquila
Optimizer based Deep Learning Model,(IJACSA) International Journal of Advanced
Computer Science and Applications,Vol. 12, No. 12, 2021.
[4]Mayur Bhargab Bora,Dinthisrang Daimary,Khwairakpam Amitab,Debdatta
Kandar,Handwritten Character Recognition from Images using CNN-ECOC,Procedia
Computer Science ,Volume 167, 2020, Pages 2403-2409.
[5] R. Parthiban, R. Ezhilarasi and D. Saravanan, "Optical Character Recognition for
English Handwritten Text Using Recurrent Neural Network," 2020 International
Conference on System, Computation, Automation and Networking (ICSCAN), 2020,
pp-5, doi:10.1109/ICSCAN49426.2020.9262379.
[6] N. B. Muppalaneni, "Handwritten Telugu Compound Character Predictionusing
Convolutional Neural Network," 2020 International Conference onEmerging Trends in
Information Technology and Engineering (ic-ETITE)2020, pp. 1-4, doi: 10.1109/ic-
ETITE47903.2020.349.
[7] B. M. Cheekati and R. S. Rajeti, "Telugu handwritten character recognitionusing
deep residual learning," 2020 Fourth International Conference onISMAC (IoT in
Social, Mobile, Analytics and Cloud) (I-SMAC), 2020, pp788-796, doi: 10.1109/I-
SMAC49090.2020.9243348.
[8] P. Sujatha, D. Lalitha Bhaskari,Telugu and Hindi Script Recognition using Deep
learning Techniques,International Journal of Innovative Technology and Exploring
Engineering (IJITEE)ISSN: 2278-3075, Volume-8 Issue-11, September 2019.
[9] D. Trivedi, S. Satra and P. M. Pimpale, "Handwritten Character Recognition Using
Deep-Learning," 2018 Second International Conference on Inventive Communication
and Computational Technologies (ICICCT), 2018, pp. 772-775, doi:
10.1109/ICICCT.2018.8473291.
[10] L. D’souza and M. Mascarenhas, "Offline Handwritten Mathematical Expression
Recognition using Convolutional Neural Network," 2018 International Conference on
Information , Communication, Engineering and Technology (ICICET), 2018, pp. 1-
3,doi:10.1109/ICICET.2018.8533789.
[11] Inuganti S and Ramisetty RR (2017). Preprocessing of online handwritten Telugu
character recognition. International Journal of Advanced and Applied Sciences, 4(7):
179-189.
[12] S. D. Prasad and Y. Kanduri, "Telugu handwritten character recognition using
adaptive and static zoning methods," 2016 IEEE Students’ Technology Symposium
APPENDIX A
SOURCE CODE
Import required libraries
from flask import Flask, request, render_template,
send_from_directory,session,flash
import pandas as pd
import string
import os
import smtplib
import mysql.connector
import numpy as np
import sys
import base64
import io
import re
file paths
import PIL.Image
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/user")
def user():
return render_template("user.html")
@app.route("/reg")
def reg():
return render_template("ureg.html")
@app.route('/regback',methods = ["POST"])
def regback():
if request.method=='POST':
name=request.form['name']
email=request.form['email']
pwd=request.form['pwd']
pno=request.form['pno']
#email = request.form["email"]
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
port = 3308,
database="telugu_achulu"
mycursor = mydb.cursor()
email1 = result['email'].values
print(email1)
if email in email1:
mycursor.execute(sql, val)
mydb.commit()
print("Successfully Registered")
@app.route('/userlog',methods=['POST', 'GET'])
def userlog():
global user
if request.method == "POST":
username = request.form['email']
password1 = request.form['pwd']
print('p')
mydb = mysql.connector.connect(host="localhost",
user="root",port=3308, passwd="", database="telugu_achulu")
cursor = mydb.cursor()
print('q')
x = cursor.execute(sql)
print(x)
results = cursor.fetchall()
print(results)
if len(results) > 0:
print('r')
# session['user'] = username
# session['id'] = results[0][0]
# print(id)
# print(session['id'])
else:
return render_template('user.html')
@app.route("/userhome")
def userhome():
return render_template("userhome.html")
@app.route("/upload", methods=["POST","GET"])
def upload():
print('a')
if request.method=='POST':
myfile=request.files['file']
fn=myfile.filename
mypath=os.path.join('images/', fn)
myfile.save(mypath)
#import tensorflow as tf
import numpy as np
# mypath="images/Covid (5).png"
new_model = load_model("models/MobileNet.h5")
test_image = image.img_to_array(test_image)
result = new_model.predict(test_image)
prediction=classes[np.argmax(result)]
return render_template("template.html",image_name=fn,
text=prediction)
@app.route('/upload/<filename>')
def send_image(filename):
@app.route('/upload1')
def upload1():
return render_template("upload.html")
model.compile(optimizer='Adam',loss='categorical_crossentropy',metrics
=['accuracy'])
step_size_train=train_generator.n//train_generator.batch_size
history=model.fit_generator(generator=train_generator,
steps_per_epoch=step_size_train,
epochs=1)
model.save("models/MobileNet.h5")
plt.style.use("ggplot")
plt.figure()
plt.plot(history.history['accuracy'],'r',label='Testing
accuracy',color='green')
# plt.plot(history.history['v
# al_accuracy'],label='validation accuracy')
plt.xlabel('# Epochs')
plt.ylabel('Accuracy')
plt.legend()
plt.savefig("models/mobile.png")
plt.show()
acc=history.history['accuracy'][-1]
APPENDIX B
SCREENSHOTS
The respective figure B1 describes the outcome of the given input libraries and the
figure is the output screenshot of the given input block.
The above data that present in the figure B2 is the outcome of loss and accuracy
percentage obtained on validation of given 62734 training samples.
B.3 GRAPHS
B.3.1 Accuracy:
The graph above represents the accuracy level on the given training model.
The graph below shows the loss while training the data in the model (figure B3.2)
The obtained accuracy with the test data is shown in the above given figure B3.3
B.3.4 Result:
The image that mentioned below is the input given after training the model and the
Achulu character was recognized is the output of the model.
APPENDIX C
STUDENT CONTRIBUTION
2 Literature ✓ ✓ ✓ ✓
Survey
3 Problem ✓ ✓ ✓ ✓
Formulation
4 Requirement ✓ ✓
Gathering
5 Designing ✓ ✓ ✓
6 Implementation ✓ ✓ ✓ ✓
7 ✓ ✓
Documentation ✓ ✓ ✓
APPENDIX D
D1
Sasi Institute of Technology & Engineering
Handwritten Telugu Achulu Character Recognition Using Convolutional Neural Networks
D2
Sasi Institute of Technology & Engineering
Handwritten Telugu Achulu Character Recognition Using Convolutional Neural Networks
multidisciplinary.
PO12
D3
Sasi Institute of Technology & Engineering
Handwritten Telugu Achulu Character Recognition Using Convolutional Neural Networks
D4
Sasi Institute of Technology & Engineering
Handwritten Telugu Achulu Recognition Using Convolutional Neural Networks