2
Demo Abstract: HeartSense: Smart Phones to Estimate Blood Pressure from Photoplethysmography Rohan Banerjee, Anirban Dutta Choudhury, Aniruddha Sinha, and Aishwarya Visvanathan Innovation Lab, Kolkata Tata Consultancy Services Ltd. [email protected], [email protected], [email protected], [email protected] Abstract In this paper we propose to demonstrate a smart phone application, that estimates human blood pressure (BP) values from photoplethysmography (PPG) signal using Windkessel model. PPG signal is extracted from a video sequence of a user’s index fingertip, acquired using smart phone camera. A set of time domain PPG features are used to estimate differ- ent lumped parameters of Windkessel model to simulate ar- terial BP. Under most of the cases, the application estimates systolic and diastolic BP values, within a range of ±10% of clinical measurement. 1 Introduction Now a days, mobile phone based healthcare systems are getting popular in both developing and developed nations. Such applications provide the users with an opportunity to monitor their health condition at home regularly, as part of preventive health care. Equipped with sensors like camera and flash, smart phones can be used to estimate several phys- iological vitals using photplethysmography (PPG) technique [1][2]. PPG measures the instantaneous blood flow in blood vessels [1]. Several physiological parameters like heart rate [1], BP [2], or certain ECG parameters [3] can be estimated using PPG signal. In our first version of HeartSense applica- tion [2], we were able to measure the range of systolic (P s ) and diastolic (P d ) BP (high, low or normal) and certain ECG parameters using PPG signal. In this present version, we move on to our next step to produce the actual values of P s and P d using smart phone, which should be more acceptable. Unlike an entire learning based approach [2], the present ap- proach uses a combination of machine learning and model driven system, which results in enhanced accuracy and more consistent output. The Windkessel model is used to simulate arterial BP, where different lumped elements of the models are estimated from PPG signal. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author. Copyright is held by the owner/author(s). SenSys’14, November 3–6, 2014, Memphis, TN, USA. ACM 978-1-4503-3143-2/14/11. http://dx.doi.org/10.1145/2668332.2668378 Figure 1: Electrical analogy of 2-Element Windkessel model 2 Estimation of BP The Windkessel model represents the human cardiovascu- lar system in terms of an electrical circuit containing lumped electrical components. The electrical analogy of 2-Element Windkessel model is shown in Fig.1. Total peripheral resis- tance is considered as a resistance (R). Elasticity of the major artery is modeled as a capacitance ( C). The blood flow from ventricles to artery symbolizes a sinusoidal electrical current I (t ) and arterial pressure, generated due to blood flow is rep- resented by the time-varying electrical potential P(t ). So the systolic and diastolic pressures will then be the maximum and minimum values of the simulated pressure wave, imply- ing one complete cardiac cycle. Applying Kirchhoff’s law of current to the given circuit, equation (1) is obtained. P(t ) R + C dP(t ) dt = I (t ) (1) The total blood pumped by heart during n th cardiac cycle can be expressed as a sinusoidal function with a peak value of I 0 during systole and zero during diastole, as I (t )= I 0 sin( πt T s ), (n - 1)T c < t (n - 1)T c + T s = 0, (n - 1)T c + T s < t nT c (2) Here T s is the systolic upstroke time, T d is the diastolic time and the duration of one cardiac cycle is T c = T s + T d . If C o be the cardiac output of a person (volume of blood being pumped by the heart, in a minute), then for one cardiac cycle equation (3) holds good, to solve for I 0 , as. C o T c 60 = I 0 Z T s 0 sin( πt T s )dt => I 0 = C o T c 60 R T s 0 sin( πt T s )dt (3) Now, putting the two conditions of equation 2 in equation 1 and solving we obtain two expressions for P(t ) for two conditions (one for systole and one for diastole). Solving we 322

[ACM Press the 12th ACM Conference - Memphis, Tennessee (2014.11.03-2014.11.06)] Proceedings of the 12th ACM Conference on Embedded Network Sensor Systems - SenSys '14 - HeartSense

Embed Size (px)

Citation preview

Page 1: [ACM Press the 12th ACM Conference - Memphis, Tennessee (2014.11.03-2014.11.06)] Proceedings of the 12th ACM Conference on Embedded Network Sensor Systems - SenSys '14 - HeartSense

Demo Abstract: HeartSense: Smart Phones to Estimate BloodPressure from Photoplethysmography

