You are on page 1of 41

A

PRELIMINARY REPORT ON

“A Voice Based Visual Product Identification for Blind Persons


Using Barcode Scanning ”

SUBMITTED TO THE SAVITRIBAI PHULE PUNE UNIVERSITY, IN PARTIAL


FULFILLMENT OF REQUIREMENTS FOR
THE AWARD OF THE DEGREE
OF

BACHELOR OF ENGINEERING (COMPUTER ENGINEERING)

SUBMITTED BY

Padmaja phadke Exam No(B151104228)


Devesh patil Exam No:(B151104206)
Tanmay kadam Exam No:(B151104215)
Neha lale Exam No:(B151104220)
Yash Doorker Exam No:(B151104208)

DEPARTMENT OF COMPUTER ENGINEERING


ABMSPS ANANTRAO PAWAR COLLEGE OF ENGINEERING &
RESEARCH,
PARVATI,PUNE 411009
SAVITRIBAI PHULE PUNE UNIVERSITY
2018 -2019
Akhil Bharatiya Maratha Shikshan Parishad’s

Anantrao Pawar College of Engineering & Research,Pavati,Pune 411009


Approved by AICTE & Gov.of Maharashtra,Affiliated to Savitribai Phule pune University
Department of Computer Engineering

CERTIFICATE
This is to certify that the report entitled

‘A Voice Based Visual Product Identification for Blind Persons


Using Barcode Scanning ”

Submitted by

Padmaja phadke Exam No:B151104228


Devesh patil Exam No:B151104206
Tanmay kadam Exam No:B151104215
Neha lale Exam No:B151104220
Yash Doorker Exam No:B151104208

is a bonafide student of this institute and the work has been carried out by him/her
under the supervision of Prof. Jitendra Musale and it is approved for the partial
fulfillment of the requirement of Savitribai Phule Pune University, for the award
of the degree of Bachelor of Engineering (Computer Engineering).

(Prof. Jitendra Musale) (Prof. Manoj Mulik)


Guide Head,
Dept. of Computer Engg. Dept. of Computer Engg.

(Dr. S. B. Thakare)
Principal
Anantrao Pawar College of Engineering Research. Pune 09
Place:Pune
Date: / /2018
ABSTRACT

This project is developed to make the life of blind people easy. Now a days there is big
problem with blind people is they are always depend on other people at the process of buying
product. There will be some of possibilities of cheating. To make them independent and they
should personally know about the all product purchased by them we are going to develop these
project. This is a camera based system to scan the barcode behind the image and read the de-
scription of the product with the help of Id stored in the barcode. This is very beneficial in case
of finding out the description of packaged goods to the blind people and thus helping them in
deciding to purchase a product. So that these project is very useful foe blind people as well as
normal people. In order to use this system, all the user needs to do is capture the image on the
product in the mobile phone which then resolves the barcode which means it scans the image to
find out the Id stored. Thus this application really benefits blind and visually impaired people
and thus making their work of identifying products easy. This is very easy to use and affordable
as it requires a scanner to scan the barcode and a camera phone to take the picture of the image
containing the barcode. This is now easy to implement as most of the mobile phones today have
the required resolution in order to scan the barcode to identify the Id stored in it and read out
the product description. This project can be implemented in any shopping mall, supermarket,
Book stores, Medical stores etc

Keywords : Barcode, Camera phone, Scanner

i
ACKNOWLEDGEMENT

It is my privilege to acknowledge with deep sense of gratitude to my guide Prof.Jitendra


Musale for her valuable suggestions and guidance throughout my course of study and timely
help given to me in completion of my presentation.

I express my gratitude to Prof.Manoj Mulik (HOD Computer Engg. Dept.) and Prof. Dr.
S. B. Thakare (Principal) for their kind help and cooperation. I am highly obliged to the entire
staff of the Computer Engineering Department for their kind cooperation and help.

I also take this opportunity to thank my friends and family, who backed my interest by
giving useful suggestions and all possible help.

Padmaja phadke (B151104228)


Devesh patil (B151104206)
Tanmay kadam (B151104215)
Neha lale (B151104220)
Yash Doorker (B151104208)

ii
List of Figures

4.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


4.2 E-R Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3 DFD Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4 DFD Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5 DFD Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.6 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.7 Use Case diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.8 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.9 Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

iii
List of Tables

2.1 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

iv
Contents

Abstract i

Acknowledgment ii

List of Figures iii

List of Tables iv

1 INTRODUCTION 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Literature Survey 3

