Professional Documents
Culture Documents
Dissertation Report
On
MASTER OF ENGINEERING
IN
Computer Engineering
By
Yuvraj D. Patil Exam Seat No: 9535
Mrs. G. J. Chhajed
Department of Computer Engineering
CERTIFICATE
This is to certify that the dissertation report entitled
Heart Rate Measurement System using Facial Video
Processing
Submitted by
Yuvraj D. Patil Exam Seat No. : 9535
This is to certify that Yuvraj D. Patil has completed the dissertation work
under my guidance and supervision and that, I have verified the work for it’s
originality in documentation, problem statement, implementation and results pre-
sented in the dissertation. Any reproduction of other necessary work is with the
prior permission and has given due ownership and included in the references.
ii
Acknowledgements
This is to acknowledge and thank all the individuals who played defining
role in shaping this dissertation report. Without their constant support, guidance
and assistance, this report would not have been completed alone.
Yuvraj D. Patil
ME (Computer Engg.)
Exam Seat No. 9535
VPKBIET, Baramati
iii
Publications based on this Thesis
iv
Abstract
In recent years, new technologies used for providing clinical health care remotely
appears to be new fields like a telemedicine huge advancements. New ways for
monitoring patients are automatically developed, as well as techniques for mea-
suring physiological parameters out of the hospital. One of these parameters
is the heart rate and usually used by medical professionals to assist in diagno-
sis. Measuring heart rate there are different standard techniques available such as
Electrocardiogram which is expensive and discomfort. Another commercial device
is oximetry sensor that needs attachment to fingertips, is also inconvenient.HR is
one of the simplest cardiovascular parameter and identifiable as an independent
risk parameter.
During the cardiac cycle, volumetric changes in the facial blood vessels
modifies the path length of the incident ambient light. The subsequent changes in
amount of reflected light indicate the timing of cardiovascular events. By record-
ing facial image region with a webcam, the RGB color sensors pick up a mixture
of the reflected Photoplethysmographic (PPG) signal along with other sources of
fluctuations in light due to artifacts such as motion and changes in ambient light-
ing conditions. These observed signals from the red, green and blue color sensors
are used for further process.
After extracting green band signals, select Region of Interest (ROI) by using
bucketing technique and finally obtain Inter Beat Interval (IBI) and calculate heart
rate.
1
Contents
Abstract 1
List of Figures 6
List of Tables 7
1 Introduction 9
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Existing Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4 Flow Of Proposed System . . . . . . . . . . . . . . . . . . . . . . . 13
1.5 Features of Proposed System . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Mathematical Model . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Literature Survey 15
2.1 Advancements in noncontact, multiparameter physiological mea-
surements using a webcam . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Video-based heart rate measurement from human faces . . . . . . . 16
2.3 Dynamic heart rate measurements from video sequences . . . . . . 16
2.4 Comparison of Independent Component Analysis(ICA) algorithm
for Heart Rate Measurement Based on Facial Imaging . . . . . . . . 17
2.5 A computationally efficient heart rate measurement system using
video cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6 MA Reduction by using Traditional Approaches . . . . . . . . . . . 18
2.7 MA reduction using Ring Sensor . . . . . . . . . . . . . . . . . . . . 19
2.8 Spatio-temporal filtering of thermal video sequences for heart rate
estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.9 Mobile Cardiac Pulse Measurements . . . . . . . . . . . . . . . . . 19
2.10 Heart Rate, Respiration Rate and Oxygen Saturation Level Moni-
toring from Video Recording by Smart phone camera . . . . . . . . 20
3 Software Requirement and Specification 21
3.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Key Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Software to be used: . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 Requirements Specification: . . . . . . . . . . . . . . . . . . . . . . 23
3.4.1 Functional Requirements: . . . . . . . . . . . . . . . . . . . 23
3.4.2 External Interface Requirements: . . . . . . . . . . . . . . . 23
3.4.3 Detailed Non-Functional Requirements: . . . . . . . . . . . . 23
4 System Design 25
4.1 Data Flow Diagram (DFD) . . . . . . . . . . . . . . . . . . . . . . 25
4.1.1 DFD Level-0 . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.2 DFD Level-1 . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 UML Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.2 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.3 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.4 State Transition Diagram . . . . . . . . . . . . . . . . . . . 28
4.2.5 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . 29
5 Technical Specifications 30
5.1 Windows 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7 System Architecture 38
7.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.2 Photoplethysmography . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.3 Extracting of BVP from Webcam Recordings . . . . . . . . . . . . . 40
7.4 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.5 System architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3
7.5.1 Architectural Block Diagram . . . . . . . . . . . . . . . . . . 43
7.5.2 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.5.3 Data Preprocessing . . . . . . . . . . . . . . . . . . . . . . . 45
7.5.4 Parameter Extraction . . . . . . . . . . . . . . . . . . . . . . 49
8 Software Testing 51
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.2 Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.2.2 Fields in a Testcase . . . . . . . . . . . . . . . . . . . . . . . 52
8.2.3 Modules for Testing . . . . . . . . . . . . . . . . . . . . . . . 53
8.3 White Box Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.4 Black Box Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
A Publications 66
4
List of Figures
6
List of Tables
7
Abbreviations
8
Chapter 1
Introduction
1.1 Background
Now a day’s the risk factors such as obesity, hypertension and heart diseases are
increasing at a tremendous rate. People are suffering from such health disorders
due to unhealthy eating habits, sedentary lifestyle, lack of daily exercise and lack of
proper knowledge and awareness about health related factors. The percentage of
hypertension and diabetes in early age (i.e. between 25-35 years) is also increasing.
Heart disease and stroke can affect anyone regardless of age, race, ethnicity, sex
and income level. This is harmful or can cause severe heart disease and can
increase risk of cardio respiratory failure if doesn’t handled properly.
Regular and non-invasive assessments of cardiovascular function are important
in surveillance for cardiovascular catastrophes and treatment therapies of chronic
diseases. Resting heart rate, one of the simplest cardiovascular parameters, has
been identified as an independent risk factor (comparable with smoking, dyslipi-
demia or hypertension) for cardiovascular disease. Currently, the gold standard
techniques for measurement of the cardiac pulse such as the electrocardiogram
(ECG) require patients to wear adhesive gel patches or chest straps that can cause
skin irritation and discomfort. Commercial pulse oximetry sensors that attach to
the fingertips or earlobes are also inconvenient for patients and the spring-loaded
clips can cause pain if worn over a long period of time. The ability to monitor
a patient’s physiological signals by a remote, non-contact means is a tantalizing
prospect that would enhance the delivery of primary healthcare. E.g the idea of
performing physiological measurements on the face was first postulated by Pavlidis
and associates and later demonstrated through analysis of facial thermal videos.
Although non-contact methods may not be able to provide details concerning car-
diac electrical conduction that ECG offers, these methods can now enable long-
9
Chapter 1. Introduction
1. Electrocardiogram (ECG):
The electrocardiogram (ECG or EKG) is a noninvasive routine examina-
tion of the electrical activity of the heart that is used to reflect underlying
heart conditions. Regular heart movements are controlled by a complex set
of electrical impulses that direct the upper and lower heart chambers to con-
tract and relax rhythmically. When these electrical activities are interrupted
or misguided, this arrhythmia can be symptoms of heart diseases. Further-
more, the impulses can also show signs of structural or metabolic changes
like enlargement or hypoxia of cardiac muscle.
2. Oximerty Sensors:
Pulse oximetry is the non-invasive measurement of the oxygen saturation
(SpO2). Oxygen saturation is defined as the measurement of the amount of
oxygen dissolved in blood, based on the detection of Hemoglobin and Deoxy-
hemoglobin. Two different light wavelengths are used to measure the actual
difference in the absorption spectra of HbO2 and Hb. The bloodstream is
affected by the concentration of HbO2 and Hb, and their absorption coeffi-
cients are measured using two wavelengths, one is 660 nm (red light spectra)
and another one 940 nm (infrared light spectra). Deoxygenated and oxy-
genated hemoglobin absorb different wavelengths.
1.3 Motivation
Now a day’s number of heart patients is increasing at tremendous rate. Symp-
toms like Obesity, lack of awareness about health, hypertension are observed even
in small ages.
Existing techniques such as ECG and pulse oxymeter have limitations such
as invasiveness, higher cost, bulkiness, time consuming, discomfort to the patient
etc.
Percentage of Computer techniques are used is also increased. It does not
require extra hardware and can act as take anywhere physiological monitor. There
is need of noninvasive, accurate, less costly physiological parameter monitoring
system which can measure vital parameters.
Step 2: Data preparation does the process of videos for motion artifact re-
duction and these noise free videos are used for parameter extraction.
V = {F 1, F 2, F 3, ..., F n}
where, F1,F2,F3,...,Fn are the frame and n is the number of frames in video V.
let, F = {{R1, R2, ..., Rn} , {G1, G2, ..., Gn} , {B1, B2, ..., Bn}}
where,
R1,R2,...,Rn are the frame containing only red band.
G1,G2,...,Gn are the frame containing only green band.
B1,B2,...,Bn are the frame containing only blue band.
let, F=A X S where, A is the Mixing Matrix and S is the Motion Analysis reduced
frame signal which is to be obtained.
N
X
F = ai × s i (1.1)
i=1
let,
S=W X F
Where
W is the inverse matrix of A
Separate S into 3 bands i.e. RGB
Literature Survey
• Advantage:
• Limitations:
Variations in sunlight can cause decreasing SNR.
15
Chapter 2. Literature Survey
• Advantage:
1. It is a first attempt for calculating heart rat, respiration rate and heart
rate variability in a single non contact,noninvasive system.
2. It doesn’t require any extra hardware components.
3. Natural source light i.e. sun light is used for illuminating the skin.
• Limitations:
This technology uses the webcam available as inbuilt feature with laptop.But
the quality of videos can undergo changes due to different resolution of a
camera.
• Advantage:
• Limitations:
Variations in sunlight can cause decreasing SNR.
• Advantage:
• Limitations:
Motion artifact is not handled properly.
• Limitations:
These techniques have limited scope and not suitable for estimation of every
physiological parameters.
• Advantage:
• Limitations:
Extra hardware is required to capture PPG signals.
• Advantage:
• Limitations:
Low camera sampling rate of mobile phone and Motion artifacts can cause
error.
• Advantage:
1. The system can monitor HR, RR and SpO2 level on a single device and
it is Non-Invasive and less costly.
2. No extra hardware required.
3. It acts as a “take anywhere “physiological monitor.
4. It can be utilized for personal and clinical use.
• Limitations:
3.1 Purpose
The tremendous increase in number of heart patients motivated scientists to de-
velop new techniques for physiological parameter monitoring. Some applications
which are present in the market have some drawbacks as mentioned below.
1. Costly
2. Time Consuming
4. ECG- adhesive gel patches or chest straps can cause skin irritation and
discomfort.
So in order to avoid these drawbacks, in this report new kind of model is presented
which will detect HR from video processing by using inbuilt webcam of a laptop
and smart phone camera.
2. Affordable.
21
Chapter 3. Software Requirement and Specification
2. MATLAB 7.0:
MATLAB, which stands for MATrix LABoratory, is a software package de-
veloped by MathWorks, Inc. to facilitate numerical computations as well as
some symbolic manipulation.
MATLAB will be used for some complex signal processing algorithm.
3. Python 36:
Python is a multi-paradigm programming language: object-oriented pro-
gramming and structured programming are fully supported, and many lan-
guage features support functional programming and aspect-oriented pro-
gramming (including by metaprogramming and metaobjects (magic meth-
ods)). Many other paradigms are supported via extensions, including design
by contract and logic programming.
Python uses dynamic typing and a mix of reference counting and a cycle-
detecting garbage collector for memory management. An important feature
of Python is dynamic name resolution (late binding), which binds method
and variable names during program execution.
The design of Python offers some support for functional programming in
the Lisp tradition. The language has map(), reduce() and filter() functions;
list comprehensions, dictionaries, and sets; and generator expressions. The
standard library has two modules (itertools and functools) that implement
functional tools borrowed from Haskell and Standard ML.
Functional requirements:
1. Record videos
2. Matlab 7.0
3. Python 36
4. Open CV 3.1.0
• Performance requirements:
1. The system should give accurate values of all the three parameters.
2. If anyone of the parameter level drops below threshold value then the
proper advice should be given to user by generating alarm signal.
3. Most of the user requirements should be satisfied.
• Design Constraints:
Software constraint:
Hardware Constraints:
Laptop with inbuilt webcam and enough sunlight is needed for accurate
results.
System Design
25
Chapter 4. System Design
Technical Specifications
5.1 Windows 7
Windows 7 is operating system for a personal and professional computer sys-
tem developed by Microsoft. Windows 7 was released to manufacturing on July
22, 2009. Windows 7 was primarily intended to be an incremental upgrade to the
operating system, intending to address criticisms faced by its predecessor. In just
six months, over 100 million copies had been sold worldwide, increasing to over
630 million licenses by July 2012, and a market share of 47.49 percentage as of
February 2014 according to Net Applications, making it the most widely used ver-
sion of Windows.Windows 7’s new features are advances in touch and handwriting
recognition, support for virtual hard disks, improved performance on multi-core
processors, improved boot performance, Direct Access, and kernelimprovements.
Windows 7 adds support for systems using multiple heterogeneous graphics cards
from different vendors.
5.2 Java
Java is a programming language originally developed by James Gosling at
Sun Microsystems (which has since merged into Oracle Corporation) and released
in 1995 as a core component of Sun Microsystem’s Java platform. The language
derives much of its syntax from C and C++, but it has fewer low-level facilities
than either of them. Java applications are typically compiled to byte code (class
file) that can run on any Java virtual machine (JVM) regardless of computer ar-
chitecture. Java is a general- purpose, concurrent, class-based, object-oriented
language that is specifically designed to have as few implementation dependencies
as possible. It is intended to let application developers “write once, run any-
30
Chapter 5. Technical Specifications
where” (WORA), meaning that code that runs on one platform does not need to
be recompiled to run on another. Java is, as of 2012, one of the most popular pro-
gramming languages in use, particularly for client-server web applications, with a
reported 10 million users. The Java Programming Language is a general-purpose,
concurrent, strongly typed, class-based object-oriented language. It is normally
compiled to the byte code instruction set and binary format defined in the Java
Virtual Machine Specification. Java language was designed to be small, simple,
and portable across platforms, operating systems, both at the source and at the
binary level, which means that Java programs (applet and application) can run
on any machine that has the Java Virtual Machine (JVM) installed.
5.3 Python
Python is a multi-paradigm programming language: object-oriented pro-
gramming and structured programming are fully supported, and many language
features support functional programming and aspect-oriented programming (in-
cluding by metaprogramming and metaobjects (magic methods)). Many other
paradigms are supported via extensions, including design by contract and logic
programming.
Python uses dynamic typing and a mix of reference counting and a cycle-
detecting garbage collector for memory management. An important feature of
Python is dynamic name resolution (late binding), which binds method and vari-
able names during program execution.
The design of Python offers some support for functional programming in the
Lisp tradition. The language has map(), reduce() and filter() functions; list com-
prehensions, dictionaries, and sets; and generator expressions. The standard li-
brary has two modules (itertools and functools) that implement functional tools
borrowed from Haskell and Standard ML.
32
Chapter 6. Project Estimate, Schedule
6.2.1 COCOMO
The Constructive Cost Model (COCOMO) is an algorithmic software cost
estimation model developed by Barry W. Boehm. The model uses a basic regres-
sion formula with parameters that are derived from historical project data and
current project characteristics.
Software Project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
3. Productivity:= KLOC/Effort
=2.525/4
=0.63125 KLOC/man per months
System Architecture
7.2 Photoplethysmography
Photoplethysmography (PPG) is a non-invasive method for studies of the blood
volume pulsations by detection and temporal analysis of the tissue back-scattered
or transmitted optical radiation. Blood pumping and transport dynamics can be
monitored at different body locations - fingertip, earlobe, forehead, forearm, etc.
with relatively simple and convenient PPG contact probes. The AC-component of
back-scattered PPG signals reliably reflects skin blood volume pulsations, there-
fore PPG technique has good potential to become a routine tool for express diag-
nostics and early screening of cardio-vascular pathologies, for self-monitoring at
home and in public facilities, as well as and for the tele-diagnostics via Internet
or LAN. The key factors that can affect time varying component of light intensity
are blood cells. Generally time varying component provides a signal proportional
to changes in skin blood volume but does not produce a quantitative measure.
The experimental setup for PPG requires two components.
38
Chapter 7. System Architecture
Figure 7.2: Recovery of the BVP waveform. (a) Face within the first video frame
is automatically detected to locate the ROI. (b) ROI is decomposed into red,
green, and blue channels for each frame and spatially averaged to form (c) the
raw signals. After the raw signals are detrended and normalized, ICA is applied
to separate three independent sources. In this example, the BVP is visible in the
second source signal.
7.4 Algorithm
1. Capture Video
5. Consider only green signal and discard red and blue signal.
1. Data Collection
2. Data Preprocessing
3. Parameter Extraction
Above block diagram shows that how actually heart rate measurement system is
worked. Detail step wise execution procedure is illustrated in the next section.
The ROI was then separated into the three RGB channels and spatially aver-
aged over all pixels in the ROI to yield a red, blue and green measurement point
for each frame and form the raw traces.
xi (t) − µi
xi (t) =
σi
where
µi : M ean
σi : StandardDeviation
Three color signals over time are obtained, as it is shown in Figure 7.6.
After that, they are decomposed into three independent source signals using the
ICA approach.
• Independent Component Analysis
Independent Component Analysis (ICA)is a method for Blind Source
Separation (BSS. BSS is a procedure involving the separation of a set of
independent signals from a set of mixed signals, where the mixing process
is unknown. To better understand in a better way the problem of signal
separation consider cocktail party example.
2. Formal definition
If x = (x1 ; x2 ; ::: xm )T zero-mean m-dimensional random variables that
are, in fact, a linear mixture from s = (s1 ; s2 ; ::: sn )T n-dimensional inde-
pendent sources, the linear transformation of the source variables can be
expressed as:
x = As
sb = W x
recovered might not be the real signal amplitude. That is the reason why
some times the signal waveform is not recovered properly. Another ambiguity
is that the order in which ICA implies the signals is random. That involves
that algorithm for selecting the signal of interest among the three possible
signals must include. Also, the sign of the independent components is not
specified, which is not a big drawback for our purposes.
FastICA alsorithm is used for implementation
FastICA algorithm:
Following are the steps included in FastICA algorithm:-
x ←− x − E {x}
n o
E x̃x̃t = I
0
f (u) = log cosh(u); g(u) = tanh(u); g (u) = 1 − tanh2 (u)
2 /2 2 /2 2 /2
f (u) = −e−u ; g(u) = ue−u ; g 0 (u) = (1 − u2 ) − e−u
1. Randaomise vector W.
n o n o
2. W + ←− E xg(wT ) − E g 0 (wT x) w
where E.... means averaging over all column-vectors of matrix x.
3. let w ←− w+ /kW + k
After then get the independent components and one of them is our
required signal without noise. This noise removed signal is used in next
module.
Heartrate = 60/mean(IBI)
Software Testing
8.1 Introduction
Software testing is actually a set of different tasks whose primary purpose
is to fully exercise the computer based system. Although each test has a dif-
ferent purpose, all work to verify that the system elements have been properly
integrated and perform allocated tasks. Testing presents an interesting anomaly
for the software engineer. During earlier software engineering activities, the engi-
neer attempts to build software from an abstract concept to a tangible product.
Now comes testing. The engineer creates a series of test cases that are intended
to demolish the software that has been built. In fact, testing is the one step in
the software process that could be viewed as destructive rather than constructive.
Software engineers are by their nature constructive people.
Testing requires that the developer discard preconceived notions of the cor-
rectness of software just developed and overcome a conflict of interest that occurs
when errors are uncovered. If testing is conducted successfully (according to the
objectives stated previously), it will uncover errors in the software. As a secondary
benefit, testing demonstrates that software functions appear to be working accord-
ing to specification, that behavioral and performance requirements appear to have
been met. In addition, data collected as testing is conducted provide a good in-
dication of software reliability and some indication of software quality as a whole.
But testing cannot show the absence of errors and defects, it can show only that
software errors and defects are present. It is important to keep this (rather gloomy)
statement in mind as testing is being conducted.
51
Chapter 8. Software Testing
There are levels in which each test case falls in order to avoid duplication efforts.
• Level 1: In this level basic test cases written from the available specification
and user documentation.
• Level 2: This is the practical stage in which writing test cases depend on
actual functional and system flow of the application.
• Level 3: This is the stage in which some test cases and write a test proce-
dure. Test procedure is nothing but a group of small test cases maximum of
10.
• Assumptions
• Steps to be executed
• Expected Result
• Actual Results
• Pass/Fail
• Comments
Table 8.3: Signal Separating using ICA and Signal Filtering using FFT
Table 8.4: Calculate Inter Beat Interval and Calculate Hear Rate
• Guarantee that all independent paths within a module have been exercised
at least once.
• Execute all loops at their boundaries and within their operational bounds
and
In DTE Navigator one big obstacle when testing term extraction tools was
how to cross-reference the extracted terms with the entries. Obviously this has to
be done manually and it is extremely time-consuming. In some cases the extraction
process itself may have to do a data-validation rule in order to accept the data
and flow to the next phase.
of the software. That is, black box testing enables the software engineer to derive
sets of input conditions that will fully exercise all functional requirements for a
program. Black box testing is not an alternative to white-box techniques. Rather,
it is a com- plementary approach that is likely to uncover a different class of er-
ror than white-box methods. When computer software is considered, black box
testing alludes to tests that are conducted at the software interface. Although
they are designed to uncover errors, black-box tests are used to demonstrate that
software functions are operational, that input is properly accepted and output is
correctly produced and that the integrity of external information is maintained. A
black-box test examines some fundamental aspect of a system with a little regard
for the internal logical structure of the software. Black- box testing attempts to
find errors in the following categories:
• Interface errors
By applying back-box techniques, derived set of test cases that satisfy the following
criteria:
• Test cases that reduce, by a count that is greater than one, the number of
additional test cases that must be designed to achieve reasonable testing.
• Test cases that tell us something about the presence or absence of classes of
errors, rather than an error associated only with the specific test at hand.
57
Chapter 9. Results and Discussion
The face is detected from each frame and locate forehead region from captured
video. This forehead regions are stored to folder.
Process option will process the captured video. All the steps in data processing
and parameter extraction module are executed and final value of heart rate are
estimated.
As per observation, it can be started as the data pre-processing with ICA gives
more accurate results. The ROI selection performed by removing high amplitude
signal gives better results.
72 67 93.05556 3.535534
86 82 95.34884 2.828427
89 85 95.50562 2.828427
63 68 92.64706 3.535534
58 62 93.54839 2.828427
70 72 97.22222 1.414214
88 85 96.59091 2.121320
67 64 95.52239 2.121320
71 69 97.18310 1.414214
75 76 98.68421 0.707107
Average 95.59083 2.12132077
Co-relation Factor 0.903292505
10.1 Conclusion
The system can monitor Heart Rate by using non-invasive and less costly
technique. No extra hardware is required. In this videos are recorded via a web-
cam, face detection algorithm is used to figure out the region and location. The
sequential face data are then applied to construct the normalized RGB raw data.
Since such raw data is not stationary, they should be set stationary by detrending;
otherwise, the spectrum of these raw data would only contain large energy at DC
component. The RGB data are then decomposed into three independent compo-
nents using ICA. As per study of previous work, the magnitude peak location in
the spectra of the three components is the corresponding BVP value in Hz. In
order to achieve an accurate estimation, several signal processing algorithms are
applied before the peak detection.
62
Chapter 10. Conclusion and Future Work
[1] S. Xu, L. Sun, and G. K. Rohde (2014) Robust eficient estimation of heart
rate pulse from video. Biomed. Opt. Express
[3] Y. P. Yu, P. Raveendran, and C. L. Lim (2014) Heart rate estimation from
facial images using filter bank. IEEE International Symposium on Commu-
nications. Control and Signal Processing
[4] M.Z. Poh, D.J. McDuff, and R.W. Picard (2010) Noncontact, automated
cardiac pulse measurements using video imaging and blind source separation.
ASEE/IEEE Frontiers in Education Conference
[5] M.Z. Poh, D. McDuff, and R. Picard (2011) A medical mirror for non-contact
health monitoring. ACM SIGGRAPH 2011 Emerging Technologies
[6] H. Trotter (1959) An elementary proof of the central limit theorem. Math
64
BIBLIOGRAPHY
[12] Shruti Madan Kshirsagar, Gyankamal J. Chhajed (2005) Heart Rate, Respi-
ration Rate and Oxygen Saturation Level Monitoring from Video Recording
by Smart phone camera. IJEDR
[13] T. Pursche, J. Krajewski, and R. Moeller (2012) Video-based heart rate mea-
surement from human faces. IEEE transaction
[14] S. Xu, L. Sun, and G. K. Rohde (2014) Robust eficient estimation of heart
rate pulse from video. Biomed. Opt. Express
Publications
66
Chapter A. Publications