Rohan Banerjee, Anirban Dutta Choudhury, Aniruddha Sinha, and Aishwarya VisvanathanInnovation Lab, Kolkata

Tata Consultancy Services Ltd.

[email protected], [email protected], [email protected],[email protected]

AbstractIn this paper we propose to demonstrate a smart phone

application, that estimates human blood pressure (BP) valuesfrom photoplethysmography (PPG) signal using Windkesselmodel. PPG signal is extracted from a video sequence of auser’s index fingertip, acquired using smart phone camera. Aset of time domain PPG features are used to estimate differ-ent lumped parameters of Windkessel model to simulate ar-terial BP. Under most of the cases, the application estimatessystolic and diastolic BP values, within a range of ±10% ofclinical measurement.

1 IntroductionNow a days, mobile phone based healthcare systems are

getting popular in both developing and developed nations.Such applications provide the users with an opportunity tomonitor their health condition at home regularly, as part ofpreventive health care. Equipped with sensors like cameraand flash, smart phones can be used to estimate several phys-iological vitals using photplethysmography (PPG) technique[1][2]. PPG measures the instantaneous blood flow in bloodvessels [1]. Several physiological parameters like heart rate[1], BP [2], or certain ECG parameters [3] can be estimatedusing PPG signal. In our first version of HeartSense applica-tion [2], we were able to measure the range of systolic (Ps)and diastolic (Pd) BP (high, low or normal) and certain ECGparameters using PPG signal. In this present version, wemove on to our next step to produce the actual values of Psand Pd using smart phone, which should be more acceptable.Unlike an entire learning based approach [2], the present ap-proach uses a combination of machine learning and modeldriven system, which results in enhanced accuracy and moreconsistent output. The Windkessel model is used to simulatearterial BP, where different lumped elements of the modelsare estimated from PPG signal.

Permission to make digital or hard copies of part or all of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full citationon the first page. Copyrights for third-party components of this work must be honored.For all other uses, contact the Owner/Author.

Copyright is held by the owner/author(s).

SenSys’14, November 3–6, 2014, Memphis, TN, USA.ACM 978-1-4503-3143-2/14/11.http://dx.doi.org/10.1145/2668332.2668378

Figure 1: Electrical analogy of 2-Element Windkessel model

2 Estimation of BPThe Windkessel model represents the human cardiovascu-

lar system in terms of an electrical circuit containing lumpedelectrical components. The electrical analogy of 2-ElementWindkessel model is shown in Fig.1. Total peripheral resis-tance is considered as a resistance (R). Elasticity of the majorartery is modeled as a capacitance (C). The blood flow fromventricles to artery symbolizes a sinusoidal electrical currentI(t) and arterial pressure, generated due to blood flow is rep-resented by the time-varying electrical potential P(t). So thesystolic and diastolic pressures will then be the maximumand minimum values of the simulated pressure wave, imply-ing one complete cardiac cycle.Applying Kirchhoff’s law of current to the given circuit,equation (1) is obtained.

P(t)R

+CdP(t)

dt= I(t) (1)

The total blood pumped by heart during nth cardiac cycle canbe expressed as a sinusoidal function with a peak value of I0during systole and zero during diastole, as

I(t) = I0sin(πtTs),(n−1)Tc < t ≤ (n−1)Tc +Ts

= 0,(n−1)Tc +Ts < t ≤ nTc (2)

Here Ts is the systolic upstroke time, Td is the diastolictime and the duration of one cardiac cycle is Tc = Ts +Td . IfCo be the cardiac output of a person (volume of blood beingpumped by the heart, in a minute), then for one cardiac cycleequation (3) holds good, to solve for I0, as.

CoTc

60= I0

∫ Ts

0sin(

πtTs)dt => I0 =

CoTc

60∫ Ts

0 sin(πtTs)dt

(3)

Now, putting the two conditions of equation 2 in equation1 and solving we obtain two expressions for P(t) for twoconditions (one for systole and one for diastole). Solving we

322

Page 2: [ACM Press the 12th ACM Conference - Memphis, Tennessee (2014.11.03-2014.11.06)] Proceedings of the 12th ACM Conference on Embedded Network Sensor Systems - SenSys '14 - HeartSense

Training Phase

Testing Phase

Figure 2: Block diagram of proposed methodology for BPestimation

get