3 Software Requirements Specification 8


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 External Interface Requirements (If Any) . . . . . . . . . . . . . . . . . . . . 13
3.4 Nonfunctional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6 Analysis Models: SDLC Model to be applied . . . . . . . . . . . . . . . . . . 17
3.7 System Implementation Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 System Design 19
4.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 E-R Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3 Data Flow Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4 DFD Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5 DFD Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.6 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.7 Use Case diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.8 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

v
4.9 Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5 Other Specification 29
5.1 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6 Conclusions Future Work 31

vi
CHAPTER 1

INTRODUCTION

This project is developed to make the life of blind people easy. This is a camera based system
to scan the barcode behind the image and read the description of the product with the help
of Id stored in the barcode. This is very beneficial in case of finding out the description of
packaged goods to the blind people and thus helping them in deciding to purchase a product or
not especially which are packaged. This is because it becomes very difficult for the blind people
to distinguish between the packaged goods. In order to use this system, all the user needs to do
is capture the image on the product in the mobile phone which then resolves the barcode which
means it scans the image to find out the Id stored. Thus this application really benefits blind
and visually impaired people and thus making their work of identifying products easy. This is
very easy to use and affordable as it requires a scanner to scan the barcode and a camera phone
to take the picture of the image containing the barcode. This is now easy to implement as most
of the mobile phones today have the required resolution in order to scan the barcode to identify
the Id stored in it and read out the product description. This project can be implemented in any
shopping mall, supermarket, Book stores, Medical stores etc.

1.1 Motivation
• To implement a system with android application, which can provide the product informa-
tion after barcode reading process.

• To implement the system using cloud data servers, which can available for end users
24*7.

• To implement the REST full services data connectivity which can eliminate the data in-
consistency.

• To implement the platform independent application that can work in all environments.
A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

1.2 Problem Definition


The proposed work to design and implement a system which can identify the product description
using barcode and provide the audio information which can provide the identification to blind
as well as all end users.

”APCOER, Department of Computer Engineering 2018-19” 2


CHAPTER 2

Literature Survey

There are 314 million visually impaired people worldwide, of those 45 million are blind accord-
ing to a report released by World Health Organization in 10 facts regarding blindness. Reading
is obviously essential in todays society. Developments in computer vision technologies are
focusing on assisting these individuals. So the basic idea is to develop a camera based device
which combines computer vision technology, to help the blind identify and understand the prod-
ucts they buy and use in their day to day life. The focus revolves around designing a portable
camera based assistive text and product label reading along with barcode recognition from hand
held objects for blind person. In the currently available systems, portable bar code readers are
designed to help blind people to identify different products in an extensive product database,
which helps the blind users to access information about these products through speech. This
system has a limitation that it is very hard for the blind users to find the position of the bar
code and to correctly point the bar code reader at the bar code. Some reading assistive systems
such as pen scanners might be employed in these and similar situations. Such systems inte-
grate OCR software to offer the function of scanning and recognition of text and some have
integrated voice output. However, these systems can be performed only for the document im-
ages with simple backgrounds, standard fonts, a small range of font sizes, and well-organized
characters rather than with multiple decorative patterns. A number of portable reading assis-
tants have been designed specifically for the visually impaired K-Reader Mobile runs on a cell
phone and allows the user to read mail, receipts, fliers, and many other documents. However,
the document to be read; must be nearly flat, placed on a clear, dark surface and contain mostly
text. In addition, K-Reader Mobile accurately reads black print on a white background, but has
problems recognizing colored text or text on a colored and complex background. Furthermore,
these systems require a blind user to manually localize areas of interest and text regions on the
objects in most cases. Even though a number of reading assistants have been designed specif-
ically for the visually impaired, no existing reading assistant can read text from the kinds of
challenging patterns and backgrounds found on many everyday commercial products such as
text information can appear in various scales, fonts, colors, and orientations. There are various
drawbacks of these existing systems like, the texts from non-uniform or complex backgrounds
A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

cannot be identified, the algorithms cannot process text strings fewer than three characters and
for the barcode recognition, only the barcode number is read and the product details cannot be
identified.

Label Text

Reading is obviously essential in todays society. Printed texts are everywhere in the form of
reports, receipts, bank statements, restaurant menus, classroom handouts, product packages, in-
structions on medicine bottles, etc. And while optical aids, video magnifiers, and screen readers
can help blind users and those with low vision to access documents, there are a few devices that
can provide good access to common hand-held objects such as product packages and objects
printed with text such as prescription medication bottles. The ability of people who are blind or
having significant visual impairments to read printed labels and product packages will enhance
independent living and foster economic and social self-sufficiency. So a system is proposed that
will be useful to blind people for the aforementioned. The system framework consists of three
functional components they are:

