Method and a system for determining quality of photoplethysmogram (PPG) signal
This disclosure relates generally to a method and a system for determining quality of PPG signal. The PPG signals are extensively used for deducing health parameters of patients to infer the physiological conditions of heart, blood pressure, breathing patterns of the patients. However, analysis based on PPG signals is extremely challenging and is accurate only on high quality PPG signals. However, the existing techniques for determining quality of PPG signal (that are collected using wearable devices) require huge training or use complicated algorithms and cannot be used for real-time analysis. The disclosed methods and system for PPG quality assessment is based on the frequency domain analysis, wherein heart and respiratory components in the frequency spectrum are used effectively to derive the quality checker metric which is further used to estimate a plurality of optimal thresholds that is used for determining the quality of PPG signals at real-time.
1 . A processor-implemented method for determining quality of Photoplethysmogram (PPG) signal, comprising:
receiving a plurality of raw input signals from a device, via one or more hardware processors, wherein the plurality of raw input signals comprises a plurality of data sets associated with a PPG signal of a plurality of one or more subjects, wherein the device comprises a wearable, a plurality of medical diagnostic tools of an Intensive Care Unit (ICU), and a plurality of medical grade devices, wherein the plurality of raw input signals is collected from ICU patients using the medical grade device at a sampling rate of 125 Hz or by using a pulse oximeter with a sampling rate of 60 Hz or by using a wrist sensor at 64 Hz or dataset at the ICU from an adult population at a sampling rate of 300 Hz;
obtaining annotations of the received raw input signals of PPG segments from varied datasets in an annotator tool and the annotations correspond to marking windows of a clean PPG segment in the PPG segments considered as a ground truth;
filtering the plurality of raw input signals to obtain a plurality of filtered signals, via the one or more hardware processors, wherein the plurality of raw input signals is filtered with a low-pass Chebyshev filter at 3 Hz cut-off frequency;
extracting a plurality of heart frequency components and a plurality of breathing frequency components, via the one or more hardware processors, from the plurality of raw input signals and the plurality of filtered signals, based on an extraction technique, wherein f s is a sampling rate of the plurality of raw input signals, and frequency (f) and a power (P) are frequency-power outputs from Fast Fourier Transform (FFT), respectively, wherein the plurality of heart frequency components is in the range of 0.61-2 Hz, and the plurality of breathing frequency components is in the range of 0.2-0.6 Hz;
determining a plurality of metrices, via the one or more hardware processors, using the plurality of heart frequency components and the plurality of breathing frequency components for a pre-defined time interval, wherein the plurality of metrices includes a mean heart component (H m ), a mean breathing component (B m ), a change in the heart component (P 1 ), and a change in the breathing component (P 2 ) wherein,
(a) the H m and the B m is an average value of the plurality of heart frequency component and a plurality of breathing frequency component for the raw input signals and the plurality of filtered signals, and,
(b) the P 1 and the P 2 is the percentage change in the plurality of heart frequency component and a plurality of breathing frequency component for the raw input signals and the plurality of filtered signals, wherein the percentage change in the heart component (P 1 ) and the percentage change in the breathing component (P 2 ) is expressed as:
P
1
=
1
0
0
*
❘
"\[LeftBracketingBar]"
H
raw
-
H
filtered
❘
"\[RightBracketingBar]"
H
raw
;
P
2
=
1
0
0
*
❘
"\[LeftBracketingBar]"
P
raw
-
P
filtered
❘
"\[RightBracketingBar]"
P
raw
;
wherein the plurality of metrices H m , B m , P 1 and P 2 are represented as X i,j (j=1; 2; 3; 4 metrics and i=1; 2; 3; :::N number of instances), for each instance X i of PPG, 4 metrics of H m , B m , P 1 and P 2 are extracted;
classifying, via the one or more hardware processors, the plurality of metrics H m , B m , P 1 and P 2 against thresholds into a good PPG segment and a bad PPG segment;
estimating, during a training phase, a plurality of optimum thresholds, via the one or more hardware processors, using the plurality of metrices H m , B m , P 1 and P 2 based on a differential evolutionary optimization technique;
determining quality of a plurality of input signals at real time via one or more hardware processors, wherein the quality of the plurality of input signals is determined as one of bad signal and a good signal based on a PPG signal classification technique using the plurality of optimum thresholds, wherein the device is a PPG quality checker deployed in an edge computing scenario to check the quality of the input signal that is directly implemented on an edge device, wherein the PPG signal classification technique during the testing phase the plurality of optimum thresholds are used for determining the quality of the plurality of input signals at real time comprises:
receiving the plurality of input signals from the device, wherein the plurality of input signals comprises a plurality of input datasets associated with the Photoplethysmogram (PPG) signal of a user;
filtering the plurality of input signals to obtain a plurality of filtered input signals, the plurality of input signals is filtered based on the filtering technique;
extracting a plurality of real-time heart frequency components and a plurality of real-time breathing frequency components, from the plurality of input signals and plurality of filtered input signals based on the extraction technique;
determining a real-time metric for the plurality of input signals, using the plurality of real-time heart frequency components and the plurality of real-time breathing frequency components for the pre-defined time interval; and
determining the quality of the plurality of input signals at real time during a testing phase, wherein the quality of the plurality of input PPG signals is determined as one of bad signal and a good signal based on the plurality of optimum thresholds using the plurality of real-time metric, wherein classifying the input PPG signal into good and bad PPG signal is given by:
S
i
=
∏
ω
j
=
1
4
∅
(
X
i
,
j
,
ω
j
)
,
where, ∀=1,2,3,4 . . . N number of test samples and the Si is 1 for correctly classified samples, and 0 otherwise and wherein the Si is used to compute the pre-defined performance parameter F-Score using the differential evolutionary optimization technique and wherein ∅ is defined over testing instance metrics X i and the optimal thresholds (ω), such that, ∅ (X (i,j) , ω j ),
(∀=1,2,3,4 features in X i ) returns 1 when the given parameter X j is below the threshold ω i ; and 0 otherwise;
collecting PPG signals by a mobile PPG application and simultaneous ground truth (GT) PPG by a PPG sensor;
computing Heart Rate (HR) values with the GT PPG and corresponding HR values with the PPG signals collected from the mobile PPG application;
selecting only good PPG signal classified by the PPG quality checker device, implemented directly on wearables or medical devices;
computing HR values by selecting only the good PPG signal and suppressing erroneous HR features; and
controlling the HR values computation, displaying the computed HR values only for windows classified as the good PPG signal, and suppressing computation and output for the bad PPG signal, thereby reducing erroneous HR features during motion artifacts.
2 . The method of claim 1 , wherein the extraction technique for extracting the plurality of heart frequency components and the plurality of breathing frequency components, based on a frequency (f) and a power (P) associated with the plurality of raw input signals and the plurality of filtered signal and the extraction technique is expressed as shown below:
H
=
∑
f
=
0.61
2
P
f
∑
f
=
0.2
3
P
f
;
wherein,
H is the plurality of heart frequency components,
f is a frequency (f) associated with the plurality of raw input signals and the plurality of filtered signal, and
P is a power (P) associated with the plurality of raw input signals and the plurality of filtered signal,
B
=
∑
f
=
0.2
0.6
P
f
∑
f
=
0.2
3
P
f
wherein,
B is the plurality of breathing frequency components,
f is a frequency (f) associated with the plurality of raw input signals and the plurality of filtered signal, and
P is a power (P) associated with the plurality of raw input signals and the plurality of filtered signal.
3 . The method of claim 1 , wherein the differential evolutionary optimization technique includes estimating a plurality of optimal thresholds (ω 1 , ω 2 , ω 3 , ω 4 ) based on a pre-defined performance parameter F-Score (F), and the differential evolutionary optimization technique is expressed as:
f
(
ω
1
,
ω
2
,
ω
3
,
ω
4
)
=
min
ω
1
,
ω
2
,
ω
3
,
ω
4
{
❘
"\[LeftBracketingBar]"
1
-
F
❘
"\[RightBracketingBar]"
}
subject
to
0
≤
(
ω
1
,
ω
2
,
ω
3
,
ω
4
)
≤
1
,
wherein,
ω 1 is optimum threshold for H m ,
ω 2 is optimum threshold for B m ,
ω 3 is optimum threshold for P 1 , and
ω 4 is optimum threshold for P 2 .
4 . A system, comprising:
a memory storing instructions;
one or more communication interfaces; and
one or more hardware processors coupled to the memory via the one or more communication interfaces, wherein the one or more hardware processors are configured by the instructions to:
receive a plurality of raw input signals from a device, via one or more hardware processors, wherein the plurality of raw input signals comprises a plurality of data sets associated with a PPG signal of a plurality of subjects, wherein the device comprises a wearable, a plurality of medical diagnostic tools of an Intensive Care Unit (ICU), and a plurality of medical grade devices, wherein the plurality of raw input signals is collected from ICU patients using the medical grade device at a sampling rate of 125 Hz or by using a pulse oximeter with a sampling rate of 60 Hz or by using a wrist sensor at 64 Hz or dataset at the ICU from an adult population at a sampling rate of 300 Hz;
obtain annotations of the received raw input signals of PPG segments from varied datasets in an annotator tool and the annotations correspond to marking windows of a clean PPG segment in the PPG segments considered as a ground truth;
filter the plurality of raw input signals to obtain a plurality of filtered signals, via the one or more hardware processors, wherein the plurality of raw input signals is filtered with a low-pass Chebyshev filter at 3 Hz cut-off frequency;
extract a plurality of heart frequency components and a plurality of breathing frequency components, via the one or more hardware processors, from the plurality of raw input signals and the plurality of filtered signals based on an extraction technique, wherein f s is a sampling rate of the plurality of raw input signals, and frequency (f) and a power (P) are frequency-power outputs from Fast Fourier Transform (FFT), respectively, wherein the plurality of heart frequency components is in the range of 0.61-2 Hz, and the plurality of breathing frequency components is in the range of 0.2-0.6 Hz;
determine a plurality of metrices, via the one or more hardware processors, using the plurality of heart frequency components and the plurality of breathing frequency components for a pre-defined time interval, wherein the one or more hardware processors are configured by the instructions to determine the plurality of metrices, wherein the plurality of metric includes a mean heart component (H m ), a mean breathing component (B m ), a change in the heart component (P 1 ), and a change in the breathing component (P 2 ) wherein:
(a) the H m and the B m is an average value of the plurality of heart frequency component and a plurality of breathing frequency component for the raw input signals and the plurality of filtered signals, and;
(b) the P 1 and the P 2 is the percentage change in the plurality of heart frequency component and a plurality of breathing frequency component for the raw input signals and the plurality of filtered signals, wherein the percentage change in the heart component (P 1 ) and the percentage change in the breathing component (P 2 ) is expressed as:
P
1
=
1
0
0
*
❘
"\[LeftBracketingBar]"
H
raw
-
H
filtered
❘
"\[RightBracketingBar]"
H
raw
;
P
2
=
1
0
0
*
❘
"\[LeftBracketingBar]"
P
raw
-
P
filtered
❘
"\[RightBracketingBar]"
P
raw
;
wherein the plurality of metrices H m , B m , P 1 and P 2 are represented as X i,j (j=1; 2; 3; 4 metrics and i=1; 2; 3; :::N number of instances), for each instance X i of PPG, 4 metrics of H m , B m , P 1 and P 2 are extracted;
classify the plurality of metrics H m , B m , P 1 and P 2 against thresholds into a good PPG segment and a bad PPG segment;
estimate, during a training phase, a plurality of optimum threshold, via the one or more hardware processors, using the plurality of metrices H m , B m , P 1 and P 2 based on a differential evolutionary optimization;
determine the quality of the plurality of input signals at real time during a testing phase, wherein the quality of the plurality of input signals is determined as one of bad signal and a good signal based on a PPG signal classification technique using the plurality of optimum thresholds, wherein the device is a PPG quality checker deployed in an edge computing scenario to check the quality of the signal that is directly implemented on an edge device, wherein the PPG signal classification technique during the testing phase the plurality of optimum thresholds are used for determining the quality of the plurality of input signals at real time comprises:
receiving the plurality of input signals from the device, wherein the plurality of input signals comprises a plurality of input datasets associated with the Photoplethysmogram (PPG) signal of a user;
filtering the plurality of input signals to obtain a plurality of filtered input signals, wherein the plurality of input signals is filtered based on the filtering technique;
extracting a plurality of real-time heart frequency components and a plurality of real-time breathing frequency components, from the plurality of input signals and plurality of filtered input signals based on the extraction technique;
determining a real-time metric for the plurality of input signals, using the plurality of real-time heart frequency components and the plurality of real-time breathing frequency components for the pre-defined time interval; and
determining the quality of the plurality of input signals at real time, wherein the quality of the plurality of input PPG signals is determined as one of bad signal and a good signal based on the plurality of optimum thresholds using the plurality of real-time metric, wherein classifying the input PPG signal into good and bad PPG signal is given by:
S
i
=
∏
ω
j
=
1
4
∅
(
X
i
,
j
,
ω
j
)
,
where, ∀=1,2,3,4 . . . N number of test samples and the S i is 1 for correctly classified samples, and 0 otherwise and wherein the S i is used to compute the pre-defined performance parameter F-Score using the differential evolutionary optimization technique and wherein ∅ is defined over testing instance metrics X i and the optimal thresholds (ω), such that, ∅ (X (i,j) , ω j ), (∀=1,2,3,4 features in X i ) returns 1 when the given parameter X j is below the threshold ω i ; and 0 otherwise
collect PPG signals by a mobile PPG application and simultaneous ground truth (GT) PPG by a PPG sensor;
compute Heart Rate (HR) values with the GT PPG and corresponding HR values with the PPG signals collected from the mobile PPG application;
select only good PPG signal classified by the PPG quality checker device, implemented directly on wearables or medical devices; and
HR values by selecting only the good PPG signal and suppressing erroneous HR features compute; and
control the HR values computation, displaying the computed HR values only for windows classified as the good PPG signal, and suppressing computation and output for the bad PPG signal, thereby reducing erroneous HR features during motion artifacts.
5 . The system of claim 4 , wherein the one or more hardware processors are configured by the instructions to perform the extraction technique, wherein the extraction technique for extracting a plurality of heart frequency components and a plurality of breathing frequency components is expressed as shown below:
H
=
∑
f
=
0.61
2
P
f
∑
f
=
0.2
3
P
f
;
wherein,
H is the plurality of heart frequency components,
f is a frequency (f) associated with the plurality of raw input signals and the plurality of filtered signal, and
P is a power (P) associated with the plurality of raw input signals and the plurality of filtered signal,
B
=
∑
f
=
0.2
0.6
P
f
∑
f
=
0.2
3
P
f
wherein,
B is the plurality of breathing frequency components,
f is a frequency (f) associated with the plurality of raw input signals and the plurality of filtered signal, and
P is a power (P) associated with the plurality of raw input signals and the plurality of filtered signal.
6 . The system of claim 4 , wherein the one or more hardware processors are configured by the instructions to perform the differential evolutionary optimization technique, wherein the differential evolutionary optimization technique includes estimating a plurality of optimal thresholds (ω 1 , ω 2 , ω 3 , ω 4 ) based on a pre-defined performance parameter F-Score (F) and the differential evolutionary optimization technique expressed as shown below:
f
(
ω
1
,
ω
2
,
ω
3
,
ω
4
)
=
min
ω
1
,
ω
2
,
ω
3
,
ω
4
{
❘
"\[LeftBracketingBar]"
1
-
F
❘
"\[RightBracketingBar]"
}
subject
to
0
≤
(
ω
1
,
ω
2
,
ω
3
,
ω
4
)
≤
1
Wherein,
ω 1 is optimum threshold for H m ,
ω 2 is optimum threshold for B m ,
ω 3 is optimum threshold for P 1 , and
ω 4 is optimum threshold for P 2 .
7 . A computer program product comprising a non-transitory computer readable medium having a computer readable program embodied therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
receive a plurality of raw input signals from a device, via one or more hardware processors, wherein the plurality of raw input signals comprises a plurality of data sets associated with a PPG signal of a plurality of one or more subjects, wherein the device comprises a wearable, a plurality of medical diagnostic tools of an Intensive Care Unit (ICU), and a plurality of medical grade devices, wherein the plurality of raw input signals is collected from ICU patients using the medical grade device at a sampling rate of 125 Hz or by using a pulse oximeter with a sampling rate of 60 Hz or by using a wrist sensor at 64 Hz or dataset at the ICU from an adult population at a sampling rate of 300 Hz;
obtaining annotations of the received raw input signals of PPG segments from varied datasets in an annotator tool and the annotations correspond to marking windows of a clean PPG segment in the PPG segments considered as a ground truth;
filtering the plurality of raw input signals to obtain a plurality of filtered signals, via the one or more hardware processors, wherein the plurality of raw input signals is with a low-pass Chebyshev filter at 3 Hz cut-off frequency;
extracting a plurality of heart frequency components and a plurality of breathing frequency components, via the one or more hardware processors, from the plurality of raw input signals and the plurality of filtered signals, based on an extraction technique, wherein f s is a sampling rate of the plurality of raw input signals, and frequency (f) and a power (P) are frequency-power outputs from Fast Fourier Transform (FFT), respectively, wherein the plurality of heart frequency components is in the range of 0.61-2 Hz, and the plurality of breathing frequency components is in the range of 0.2-0.6 Hz;
determining a plurality of metrices, via the one or more hardware processors, using the plurality of heart frequency components and the plurality of breathing frequency components for a pre-defined time interval, wherein the plurality of metrices includes a mean heart component (H m ), a mean breathing component (B m ), a change in the heart component (P 1 ), and a change in the breathing component (P 2 ) wherein,
(a) the H m and the B m is an average value of the plurality of heart frequency component and a plurality of breathing frequency component for the raw input signals and the plurality of filtered signals, and,
(b) the P 1 and the P 2 is the percentage change in the plurality of heart frequency component and a plurality of breathing frequency component for the raw input signals and the plurality of filtered signals, wherein the percentage change in the heart component (P 1 ) and the percentage change in the breathing component (P 2 ) is expressed as:
P
1
=
1
0
0
*
❘
"\[LeftBracketingBar]"
H
raw
-
H
filtered
❘
"\[RightBracketingBar]"
H
raw
;
P
2
=
1
0
0
*
❘
"\[LeftBracketingBar]"
P
raw
-
P
filtered
❘
"\[RightBracketingBar]"
P
raw
;
wherein the plurality of metrices H m , B m , P 1 and P 2 are represented as X i,j (j=1; 2; 3; 4 metrics and i=1; 2; 3; :::N number of instances), for each instance X i of PPG, 4 metrics of H m , B m , P 1 and P 2 are extracted;
classifying, via the one or more hardware processors, the plurality of metrics H m , B m , P 1 and P 2 against thresholds into a good PPG segment and a bad PPG segment;
estimating, during a training phase, a plurality of optimum thresholds, via the one or more hardware processors, using the plurality of metrices H m , B m , P 1 and P 2 based on a differential evolutionary optimization technique;
determining quality of a plurality of input signals at real time via one or more hardware processors, wherein the quality of the plurality of input signals is determined as one of bad signal and a good signal based on a PPG signal classification technique using the plurality of optimum thresholds, wherein the device is a PPG quality checker deployed in an edge computing scenario to check the quality of the input signal that is directly implemented on an edge device wherein the PPG signal classification technique during the testing phase the plurality of optimum thresholds are used for determining the quality of the plurality of input signals at real time comprises:
receiving the plurality of input signals from the device, wherein the plurality of input signals comprises a plurality of input datasets associated with the Photoplethysmogram (PPG) signal of a user;
filtering the plurality of input signals to obtain a plurality of filtered input signals, wherein the plurality of input signals is filtered based on the filtering technique;
extracting a plurality of real-time heart frequency components and a plurality of real-time breathing frequency components, from the plurality of input signals and plurality of filtered input signals based on the extraction technique;
determining a real-time metric for the plurality of input signals, using the plurality of real-time heart frequency components and the plurality of real-time breathing frequency components for the pre-defined time interval; and
determining the quality of the plurality of input signals at real time during a testing phase, wherein the quality of the plurality of input PPG signals is determined as one of bad signal and a good signal based on the plurality of optimum thresholds using the plurality of real-time metric, wherein classifying the input PPG signal into good and bad PPG signal is given by:
S
i
=
∏
ω
j
=
1
4
∅
(
X
i
,
j
,
ω
j
)
,
where, ∀=1,2,3,4 . . . N number of test samples and the S i is 1 for correctly classified samples, and 0 otherwise and wherein the S i is used to compute the pre-defined performance parameter F-Score using the differential evolutionary optimization technique and wherein ∅ is defined over testing instance metrics X i and the optimal thresholds (ω), such that, ∅ (X (i,j) , ω j ), (∀=1,2,3,4 features in X i ) returns 1 when the given parameter X j is below the threshold ω i ; and 0 otherwise,
collecting PPG signals by a mobile PPG application and simultaneous ground truth (GT) PPG by a PPG sensor;
computing Heart Rate (HR) values with the GT PPG and corresponding HR values with the PPG signals collected from the mobile PPG application; and
selecting only good PPG signal classified by the PPG quality checker device, implemented directly on wearables or medical devices
computing HR values by selecting only the good PPG signal and suppressing erroneous HR features; and
controlling the HR values computation, displaying the computed HR values only for windows classified as the good PPG signal, and suppressing computation and output for the bad PPG signal, thereby reducing erroneous HR features during motion artifacts.