Ps = P(t)t=Ts = Ptse−Ts/RC +I0TsCπR2

T 2s +C2π2R2 (1+ e−Ts/RC)

(4)

Pd = P(t)t=Td = Ptde−Td/RC (5)

Where Pts and Ptd are the initial values of Ps and Pd respec-tively. We assume that every cardiac cycle starts at systoleand Pts is supplied as 80 mmHg as an initial condition forthe first cycle. For every next cycle this gets replaced by Pdcalculated in the previous cycle. Ptd is assigned to the valueof Ps obtained in that cycle. Similarly, R and C can also beexpressed as function of Ps, Pd , Ts, Td and I0 using equations(4) and (5). Cardiac output (Co) is assumed to be fixed of 5liter/minute for all person, in our case.Values of Ts (time lapse between trough to next peak) andTd (time lapse between peak to next trough) can be calcu-lated form the input PPG signal. However, we observe thatthere is no known mathematical relationship between PPGfeatures and the model parameters R and C. Physiologically,R and C components affect the blood flow in arteries and sothey should be related to the shape of the PPG waveform ofthe subject. In absence of any direct mathematical model, wechose to use machine learning based approach to estimate Rand C from PPG features.3 Methodology

Our proposed approach, which is illustrated in Fig. 2, con-sists of two phases, training and testing.During the training phase, R and C of the subjects are firstcalculated from their ground truth BP values, obtained usinga standard medical instrument. The subjects place their in-dex finger on the camera of a smart phone to capture a videostream. As mentioned in [1], PPG signal form the videostream is extracted as a time-series data by taking the meanof all the red pixels from a region of mxn pixels, selectedfrom the center of each frame.The Finite State Machine (FSM) approach in [1] is also usedto select the good portion of the signal from noisy phone cap-

tured signal. Following this, a set of 7 dimensional featuresin time domain are extracted from the input PPG signal. Dueto space limitation, we omit the details of the feature extrac-tion part in this paper.Separate Multilayer feed forward Artificial Neural Networks(ANN) are used to estimate R and C. For both the cases theANNs contain single hidden layer having 10 neurons. A tan-sigmoid activation function is used for hidden neurons anda linear function for the output neurons. The extracted PPGfeatures are applied to the ANN as inputs. During training,Levenberg-Marquardt back propagation algorithm is used toobtain the weights for different neurons. It needs to be men-tioned that training is a offline and heavy process and is donein a powerful processor (backend server). The weights forthe neurons, obtained after the end of the training phase aremaintained in a log file and are used in the phone applicationfor BP estimation.Testing is the real time smart phone application that is dis-tributed to the users for BP monitoring. R and C values of theapplication user are first estimated from PPG features usingthe training models. PPG signal is acquired in the same wayas in the training phase. Later, Ps and Pd are calculated usingthe equations (4) and (5), using the values of R and C. Heartrate of the subject is also calculated using 512 point Fouriertransform analysis as in [1] and displayed.4 Implementation

So far, the proposed methodology has been successfullyimplemented and tested in Nexus 4, Nexus 5 and iPhone 4smart phones. Presently, we are able to reach an accuracyof ±10% of the actual BP values (measured using sphygmo-manometer in mmHg) for both Ps and Pd . Since the accuracyof a learning based system strongly depends on the diversityof training, we are still trying to improve our learning mod-els for R and C in an incremental way, by introducing newsubjects of different age sex and BP. The application is alsoprovided with an option to update its present training modelsonline, based on availability.5 References[1] A. Pal, A. Sinha, A. Choudhury, T. Chattopadhyay, and A. Visvanathan,

“A robust heart rate detection using smart-phone video,” in Mobile-Health Workshop in MobiHoc, 2013.

[2] A. D. Choudhury, A. Visvanathan, R. Banerjee, A. Sinha, A. Pal,C. Bhaumik, and A. Kumar, “Heartsense: estimating blood pressureand ecg from photoplethysmograph using smart phones,” in Proceed-ings of the 11th ACM Conference on Embedded Networked Sensor Sys-tems, p. 88, ACM, 2013.

[3] R. Banerjee, A. Sinha, A. Dutta Choudhury, and A. Visvanathan,“PhotoECG: photoplethysmography to estimate ECG parameters,” inICASSP2014 - Bio Imaging and Signal Processing (ICASSP2014 -BISP), (Florence, Italy), pp. 4437–4441, May 2014.

323