• Scene Capture

• Data Processing

• Audio Output

The scene capture component collects scenes containing objects of interest in the form of im-
ages; it corresponds to a camera attached to a pair of sunglasses or anywhere as per the require-
ment. The data processing component is used for deploying the proposed algorithms, including
following processes

• Object-of-interest detection to carefully extract the image of the object held by the blind
user from the clustered background or other neutral objects in the camera view.

• Text localization is to obtain text containing image regions, then text recognition to trans-
form image based text information into readable codes.

The audio output component is to inform the blind user of the recognized text codes in the form
of speech or audio. A Bluetooth earpiece with mini microphone or earpiece is employed for
speech output. Thus blind persons will be well navigated if a system can tell them what the
nearby text signage says. Blind persons will also encounter trouble in distinguishing objects
when shopping. They can receive limited hints of an object from its shape and material by
touch and smell, but miss descriptive labels printed on the object. Some reading-assistive sys-
tems, such as voice pen, might be employed in this situation.

”APCOER, Department of Computer Engineering 2018-19” 4


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

Barcode
A barcode is an optical machine-readable representation of data relating to the object to which
it is attached. Originally barcodes systematically represents data by varying the widths and
spacings of parallel lines, and may be referred to as linear or one-dimensional (1D). Later they
evolved into rectangles, dots, hexagons and other geometric patterns in two dimensions (2D). A
barcode has several distinctive characteristics that can be used to distinguish it from the rest of
an image, the first of which is that it contains black bars against a white background. Occasion-
ally, a barcode may be printed in other colors than black and white, but the pattern of dark bars
on a light background is roughly equivalent after the image has been converted to grayscale.
Barcodes initially were scanned by special optical scanners called barcode readers. Generally,
a simple barcode has five sections. They are-number system character, three guard bars, manu-
facturer code, product code, check digit. Number system character specifies the barcode type.
Three guard bars indicate the start and end of the barcode, difference between manufacturer
code and product code. Manufacturer code has a five digit number which is assigned to the
manufacturer of the product. These codes are assigned and maintained by the Uniform Code
Council (UCC). The product code is a five digit number that the manufacturer assigns for a
particular product. Check Digit is also called as ”self-check” digits. The check digit is used to
recognize whether the other digits are read correctly.
Barcodes provide a convenient, cost-efficient, and accurate medium for data representation and
are ubiquitous in modern society. However, barcodes are not human-readable and traditional
devices for reading barcodes have not been widely adopted for personal use. This prohibits
individuals from taking advantage of the information stored in barcodes. Image processing pro-
vides possibilities for resolving the discrepancy between the availability of barcodes and the
capability to read them by enabling barcodes to be identified and read by software on general
imaging devices. Barcodes may appear in an image at any orientation or size and multiple
barcodes may be present. Additionally, complex backgrounds make picking out true barcodes
from false positives a challenging process.

”APCOER, Department of Computer Engineering 2018-19” 5


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

Literature Review

Sr. Name of Paper Publisher Authors Description


no
1 Enabling impaired International Jour- N.Thejaswy,D.Balkrishna
This proposed paper gives
users to read bar- nal of Research.(1 Reddy better output when com-
codes on the prod- Sep 2015) pared to the other paper-
uct by using mo- swhich are discussed in the
bile application. references. It is betterin
some features like captur-
ing images from theclut-
tered background, hear-
ing audio outputthrough
an android phone using
Bluetoothtechnology
2 Deep Learning IEEE Transactions Jiangchao Yao, Ji- we propose a probabilis-
from Noisy Image on Image Process- ajie Wang, Ivor W. tic model, which explicitly
Labels with Qual- ing Tsang, Ya Zhang, introduces an extra vari-
ity Embedding Jun Sun, Chengqi able to represent the trust-
Zhang, Rui Zhang worthiness of noisy labels,
termed as the quality vari-
able. Our key idea is to
identify the mismatch be-
tween the latent and noisy
labels by embedding the
quality variables into dif-
ferent subspaces, which
effectively minimizes the
influence of label noise.
Table 2.1: Literature Review

”APCOER, Department of Computer Engineering 2018-19” 6


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

Sr. Name of Paper Publisher Authors Description


