Sample PDF
Sample PDF
OF
SUBMITTED BY
submitted by
are bonafide student’s of this institute and their work has been carried out
by him/her under the supervision of Prof. R.B.Kale and it is approved for
the partial fulfillment of the requirement of Savitribai Phule Pune Uni-
versity, for the award of the degree of Bachelor of Engineering (Computer
Engineering).
(Dr. A. V. Deshpande)
Principal,
Smt.Kashibai Navale College of Engineering Pune 41
Place: Pune
Date:
ACKNOWLEDGEMENT
Our first experience of project has been successfully, thanks to the support staff
of many friends and colleagues with gratitude. We wish to acknowledge all of them;
however, we wish to make special mention of the following
First of all we are thankful of our project guide Prof. R. B. Kale under whose
guideline we were able to complete our project. We will forever remain grateful for
his valuable help and encouragement. We must make special mention of Prof. P. S.
Desai , for his co-operation and assistance in solving a problem. We are wholeheart-
edly thankful to them for giving us their valuable time and attention and providing
us a systematic ways for completing our project in time.
We would like to thank our Dr. P. N. Mahalle and all lab maintenance staff for
providing us assistance in various hardware and software problem encountered during
course of our project. We would like to thank our friends for listening to the ideas,
asking questions and providing suggestions for improving ideas and also for their help.
We will fail in our duty if we wont acknowledge a great sense of gratitude to the
Principal Dr. A. V. Deshpande and the entire staff members in Computer Engi-
neering department for their co-operation.
i
ABSTRACT
The proposed system aims to develop an embedded system which uses Image Pro-
cessing algorithm to perform tests based on ABO and Rh blood Typing system. In
addition to this very rare blood groups named as Bombay phenotype and acquired
B-negative can also be detected using this system accurately with the help of Antigen,
which is not possible using manual method. The proposed system helps in reducing
human intervention and perform complete test autonomously from capturing the im-
ages of blood sample to final generation of result. The results are also stored for
future references.
Thus, the transfusion based on the principal of the universal donor, reducing trans-
fusion reaction risks and storage of results without human errors.
ii
List of Abbreviation
UI User Interface
OO Object Oriented
iii
List of Figures
3.1 SDLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Agile Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
iv
List of Tables
v
Contents
1 INTRODUCTION 1
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Problem Definition and Objectives . . . . . . . . . . . . . . . . . . . 1
1.4 Project Scope and Limitations . . . . . . . . . . . . . . . . . . . . . . 2
1.4.1 Project Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Methodologies of Problem Solving . . . . . . . . . . . . . . . . . . . . 2
2 LITERATURE SURVEY 3
4 SYSTEM DESIGN 12
4.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
vi
4.2 DFD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.1 DFD 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.2 DFD 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Entity Relationship Diagram . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 UML Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4.1 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4.2 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . 18
4.4.3 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . 19
4.4.4 Use case Diagram . . . . . . . . . . . . . . . . . . . . . . . 20
5 PROJECT PLAN 21
5.1 Project Estimates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1.1 Reconciled Estimates . . . . . . . . . . . . . . . . . . . . . . . 21
5.1.2 Project Resources . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2 Risk Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.1 Risk Identification . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2.2 Risk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2.3 Overview of Risk Mitigation,Monitoring,Management . . . . . 28
5.3 Project Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3.1 Project Task Set . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3.2 Task Network . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.3 Timeline Chart . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4 Team Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4.1 Team Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4.2 Management reporting and Communication . . . . . . . . . . 39
6 PROJECT IMPLEMENTATION 40
6.1 Overview of Project Modules . . . . . . . . . . . . . . . . . . . . . . 40
6.2 Tools and Technologies Used . . . . . . . . . . . . . . . . . . . . . . . 41
6.3 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.3.1 LBP Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7 SOFTWARE TESTING 43
7.1 Types of Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
vii
Blood Group Detection Using Image Processing
8 Result 46
8.1 Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10 REFERENCES 50
Chapter 1
INTRODUCTION
1.1 Overview
Rapid and accurate determine of blood types is very important during emergency
situation before administering a blood transfusion. At present the method based on
image recognition technology to quickly determine blood type has been widely used
in the automated blood analyzer. Here , we propose a fast, accurate and robust blood
group judgement method based on the image features of ABO blood group rapid ana-
lyzer. Firstly, the image of the disk region is segmented and identified automatically.
Then, the median filter is used to suppress the noise to get the best approximation
of the original image. Then, the characteristic parameters of ABO blood group are
extracted according to the gray level distribution of the image. Finally, combined
with the agglutination reaction between antigen and antibody, the final blood group
was determined. The experimental results show that this method can quickly and
accurately classify the ABO blood group, and basically meet the requirements of the
automatic rapid blood group analyzer.
According to ABD blood grouping systems, a person can belong to either of fol-
lowing 8 blood groups: A Rh+, A Rh-, B Rh+, B Rh-, AB Rh+, AB Rh-, O Rh+ and
O Rh-. The blood group detection is done in lab by slide test which is a traditional
method. Most of the techniques applied are still based on interaction between antigen
and antibody and subsequent agglutination of RBC(positive result).The agglutination
shows the lack of interaction means negative result. This traditional blood grouping
presents serious drawbacks such as incorrect blood group detection and manual error
such as wrong typing in the report. Hence, it is necessary to develop an automated
system for blood group detection based on the images of blood.
1.2 Motivation
Manual techniques have been developed in recent years for detecting blood type.
These techniques do not provide efficiency and are prone to human errors and requires
that the test should be carried out several times to get accurate results so it is time
consuming as well. For providing better efficiency, we develop an automatic system.
will be handy and portable. Which can be operated by any person without much
knowledge about medical field. It should be totally automatic.
1.4.2 Limitations
• Proper connection must be maintained.
Chapter 2
LITERATURE SURVEY
threshold and morphological operations are used. The images of the slide test are
obtained from the pathological laboratory are processed and the occurrence of agglu-
tination are evaluated. Thus the developed automated method determines the blood
type using image processing techniques.
“ Automated ABO Rh-D Blood Type Detection using Smartphone Imaging for
Point-of-Care Medical Diagnostics”[4], the paper present methodology for automated
ABO Rh-D blood typing using simple morphological im- age processing algorithms
to be used in conjunction with a fabric strip based rapid diagnostic test. Images
of the fabric strip post testing are ac- quired using low cost mobile phones and the
proposed algorithm proceeds to automatically identify the blood type by processing
the images using steps comprising of noise reduction, range filtering and empirically
derived heuristics. The ultimate goal is to provide a simple mobile phone applica- tion
to enable automated, rapid and accessible blood type detection at the point-of-care.
“ Automatic System for Determination of Blood Types Using Image Pro- cessing
Techniques”[8], This work aims to develop an automatic system to perform these
tests in a short period of time, adapting to emergency situa- tions. To do so, it uses
the slide test and image processing techniques using the IMAQ Vision from National
Instruments. The image captured after the slide test is processed and detects the
occurrence of agglutination. Next the classification algorithm determines the blood
type in analysis. Finally, all the information is stored in a database. Thus, the system
allows deter- mining the blood type in an emergency, eliminating transfusions based
on the principle of universal donor and reducing transfusion reactions risks.
Chapter 3
SOFTWARE REQUIREMENT SPECIFICATION
A good SRS defines the how Software System will interact with all internal mod-
ules, hardware, communication with other programs and human user interactions with
wide range of real life scenarios.
3.1 Introduction
Purpose and scope of the project
Software Requirement Specication is a description of a software system to be de-
veloped, laying out functional and non-functional requirements, and may include may
include set of use cases that describes interactions the users will have with the soft-
ware.
• Knowledge of the app: When a user knows how the working and its usage is
going to be, it creates a lot of difference into the persons mind as he demands
for a better perfection ratio and tries to have better results each time.
• Provide the blood sample: The user should able to provide blood sample whose
blood group is to be detected, enter the details like name, age, etc.
• Capture images of blood sample: The system should able to capture images of
blood sample and store it in database for further processing.
• Processing: The system should able to process captured images by removing noise
with help of proper algorithms for accurate detection of blood group.
• Recall
Recall means to have the data called back again to understand the proper mean-
ing of it. When at first the attempt is not understood we can send a signal back
for understanding.
• Precision
The perfect understanding and accurate point to point feedback obtained or
result can be categorized as precision.
• F-score
In statistical analysis of binary classification, the F-score is a measure of a test’s
accuracy. It considers both the precision p and the recall r of the test to compute
the score: p is the number of correct positive results divided by the number of
all positive results returned by the classifier, and r is the number of correct
positive results divided by the number of all relevant samples.
The second is that the “reasoning” behind the decisions can’t always be traced (some-
times there is a random element used for generating results with an AI) and when
something goes wrong, not having the ability to determine “why” (in a very precise
manner) becomes a liability.
• Reliability: The bidding process should be reliable over the time irrespective rate
of bidding.
• Adequacy: The input required of the user should be limited to only what is nec-
essary.
• Availability: The advance enquiry system should be available so bidder can en-
quire for a service before bidding.
very high level of customer involvement throughout the project, but especially
during these reviews. Some advantages of the agile approach are easy to see:
• The customer has frequent and early opportunities to see the work being delivered,
and to make decisions and changes throughout the development project.
• The customer gains a strong sense of ownership by working extensively and directly
with the project team throughout the project.
• If time to market for a specific application is a greater concern than releasing a full
feature set at initial launch, Agile can more quickly produce a basic version of
working software which can be built upon in successive iterations.
• Development is often more user-focused, likely a result of more and frequent di-
rection from the customer. For more Agile Development benefits please see 8
Benefits of Agile Software Development
• The very high degree of customer involvement, while great for the project, may
present problems for some customers who simply may not have the time or
interest for this type of participation.
• Agile works best when members of the development team are completely dedicated
to the project.
Chapter 4
SYSTEM DESIGN
System architecture is broadly divided into 3 parts, the input, the processing unit
and the output. In input blood sample is taken from the patient. The processing unit
is further divided into image capturing system. The image is captured with the help
of camera. The image processing algorithm will run on GPU to achieve parallelism
and faster processing. The pattern matching algorithm used is SVM based histogram
classification. The output from the system is the blood group of the patient.
4.2 DFD
A data flow diagram (DFD) is a graphical representation of the “flow” of data through
an information system, modelling its process aspects. A DFD is often used as a pre-
liminary step to create an overview of the system without going into great detail,
which can later be elaborated.
4.2.1 DFD 0
A level 0 data flow diagram (DFD), also known as a context diagram, shows a data
system as a whole and emphasizes the way it interacts with external entities. This
DFD level 0 example shows how such a system might function within a typical retail
business.
4.2.2 DFD 1
A level 1 data flow diagram (DFD) is more detailed than a level 0 DFD but not as
detailed as a level 2 DFD. It breaks down the main processes into sub processes that
can then be analyzed and improved on a more intimate level.
Relationships There are three principal kinds of relationships which are important:
Inheritance - the most obvious addition to ER diagrams for use in OO. It has an
immediate correspondence to inheritance in OO design.
Chapter 5
PROJECT PLAN
• Human capital Management: AI can recommend the best suited employees for
a project by matching project requirements with the skill sets of the employees
registered in the database. If there are no suitable resources available, it can
recommend the training that the employees need or in some cases, scan external
databases and provide a list of suitable candidates who can be hired for the
project.
• Programmatic errors: Where errors exist, algorithms may not perform as ex-
pected and may deliver misleading results that have serious consequences.
• Risk of cyber attacks: Hackers who want to steal personal data or confidential
information about a company are increasingly likely to target AI systems.
• Legal risks and liabilities: At present, there is little legislation governing AI,
but that is set to change. Systems that analyze large volumes of consumer data
may not comply with existing and imminent data privacy regulations, especially
the EUs General Data Protection Regulation.
• Reputational risks: AI systems handle large amounts of sensitive data and make
critical decisions about individuals in a range of areas including credit, educa-
tion, employment and health care. So any system that is biased, error-prone,
hacked or used for unethical purposes poses significant reputational risks to the
organization that owns it.
Risk Scores
Risk score is a calculated number (score) that reflects the severity of a risk due to
some factors. Typically, project risk scores are calculated by multiplying probability
and impact though other factors, such as weighting may be also be part of calculation.
For qualitative risk assessment, risk scores are normally calculated using factors based
on ranges in probability and impact. In quantitative risk assessments, risk probability
and impact inputs can be discrete values or statistical distributions.
sessment
Label Cost Schedule Safety
Very Low less than 1 1 day Non injury accident
Low 1-5 less than 1 week Requires medical attention
Medium 6-10 2 weeks Requires hospitalization
High 11- 20 1 month greater than 1 day work lost
Very High greater than 20 greater 1 month greater Fatality
Risk scores can then be further defined into categories such as Catastrophic, Seri-
ous, Moderate, and Low based on the calculated score
Probability x highest impact: this is a very common qualitative risk scoring cal-
culation in which the highest impact score for all of the impact is used to calculate
the risk score. For example, if you had a risk that had been assessed:
plied on normalized correlation coefficient. For risks that impact multiple categories,
risk score for each category multiplied by a weight that represents the relative im-
portance of the category. For example, if you had cost and schedule categories and
schedule is 2x as important as cost, you would get an importance coefficients of .667
for schedule and .333 for Cost. Depending upon how you are analyzing your projects,
the process you use can have a large impact on how your risks are assessed. Make sure
you are aware of how the risks will be assessed and that you have common guidelines
that explain how project probability and impact are assessed and the methodology
used to calculate the risk scores.
Model exploration
Model refinement
Model deployment
morale, since team-members work under the constant supervision of the chief pro-
grammer. This also inhibits their original thinking. The chief programmer team is
subject to single point failure since too much responsibility and authority is assigned
to the chief programmer.
Democratic Team
The democratic team structure, as the name implies, does not enforce any formal
team hierarchy. Typically, a manager provides the administrative leadership. At dif-
ferent times, different members of the group provide technical leadership.
The democratic organization leads to higher morale and job satisfaction. Conse-
quently, it suffers from less man-power turnover. Also, democratic team structure is
appropriate for less understood problems, since a group of engineers can invent bet-
ter solutions than a single individual as in a chief programmer team. A democratic
team structure is suitable for projects requiring less than five or six engineers and for
research-oriented projects. For large sized projects, a pure democratic organization
tends to become chaotic. The democratic team organization encourages egoless pro-
gramming as programmers can share and review one anothers work.
Mixed Control Team Organization
The mixed team organization, as the name implies, draws upon the ideas from both
the democratic organization and the chief-programmer organization. The mixed con-
trol team organization is shown pictorially in fig. 12.4. This team organization incor-
porates both hierarchical reporting and democratic set up. In fig. 12.4, the democratic
connections are shown as dashed lines and the reporting structure is shown using solid
arrows. The mixed control team organization is suitable for large team sizes. The
democratic arrangement at the
senior engineers level is used to decompose the problem into small parts. Each demo-
cratic setup at the programmer level attempts solution to a single part. Thus, this
team organization is eminently suited to handle large and complex programs. This
team structure is extremely popular and is being used in many software development
companies.
Chapter 6
PROJECT IMPLEMENTATION
The proposed system aims to develop an embedded system which uses Image process-
ing algorithm to perform blood tests based on ABO and Rh blood typing systems.
The input to the system is the blood sample whose images are captured and forwarded
to the image processing algorithm. It uses Local Binary Pattern (LBP) for classifica-
tion of image and Chi-Square based Histogram Evaluation. We are doing histogram
evaluation to achieve more precision and accuracy while identifying whether the im-
age is agglutinated or non agglutinated. All data inside a computer is transmitted
as a series of electrical signals that are either on or off. Therefore, in order for a
computer to be able to process any kind of data, including text, images and sound,
they must be converted into binary form. If the data is not converted into binary a
series of 1s and 0s the computer will simply not understand it or be able to process
it. With the help of camera module we are going to capture 4, 16-bit images. This
16-bit images are converted into 8-bit images and finally they are further converted
into 2-bit images based on the threshold value and the output is displayed on the
screen which is in binary format. If the image captures by camera is agglutinated
the result showed on output screen will indicate 1 value for that particular images.
Similarly, if the image is non-agglutinated the result displayed on the screen will show
0 value. The image captured by camera is in red color when the image is processed
with the help of LBP algorithm it is converted into gray-scale image,this grayscale
images will be stored.The user details like, name of a person, his age, and the blood
group will also be stored for future reference.
6.3 Algorithms
6.3.1 LBP Algorithm
Local Binary Pattern-Local binary patterns (LBP) is a type of visual descriptor used
for classification in computer vision. LBP is the particular case of the Texture Spec-
trum model proposed in 1990. LBP was first described in 1994. It has since been
found to be a powerful feature for texture classification; it has further been deter-
mined that when LBP is combined with the Histogram of oriented gradients (HOG)
descriptor, it improves the detection performance considerably on some datasets.
The LBP feature vector, in its simplest form, is created in the following manner:
• Divide the examined window into cells (e.g. 16x16 pixels for each cell).
• For each pixel in a cell, compare the pixel to each of its 8 neighbors (on its left-top,
left-middle, left-bottom, right-top, etc.). Follow the pixels along a circle, i.e.
clockwise or counter-clockwise.
• Where the center pixel’s value is greater than the neighbor’s value, write “0”.
Otherwise, write “1”. This gives an 8-digit binary number (which is usually
converted to decimal for convenience).
• Compute the histogram, over the cell, of the frequency of each “number” occurring
(i.e., each combination of which pixels are smaller and which are greater than
the center). This histogram can be seen as a 256-dimensional feature vector.
Optionally normalize the histogram.
• Concatenate (normalized) histograms of all cells. This gives a feature vector for
the entire window.
The feature vector can now be processed using the Support Vector Machine or some
other machine learning algorithm to classify images. Such classifiers can be used for
face recognition or texture analysis.
• To compare two histograms (H1 and h2), first we have to choose a metric
d(h1,h2 ) to express how well both histograms match.
• OpenCV implements the function compareHist to perform a comparison.
It also offers 4 different metrics to compute the matching:
(a) Correlation ( CV COMP CORREL )
Chapter 7
SOFTWARE TESTING
Chapter 8
Result
8.1 Screenshot
Chapter 9
CONCLUSION AND FUTURE WORK
Thus, we have automated the blood group detection process by developing an embed-
ded system which will capture the images of the blood sample and add antigens to
it. Then the chemical reaction between the blood sample will take place and either
agglutinated or non-agglutinated images are formed.The images are then passed to
the computer where the actual image processing algorithm will process these images
and the output is displayed to the user.
Chapter 10
REFERENCES
[2] Yue fang dong, “ABO Blood Group Detection Based on Image Processing Tech-
nology”, IEEE 2nd International Conference on Image, Vision and Comput-
ing,2017
[4] Neha Srivathsa, “Automated ABO Rh-D Blood Type Detection using Smart-
phone Imaging for Point-of-Care Medical Diagnostics”, IEEE Engineering in
Medicine and Biology Society Annual Conference ,Aug 2016
[5] Mehedi Talukder ,Md Rabiul Islam etc, “Improvement of Accuracy of Human
Blood Groups Determination using Image processing Techniques”, International
Journal of Advanced Research in Computer and Communication Engineering ,
October 2015
[7] Nazia Fathima S.M, “Classification of blood type by microscopic color images
,International Journal of Machine Learning and Computing”. International
Journal of Machine Learning and Computing, Vol. 3, No. 4, August 2013
[8] Ana Ferraz , “Automatic System For Determination of Blood Types Using Image
Processing Techniques”, 2013 IEEE 3rd Portuguese Meeting in Bioengineering
(ENBENG),Feb 2013
[9] https://en.wikipedia.org/wiki/Localbinarypatterns