no
3 Real-Time Fire International Con- Byoungmoo Lee In this paper, we pro-
Detection Using ference on Intelli- and Dongil Han. posed image processing
Camera Sequence gent Computing. technique for automatic
Image in Tunnel real time fire and smoke
Environment detection in tunnel envi-
ronment. To avoid the
large scale of damage of
fire occurred in the tun-
nel, it is necessary to have
a system to minimize and
to discover the incident as
fast as possible. However
it is impossible to keep
the human observation of
Closed-Circuit Television
(CCTV) in tunnel for 24
hour.
4 Reading 1D IEEE TRANS- Orazio Gallo, System proposes a new ap-
Barcodes with ACTIONS ON Student Member, proach to barcode decod-
Mobile Phones PATTERN ANAL- IEEE, and Roberto ing that bypasses binariza-
Using Deformable YSIS AND MA- Manduchi tion. This technique re-
Templates CHINE INTELLI- lies on deformable tem-
GENCE.2011 plates and exploits all of
the gray-level information
of each pixel. Due to this
parameterization of these
templates, system can effi-
ciently perform maximum
likelihood estimation in-
dependently on each digit
and enforce spatial co-
herence in a subsequent
step. System show by way
of experiments on chal-
lenging UPC-A barcode
images from five differ-
ent databases that this ap-
proach outperforms com-
peting algorithms.

”APCOER, Department of Computer Engineering 2018-19” 7


CHAPTER 3

Software Requirements Specification

3.1 Introduction
A Software requirements specification document describes the intended purpose, requirements
and nature of software to be developed. It also includes the yield and cost of the software.
A Software Requirements Specification (SRS) is describes the nature of a project, software or
application. In simple words, SRS is a manual of a project provided it is prepared before you
kick-start a project/application. A software document is primarily prepared for a project, soft-
ware or any kind of application.

3.1.1 Project Scope

• Windows XP Operating System.

• Windows 7 operating system

• Windows 8,10,operating system

Operating enviornment

When we boot our computer, but do you know what that means? Booting is the process
that occurs when you press the power button to turn our computer on. During this process
(which may take a minute or two), the computer does several things:

• It runs tests to make sure everything is working correctly.

• It checks for new hardware.

• It then starts up the operating system


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

Design and Implementation constraints

This protocol is implemented in Java language .We also use HTTP/TCP/IP protocols.
Java has had a profound effect on the Internet. The reason for this is Java expands the universe
of objects that can be about freely on the Internet. There are two types of objects we transmit
over the network, passive and dynamic.
Network programs also present serious problems in the areas of security and portabil-
ity. When we download a normal program we risk viral infection. Java provides a firewall to
overcome these problems. Java concerns about these problems by applets. By using a Java
compatible Web browser we can download Java applets without fear of viral infection.

3.1.2 User Classes and Characteristics

Goal

To design products that satisfy their target users, a deeper understanding is needed of their
user characteristics and product properties in development related to unexpected problems users
face. These user characteristics encompass cognitive aspect, personality, demographics, and use
behavior. The product properties represent operational transparency, interaction density, prod-
uct importance, frequency of use and so on. This study focuses on how user characteristics and
product properties can influence whether soft usability problems occur, and if so, which types.
The study will lead to an interaction model that provides an overview of the interaction between
user characteristics, product properties, and soft usability problems.

Method and results

In total three surveys and one experiment were conducted. The first survey was a question-
naire survey to explore what usability problems users experienced in the Netherlands and South
Korea. This study resulted in the categorization of soft usability problems. The second sur-
vey investigated how user characteristics are related to the occurrence of specific soft usability
problems. Finally, an experiment was conducted to find out how user characteristics are corre-
lated to specific soft usability problems depending on type of product in the USA, South Korea
and the Netherlands. Based on the findings from the studies, an interaction model (PIP model:
Product-Interaction-Persona model).

Validation

The PIP model was validated in the companies involved in the project to see how it is used
in the product development process and what should be improved. The validation also included

”APCOER, Department of Computer Engineering 2018-19” 9


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

workshops in which designers in the companies could experience and learn how the findings
and the model and the tool are applicable to their design process.

Design and Implementation constraints

This protocol is implemented in Java language .We also use HTTP/TCP/IP protocols.

Java has had a profound effect on the Internet. The reason for this is Java expands the
universe of objects that can be about freely on the Internet. There are two types of objects we
transmit over the network, passive and dynamic.

Network programs also present serious problems in the areas of security and portabil-
ity. When we download a normal program we risk viral infection. Java provides a firewall to
overcome these problems. Java concerns about these problems by applets. By using a Java
compatible Web browser we can download Java applets without fear of viral infection.

3.1.3 Assumptions and Dependencies

We assume that there are several servers and clients attached to it. User system supports TCP/IP
protocols.
The key considerations of Java are :

• Object Oriented: Java purists everything is an object paradigm. The java object model is
simple and easy to extend.

• Multithreaded: Java supports multithreaded programming which allows you to write pro-
grams that do many things simultaneously.

• Architecture-Neutral: the main problem facing programmers is that no guarantee that if


you write a program today, it will run tomorrow, even on the same machine. Java language
and JVM solves this problem, their goal is to provide Write once; Run anywhere anytime
forever.

• Distributed: Java is designed for the distributed environment of the Internet because it
handles TCP/IP protocols.

3.2 Functional Requirements


• System must be fast and efficient

”APCOER, Department of Computer Engineering 2018-19” 10


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

• User friendly GUI

• Reusability

• Performance

• System Validation input

• Proper output

3.2.1 System Feature 1(Functional Requirement)

The proposed system involves two sections, one is reading of label text and the other is the
recognition of barcodes. The sections are two separate entities and hence involve two differ-
ent setups with different blocks. The label reading part comprises of software interfaced with
hardware, while the barcode sections consists only of the software part. Both of the sections
are predominantly based on Android where all the image processing operations occur. Image
is given as the input to both the sections and the image processing operations are carried out in
the software part. The audio output of the label reading section is given device the hardware
and for the barcode recognition, the audio output is obtained from the device , directly as the
software output.
Once the product is brought in front of the input capturing unit or the camera, a picture of the
product is taken and it is identified using the predefined pattern. A generalized pattern of the
bar code is fed into the system which acts as the predefined pattern. Preprocessing algorithms
frequently form the first processing step after capturing the image. Image preprocessing is the
technique of enhancing data images prior to computational processing. Preprocessing images
commonly involves removing low-frequency background noise, normalizing the intensity of the
individual particles images, removing reflections, and masking portions of images, conversion
of RGB into gray scale. Histogram is constructed for the preprocessed image to obtain the
foreground region. A histogram is a graphical representation of the distribution of numerical
data. It plots the number of pixels for each intensity value. Using the histogram equalization
algorithm, the maximum value of histogram is obtained. And the maximum size of the ob-
tained histogram value is determined using the size of operator. Also, a threshold value is set
with reference to the obtained maximum histogram value, which is used for further segmenta-
tion processes. Image segmentation is the process of partitioning a digital image into multiple
segments. Image segmentation is typically used to locate objects and boundaries (lines, curves,
etc.) in images. Here, we define black as 0 and white as 1 in order to identify the text region
alone from the background. But we know that both the lines as well as the barcode number
are given in black. For eliminating the lines, we check the continuity of the detected black
areas. If the value is 0 for a continuous range, then it is identified as lines and it is changed
into white using the complementing function. Thus the barcode number is alone obtained as a

”APCOER, Department of Computer Engineering 2018-19” 11


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

string at the end of segmentation process. Using the histogram value, the image is separated
into left and right structures after segmentation. An array of numbers is introduced and then it is
compared with the obtained string. Wherever the numbers of the array and the obtained strings
match, those numbers are alone taken and concatenated. The resultant string of numbers is the
required product barcode number. The obtained result is then run through the database which
consists of preloaded information of products along with the corresponding barcodes. When
the search results match, the product is identified and its details are read out in the device.

Functions:-
ReadCode () : This function can read the data from barcode image using barcode scanner as
well as mobile camera.
Connection () : It can generate the connection between mobile and cloud data server
ReadDb () : This function first established the database connection and then read the data from
product master table.
ToConvert() :It can convert the text data into audio foam, to achive this output we use the
google translator API.

3.2.2 System Feature 2

Feature Calculations
The feature calculations module of the algorithm creates 3 scanlines for scanning barcodes as
well as calculating the pixel values from the barcode intensity image in a given row to a vector.
First a Gaussian filter is implemented to smooth out the image gradient identified as the barcode
region. The gradient of the scanlines are set and validated so that the scanlines are inside the
appropriate range. Then, the mean and standard deviation of the pixel intensities are calculated
for the barcode area. The range of pixel parameters, f low and f high, for setting the color is
determined. Pixels on the scanlines are compared to the f low and f high intensity values. A
pixel is considered black if its value is less than f low, and it is considered white if its value is
f high or larger. The remaining pixels are proportionally set between white and black. Black
pixels are set to 1 and white pixels are set to -1. From the calculations, the vector of pixels from
the scanlines is inputted to the barcode recognition. The scan lines are also sent to display to be
added to the real time image.

Barcode Recognition

The barcode recognition module consists of three parts: bar detection, barcode detection, and a
barcode comparison block. The bar detection block detects bars from the barcode feature signal.
First, it tries to identify a black bar, if it is not there, then the first bar has zero width. If there is
a black bar, then it calculates the pixels of the black bar. For the white bars, it does the same.

”APCOER, Department of Computer Engineering 2018-19” 12


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

After the bar detections, the barcode detection begins with the beginning bars and calculates all
the possible values of barcode values that may form a valid string with all the possible separa-
tors. This function returns sequence of indices to barcode guard bars. The barcode comparison
block takes in the codebook for all the encoded GTIN 13 barcode values. It also reverses it for
determining the last 6 digits of the GTIN 13 barcode. The barcode recognition block takes in
the barcodes and tries to match up the barcode with the numbers of pixels generated from the
bar detection. In order to ensure better accuracy, the values are calculated from the left to right
and right to left. The normalized confidence is calculated. The barcode recognition block set
returns the barcode and the normalized confidence.

Barcode Validation

In the barcode validation stage of the algorithm, the simple calculation is used to determine
whether the barcode is valid or not. It is calculated by taking the even elements and multiplying
them by three. Then, add the sum of the odd elements with the sum of the even elements. Take
10 mod the sum and subtract 10. If the answer is the same as the check digit, which is the last
digit, then the barcode is valid. This validation along with a confidence level higher than the
threshold allows the barcode to be displayed on the screen.

Display

The display adds the scan-lines to the real time video and displays the barcode only if it is
validated and has a high enough confidence level to enable the switch for display. All the infor-
mation is sent to the module to convert the 3 dimensional matrices back to 2D matrices. Then,
RGB is converted to YCrCb format to display through the board, We have described a novel
algorithm for finding and reading 1D barcodes, intended for use by blind and visually impaired
users. A key feature of the algorithm is the ability to detect barcodes at some distance, allowing
the user to rapidly scan packages before homing in on a barcode.

3.3 External Interface Requirements (If Any)


3.3.1 User Interfaces

The Interface will be in the form of an application. It is designed to be functional and min-
imal in its styling. All options will be displayed in a menu based format. Android app will be
used to setup the page layout and add minimal styling to make the interface user friendly.

3.3.2 Hardware Interfaces

”APCOER, Department of Computer Engineering 2018-19” 13


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

A webserver will be required so that the students and the mess admin can connect to it to
exchange information. The servers have a database to store all the data entries. The Server will
have to have a high speed 1 Gigabit Ethernet connection to the college’s local network.

3.3.3 Software Interfaces

The server will be hosted using Apache Tomcat Webserver (Version 8.0.14). It will also have
a MySQL relational database. The main backend processing will be done using Java Server
Pages (JSP) including connecting to and accessing the database and processing requests.

3.3.4 Communication Interfaces

The main communication protocol will be Hyper Text Transfer Protocol (HTTP). This will
be used to transfer information back and forth from the client to the server. HTTP GET and
POST will be used to send the information.

3.4 Nonfunctional Requirements


• Accessibility

• Capacity, current and forecast

• Compliance

• Documentation

• Disaster recovery

• Efficiency

• Effectiveness

• Extensibility

• Fault tolerance

• Interoperability

• Maintainability

• Privacy

”APCOER, Department of Computer Engineering 2018-19” 14


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

• Portability

• Quality

• Reliability

• Reliability

• Resilience

• Response time

• Robustness

• Scalability

• Security

• Stability

• Supportability

• Testability

3.4.1 Performance Requirements

The only way in which systems will meet their performance targets is for them to be speci-
fied clearly and unambiguously. It is a simple fact that if performance is not a stated criterion
of the system requirements then the system designers will generally not consider performance
issues. While loose or incorrectly defined performance specifications can lead to disputes be-
tween clients and suppliers. In many cases performance requirements are never ridged as system
that does not fully meet its defined performance requirements may still be released as other con-
sideration such as time to market.
In order to assess the performance of a system the following must be clearly specified:

• Response Time

• Workload

• Scalability

• Platform

3.4.2 Safety Requirements

This Specification shall be sufficient detailed to allow the design and implement to achieve

”APCOER, Department of Computer Engineering 2018-19” 15


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

the required safety integrity and allow an assessment of functional safety.

3.4.3 Security Requirements

We provide authentication and authorization by passwords for each level of access.


We implement IDEA algorithm for secure data transmission.

3.4.4 Software Quality Attributes

Product is portable; it can run between only two connected systems or a large Network of
computers. Product is maintainable; i.e. in future the properties of the product can be changed
to meet the requirements.

3.5 System Requirements


• Processor:- Intel Pentium 4 or above

• Memory:- 2 GB or above

• Other peripheral:- Scanner

• Hard Disk:- 500gb

3.5.1 Database Requirements

• It should be SQLite database on platform.

• Database must be integrated with key constraints

• It should be maintain the relational base on RDMS and normalization

• System will create database backup on periodic basis.

• It will execute all commands like DML, DDL and DCL as well as we required some
security measurements for sql injection.

3.5.2 Software Requirements (Platform Choice)

Technologies and tools used in Policy system project are as follows Technology used:

Front End

”APCOER, Department of Computer Engineering 2018-19” 16


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

• Android DSK 4.5

• Internet Explorer 6.0/above

• Tool :Eclipse or net beans

• Android, java

Back-End

• SQLite

3.5.3 Hardware Requirements

• Processor:- Intel Pentium 4 or above

• Memory:- 2 GB or above

• Other peripheral:- Scanner

• Hard Disk:- 500gb

3.6 Analysis Models: SDLC Model to be applied


Agile SDLC model is a combination of iterative and incremental process models with focus on
process adaptability and customer satisfaction by rapid delivery of working software product.
Agile Methods break the product into small incremental builds. These builds are provided in
iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves
cross functional teams working simultaneously on various areas like
Planning
Requirements Analysis
Design
Coding
Unit Testing and
Acceptance Testing.

At the end of the iteration, a working product is displayed to the customer and important stake-
holders.

3.7 System Implementation Plan

”APCOER, Department of Computer Engineering 2018-19” 17


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

”APCOER, Department of Computer Engineering 2018-19” 18


CHAPTER 4

System Design

4.1 System Architecture

Figure 4.1: System Architecture

The proposed system carried out the product identification system for blind peoples, the
system provides voice output once barcode has scanned by end user.

1. Detection:
A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

• Lines in 4 different orientations swept to determine collection of edge points with alter-
nating polarities.

• Line scores tallied in direction perpendicular to sweep direction to get 2D representation


of possible barcode areas.

• Orientation entropy used to eliminate false positives (e.g. dense text).

2. Direction:

• A maximal bounding box to enclose the detected barcode is calculated.

• The user is directed to the barcode by voice commands until enough edges are seen.

3. Decoding:

• Slices with maximum number of edges are found and edges localized with sub-pixel
accuracy.

• Maximum likelihood (ML) estimation of the fundamental width and fixed edges.

• ML estimation of the barcode digits using the check bit.

• Detection attempted both right side up and upside down.

4. Output:

• Product information retrieved from database and read out.

”APCOER, Department of Computer Engineering 2018-19” 20


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

4.2 E-R Diagram

Figure 4.2: E-R Diagram

”APCOER, Department of Computer Engineering 2018-19” 21


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

4.3 Data Flow Diagrams

Figure 4.3: DFD Level 0

”APCOER, Department of Computer Engineering 2018-19” 22


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

4.4 DFD Level 1

Figure 4.4: DFD Level 1

”APCOER, Department of Computer Engineering 2018-19” 23


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

4.5 DFD Level 2

Figure 4.5: DFD Level 2

”APCOER, Department of Computer Engineering 2018-19” 24


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

4.6 Sequence Diagram

Figure 4.6: Sequence Diagram

”APCOER, Department of Computer Engineering 2018-19” 25


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

4.7 Use Case diagram

Figure 4.7: Use Case diagram

”APCOER, Department of Computer Engineering 2018-19” 26


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

4.8 Class Diagram

Figure 4.8: Class Diagram

”APCOER, Department of Computer Engineering 2018-19” 27


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

4.9 Component Diagram

Figure 4.9: Component Diagram

”APCOER, Department of Computer Engineering 2018-19” 28


CHAPTER 5

Other Specification

5.1 Advantages
Following are the benefits or advantages of Barcode:

• It allows realtime data to be collected accurately and rapidly with the help of barcode
readers.

• Easily provide the whole product information to blind peropels

• It enables fast data entry operations with less errors.

• It is mature and proven technology.

• It is less expensive.

• It is smaller and lighter compare to RFID tags and easy to use.

5.2 Limitations
Following are the disadvantages of Barcode:

• Barcode scanning requires special device called Barcode scanner which emits light and
collects reflected light to decode the Barcode.

• Barcode scanner or reader works with computers or POS terminals.

• Barcodes do not have read/write capabilities.

• It requires optical line of sight (LOS) scanning.

• It is labour intensive as it requires to be scanned individually.

• It is less secure compare to RFID which can be easily forged.


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

• It is susceptible to environmental damage.

• scratched or crumpled barcodes may cause problems while scanning.

5.3 Applications
• Scan and pay applications

• Paytm applications

• Payment validation applications

”APCOER, Department of Computer Engineering 2018-19” 30


CHAPTER 6

Conclusions Future Work

This project represents a solution for finding and reading 1D barcodes, intended for use by
the visually impaired users. A key feature of the algorithm is the ability to detect barcodes at
some distance, allowing the user to rapidly scan packages before homing in on a barcode. Ex-
perimental results with a blindfolded subject demonstrate the feasibility of the system. In the
future we plan to port our system to a camera phone. Experiments with blind/visually impaired
volunteer participants demonstrate the feasibility of the system and suggest that its usability is
significantly enhanced by real-time feedback to help the user find barcodes before they are read.
We are exploring commercialization options of the application, including collaboration with an
organization interested in releasing a consumer-oriented smart phone app that includes detailed
information associated with a barcode (e.g., preparation instructions for packaged items).

Future Work

We have described a novel algorithm for finding and reading 1D barcodes, intended for use
by blind and visually impaired users. A key feature of the algorithm is the ability to detect
barcodes at some distance, allowing the user to rapidly scan packages before homing in on a
barcode. Experimental results with a blindfolded subject demonstrate the feasibility of the sys-
tem. In the future we plan to port our system to a camera phone, and to extend our system to
symbologies other than UPC-A, such as the the EAN-13 (which is widespread in Europe).
A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

Appendix A:

There are two types of problems: Polynomial (P):


The system accepts input, and we get the output in fixed polynomial time, the input large or
small, or simple or complex. Applications of polynomial type are rare. One such example is
hash table. A hash table finds index for a data to be inserted in fixed amount of time because its
uses hash function to find index. So for finding index 1 or 100 the time is fixed, which is not in
case of sequential search for index.
Our application is not of type P because if does not give result in fixed polynomial time.

Non-Polynomial (NP):

There are two sub-types of NP Problems:

1. NP-Hard:
The system accepts input, but there is no guarantee that we will get the output. Such systems do
not exist because no one will use the system if there is no guarantee the system works for any
inputs. Hence our application is again not of NP-Hard type because we want to build a system
that never fails and guarantees output.

Eg: Turing Machine Halting problem.

2. NP-Complete:
Our application is NP-Complete. The system accepts input, and we get the output in variable
non-polynomial time. Almost all or maximum systems are of NP-Complete type. Even our
application is of NP complete type because it guarantees output but not in fixed amount of time.
Now our output time varies because of the input. In our system user can get file in variable time
interval depending upon file size. If attribute set is matched with owners attribute set than only
file will be accessible to user. This is done in variable time.
Thus in our application there is guarantee that we get output. Hence our application is NP-
complete.

”APCOER, Department of Computer Engineering 2018-19” 32


A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning

Appendix B:

[1] James N. Coughlan and Ender Tekin paper on Enabling impaired users to read barcodes
on the product by using mobile application.

[2] Smart Android Application for Blind People Based on Object Detection, Ketaki B. Tharkude,
Aishwarya K. Wayase, Pratiksha S. More, Sonali S. Kothey B. E Students, Dept. of Computer
Engineering, RMD Sinhgad School of Engineering, Savitribai Phule Pune University, India,
april 2016.

[3] Robert Adelmann, Marc Langheinrich, Christian Flrkemeier Toolkit for Bar Code Recogni-
tion and Resolving on Camera Phones Jump Starting the Internet of Things sun.com/software/
communitysource/j2me/mmapi/.

[4] Orazio Gallo and Roberto Manduchi Reading Challenging Barcodes with Cameras

[5] S. Kresic, D. madej, Fadil Santosa Applications of hidden Markov models in bar code
decoding Science Direct with ElsevierOrazio Gallo, Student Member, IEEE

[6] Roberto Orazio Gallo, Student Member, IEEE, and Roberto Manduchi Reading 1D Bar-
codes with Mobile Phones Using Deformable Templates IEEE TRANSACTIONS ON PAT-
TERN ANALYSIS AND MACHINE INTELLIGENCE.

”APCOER, Department of Computer Engineering 2018-19” 33

You might also like